Skip to content

Handle dissociation in distant time zones

The Month and Agenda views display incidences on dates in the local time zone; an event on the 22nd at 06:00 Asia/Tokyo time is displayed on the 21st if the local time zone is UTC or further west.

CalendarView::dissociateOccurrences() used the local date to calculate recurrence IDs for recurring incidences, without considering time zones.

Example event:

  • start 2022-09-22 06:00 Asia/Tokyo
  • end 2022-09-22 07:00 Asia/Tokyo
  • repeat daily, 3 times.
  • dissociate the first occurrence.

The dissociated event has "RECURRENCE-ID;TZID=Asia/Tokyo:20220921T060000" which is invalid.

Merge request reports