Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contacts sync broken since NC 19upgrade #22439

Closed
BigMichi1 opened this issue Aug 26, 2020 · 13 comments · Fixed by #33129
Closed

Contacts sync broken since NC 19upgrade #22439

BigMichi1 opened this issue Aug 26, 2020 · 13 comments · Fixed by #33129
Labels
1. to develop Accepted and waiting to be taken care of bug feature: dav

Comments

@BigMichi1
Copy link

BigMichi1 commented Aug 26, 2020

How to use GitHub

  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Steps to reproduce

  1. upgrade NC 18 to NC 19
  2. sync contacts on a mobile phone
  3. log messages appear that sync is not possible

Expected behaviour

sync contacts should be working again

Actual behaviour

currently it is not possible to sync the contacts with my mobile phone anymore, z-push logs that the sync was aborted

Error doing the initial sync for 'https://nextcloud:443/remote.php/dav/addressbooks/users/michael/z-app-generated--contactsinteraction--recent/': Woops, something's gone wrong! The CardDAV server returned the http status code 415.

Server configuration

Operating system:
Ubuntu 18.04.05

Web server:
Nginx

Database:
PostgreSql 12

PHP version:
7.4.9
Nextcloud version: (see Nextcloud admin page)
19.0.1.1

Updated from an older Nextcloud/ownCloud or fresh install:
updated from18

Where did you install Nextcloud from:
updater

Signing status:

Signing status
No errors have been found.

List of activated apps:

App list
Enabled:
  - accessibility: 1.5.0
  - activity: 2.12.0
  - admin_audit: 1.9.0
  - announcementcenter: 3.8.1
  - apporder: 0.10.0
  - audioplayer: 2.11.2
  - audioplayer_editor: 0.2.2
  - bookmarks: 3.3.4
  - calendar: 2.0.3
  - circles: 0.19.5
  - cloud_federation_api: 1.2.0
  - comments: 1.9.0
  - contacts: 3.3.0
  - contactsinteraction: 1.0.0
  - dav: 1.15.0
  - deck: 1.0.5
  - extract: 1.2.4
  - federatedfilesharing: 1.9.0
  - federation: 1.9.0
  - files: 1.14.0
  - files_accesscontrol: 1.9.0
  - files_automatedtagging: 1.9.0
  - files_external: 1.10.0
  - files_pdfviewer: 1.8.0
  - files_retention: 1.8.2
  - files_rightclick: 0.16.0
  - files_sharing: 1.11.0
  - files_trashbin: 1.9.0
  - files_versions: 1.12.0
  - files_videoplayer: 1.8.0
  - firstrunwizard: 2.8.0
  - groupfolders: 7.0.0
  - impersonate: 1.6.1
  - logreader: 2.4.0
  - lookup_server_connector: 1.7.0
  - mail: 1.4.1
  - maps: 0.1.6
  - metadata: 0.12.0
  - news: 14.1.11
  - nextcloud_announcements: 1.8.0
  - notes: 3.6.4
  - notifications: 2.7.0
  - oauth2: 1.7.0
  - onlyoffice: 4.3.0
  - password_policy: 1.9.1
  - passwords: 2020.8.0
  - phonetrack: 0.6.4
  - photos: 1.1.0
  - privacy: 1.3.0
  - provisioning_api: 1.9.0
  - recommendations: 0.7.0
  - richdocuments: 3.7.3
  - serverinfo: 1.9.0
  - settings: 1.1.0
  - sharebymail: 1.9.0
  - sociallogin: 3.2.8
  - socialsharing_diaspora: 2.1.0
  - socialsharing_email: 2.1.0
  - socialsharing_facebook: 2.1.0
  - socialsharing_twitter: 2.1.0
  - spreed: 9.0.3
  - support: 1.2.1
  - survey_client: 1.7.0
  - systemtags: 1.9.0
  - tasks: 0.13.3
  - text: 3.0.1
  - theming: 1.10.0
  - twofactor_backupcodes: 1.8.0
  - twofactor_totp: 4.1.3
  - updatenotification: 1.9.0
  - user_external: 0.10.0
  - viewer: 1.3.0
  - workflowengine: 2.1.0
Disabled:
  - encryption
  - keeweb
  - radio
  - user_ldap

Nextcloud configuration:

