nextcloud / contacts

šŸ“‡ Contacts app for Nextcloud
https://apps.nextcloud.com/apps/contacts
GNU Affero General Public License v3.0
569 stars 172 forks source link

Property ITEM3.ORG and ITEM4.TITLE not visible in contacts app. #2560

Open bert-willekens opened 2 years ago

bert-willekens commented 2 years ago

Describe the bug

ITEM3 and ITEM4 property not displayed in Contacts app.

To Reproduce Steps to reproduce the behavior:

  1. 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
  2. Click on the contact.

  3. ITEM3.ORG and ITEM4.TITLE are not displayed. image

  4. 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
  5. Manually enter the Company name in the Contacts app. image

  6. 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.

  7. Synchronize to your iPhone and the ITEMX properties show up. image

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

  9. 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
skjnldsv commented 2 years ago

https://github.com/nextcloud/contacts/issues/1842

bert-willekens commented 2 years ago

I'm sorry @skjnldsv but I don't understand the 'solution' in #1842. I'm running a much newer version of Contacts and have clean installed this version. Never used it in the 3.5.0 era. What can I do to provide you with more information?

skjnldsv commented 2 years ago

No, this is just a duplicate issue :)

jivanpal commented 2 years ago

Reproducible in Contacts 4.2.2 on Nextcloud 24.0.3.

This is not a duplicate of #1842, rather it concerns the fact that ORG and TITLE fields that have a prefix are not displayed in the app, so cannot be known about or edited within the app. It is similar to #1842 in that it concerns prefixed fields not being handled correctly, but that was an issue with prefixed fields in general, whereas this issue only concerns ORG and TITLE specifically; all other prefixed fields seem to be handled correctly in v4.2.2, i.e. #1842 is not present.

You could consider this issue an enhancement request, as it is present due to the current design of the app; there are only single textboxes for (unprefixed) ORG and TITLE, and there is no way to add/handle additional (prefixed) ORG and TITLE fields in the app ("Add new property" lacks "Company" and "Title" as options). What we want is the ability to view/edit/add/remove these additional fields.

himanshu-mobstac commented 1 year ago

Still facing this issue.