I might have found an issue with iCloud syncing in the DAVx5 application.
The initial sync seems to be working, but after that, when a contact is changed in iCloud, it’s not synced back to the application.
I can see the following request in the logs after a change:
and it returns
500 Internal Server Error
It looks like iCloud doesn’t support the GET method in this case. If I manually send the same request using the REPORT verb, I get back the requested data:
<?xml version="1.0" encoding="UTF-8"?>
<multistatus xmlns="DAV:" xmlns:CD="urn:ietf:params:xml:ns:carddav" xmlns:CS="http://calendarserver.org/ns/">
<status>HTTP/1.1 200 OK</status>
Also, this sync is only tried once, the next sync uses the new ETag / sync-token and the issue doesn’t appear anymore (even though the contact wasn’t synced properly).
Let me know if you need more information!