Config report
{
    "system": {
        "debug": false,
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "memcache.local": "\\OC\\Memcache\\APCu",
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379,
            "dbindex": 1
        },
        "trusted_domains": [
            "nextcloud"
        ],
        "dbtype": "pgsql",
        "version": "19.0.1.1",
        "overwrite.cli.url": "https:\/\/nextcloud",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "mail_smtpmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "587",
        "mail_smtpauth": 1,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpsecure": "tls",
        "maintenance": false,
        "theme": "",
        "loglevel": 1,
        "updater.release.channel": "stable",
        "defaultapp": "apporder",
        "user_backends": [
            {
                "class": "OC_User_IMAP",
                "arguments": [
                    "127.0.0.1",
                    143,
                    null,
                    "localhost",
                    true,
                    false
                ]
            }
        ],
        "app_install_overwrite": [
            "calendar",
            "maps",
            "piwik"
        ],
        "mail_sendmailmode": "smtp"
    }
}

Are you using encryption: no

Are you using an external user-backend, if yes which one: IMAP

Logs

Nextcloud log (data/nextcloud.log)

Nextcloud log
{
  "reqId": "Serl4k8FeffTZ0eEIqg9",
  "level": 4,
  "time": "2020-08-26T17:31:19+00:00",
  "remoteAddr": "127.0.0.1",
  "user": "michael",
  "app": "webdav",
  "method": "REPORT",
  "url": "/remote.php/dav/addressbooks/users/michael/z-app-generated--contactsinteraction--recent/",
  "message": {
    "Exception": "Sabre\\DAV\\Exception\\ReportNotSupported",
    "Message": "The {DAV:}sync-collection REPORT is not supported on this url.",
    "Code": 0,
    "Trace": [
      {
        "file": "/srv/www/nextcloud/docs/3rdparty/sabre/dav/lib/DAV/Sync/Plugin.php",
        "line": 64,
        "function": "syncCollection",
        "class": "Sabre\\DAV\\Sync\\Plugin",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
        "line": 89,
        "function": "Sabre\\DAV\\Sync\\{closure}",
        "class": "Sabre\\DAV\\Sync\\Plugin",
        "type": "->",
        "args": [
          "*** sensitive parameters replaced ***"
        ]
      },
      {
        "file": "/srv/www/nextcloud/docs/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
        "line": 720,
        "function": "emit",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
        "line": 89,
        "function": "httpReport",
        "class": "Sabre\\DAV\\CorePlugin",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 474,
        "function": "emit",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 251,
        "function": "invokeMethod",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/3rdparty/sabre/dav/lib/DAV/Server.php",
        "line": 319,
        "function": "start",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/apps/dav/lib/Server.php",
        "line": 320,
        "function": "exec",
        "class": "Sabre\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/apps/dav/appinfo/v2/remote.php",
        "line": 35,
        "function": "exec",
        "class": "OCA\\DAV\\Server",
        "type": "->"
      },
      {
        "file": "/srv/www/nextcloud/docs/remote.php",
        "line": 167,
        "args": [
          "/srv/www/nextcloud/docs/apps/dav/appinfo/v2/remote.php"
        ],
        "function": "require_once"
      }
    ],
    "File": "/srv/www/nextcloud/docs/3rdparty/sabre/dav/lib/DAV/Sync/Plugin.php",
    "Line": 108,
    "CustomMessage": "--"
  },
  "userAgent": "Z-Push CardDAV/0.6.c",
  "version": "19.0.1.1"
}
@BigMichi1 BigMichi1 added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Aug 26, 2020
@kesselb
Copy link
Contributor

kesselb commented Aug 26, 2020

cc @nextcloud/contacts @ChristophWurst It seems that z-push is confused by the contactsinteraction addressbook.

@skjnldsv skjnldsv reopened this Aug 27, 2020
@ChristophWurst
Copy link
Member

does the client check which permissions are granted? this address book is read only. If any other operation than read is performed you get an "error"

@skjnldsv
Copy link
Member

skjnldsv commented Aug 27, 2020

Wrong button --"

"Message": "The {DAV:}sync-collection REPORT is not supported on this url.",
This is for you @ChristophWurst

@ChristophWurst
Copy link
Member

Though not sure what would be needed for REPROT

@BigMichi1
Copy link
Author

is it possible to exclude contactsinteraction from being discovered?

@ChristophWurst
Copy link
Member

no, I don't think so

@skjnldsv
Copy link
Member

skjnldsv commented Nov 7, 2020

@ChristophWurst then we need to make sure report is supported like any other addressbook :)

@skjnldsv skjnldsv added 1. to develop Accepted and waiting to be taken care of feature: dav and removed 0. Needs triage Pending check for reproducibility or if it fits our roadmap labels Nov 7, 2020
@Chartman123
Copy link

