Skip to content

ADR "mismatch" between vcard and GUI, formatted (LABEL) vs detailed address, leading to sync confusion #1900

Closed
@michaelof

Description

Steps to reproduce

Prereq: Existing "simple" contact, e.g. just FN set, already synched between Nextcloud and via DAVx5 to an Android device.
FYI in my case FOSS (F-Droid) App Simple-Contacts, v 6.13.0, Android 10, Nokia 7.2

  1. Change address in Simple-Contacts, make it two lines with a line break (not sure if line break is neccesary)
    FYI Simple-Contacts per design does not use detailed addresses, just one multiline address field, finally stored as ADR->STREET
  2. Sync back to Nextcloud

Remark: When contact is now downloaded from Nextcloud, NC creates NON-compliant V3.0 vcard with an ADR like

ADR;TYPE=home;LABEL="Address Changed^nin Simple-Contacts":;;Address Changed^nin Simple-Contacts;;;;

LABEL param inside ADR was introduced by RFC 6350, valid for vcard 4.0, ch. 6.3.1..
This LABEL param deprecates old v3.0 LABEL type defined in RFC 2426 ch. 3.2.2. Which had to be defined as separate vcard node, if vcard version is/should be 3.0 as used by Nextloud GUI export function.
FYI I've opened #1899 yesterday, got the impression that Nextcloud more or less is exporting V4.0 vcards although declarating them as V3.0

  1. Change address in Nextcloud

Downloaded from Nextcloud (V3.0 incompliant as described above) vcard looks as follows:

VERSION:3.0
PRODID:-//Sabre//Sabre VObject 4.3.0//EN
UID:ea51b1a6-1063-4cbd-ad42-f204cfa69763
FN:Först Last
N:Last;Först;;;
ADR;TYPE=home;LABEL="Address Changed^nin Simple-Contacts":;;geändert in Ne
 xtcloud;;;;
REV;VALUE=DATE-AND-OR-TIME:20201029T113127Z
END:VCARD

IHMO keeping the previous LABEL value without showing it in GUI is more than confusing, and hard to detect(*)!

Shown in GUI:
image

  1. Sync again
  2. Changed in Nextcloud address will NOT be shown on Android after synched via DAVx5. Both in Google Contacts App, and Simple-Contacts
    That's what I mean with (*) hard to detect: As vice versa on Android only the formatted LABEL address is shown, I thought at first that this might be a DAVx5 bug.

FYI When synched to iOS, with native cardDAV support, detailed address seems to be used by default, in contrast to Android.

Expected behaviour

If desired by design both detailed address and formatted address, as defined by RFC, should be available in Nextcloudm both have to be shown/changeable in GUI.
If LABEL is used/created en passant, so hidden by design, it should be in sync/regenerated based on detailed address, to avoid the described above confusion.

Actual behaviour

Nextcloud keeps "hidden" formatted address, unchanged

Server configuration detail

Operating system: Linux 5.3.18-lp152.47-default #1 SMP Thu Oct 15 16:05:25 UTC 2020 (41f7396) x86_64
OpenSuse Leap 15.2

Webserver: Apache (apache2handler)

Database: mysql 10.4.14

PHP version:

7.4.6
Modules loaded: Core, date, libxml, pcre, filter, hash, Reflection, SPL, session, SimpleXML, standard, xml, mysqlnd, apache2handler, apcu, bcmath, bz2, ctype, curl, dom, mbstring, fileinfo, ftp, gd, gettext, gmp, iconv, imagick, intl, json, ldap, exif, mysqli, openssl, pcntl, PDO, pdo_mysql, pdo_sqlite, zlib, posix, soap, sockets, sqlite3, tokenizer, xmlreader, xmlwriter, zip, Phar, Zend OPcache

Nextcloud version: 20.0.1 - 20.0.1.1

Updated from an older Nextcloud/ownCloud or fresh install:
Upgraded from Owncloud long ago

Where did you install Nextcloud from:
RPM based from OpenSuse repos

Signing status

Array
(
)

List of activated apps
Enabled:
 - accessibility: 1.6.0
 - activity: 2.13.2
 - admin_audit: 1.10.0
 - audioplayer: 2.12.0
 - bruteforcesettings: 2.0.1
 - calendar: 2.1.2
 - cloud_federation_api: 1.3.0
 - comments: 1.10.0
 - contacts: 3.4.1
 - contactsinteraction: 1.1.0
 - dashboard: 7.0.0
 - dav: 1.16.0
 - encryption: 2.8.1
 - federatedfilesharing: 1.10.1
 - federation: 1.10.1
 - files: 1.15.0
 - files_external: 1.11.1
 - files_pdfviewer: 2.0.1
 - files_rightclick: 0.17.0
 - files_sharing: 1.12.0
 - files_trashbin: 1.10.1
 - files_versions: 1.13.0
 - files_videoplayer: 1.9.0
 - firstrunwizard: 2.9.0
 - issuetemplate: 0.7.0
 - logreader: 2.5.0
 - lookup_server_connector: 1.8.0
 - mail: 1.5.1
 - music: 0.17.0
 - nextcloud_announcements: 1.9.0
 - notifications: 2.8.0
 - oauth2: 1.8.0
 - password_policy: 1.10.1
 - photos: 1.2.0
 - privacy: 1.4.0
 - provisioning_api: 1.10.0
 - recommendations: 0.8.0
 - serverinfo: 1.10.0
 - settings: 1.2.0
 - sharebymail: 1.10.0
 - spreed: 10.0.1
 - support: 1.3.0
 - survey_client: 1.8.0
 - systemtags: 1.10.0
 - tasks: 0.13.5
 - text: 3.1.0
 - theming: 1.11.0
 - twofactor_backupcodes: 1.9.0
 - twofactor_totp: 5.0.0
 - updatenotification: 1.10.0
 - user_status: 1.0.0
 - viewer: 1.4.0
 - weather_status: 1.0.0
 - workflowengine: 2.2.0
Disabled:
 - user_ldap

Configuration (config/config.php)
{
    "updatechecker": false,
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "localhost:10080",
        "***REMOVED SENSITIVE VALUE***",
        "***REMOVED SENSITIVE VALUE***",
        "***REMOVED SENSITIVE VALUE***"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "overwrite.cli.url": "http:\/\/localhost:10080\/nextcloud",
    "dbtype": "mysql",
    "version": "20.0.1.1",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbtableprefix": "oc_",
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "logtimezone": "UTC",
    "installed": true,
    "mail_smtpmode": "sendmail",
    "mail_smtpsecure": "tls",
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "maintenance": false,
    "appstore.experimental.enabled": true,
    "theme": "",
    "loglevel": 0,
    "logfile": "\/var\/log\/nextcloud\/nextcloud.log",
    "log_rotate_size": 10485760,
    "app_install_overwrite": [
        "tasks",
        "contacts",
        "unsplash",
        "bruteforcesettings"
    ],
    "mysql.utf8mb4": true,
    "encryption.legacy_format_support": false,
    "encryption.key_storage_migrated": false,
    "memcache.local": "\\OC\\Memcache\\APCu"
}

Are you using external storage, if yes which one: local/smb/sftp/...

Are you using encryption: 1

Are you using an external user-backend, if yes which one: LDAP/ActiveDirectory/Webdav/...

Client configuration

Browser: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36

Operating system:

Logs

Web server error log

Nextcloud log

Browser log

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions