nextcloud / nextcloud/contacts
Property ITEM3.ORG and ITEM4.TITLE not visible in contacts app.
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 642
- Forks
- 220
- Avg merge
- 14h 39m
- Merged PRs (30d)
- 51
Description
Describe the bug
ITEM3 and ITEM4 property not displayed in Contacts app.
To Reproduce
Steps to reproduce the behavior:
- Import this .vcf file, exported from Google Gmail as 'VCF iPhone format'.
BEGIN:VCARD
VERSION:3.0
FN:John Doe
N:Doe;John;;;
EMAIL;TYPE=INTERNET:john.doe@bananas.com
X-ABLabel:
TEL:+32 123 45 67 89
X-ABLabel:
ITEM3.ORG:Bananas
ITEM3.X-ABLabel:
ITEM4.TITLE:Owner
ITEM4.X-ABLabel:
CATEGORIES:myContacts
END:VCARD
-
Click on the contact.
-
ITEM3.ORG and ITEM4.TITLE are not displayed.

-
Download the contact from the Contacts app. Resulting file is the following
BEGIN:VCARD
VERSION:3.0
FN:John Doe
N:Doe;John;;;
EMAIL;TYPE=INTERNET:john.doe@bananas.com
X-ABLABEL:
TEL;VALUE=UNKNOWN:+32 123 45 67 89
X-ABLABEL:
ITEM3.ORG:Bananas
ITEM3.X-ABLABEL:
ITEM4.TITLE:Owner
ITEM4.X-ABLABEL:
CATEGORIES:myContacts
UID:f6d0ee12-5f8f-47ce-9611-82e5c859cf5c
REV;VALUE=DATE-TIME:20211213T193045Z
END:VCARD
-
Manually enter the Company name in the Contacts app.

-
Download the contact from the contacts app. Resulting file is the following. ORG is added to the file while ITEM3.ORG is still there.
BEGIN:VCARD
VERSION:3.0
FN:John Doe
N:Doe;John;;;
EMAIL;TYPE=INTERNET:john.doe@bananas.com
X-ABLABEL:
TEL;VALUE=UNKNOWN:+32 123 45 67 89
X-ABLABEL:
ITEM3.ORG:Bananas
ITEM3.X-ABLABEL:
ITEM4.TITLE:Owner
ITEM4.X-ABLABEL:
CATEGORIES:myContacts
UID:f6d0ee12-5f8f-47ce-9611-82e5c859cf5c
REV;VALUE=DATE-AND-OR-TIME:20211213T195704Z
ORG:Bananas
END:VCARD
BONUS.
-
Synchronize to your iPhone and the ITEMX properties show up.

-
Update the Company on the iPhone and refresh Contacts app. Both ORG and TITLE are now displayed.

-
Exporting the iPhone edited contact results in the following download file.
BEGIN:VCARD
VERSION:3.0
PRODID:-//Apple Inc.//iOS 15.1//EN
N:Doe;John;;;
FN:John Doe
ORG:Bananas;
TITLE:Owner X
item1.EMAIL;type=INTERNET;type=pref:john.doe@bananas.com
item2.TEL;type=pref:+32 123 45 67 89
item2.X-ABLabel:VALUE
REV:2021-12-13T19:50:24Z
UID:66f061c7-5ef4-461c-a929-4183f49643d3
CATEGORIES:myContacts
END:VCARD
Expected behavior
Company and Title to show up in the Contacts app.
Actual behavior
Unable to view or edit the ITEM3 + ITEM4 properties.
Screenshots
Done.
Server configuration
Operating system: Linux nextcloud 5.13.19-1-pve #1 SMP PVE 5.13.19-3 (Tue, 23 Nov 2021 13:31:19 +0100) x86_64 x86_64 x86_64 GNU/Linux
Web server: Apache Server version: Apache/2.4.37 (centos)
Database: mysql Ver 8.0.26 for Linux on x86_64 (Source distribution)
PHP version: PHP 7.4.26 (cli) (built: Nov 16 2021 15:31:30) ( NTS )
Nextcloud version: Nextcloud 22.2.3
Contacts version: 4.0.6
Updated from an older Nextcloud or fresh install: Upgraded several times starting from 18 or 19. Contacts installed for the first time on 22.
Signing status:
No errors have been found.
List of activated apps:
Enabled:
- accessibility: 1.8.0
- activity: 2.15.0
- admin_audit: 1.12.0
- bruteforcesettings: 2.2.0
- calendar: 3.0.1
- camerarawpreviews: 0.7.15
- circles: 22.1.1
- cloud_federation_api: 1.5.0
- comments: 1.12.0
- contacts: 4.0.6
- contactsinteraction: 1.3.0
- dav: 1.19.0
- federatedfilesharing: 1.12.0
- federation: 1.12.0
- files: 1.17.0
- files_downloadactivity: 1.12.0
- files_pdfviewer: 2.3.1
- files_rightclick: 1.1.0
- files_sharing: 1.14.0
- files_trashbin: 1.12.0
- files_versions: 1.15.0
- files_videoplayer: 1.11.0
- firstrunwizard: 2.11.0
- groupfolders: 10.0.0
- logreader: 2.7.0
- lookup_server_connector: 1.10.0
- maps: 0.1.9
- nextcloud_announcements: 1.11.0
- notifications: 2.10.1
- oauth2: 1.10.0
- password_policy: 1.12.0
- photos: 1.4.0
- privacy: 1.6.0
- provisioning_api: 1.12.0
- recommendations: 1.1.0
- serverinfo: 1.12.0
- settings: 1.4.0
- sharebymail: 1.12.0
- support: 1.5.0
- systemtags: 1.12.0
- text: 3.3.0
- theming: 1.13.0
- twofactor_backupcodes: 1.11.0
- twofactor_totp: 6.2.0
- updatenotification: 1.12.0
- user_status: 1.2.0
- viewer: 1.6.0
- weather_status: 1.2.0
- workflowengine: 2.4.0
Disabled:
- dashboard
- encryption
- files_external
- survey_client
- user_ldap
Nextcloud configuration:
{
"system": {
"instanceid": "***REMOVED SENSITIVE VALUE***",
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"192.168.187.13",
"nextcloud.x.be"
],
"trusted_proxies": "***REMOVED SENSITIVE VALUE***",
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "mysql",
"version": "22.2.3.0",
"overwrite.cli.url": "https:\/\/nextcloud.x.be\/",
"overwriteprotocol": "https",
"overwritehost": "nextcloud.x.be",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbport": "",
"dbtableprefix": "oc_",
"mysql.utf8mb4": true,
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"default_locale": "nl_BE",
"force_locale": "nl_BE",
"memcache.local": "\\OC\\Memcache\\APCu",
"memcache.distributed": "\\OC\\Memcache\\Redis",
"memcache.locking": "\\OC\\Memcache\\Redis",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"port": 0
},
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_smtpmode": "smtp",
"mail_sendmailmode": "smtp",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"mail_smtpauth": 1,
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpport": "465",
"mail_smtpname": "***REMOVED SENSITIVE VALUE***",
"mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
"mail_smtpsecure": "ssl",
"mail_smtpauthtype": "PLAIN",
"maintenance": false,
"theme": "",
"loglevel": 2,
"updater.release.channel": "stable"
}
}
Client configuration
Browser: Firefox 95.0
Operating system: Linux Mint 20.2
CardDAV-clients: iPhone 12 iOS 15.1
This contact did not have a proper uid. Setting a new one for
Object { jCal: (3) […], addressbook: {…}, vCard: {…}, conflict: false }
contact.js:80:11
Object { jCal: (3) […], addressbook: {…}, vCard: {…}, conflict: false }
__ob__: Object { value: {…}, dep: {…}, vmCount: 0 }
addressbook:
conflict:
dav:
jCal:
vCard:
<get addressbook()>: function get()
<set addressbook()>: function set(e)
<get conflict()>: function get()
<set conflict()>: function set(e)
<get dav()>: function get()
<set dav()>: function set(e)
<get jCal()>: function get()
<set jCal()>: function set(e)
<get vCard()>: function get()
<set vCard()>: function set(e)
<prototype>: Object { … }
addressbooks.js:420:11
GEThttps://nextcloud.x.be/remote.php/dav/addressbooks/users/bert/contacts/927D5B52-4D64-4532-96E2-91E2128056C1.vcf?photo
[HTTP/2 404 Not Found 28ms]
Masonry reflow ContactDetails.vue:763
GEThttps://nextcloud.x.be/remote.php/dav/addressbooks/users/bert/contacts/16565535-314B-4F2B-8108-40BB0F6E49DF.vcf?photo
[HTTP/2 404 Not Found 92ms]
Invalid avatar url /remote.php/dav/addressbooks/users/bert/contacts/927D5B52-4D64-4532-96E2-91E2128056C1.vcf?photo ListItemIcon.js:24:14868
Invalid avatar url /remote.php/dav/addressbooks/users/bert/contacts/16565535-314B-4F2B-8108-40BB0F6E49DF.vcf?photo ListItemIcon.js:24:14868
No new notification data received App.vue:293
Polling interval updated to 30000 App.vue:325
No new notification data received App.vue:293
Polling interval updated to 30000
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the supplied vCard import in the Contacts app, then inspect ContactDetails.vue and addressbooks.js for handling of ITEM3.ORG and ITEM4.TITLE. Check contact.js for the parsed vCard data and confirm that the company and title are both displayed, editable, and preserved after export.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100