Events with TZID in start/end time show at wrong time



  • I have encountered a bug concerning events that specify a TZID in their DTSTART or DTEND. According to the iCalender specification, this should be valid, and it is also working correctly when I subscribe to the ICS file through Google Calendar instead of ICSDroid, so I'm thinking the problem lies with ICSDroid.

    I am linking two ICS files each containing one event, one that shows the event at the correct date and time, and one that doesn't. The only difference between the two files is this:

    DTEND;TZID=Europe/Berlin;VALUE=DATE-TIME:20180723T114500
    DTSTART;TZID=Europe/Berlin;VALUE=DATE-TIME:20180723T081500
    

    vs.

    DTEND;VALUE=DATE-TIME:20180723T114500
    DTSTART;VALUE=DATE-TIME:20180723T081500
    

    See also: the screenshot below. One event is showing at the correct time, and the other is showing the day before at 11pm. The "11pm the day before" pattern seems to be constant for all events with a TZID in their DTSTART or DTEND, no matter what their actual start or end time should be.

    Broken ICS file

    Working ICS file

    0_1532025747159_calendar_screenshot.png

    I'd be grateful if you could check this out. Thanks!


  • developer

    Hello,

    Probably this one: https://github.com/ical4j/ical4j/issues/230

    I wonder whether it works with a VTIMEZONE with both STANDARD and DAYLIGHT components... unfortunately, this would require debugging ical4j/2.x and 3.x has just been released (which is not useable with Android <7).