Hi Davx5 team,
I added an event on my mobile phone calendar, which seemed to have worked well. The event was shown on the device, so I thought it was also synced to the server and invites were sent out.
The upload however must have failed, the event did not show up on the server. In the detailed log, I found the following exception created when trying to upload the event:
2019-04-10 10:21:54 134063 [syncadapter.SyncManager] HTTP/DAV exception EXCEPTION at.bitfire.dav4jvm.exception.HttpException: HTTP 400 Bad Request at at.bitfire.dav4jvm.DavResource.checkStatus(DavResource.kt:364) at at.bitfire.dav4jvm.DavResource.checkStatus(DavResource.kt:338) at at.bitfire.dav4jvm.DavResource.put(DavResource.kt:244) at at.bitfire.davdroid.syncadapter.SyncManager$uploadDirty$1$1.invoke(SyncManager.kt:326) at at.bitfire.davdroid.syncadapter.SyncManager$uploadDirty$1$1.invoke(SyncManager.kt:53) at at.bitfire.davdroid.syncadapter.SyncManager.useRemote(SyncManager.kt:809) at at.bitfire.davdroid.syncadapter.SyncManager$uploadDirty$1.invoke(SyncManager.kt:313) at at.bitfire.davdroid.syncadapter.SyncManager$uploadDirty$1.invoke(SyncManager.kt:53) at at.bitfire.davdroid.syncadapter.SyncManager.useLocal(SyncManager.kt:795) at at.bitfire.davdroid.syncadapter.SyncManager.uploadDirty(SyncManager.kt:304) at at.bitfire.davdroid.syncadapter.SyncManager$performSync$1.invoke(SyncManager.kt:126) at at.bitfire.davdroid.syncadapter.SyncManager$performSync$1.invoke(SyncManager.kt:53) at at.bitfire.davdroid.syncadapter.SyncManager.unwrapExceptions(SyncManager.kt:835) at at.bitfire.davdroid.syncadapter.SyncManager.performSync(SyncManager.kt:112) at at.bitfire.davdroid.syncadapter.CalendarsSyncAdapterService$CalendarsSyncAdapter.sync(CalendarsSyncAdapterService.kt:55) at at.bitfire.davdroid.syncadapter.SyncAdapterService$SyncAdapter.onPerformSync(SyncAdapterService.kt:73) at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:272)
I was not aware of the upload failure until I got access to another device, where the event was not shown. If I had seen a notification telling me that something went wrong for an event when trying to upload it (just as it is shown for https://forums.bitfire.at/topic/2021/exception-at-bitfire-ical4android-invalidcalendarexception-couldn-t-parse-icalendar-object for example), I would have realised earlier that the creation failed.
Even worse: All events created in the same calender after the previously mentioned won’t get synced, either.
I deleted the event, so I am unfortunately not able to recreate this issue. My main proposal is however to output all kinds of exceptions if possible, or at least make it an option, so that people get aware of problems.
Cheers and thanks for the great work,