Timezone information lost when editing an imported UTC event .ics with "Z" formatted timezone
To reproduce
- Import this event (simplified version of something that was created by an online events platform): invite-458707509-simple.ics
- Notice that GNOME Calendar (like Evolution) displays the imported event at the correct time in its views
- Edit the event in GNOME Calendar, to change anything (ex: change the title or description, without even touching times)
Results
When edited with GNOME Calendar, the timezone information is lost and not converted to local time, so the UTC times (where the "Z" at the ends indicates UTC):
DTSTART:20230602T160000Z
DTEND:20230602T190000Z
...become local the local time, so the event gets shifted to 16:00-19:00 instead of remaining what it should be (in my case, 12:00-15:00).
Additional information
Tested on version 44.x / git.
Potentially related, but those were talking about the issue directly on import, whereas I am seeing the issue upon editing the event: #376 (closed), #790 (closed) and #604 (that one in particular has some good preliminary investigation done with the RFC 2445 spec.
Evolution is not affected, it is able to successfully edit the event while preserving the correct times.
GNOME Calendar's UI doesn't yet support timezones (that would be issue #2), but even if it doesn't have a UI for it, the timezones should probably be transparently respected anyway.