When querying resource properties with PROPFIND, iCloud returns the same property (in this example: <resourcetype/>) one time as 200 OK and one time as 404 Not Found. This doesn’t make any sense and causes clients to ignore the property and thus to fail.
If you upload a contact group (X-ADDRESSBOOKSERVER-KIND: group), iCloud insists that the VCard must have a FN and a N (as specified in VCard 3).
iCloud seems to take the group name from the structured name (N) instead of the formatted name (FN). Additionally, it doesn’t only take the first component of the structured name, but the whole line as a string (which should not happen).
N represents the structured name and these representations mean the same:
When a group with the first version, iCloud will display “Family Name,” as group name.
Steps to Reproduce:
Upload (PUT) a contact group with these properties:
iCloud will show a group “Family Name,”
iCloud should show a group “Family Name” (by FN, not N).
iCloud on 8 Jun 2016
This problem was found while developing DAVdroid.
REPORT calender-query can be used with time-range to filter results by time. This is also applicable to VTODO collections (task lists). To determine whether a VTODO is within the requested time, the algorithm from page 92 [http://tools.ietf.org/html/rfc4791#page-92] must be used. According to this algorithm, VTODOs which do not have any of DTSTART, DURATION, DUE, COMPLETED and CREATED, the overlapping value is always TRUE, meaning that those tasks should always be returned regardless of which time range is requested.
iCloud (16 Mar 2016) currently does NOT return VTODOs which do not have any of DTSTART, DURATION, DUE, COMPLETED and CREATED.
Steps to Reproduce:
Create a new task list (MKCOL)
Add a new task without DTSTART, DURATION, DUE, COMPLETED and CREATED.
Do REPORT calendar-query with time-range start="<some time>".
All tasks without DTSTART, DURATION, DUE, COMPLETED and CREATED should be returned.
Tasks without DTSTART, DURATION, DUE, COMPLETED and CREATED are not returned.
not parse the response as XML, so
that valid-sync-token is not recognized as the reason why the request has failed, so
DAVdroid does NOT retry without sync token, but aborts with an error message.
So the sync has failed with an error message.
Probably pressing synchronize button several times could be a clue to reproduct the issue?! If so I’say just prevent clicking while synchronizing and show a Status information.
No, synchronization is managed by Android’s ContentResolver. DAVdroid only requests the sync, and regardless of how often it is requested, it will not be run simultaneously for the same account/content authority.