You can compile DAVDroid manually to accept ‘~’ !
Please be aware that then other things may break. For instance, multi-responses to PROPFIND maybe won’t be parsed correctly, resulting in unexpected behaviour.
Thanks for your report. Please read Reporting issues and provide all information mentioned there, including detailled steps to reproduce the issue and verbose logs. The screenshot alone gives an idea about the problem, but doesn’t help in reproducing, and without being able to reproduce the issue I can’t do anything.
I cannot spot anything illegal in the above url, have I missed something obvious?
I will try to get a real log tomorrow evening.
What is the 42-th character in the URI? I guess there’s some invalid special char (space or something like that). I also recommend to delete and add the account again.
I’ve got the same issue:
$ adb logcat | egrep ‘^(E/)|(./davdroid)|(./HttpClient)|(./Wire)’
I/davdroid.DavSyncAdapter(17167): Performing sync for authority com.android.contacts D/davdroid.DavSyncAdapter(17167): Creating new DavHttpClient I/davdroid.DavHttpClient(17167): Wire logging active, disabling HTTP compression D/davdroid.DavSyncAdapter(17167): Server supports VCard version 3.0 V/davdroid.URIUtils(17167): Normalized URL https://xxx D/davdroid.WebDavResource(17167): Using preemptive authentication (not compatible with Digest auth) I/davdroid.SyncManager(17167): Remotely removing 1 deleted resource(s) (if not changed) E/davdroid.DavSyncAdapter(17167): Invalid URI (file name) syntax E/davdroid.DavSyncAdapter(17167): java.net.URISyntaxException: Illegal character in scheme at index 0: 71231c52-156b-425a-a7c0-9b95636541e0:126326.vcf E/davdroid.DavSyncAdapter(17167): at java.net.URI.validateScheme(URI.java:419) E/davdroid.DavSyncAdapter(17167): at java.net.URI.parseURI(URI.java:363) E/davdroid.DavSyncAdapter(17167): at java.net.URI.<init>(URI.java:334) E/davdroid.DavSyncAdapter(17167): at at.bitfire.davdroid.URIUtils.parseURI(URIUtils.java:79) E/davdroid.DavSyncAdapter(17167): at at.bitfire.davdroid.webdav.WebDavResource.<init>(WebDavResource.java:146) E/davdroid.DavSyncAdapter(17167): at at.bitfire.davdroid.webdav.WebDavResource.<init>(WebDavResource.java:150) E/davdroid.DavSyncAdapter(17167): at at.bitfire.davdroid.resource.RemoteCollection.delete(RemoteCollection.java:164) E/davdroid.DavSyncAdapter(17167): at at.bitfire.davdroid.syncadapter.SyncManager.pushDeleted(SyncManager.java:115) E/davdroid.DavSyncAdapter(17167): at at.bitfire.davdroid.syncadapter.SyncManager.synchronize(SyncManager.java:48) E/davdroid.DavSyncAdapter(17167): at at.bitfire.davdroid.syncadapter.DavSyncAdapter.onPerformSync(DavSyncAdapter.java:142) E/davdroid.DavSyncAdapter(17167): at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259) I/davdroid.DavSyncAdapter(17167): Sync complete for com.android.contacts D/davdroid.DavSyncAdapter(17167): Closing httpClient D/HttpClient(17167): Connection manager is shutting down D/HttpClient(17167): Connection manager shut down
I’m new to Android, if I delete the accound, the related SMS will be deleted with the contacts?
if I delete the accound, the related SMS will be deleted with the contacts?
@rfc2822 Thanks. This solved the sync failure.
Still haven’t gotten the debug log from davdroid. But here is the offending VCALENDAR entry. It has been created by thunderbird lightning and the server is a baikal 0.27 server. The entry is not new or modified, neither is the server. But I now notice that the entry is not in my Android’s calendar, so it seems it never had managed to sync that entry, and only the 0.6.10 notification brought it to daylight.
Let me post a debug log tonight.
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN VERSION:2.0 BEGIN:VEVENT CREATED:20140525T062110Z LAST-MODIFIED:20131127T084005Z DTSTAMP:20131127T084005Z UID:UID:54a16ce0-c3c9-42cb-854f-18f399cdc34b\n SUMMARY:*Alexandra XXXXX STATUS:TENTATIVE ORGANIZER;SENT-BY="mailto:Sebastian@SSpaeth.de":mailto:spaetz@sebastianspa eth.de RRULE:FREQ=YEARLY CATEGORIES:Birthdays DTSTART;VALUE=DATE:1967XXXX DTEND;VALUE=DATE:1967XXXX X-RADICALE-NAME:54a16ce0-c3c9-42cb-854f-18f399cdc34b.ics SEQUENCE:2 X-MOZ-GENERATION:2 END:VEVENT END:VCALENDAR |UID:54a16ce0-c3c9-42cb-854f-18f399cdc34b .ics|2|1401001283|cac45dca391b0c8ef3a7484771a721e3|599|VEVENT|-85708800|21459132 00```
Sanitizing the entry to remove the double UID: part from the entry make synchronization work:
So somehow the “:” has probably slipped into the URI which - of course - would make it illegal. Now the question is why has thunderbird lightning created such an entry in the first place? I even had a second entry which had: UID:UID:UID:UID:abcdef-… but out of my 600 entries only these two were faulty. So sorry for bothering you. And thumbs up to displaying the notificiations of errors!
So somehow the “:” has probably slipped into the URI which - of course - would make it illegal.
Actually, ":"s are legal in URL path names, which has already caused many problems because servers actively use it. DAVdroid should be able to handle it correctly. But maybe it would have to be encoded in the .ics or something like that.
However, I’m glad that it works for you and that the problem is now gone.