You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Do not auto generate Display Name (FN) field and allow editing/external updates #129
I optionally donated to support the Fossify mission.
Feature description
Make "Display Name" (FN) field editable and do not auto update from other fields.
Why do you want this feature?
As far as I can understand contacts app auto generates Display Name (FN) field from First Name/Middle Name/Last Name... sections. But I believe generating only once if contact are creating from this app is enough. Users should be able to directly change this field.
This supports users to easily organize their contacts I guess.
Additional information
Note: This is also required for Full Nextcloud/Vcard v4 Integration. See #85
Note2: Otherwise updating Display Name field from any DAV server (for example Nextcloud + Davx5) are not going to work because app still updates it from other fields.
@asandikci, if this is implemented, I would like to be able to choose to retain the current behaviour. Were it not doing this, I would have filed an FR to have the FN automatically update from the N field. However, should nextcloud/contacts#3983 (comment) be implemented, it would be reasonable to expect that this conversation would become necessary.
I'm copying from my issue here regarding some incompatibility with names and sorting in Google Contacts, Stock Android, Apple, and Nextcloud. Basically, the de-facto standard right now is that sorting is done on FN: (first name) unless a switch is toggled to sort on N: (last name). FN: and N: are linked together, one generated from the other, and the form used for names has a number of fields, for which you can see both Google's and Nextcloud's, below. When neither FN: nor N: are present, it seems that ORG is used as the sorting key.
This generates some issues, since we may want to sort in some way other than First or Last name or Organization. Nextcloud's solution to this is to break the FN: / N: link, and allow FN: to be filled out independently. That becomes the sort key, and is no longer necessarily the first name. You can see Nextcloud's forms, below. Google has a different solution. They introduce an X-FILE-AS: ("File-As") field (see below). I've also included the most general Google and Nextcloud v-card that I can generate, below.
@RokeJulianLockhart wants to be able to keep the current behavior (FN: and N: linked). I believe that should be the case also, given it's the de-facto standard and that it's directly related to sorting on first name vs. surname.
The following is parenthetical, as I'm unable to see a way to keep compatibility with both formats. I don't necessarily suggest it, but for sorting, this might work:
If X-FILE-AS is present, assume that's the sort field.
Otherwise:
a. sort by FN: (first name - which is the default now where "Start Name by Surname" is off),
b. sort by N: (last name) if "Start Name with Surname" on.
And then, for creation and then exporting, the only way I could see would be to have an export-to-nextcould switch that would copy "File-As" into FN:
@Aga-C The nickname field is in the app, you can add a nickname, but it doesn't change the way the contact is displayed.
e.g., if you add a contact Firstname Lastname with the nickname "Nick", then that contact displays as Firstname Lastname (or Lastname Firstname if you select the "start name with surname" option). The contacts list will show the contact as Firstname Lastname, the call log will show you called Firstname Lastname , and so on.
Reacted by Mr Beedell, Roke Julian Lockhart, Johannes, Léonard Gomez, Leonna and null
@Aga-C The nickname field is in the app, you can add a nickname, but it doesn't change the way the contact is displayed.
e.g., if you add a contact Firstname Lastname with the nickname "Nick", then that contact displays as Firstname Lastname (or Lastname Firstname if you select the "start name with surname" option). The contacts list will show the contact as Firstname Lastname, the call log will show you called Firstname Lastname , and so on.
This ^.
Nicknames are kinda useless right now. The whole point of giving a nickname is too see it when interacting with that contact instead of the FIRST NAME LAST NAME.
Reacted by Česlav Przywara, Leonna, Issytia, Nick M and null
I'm in the same boat as those having no use for the Display Name (FN) property, which I need to be auto-generated.
To resolve this, given that each person has its own preferences, the following options should be added in the Contact App preferences :
Display name : filled when empty from the following properties :
list of [ last name, middle name, surname, prefix, suffix, nickname, ... ]
with the possibility to add or remove them at will, and changing the order (applied only for new contacts) (basically this means a subpanel with a selector and manual reordering,
and keeping a hidden flag only for a new contact on the edition page, with the Display Name content updated automatically until the user change it manually, or the contact is saved)
Display name : always updated each time a change occurs in the selected properties : on/off (requiring an event on text change to all the supported properties when active, to update the Display Name)
Bonus : the subpanel would be usable also for the contact list sorting option.
1 will give the desired behavior to everybody, and 2 will cover both those who make use of the Display Name, and those who think this property shouldn't exist.
Btw, please note that when you are syncing the contacts with different systems, some of them (iOS for example) don't even allow the access to Display Name or some other properties and always generate their content automatically.
I'd like to reinforce this request from a real-world corporate CardDAV environment.
Environment: Volla OS 15 (ships with a Fossify Contacts fork as default) + DAVx⁵ syncing from IceWarp groupware via CardDAV.
Problem: Fossify auto-generates DISPLAY_NAME from structured first/last name fields and ignores the FN value synced from the CardDAV server. This is the exact same class of bug I reported for Thunderbird (Bug #2008735) — the lastnamefirst preference was ignored for CardDAV address books, and the server-authoritative FN was overwritten.
In a corporate CardDAV environment, the server-side FN is the canonical display name. Many contacts don't follow simple first/last structure — they include organization, title, nickname, or are company-only entries. When the app overwrites the synced FN, contacts become unrecognizable.
Requested behavior:
Respect and display the FN / DISPLAY_NAME from Android's ContactsContract as-is when synced from an external source (DAVx⁵, CardDAV)
Do not auto-overwrite it from structured name components
Allow manual editing of the display name field in the contact editor
Ideally, support a configurable display name format template (e.g., LastName, FirstName (Organization) - NickName) for locally created contacts
Fall back to auto-generation only when FN is empty and the contact is created locally
Impact: Volla OS ships a Fossify fork as its default contacts app, so this directly affects the entire Volla Phone user base in corporate/CardDAV environments. Currently, Fossify is unusable as a primary contacts app in this scenario.
Reacted by Mr Beedell, Roke Julian Lockhart and Sigdroid
Activity
beedell-roke commentedon Jun 15, 2024
@asandikci, if this is implemented, I would like to be able to choose to retain the current behaviour. Were it not doing this, I would have filed an FR to have the
FNautomatically update from theNfield. However, should nextcloud/contacts#3983 (comment) be implemented, it would be reasonable to expect that this conversation would become necessary.DiagonalArg commentedon Nov 29, 2024
I'm copying from my issue here regarding some incompatibility with names and sorting in Google Contacts, Stock Android, Apple, and Nextcloud. Basically, the de-facto standard right now is that sorting is done on FN: (first name) unless a switch is toggled to sort on N: (last name). FN: and N: are linked together, one generated from the other, and the form used for names has a number of fields, for which you can see both Google's and Nextcloud's, below. When neither FN: nor N: are present, it seems that ORG is used as the sorting key.
This generates some issues, since we may want to sort in some way other than First or Last name or Organization. Nextcloud's solution to this is to break the FN: / N: link, and allow FN: to be filled out independently. That becomes the sort key, and is no longer necessarily the first name. You can see Nextcloud's forms, below. Google has a different solution. They introduce an X-FILE-AS: ("File-As") field (see below). I've also included the most general Google and Nextcloud v-card that I can generate, below.
@RokeJulianLockhart wants to be able to keep the current behavior (FN: and N: linked). I believe that should be the case also, given it's the de-facto standard and that it's directly related to sorting on first name vs. surname.
The following is parenthetical, as I'm unable to see a way to keep compatibility with both formats. I don't necessarily suggest it, but for sorting, this might work:
And then, for creation and then exporting, the only way I could see would be to have an export-to-nextcould switch that would copy "File-As" into FN:
Google's Form:
Nextcloud's Form:
fohfuu commentedon Jan 6, 2025
I would like the option to turn on Nicknames. Commenting instead of creating a new issue, as I believe this is the same request.
Aga-C commentedon Jan 6, 2025
@fohfuu Nicknames are already in the app.
fohfuu commentedon Jan 9, 2025
@Aga-C The nickname field is in the app, you can add a nickname, but it doesn't change the way the contact is displayed.
e.g., if you add a contact Firstname Lastname with the nickname "Nick", then that contact displays as
Firstname Lastname(orLastname Firstnameif you select the "start name with surname" option). The contacts list will show the contact asFirstname Lastname, the call log will show you calledFirstname Lastname, and so on.leg7 commentedon Jun 2, 2025
This ^.
Nicknames are kinda useless right now. The whole point of giving a nickname is too see it when interacting with that contact instead of the FIRST NAME LAST NAME.
beedell-roke commentedon Jun 2, 2025
Daryes commentedon Sep 5, 2025
I'm in the same boat as those having no use for the Display Name (FN) property, which I need to be auto-generated.
To resolve this, given that each person has its own preferences, the following options should be added in the Contact App preferences :
Display name : filled when empty from the following properties :
list of [ last name, middle name, surname, prefix, suffix, nickname, ... ]
with the possibility to add or remove them at will, and changing the order (applied only for new contacts)
(basically this means a subpanel with a selector and manual reordering,
and keeping a hidden flag only for a new contact on the edition page, with the Display Name content updated automatically until the user change it manually, or the contact is saved)
Display name : always updated each time a change occurs in the selected properties : on/off
(requiring an event on text change to all the supported properties when active, to update the Display Name)
Bonus : the subpanel would be usable also for the contact list sorting option.
1 will give the desired behavior to everybody, and 2 will cover both those who make use of the Display Name, and those who think this property shouldn't exist.
Btw, please note that when you are syncing the contacts with different systems, some of them (iOS for example) don't even allow the access to Display Name or some other properties and always generate their content automatically.
braklo commentedon Feb 24, 2026
I'd like to reinforce this request from a real-world corporate CardDAV environment.
Environment: Volla OS 15 (ships with a Fossify Contacts fork as default) + DAVx⁵ syncing from IceWarp groupware via CardDAV.
Problem: Fossify auto-generates DISPLAY_NAME from structured first/last name fields and ignores the FN value synced from the CardDAV server. This is the exact same class of bug I reported for Thunderbird (Bug #2008735) — the lastnamefirst preference was ignored for CardDAV address books, and the server-authoritative FN was overwritten.
In a corporate CardDAV environment, the server-side FN is the canonical display name. Many contacts don't follow simple first/last structure — they include organization, title, nickname, or are company-only entries. When the app overwrites the synced FN, contacts become unrecognizable.
Requested behavior:
Respect and display the FN / DISPLAY_NAME from Android's ContactsContract as-is when synced from an external source (DAVx⁵, CardDAV)
Do not auto-overwrite it from structured name components
Allow manual editing of the display name field in the contact editor
Ideally, support a configurable display name format template (e.g., LastName, FirstName (Organization) - NickName) for locally created contacts
Fall back to auto-generation only when FN is empty and the contact is created locally
Impact: Volla OS ships a Fossify fork as its default contacts app, so this directly affects the entire Volla Phone user base in corporate/CardDAV environments. Currently, Fossify is unusable as a primary contacts app in this scenario.
Sigdroid commentedon Nov 1, 2026
I wwould have seen the possibility to edit FN field and an preference option "Display FN if there's no first name/last name"