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.


  • developer

    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```
    

  • developer

    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
    

  • developer

    1. 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).

    2. 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?


  • developer

    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.

    ics


  • developer

    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?


  • developer

    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/RdS52Ow0

    Thanks for your support.


  • developer

    Ok, good that it now works, so I'll close this.


Log in to reply
 

Looks like your connection to Bitfire App Forums was lost, please wait while we try to reconnect.