Bug related to parsing time or timezone of events created with Thunderbird Lightning
hidde last edited by rfc2822
I have recently installed Android 9, LineageOS 16.0 and I seem unable to correctly display calendar events. Specifically: events created with Thunderbird Lightning are displayed at a wrong time.
To demonstrate the issue I have created two events at identical times (1400h to 1500h on March 5, 2019. Timezone: Dublin, Ireland). One of the events is created using the webinterface of my email provider Posteo.de. The other event is created using the same account but via the Thunderbird Lightning interface. In both Thunderbird and the Webclient the events appear correctly. On the phone using DAVx5 all event from Thunderbird are incorrectly displayed. It seems like DAVx5 is unable to parse the time of the event created in Thunderbird. Every event that is scheduled for today is displayed as an event for 22h yesterday, regardless of the event time.
There is no error message showing up during the synchronization. The only sign is wrongly displayed events when the events are created using Thunderbird alongside correctly displaying events from the phone and webclient.
- Events created on the phone are displaying correctly on every other client
- All devices are set at the same timezone (Dublin, Ireland. UTC0000)
- All devices and programs are updated to the latest available versions
Possible related message in the log:
Error loading custom timezone aliases: Attempt to invoke virtual method ‘int java.io.Reader.read(char)’ on a null object reference
Please find the DAVx5 verbose sync log of two events here: https://paste.fedoraproject.org/paste/T7HEjmSm~lmPGnroL2cWxQ. There is a clear difference in timezone formatting of both events.
j-ed last edited by
To not spend time on issues which might have already been fixed in Lightning, I would first recommend that you update it to the latest v126.96.36.199, the v188.8.131.52 is a little bit outdated.
hidde last edited by
Thanks for the quick reply. I think I looked at the wrong place. Lightning version 6.2.5 is actually installed. Just double checked and replicated the issue as described above again with identical results.
If necessary I can provide the full log by email or run other tests.
- Posteo sends only UTC timestamps:
So there’s no time zone information in that.
- Your Lightning event contains a wrong
BEGIN:VTIMEZONE TZID:Europe/Dublin BEGIN:STANDARD TZOFFSETFROM:+0100 TZOFFSETTO:+0000 TZNAME:IST DTSTART:19700329T010000 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3 END:STANDARD BEGIN:DAYLIGHT TZOFFSETFROM:+0000 TZOFFSETTO:+0100 TZNAME:GMT DTSTART:19701025T020000 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 END:DAYLIGHT END:VTIMEZONE
It says that IST (standard time) switches from an offset of +0100 to +0000, and GMT (daylight time) switches from +0000 to +0100. So GMT would have an offset of 0100 to itself (because offsets are given relative to GMT), which is clearly wrong.
In the Thunderbird definition, standard time starts on the last sunday before March and summer time just before October. This is wrong, too.
According to https://github.com/ical4j/ical4j/blob/cd29ee1884dac701eeb1680582d5718b7f0f6258/src/main/resources/zoneinfo/Europe/Dublin.ics, it’s just the other direction:
... BEGIN:DAYLIGHT TZOFFSETFROM:+0000 TZOFFSETTO:+0100 TZNAME:IST DTSTART:19810329T010000 RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU END:DAYLIGHT BEGIN:STANDARD TZOFFSETFROM:+0100 TZOFFSETTO:+0000 TZNAME:GMT DTSTART:19961027T020000 RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU END:STANDARD
Standard time is GMT (+0000), which is switched to +0100 for daylight saving.
When I edit the event to the correct time zone definition, everything works as expected:
BEGIN:VCALENDAR PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN VERSION:2.0 BEGIN:VTIMEZONE TZID:Europe/Dublin BEGIN:STANDARD TZOFFSETFROM:+0100 TZOFFSETTO:+0000 TZNAME:GMT DTSTART:19700329T010000 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10 END:STANDARD BEGIN:DAYLIGHT TZOFFSETFROM:+0000 TZOFFSETTO:+0100 TZNAME:IST DTSTART:19701025T020000 RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3 END:DAYLIGHT END:VTIMEZONE BEGIN:VEVENT CREATED:20190304T150041Z LAST-MODIFIED:20190304T150048Z DTSTAMP:20190304T150048Z UID:testThunderbird SUMMARY:test w/ correct vtimezone DTSTART;TZID=Europe/Dublin:20190305T140000 DTEND;TZID=Europe/Dublin:20190305T150000 TRANSP:OPAQUE X-MOZ-GENERATION:1 END:VEVENT END:VCALENDAR
So, this seems to be a problem of Thunderbird Lightning when creating the timezone definition.
Can you please report the bug to Thunderbird Lightning and post a link here for reference?
hidde last edited by
Thanks for investigating this. This indeed seems to be the problem. I just confirmed that everything works as expected if I switch the timezone to Europe/London. I have opened a ticket at the Thunderbird support forums.