Any news on this one? It's hard for me to find any real problems in the Log as it's spammed with messages... 😇

@l00v3
Copy link

l00v3 commented Feb 3, 2021

We also have the same situation connected with Z-Push. The address books should support REPORT. The same situation is with Deck generated calendars. All should support REPORT. It would be nice to have calendars and address books exposed via CalDAV/CardDAV to be connected with Z-Push (Exchange ActiveSync for Mobile). Any updates about one?
Thank you very much!

@macdanger
Copy link

we have the same behaviour with z-push and nextcloud sabre dav. But it looks like it depends on the device that is checking on calendar or contacts: the android gmail app and TBsync (thunderbird) seems not to produce the errors, but an iPhone with iOS 14.4 does. At least that's my observation so far. I'm not sure if REPORT needs to be supported according to any RFC...
But would it be a big deal to implement it, so that we will not get thousands of the same error in the nextcloud logs? Would be nice...

@szaimen

This comment has been minimized.

@szaimen

This comment has been minimized.

tcitworld added a commit that referenced this issue Jul 6, 2022
PostgreSQL returns data as resource when using IQueryBuilder::PARAM_LOB
(which is used for QBMapper).

Previously we just converted this resource using settype, which produced
things like "Resource id #14" instead of the actual resource data.

Now we read the stream correctly if the returned data is a resource

See context at #22472

Fixes #22439

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
tcitworld added a commit that referenced this issue Jul 6, 2022
PostgreSQL returns data as resource when using IQueryBuilder::PARAM_LOB
(which is used for QBMapper).

Previously we just converted this resource using settype, which produced
things like "Resource id #14" instead of the actual resource data.

Now we read the stream correctly if the returned data is a resource

See context at #22472

Fixes #22439

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
tcitworld added a commit that referenced this issue Jul 6, 2022
PostgreSQL returns data as resource when using IQueryBuilder::PARAM_LOB
(which is used for QBMapper).

Previously we just converted this resource using settype, which produced
things like "Resource id #14" instead of the actual resource data.

Now we read the stream correctly if the returned data is a resource

See context at #22472

Fixes #22439

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
tcitworld added a commit that referenced this issue Jul 11, 2022
PostgreSQL returns data as resource when using IQueryBuilder::PARAM_LOB
(which is used for QBMapper).

Previously we just converted this resource using settype, which produced
things like "Resource id #14" instead of the actual resource data.

Now we read the stream correctly if the returned data is a resource

See context at #22472

Fixes #22439

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
nextcloud-command pushed a commit that referenced this issue Jul 22, 2022
PostgreSQL returns data as resource when using IQueryBuilder::PARAM_LOB
(which is used for QBMapper).

Previously we just converted this resource using settype, which produced
things like "Resource id #14" instead of the actual resource data.

Now we read the stream correctly if the returned data is a resource

See context at #22472

Fixes #22439

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
nickvergessen pushed a commit that referenced this issue Jul 25, 2022
PostgreSQL returns data as resource when using IQueryBuilder::PARAM_LOB
(which is used for QBMapper).

Previously we just converted this resource using settype, which produced
things like "Resource id #14" instead of the actual resource data.

Now we read the stream correctly if the returned data is a resource

See context at #22472

Fixes #22439

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
backportbot-nextcloud bot pushed a commit that referenced this issue Jul 25, 2022
PostgreSQL returns data as resource when using IQueryBuilder::PARAM_LOB
(which is used for QBMapper).

Previously we just converted this resource using settype, which produced
things like "Resource id #14" instead of the actual resource data.

Now we read the stream correctly if the returned data is a resource

See context at #22472

Fixes #22439

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
backportbot-nextcloud bot pushed a commit that referenced this issue Jul 25, 2022
PostgreSQL returns data as resource when using IQueryBuilder::PARAM_LOB
(which is used for QBMapper).

Previously we just converted this resource using settype, which produced
things like "Resource id #14" instead of the actual resource data.

Now we read the stream correctly if the returned data is a resource

See context at #22472

Fixes #22439

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
backportbot-nextcloud bot pushed a commit that referenced this issue Jul 25, 2022
PostgreSQL returns data as resource when using IQueryBuilder::PARAM_LOB
(which is used for QBMapper).

Previously we just converted this resource using settype, which produced
things like "Resource id #14" instead of the actual resource data.

Now we read the stream correctly if the returned data is a resource

See context at #22472

Fixes #22439

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1. to develop Accepted and waiting to be taken care of bug feature: dav
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants