Skip to content

Timezones are not processed correctly at import of ICS file #535

Description

@openfnord

Checklist

  • I can reproduce the bug with the latest version given here.
  • I made sure that there are no existing issues - open or closed - to which I could contribute my information.
  • I made sure that there are no existing discussions - open or closed - to which I could contribute my information.
  • I have read the FAQs inside the app (Menu -> About -> FAQs) and my problem isn't listed.
  • I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise.
  • This issue contains only one bug.
  • 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.

msteamsinvite.ics.txt

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.

msteamsinvite.ics.txt

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!

msteamsinvite.ics.txt

Screenshots/Screen recordings

No response

Additional information

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is not working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions