I saw there have been similar issues (#42 #942) but they're all closed now and I'm still experiencing the issue.
Add a ITEM1 prefix on any line (as done by an iOS14 device for example for addresses and websites)
Property is shown correctly
Properties with an ITEM1 prefix are not shown completely in the contacts app. Data is still present in the underlying vcf card though.
Example:
Item ADR;type=WORK;type=pref:;;;Rome;RM;;IT is correctly shown, while item1.ADR;type=WORK;type=pref:;;;Rome;RM;;IT isn't completely.
Nextcloud version:
18.0.10
Contacts version:
3.4.0
Updated from an older Nextcloud or fresh install:
Updated
Hi, care to share your contact here plase?
Same issue here, Nextcloud 20.0.0, Contacts 3.4.0.
For example, create a contact called "Test Contact", and attempt to add a phone number, setting a custom label. Upon hitting ENTER, the phone field disappears from view. However, the underlying data is still there, as revealed when exporting VCF file.
The following VCF file is the result of the following steps:
BEGIN:VCARD
VERSION:4.0
PRODID:-//Nextcloud Contacts v3.4.0
UID:b5d7bc27-b87f-4e87-8adc-c9934c4f7e6a
FN:Test Contact
ADR;TYPE=HOME:;;;;;;
EMAIL;TYPE=HOME:
NEXTCLOUD1.TEL;TYPE="HOME,VOICE":
NEXTCLOUD2.TEL;TYPE="HOME,VOICE":
NEXTCLOUD3.TEL;TYPE="HOME,VOICE":02079460111
NEXTCLOUD1.X-ABLABEL:custom1
NEXTCLOUD2.X-ABLABEL:old
NEXTCLOUD3.X-ABLABEL:test
REV;VALUE=DATE-AND-OR-TIME:20201013T010015Z
END:VCARD
Importing a VCF file with similar item labels (e.g. a Google Contacts export) also keeps the data in the underlying data store, but the data is not visible in the Contacts app. It is visible to DAV clients that sync with the server. For example, here is a single-contact Google Contacts export which exhibits this behaviour:
BEGIN:VCARD
VERSION:3.0
FN:Alice Jones
N:Jones;Alice;;;
EMAIL;TYPE=INTERNET;TYPE=WORK:[email protected]
item1.EMAIL;TYPE=INTERNET:[email protected]
item1.X-ABLabel:University
item2.ORG:University of Stuff
item2.X-ABLabel:Other
item3.TITLE:Lecturer in Things
item3.X-ABLabel:Other
TEL;TYPE=CELL:+44 7700 900456
item4.TEL:+44 7700 900123
item4.X-ABLabel:Mobile (old)
ADR;TYPE=HOME:;;10 Some Road;London;;;United Kingdom;10 Some Road\nLo
ndon\nUnited Kingdom
item5.ADR:;;University of Stuff;London;;;United Kingdom;University of Stuff
\nLondon\nUnited Kingdom
item5.X-ABLabel:University
CATEGORIES:Colleagues,myContacts
END:VCARD
After importing, in the Contacts web app, only the following are visible:
The other phone, email, and address are not visible, but are visible elsewhere, such as in the Google Contacts app for Android after syncing with DAVx⁵.
Exporting contacts after importing the file above gives the following:
BEGIN:VCARD
VERSION:3.0
FN:Alice Jones
N:Jones;Alice;;;
EMAIL;TYPE="INTERNET,WORK":[email protected]
ITEM1.EMAIL;TYPE=INTERNET:[email protected]
ITEM1.X-ABLABEL:University
ITEM2.X-ABLABEL:Other
ITEM3.X-ABLABEL:Other
ITEM4.X-ABLABEL:Mobile (old)
ITEM5.X-ABLABEL:University
ITEM2.ORG:University of Stuff
ITEM3.TITLE:Lecturer in Things
TEL;TYPE=CELL;VALUE=UNKNOWN:+44 7700 900456
ITEM4.TEL;VALUE=UNKNOWN:+44 7700 900123
ADR;TYPE=HOME:;;10 Some Road;London;;;United Kingdom;10 Some Road\nLondon\n
United Kingdom
ITEM5.ADR;VALUE=UNKNOWN:;;University of Stuff;London;;;United Kingdom;Unive
rsity of Stuff\nLondon\nUnited Kingdom
CATEGORIES:Colleagues,myContacts
UID:d3c3aa0d-6e8b-4e5c-8710-596d3b58ddbb
REV;VALUE=DATE-TIME:20201013T013319Z
END:VCARD
@paolosg It's not just you.
I am taking first steps using nextcloud and was playing with importing my contacts from g**gle. As I mainly use custom names for phone numbers, I was surprised those number didn't make it into nextcloud. But actually they are there, they are just not shown. It seem, the web interface only shows the pre-defined types. I can change the label by typing. As long as I use a pre-defined name, it shows. If I use something else, it vanishes from site.
@skjnldsv are the examples from @jivanpal sufficient?
I could provide more if needed, but the issue is definitely the same.
Showing contacts without addresses is just like showing file names in the file browser, but not being allowed to actually use (see, download) the file contents.
Nextcloud Groupware offers easy-to-use web mail, calendaring and contacts that helps your team get things done quicker and easier, integrated with Nextcloud Files.
Apparently, more money is being spent on advertising than on trying to deliver what is advertised.
Apparently, more money is being spent on advertising than on trying to deliver what is advertised.
Always a pleasure reading comments like those! Very motivating!👌✨
Nextcloud stable upgrade to 20.0.4. Problem still there.
Nextcloud stable upgrade to 20.0.4. Problem still there.
This is related to the contacts app, not nextcloud core
Technically speaking, yes. Maybe.
From customer perspective, Files, Contacts and Calendar is core functionality.
@sciurius, then take up your grievance with the Nextcloud maintainers, not core app maintainers — they decide when to release new point releases of Nextcloud, and what version of apps are included therein. You can't expect every minor point release to have the specific bugfix that you care most about. Monitor the changelogs if you really care about a specific bugfix, or help out with a pull request.
Hi ! Is there anything we can do to help you fix this issue ?
Apart from opening a pull request, do you have any suggestion or useful information to communicate regarding this issue ?
Cheers
X-ABLabel was working fine in a previous version before. This regression is quite unfortunate. I have now several contacts which have duplicates of telephone numbers: One set of phone numbers I created on my Android phone. And the other set of the same phone numbers I created again in the contacts web interface, because I did not see the originally created numbers.
@skjnldsv :
_I would like to support @LeKangouroo in his question:_ If we can do anything to help to fix this issue, please, let us know.
Up
Same problem here.
I did input a new contact on my phone... Sync to nextcloud was fine... Problem: the address is not shown (type: "other") and the mail (type: "other") is also not shown.
The downloaded vCard-file from nextcloud has all the data in it...
After an intense session of reading through the code, I can make an educated guess of what the bug is:
Instead of this
if (!this.canDisplay(property)) {
return list
}
it should probably be
if (!this.canDisplay(property.split(".").pop())) {
return list
}
The canDisplay filtering was introduced almost a year ago. It checks whether the property name is "registered" in rfcProps.js, and if not, it does not pass it along.
The problem is that custom labels are implemented by using two vCard fields with the same, e.g., group1.X-ABLabel and group1.TEL, where the . separates the prefix from the field types. The sorting function sorts by what is after the ., since we are not interested in the prefix. By the same logic, we should only check what is after the . for whether it is a property we can display.
I have not tested this change, though, so this is only a conjecture.
Could you _please_ publish a hotfix release containing this solution? Working with the web version of the contacts app while also using e.g. the iOS address book is really really painful!
Or do you have an estimate when the next version of the contacts app will be released?
I can send you the (fixed) version I built myself.
I can send you the (fixed) version I built myself.
Thanks for the kind offer, but I actually managed to build the app myself from the source.
I can send you the (fixed) version I built myself.
I'm not as proficient as jzdm and would welcome a prebuilt version, thanks
Me too :)
https://www.squirrel.nl/pub/xfer/uploads/3C17Tlabb5mLTs7YQLqZk0aA.tar.gz
Go to your apps page and disable and remove the contacts app.
cd /var/web/nextcloud/apps (may be different)
rm -fr contacts (if needed)
tar zxf contacts.tar.gz
Go to your apps page and enable the contacts app.
HTH
Releasing right now! Sorry about the delay everyone! :confounded:
We thank you for all the work you are doing!
Should this be fixed in 3.5.0? Still had to run sed -i 's/this.canDisplay(property)/this.canDisplay(property.split(".").pop()/' js/contacts-main.js.map to get this fixed.
The definition of the canDisplay function has been changed to:
canDisplay(property) {
// Make sure we have some model for the property and check for ITEM.PROP custom label format
const propModel = rfcProps.properties[property.name.split('.').pop()]
If you made local changes, make sure to disable and delete the old contacts app completely before installing the new version.
And clear your cache :)
occ maintenance:repair on your serverThanks :wink:
There may still be an issue...
In a fresh browser, when I open nextcloud and click the contacts icon, the contacts are loaded and the first contact is displayed with address ;;Cxxlaan 1;Xxloo;;1111 AA;Netherlands displayed in a single address field, instead of the individual parts in the individual fields.

When I select someone else it displays correctly. When I select the first contact again, it also displays correctly.

Most helpful comment
After an intense session of reading through the code, I can make an educated guess of what the bug is:
Instead of this
it should probably be
The
canDisplayfiltering was introduced almost a year ago. It checks whether the property name is "registered" inrfcProps.js, and if not, it does not pass it along.The problem is that custom labels are implemented by using two vCard fields with the same, e.g.,
group1.X-ABLabelandgroup1.TEL, where the.separates the prefix from the field types. The sorting function sorts by what is after the., since we are not interested in the prefix. By the same logic, we should only check what is after the.for whether it is a property we can display.I have not tested this change, though, so this is only a conjecture.