Server: CalDav / Tasks sync issue with UTC properties with DavDroid

Created on 24 Jul 2018  路  9Comments  路  Source: nextcloud/server

Steps to reproduce

  1. Add a nextcloud instance to DavDroid
  2. Sync a calendar containing existing tasks
  3. Several errors regaring "Cannot set timezone for UTC properties" occur

Expected behaviour

The calendar / tasks should sync without issues.

Actual behaviour

Several tasks are not synced correctly, a quick search seems to find more similarly reported issues elsewhere: https://forums.bitfire.at/topic/1730/task-sync-cannot-set-timezone-for-utc-properties

Server configuration

Operating system: openSUSE Tumbleweed

Web server: Apache

Database: MariaDB

PHP version: 7.2

Nextcloud version: 13.0.4

Updated from an older Nextcloud/ownCloud or fresh install: Updated since 11ish.

Where did you install Nextcloud from: openSUSE buildservice.

List of activated apps:
N.A. This only occurs within specific Calendar Events / Tasks. The server otherwise operates normally and NC logs do not show any useful information.

Nextcloud configuration:
N.A. This only occurs within specific Calendar Events / Tasks. The server otherwise operates normally and NC logs do not show any useful information.

Are you using external storage, if yes which one: No

Are you using encryption: No (full disk encryption on the volume, not through NC).

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

LDAP configuration (delete this part if not used)

N.A.

Client configuration

Browser: DavDroid

Operating system: Android 8.0.0

Logs

Web server error log

N.A. This only occurs within specific Calendar Events / Tasks. The server otherwise operates normally and NC logs do not show any useful information.

Nextcloud log (data/nextcloud.log)

N.A. This only occurs within specific Calendar Events / Tasks. The server otherwise operates normally and NC logs do not show any useful information.

Browser log

DavDroid provides a Java stacktrace, this however offers no insight into where the issue originates. The error message is: "Cannot set timezone for UTC properties"
There appears to be an incompatibility in the implementation of the CalDav spec in NC: https://icalendar.org/CalDAV-Access-RFC-4791/5-2-2-caldav-calendar-timezone-property.html

bug dav

Most helpful comment

The same issue appeared as I synced tasks some days ago. I was also pointed to the mentioned Task sync: Cannot set timezone for UTC properties issue report and was able to solve it by editing the relevant tasks.

I think it would be a good idea if the Nextcloud DAV import function would correct that kind of syntax errors if an application tries to send malformed data. At least a kind of house keeping task should be added to correct such kind of problems in the calendar database table,

For all users running into this problem too, here are the steps how I identified and fixed the problem:

  1. First download the given ics file which is mentioned on top of the DAVx5 error report.
  2. The subject of the task can be found behind the SUMMARY: tag.
  3. The date at which the task has been created cann be found behind the DTSTAMP: tag. It shows the ate in reverse order, e.g. 20110904T120454Z -> 04.09.2011
  4. Find the given task, edit, save or delete it to get the record fixed.

All 9 comments

GitMate.io thinks possibly related issues are https://github.com/nextcloud/server/issues/8766 (Caldav ), https://github.com/nextcloud/server/issues/9605 (CalDav Issue, Calendar and Tasks not working), https://github.com/nextcloud/server/issues/3534 (CalDav: Sync notifications), https://github.com/nextcloud/server/issues/9971 (caldav drops still active tasks), and https://github.com/nextcloud/server/issues/532 (Sync issues with BlackBerry Z30).

8766 does not provide enough information to establish a relationship.

9605 appears to be an internal server issue regarding a missing/unresolved class/object, rather than an input validation (or missing information) issue

3534 is completely unrelated.

9971 is completely unrelated.

532 is completely unrelated.

cc @georgehrke @rullzer for the DAV sync

this forum thread and this issue look pretty related

Manually looking up the todo item in the nextcloud database with the id from the url in the DavDroid debugging output in table oc_calendarobjects and then looking up the properties in oc_calendarobjects_props showed me the name of the faulty entry. Deleting the entry through my Calender client made the DavDroid error disappear.

I'm sorry but this is not solved for me :
https://forums.bitfire.at/topic/1730/task-sync-cannot-set-timezone-for-utc-properties/13
...
Can you help with at least a debug how to ?

Thanks a lot in advance ;)

The same issue appeared as I synced tasks some days ago. I was also pointed to the mentioned Task sync: Cannot set timezone for UTC properties issue report and was able to solve it by editing the relevant tasks.

I think it would be a good idea if the Nextcloud DAV import function would correct that kind of syntax errors if an application tries to send malformed data. At least a kind of house keeping task should be added to correct such kind of problems in the calendar database table,

For all users running into this problem too, here are the steps how I identified and fixed the problem:

  1. First download the given ics file which is mentioned on top of the DAVx5 error report.
  2. The subject of the task can be found behind the SUMMARY: tag.
  3. The date at which the task has been created cann be found behind the DTSTAMP: tag. It shows the ate in reverse order, e.g. 20110904T120454Z -> 04.09.2011
  4. Find the given task, edit, save or delete it to get the record fixed.

@j-ed's fix guide really helped me - thanks!

Was this page helpful?
0 / 5 - 0 ratings