So I’ll close it here. Will reopen if there’s an error on DAVdroid’s side.
Events from shared calendars not syncing
-
I have set up a shared calendar on my ownCloud (7.0.3) and added this calendar on two phones. The calendar belongs to user A. When user B sets up an event, this event is not shown on the phone of user A.
Another scenario is when user B shared his private calendar with user A. Any new entries in the calendar of user B are not shown on the phone of user A.
I’m using DavDroid 0.6.9.2 from th PlayStore. On one phone (Nexus 5) I’m running Android 4.4.4 (CM11-20141224-nightly). On the other one (Z1 compact) is running Android 4.4.4 (stock Sony rom).
On the web or in Thunderbird everything shows up as it should, so I can only assume that this is a issue of DavDroid. I’m also quite sure that with 0.6.8 everything was fine.
If you need a log, just let me know. -
Please always provide logs. Without logs, I can’t do anything. But I have discovered another error that may be related to that, so you may wait until 0.6.9.3 before.
-
I get a lot of these errors in the log:
01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): Ignoring unparseable entity in multi-response 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at.bitfire.davdroid.resource.InvalidResourceException: net.fortuna.ical4j.data.ParserException: Error at line 20:Illegal property [ Y. REMOVING ENTIRE PROPERTY] 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at at.bitfire.davdroid.resource.Event.parseEntity(Event.java:135) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at at.bitfire.davdroid.resource.RemoteCollection.multiGet(RemoteCollection.java:104) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at at.bitfire.davdroid.syncadapter.SyncManager.pullNew(SyncManager.java:193) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at at.bitfire.davdroid.syncadapter.SyncManager.synchronize(SyncManager.java:90) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at at.bitfire.davdroid.syncadapter.DavSyncAdapter.onPerformSync(DavSyncAdapter.java:130) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): Caused by: net.fortuna.ical4j.data.ParserException: Error at line 20:Illegal property [ Y. REMOVING ENTIRE PROPERTY] 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at net.fortuna.ical4j.data.CalendarParserImpl.parse(CalendarParserImpl.java:148) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:210) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:191) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at net.fortuna.ical4j.data.CalendarBuilder.build(CalendarBuilder.java:179) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at at.bitfire.davdroid.resource.Event.parseEntity(Event.java:130) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): ... 5 more 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): Caused by: java.lang.IllegalArgumentException: Illegal property [ Y. REMOVING ENTIRE PROPERTY] 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at net.fortuna.ical4j.model.PropertyFactoryImpl.createProperty(PropertyFactoryImpl.java:978) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at net.fortuna.ical4j.data.CalendarBuilder$ContentHandlerImpl.startProperty(CalendarBuilder.java:346) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at net.fortuna.ical4j.data.CalendarParserImpl$PropertyParser.parse(CalendarParserImpl.java:211) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at net.fortuna.ical4j.data.CalendarParserImpl$PropertyParser.access$1(CalendarParserImpl.java:200) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at net.fortuna.ical4j.data.CalendarParserImpl$PropertyListParser.parse(CalendarParserImpl.java:178) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at net.fortuna.ical4j.data.CalendarParserImpl$ComponentParser.parse(CalendarParserImpl.java:390) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at net.fortuna.ical4j.data.CalendarParserImpl$ComponentParser.access$1(CalendarParserImpl.java:376) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at net.fortuna.ical4j.data.CalendarParserImpl$PropertyListParser.parse(CalendarParserImpl.java:175) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): at net.fortuna.ical4j.data.CalendarParserImpl.parse(CalendarParserImpl.java:125) 01-01 20:16:26.119: E/davdroid.RemoteCollection(1769): ... 9 more```
-
As the logs indiciate, your .ics contain invalid properties ("[ Y"). Please check your ics files. If you enable verbose logs as explained in https://github.com/bitfireAT/davdroid/wiki/How-to-view-the-logs (note the
setprop
commands), you’ll see which events are affected. -
I have a lot of events where I have a whole email (the body as plain text) as a note. So for all these events I get the error.
The main issue is with the events I export from Outlook and import them to ownCloud:BEGIN:VEVENT CREATED:20141212T091135Z LAST-MODIFIED:20141215T191651Z DTSTAMP:20141215T191651Z UID:040000008200E00074C5B7101A82E00800000000C0617901F415D001000000000000000 010000000F907248BF6964F41B8A3A619EB790DCE SUMMARY:Advanced Seminar on SSIS Templates und Framework: A quantum mechani cal approach PRIORITY:5 ORGANIZER;CN=Someone:mailto:Someone@somecompany.de ATTENDEE;RSVP=TRUE;CN=alwin148;PARTSTAT=ACCEPTED;X-MS-OLK-RESPTIME=201 41212T091200Z:mailto:alwin148@somecompany.de X-MOZ-LASTACK:20141215T191651Z DTSTART;TZID=W. Europe Standard Time:20141215T100000 DTEND;TZID=Europe/Berlin:20141215T113000 CLASS:PUBLIC DESCRIPTION:\n LOCATION:OG1-R183 SEQUENCE:0 TRANSP:OPAQUE X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//E N">\n<HTML>\n<HEAD>\n<META NAME="Generator" CONTENT="MS Exchange Server ve rsion 14.02.5004.000">\n<TITLE></TITLE>\n</HEAD>\n<BODY>\n<!-- Converted f rom text/rtf format -->\n\n<P DIR=LTR><SPAN LANG="de"></SPAN><SPAN LANG="d e"></SPAN></P>\n\n</BODY>\n</HTML> X-MICROSOFT-CDO-BUSYSTATUS:BUSY X-MICROSOFT-CDO-IMPORTANCE:1 X-MICROSOFT-DISALLOW-COUNTER:FALSE X-MS-OLK-CONFTYPE:0 X-MOZ-GENERATION:1 BEGIN:VALARM ACTION:DISPLAY TRIGGER;VALUE=DURATION:-PT15M DESCRIPTION:Reminder END:VALARM END:VEVENT END:VCALENDAR
-
Can you maybe have a look at the error log and tell me which ics file generates the error?
https://gist.github.com/alwin148/ed4661f4b4ec699bcb10 -
So… I found one of the events generating the error. It was an email converted to an event from Thunderbird. So how can we handle this? I got a lot more of this events.
BEGIN:VCALENDAR VERSION:2.0 PRODID:ownCloud Calendar 0.6.4 BEGIN:VEVENT DTSTART:20140906T130000Z DTEND;VALUE=DATE-TIME:20140906T180000Z DTSTAMP:20141210T213459Z UID:9a64189e-489f-4b80-b060-c384c74734a6 CREATED:20140820T210641Z DESCRIPTION:werte Festgemeinde\,\nnachdem ich öfter gehört habe\, dass da s Wochenende vor dem geplanten \nTermin zu höherer Teilnehmerzahl führen würde\, wollte ich mal fragen\, ob \ndas auch ginge - ich habe sogar an beiden keine Bereitschaft! :-)\n\nAlso die Frage: passt euch der Samstag\, X. September auch?\n\nGruß\,\nAndi\n\n\n\nAm 09.08.2014 22:33\, schrieb Jemand:\n> Werte Damen und Herren\,\n> der Ein oder Andere mag si ch vielleicht erinnern\, dass mein 30. \n> Geburtstag mehr oder weniger ge räuschlos vorüber gezogen ist\, was \n> unter anderem auch an den zur Ve rfügung stehenden Örtlichkeiten lag.\n>\n> Nachdem diesem Umstand nun Ab hilfe geschaffen ist\, möchte ich euch \n> einladen\, meinen 30+2. Geburt stag mit mir zu feiern! Damit Alle a \n> bissl bleiben können\, fangen wi r um 3 mit Kuchen an und würden dann ab \n> 6 mit dem Grillen loslegen... \n>\n> Wann1 : Samstag\, X. September\n> Wann2: Kinder & Kuchen ab 1 5 Uhr\, Fleisch ab 18 Uhr\n> Wo: Bla-bla-Straße 18 \, Irgendwo\n>\n> Bitte gebt kurz Bescheid\, ob ihr kommen könnt!\n> Wir freuen uns auf euch!\n>\n> Grüße\,\n> Ich\n>\n>\n> LAST-MODIFIED:20140907T204157Z LOCATION:Bla-bla-Straße 18\, Irgendwo SEQUENCE:0 STATUS:CONFIRMED SUMMARY:30. Geburtstag Jemand Besonders TRANSP:OPAQUE X-MOZ-LASTACK:20140907T204156Z X-MOZ-GENERATION:1 END:VEVENT END:VCALENDAR
-
It looks like if the “DESCRIPTION” contains more then 62 characters, this causes the parser to fail. Can you please confirm/check this?
Edit: This applies also to the “SUMMARY”. -
Found another one generated by Thunderbird:
BEGIN:VCALENDAR VERSION:2.0 PRODID:ownCloud Calendar 0.6.4 BEGIN:VEVENT DTSTART:20140916T150000Z DTEND;VALUE=DATE-TIME:20140916T160000Z DTSTAMP:20141210T213459Z UID:npck6suj64k4groobpgv4m0hkk@google.com CREATED:20140408T164635Z DESCRIPTION: LAST-MODIFIED:20140917T202755Z LOCATION:Home SEQUENCE:0 STATUS:CONFIRMED SUMMARY:Irgendein Termin TRANSP:OPAQUE X-MOZ-LASTACK:20140917T202800Z X-LIC-ERROR;X-LIC-ERRORTYPE=VALUE-PARSE-ERROR:No value for DESCRIPTION prop erty. Removing entire property: X-MOZ-GENERATION:1 END:VEVENT END:VCALENDAR
-
-
According to RFC 2445, folding (splitting long lines) is done with
<CR><LF><single linear whitespace character>
(section 4.1). It seems that your content files don’t contain the <LF> character, in which case ical4j (in strict mode) doesn’t recognize multi-line content (which is correct) and reports a parsing error (also correct). -
However, until now, the ical4j option “relaxed unfolding” was set in a configuration file. It seems like this way of configuration doesn’t work with gradle anymore. So, since 0.6.9, ical4j was operating in strict mode.
Can you please verify that the ics files don’t contain <LF> in the multi-line breaks?
-
-
DAVdroid 0.6.10.1 has relaxed parsing again, so it should work again. However, I strongly recommend to fix your iCal files because they are incorrect (in case it’s really the <LF> problem).
-
Well… For me it looks like the ics is correct. Attached a screenshot of one event in notepad++.
The line ends with<CR><LF>
and the new line starts with a space. -
Please try with DAVdroid 0.6.10.1. If it doesn’t work, please post a binary version of a non-working iCalendar so that I can reproduce the issue.
-
What is a binary version? Is it just an exported ics file?
-
Yes, but as attachment so that I can see whether there’s CRLF or only CR.
icalj4 also has an Outlook compatilibity switch which was disabled in DAVdroid >= 0.6.9 and <= 0.6.10, so for Outlook-generated files, there might be some issues that will be ignored now again. Also, relaxed parsing has been re-enabled.
Could you already test with 0.6.10.1?
-
Just testet 0.6.10.1. Folding is working again.
My events that were missing (in 0.6.10) are syncing correctly now.Thanks @rfc2822
-
Works also for me now.
Anyway, here you can find one ICS: https://www.hidrive.strato.com/lnk/RdS52Ow0Thanks for your support.
-
Ok, good that it now works, so I’ll close this.