ical/ics files generated by Civi are not compatible with Outlook during Daylight Savings
Overview
Since the inclusion of timezone in the ical/ics files that CiviCRM produces RFC5545 timezone is technically correct but Outlook doesn't interpret them properly
Reproduction steps
- during daylight savings (until Nov 7 in this year, 2021) create an event
- download the ics/ical file from the event 'info' page
- open that ics/ical file in Outlook
- notice that it is one hour forward (later) than should be
Commentary
Hi guys, I wanted to make you aware of a new twist on this issue since timezones were added to the Civi-generated ical/ics files. Good news and bad, but wanted to share my research.
Good news: timezones are good, and as you know ical/ics from Civi didn't have them until 5.37.
Bad news: timezone glitches in Outlook.
The standards are meticulous but illustrate the format here: https://icalendar.org/iCalendar-RFC-5545/3-8-3-1-time-zone-identifier.html and the TZ zones can be clearly seen here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
How does this relate to Outlook, might you ask? Good question. Well I scoured the internet and people unrelated to CiviCRM have reported issues with timezone discrepancies in Outlook....
- As far back as 2016: https://theeventscalendar.com/support/forums/topic/ical-timezone-issue-with-microsoft-outlook
- And as recently as 2019: https://answers.microsoft.com/en-us/msoffice/forum/all/outlook-cant-read-timezone-in-ics-file-a-slew-of/495cadf9-4630-48b5-99ce-88d94980f289
... what these tend to have in common is that the discrepancies happen during Daylight Savings, which we are in right now, and which ends Nov 7. And they all have to do with ical/ics files that use a format of "America/New_York" whereas Outlook uses a different naming convention.
But how does this relate to CiviCRM? An even better question. Prior to version CiviCRM 5.37 which was released in June, CiviCRM ical/ics files had NO timezone at all, here: #19762 I never knew this. Lack of timezone caused problems of its own, but with most folks who are in the same timezone it doesn't matter.
When I made a mandatory security update to 5.38 CiviCRM a few months ago, the problems surfaced for a large nonprofit organization that uses primarily Outlook. That is because although CiviCRM now creates its ical/ics file to the RFC5545 standard, Outlook does not (attached). And now that CiviCRM is putting in timezones, we notice the issue for the first time...but only in Outlook. In one of the above posts it clearly states that Outlook misinterprets America/New_York in Daylight Savings.
So all that to say this is where we stand, between a rock and a hard place, metaphorically but perhaps even literally getting Microsoft to change their software might be like moving a mountain. And CiviCRM, well-meaning though we may be, may not want to accommodate a change to Civi that doesn't meet standards.
Solution ?
There might be an exception or compromise in this mess, but it will more likely be on the CiviCRM side. Originally detected by agilware on this repo: https://github.com/civicrm/civicrm-core/pull/19762