Timezones are not processed correctly at import of ICS file
Checklist
- [x] I can reproduce the bug with the latest version given here.
- [x] I made sure that there are no existing issues - open or closed - to which I could contribute my information.
- [x] I made sure that there are no existing discussions - open or closed - to which I could contribute my information.
- [x] I have read the FAQs inside the app (Menu -> About -> FAQs) and my problem isn't listed.
- [x] I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
- [x] This issue contains only one bug.
- [x] I have read and understood the contribution guidelines.
Affected app version
1.2.0
Affected Android/Custom ROM version
Android 15 (Xiaomi 2.0.4.0.VNTEUXM)
Affected device model
Redmi13
How did you install the app?
F-Droid / IzzyOnDroid
Which calendar service or provider do you use, if any?
No response
Which sync adapter app do you use for calendar synchronization, if any?
No response
Steps to reproduce the bug
I missed a ms teams conference with my professor regarding my PhD because Calender does not honor time zones correctly. To reproduce open the file msteamsinvite.ics (remove txt for acceptance) with calendar. Note the start time of the meeting is 11h and not 10h as it should be if you have central european summer time. Note the meeting invite uses israeli standard time ;-) Neglect to detail on both sides caused the meeting to fail.
A user would expect calendar at least to produce a pop-up warning about different time zone in the ICS file and the time zone set for the android device.
The critical part in the ICS is here: " BEGIN:VTIMEZONE TZID:Israel Standard Time BEGIN:STANDARD DTSTART:16010101T020000 TZOFFSETFROM:+0300 TZOFFSETTO:+0200 RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10 END:STANDARD BEGIN:DAYLIGHT DTSTART:16010101T020000 TZOFFSETFROM:+0200 TZOFFSETTO:+0300 RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1FR;BYMONTH=3 END:DAYLIGHT END:VTIMEZONE " We have daylight saving in europe and israel and also we have israeli time zone vs european time zone.
This should be fixed to prevent people missing their important meetings. Best would be to implement proper parsing of ICS VTIMEZONE and time zone handling using a proper library for time zones.
Expected behavior
The user imports the ICS file and the timezone is properly parsed and the date is correctly calculated including time and timezone so the meeting is scheduled at the right time regardless which time zone the sender and producer oi ICS uses and the time zone the user of calendar uses.
Actual behavior
The user imports the ICS file and the timezone is NOT properly parsed and the date is NOT correctly calculated including time and timezone so the meeting is scheduled at the WRONG time when the time zone of the sender and producer oi ICS is DIFFERENT from the time zone the user of calendar uses.
This leads to missed meetings!
Screenshots/Screen recordings
No response
Additional information
No response
another one.. timezone on the phone and in the ICS are the same, still it should have been starting 2025-04-22T12:30:00+0200 but it was 2025-04-22T14:30+0200 as if the 2 hours UTC offset was simply added.
BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN
VERSION:2.0
METHOD:PUBLISH
X-WR-TIMEZONE:Europe/Berlin
BEGIN:VTIMEZONE
TZID:Europe/Berlin
X-LIC-LOCATION:Europe/Berlin
BEGIN:DAYLIGHT
DTSTART:19700329T020000
RRULE:BYMONTH=3;FREQ=YEARLY;BYDAY=-1SU
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:19701025T030000
RRULE:BYMONTH=10;FREQ=YEARLY;BYDAY=-1SU
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
ORGANIZER:MAILTO:[email protected]
DTSTART:20250422T123000
DTEND:20250422T131500
TRANSP:OPAQUE
SEQUENCE:0
UID:[email protected]
DTSTAMP:20250415T173253
DESCRIPTION:Gewünschte Dienstleistungen:\n- HERRENHAARSCHNITT\n\nMita
rbeiter: Susanne (Profi)\n\nDas Someone Somewhere hairdesign Salon
-Team freut sich auf Ihren Besuch!\n\n
SUMMARY:Someone Somewhere hairdesign Salon
PRIORITY:5
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR
Same issue here on 1.2.0 FDroid on graphene os.
My train connection was shown as 2 hours later due to bad timezone interpretation. The time is interpreted as UTC as given but not corrected for the timezone.
I'm also experiencing this issue. Would be good to address timezones.
I experienced a similar bug on version 1.6.2. I almost missed an important job interview because of this. Luckily one of the interviewers sent me an email asking me were I was. This bug can cause some real damage.