Calendar: Teams meeting may have invalid timezone information
Some calendar events appear to have invalid timezone information, causing issue in the Calendar view.
For these events Evolution simply shows /evolution/ews/tzid/SOME_UID
in the "Time zone" field and assumes UTC.
One interesting thing I noticed is that these events are all Teams meetings created by people using Outlook for macOS. Meetings created by Outlook for Windows appear to have valid information. Same for meetings created from Teams for Linux.
The following is one of such events. I obscured some parts with ****
, hopefully without removing relevant information. Everything else is taken as is.
W. Europe Standard Time
, as reported in EndTimeZone
, is the correct timezone for this event.
I tested version 3.40.0 that is on Flathub.
I cannot create these events myself nor I have detailed information about the software used, but I can ask for more info as needed.
<m:GetItemResponseMessage ResponseClass="Success">
<m:ResponseCode>NoError</m:ResponseCode>
<m:Items>
<t:CalendarItem>
<t:MimeContent CharacterSet="UTF-8">****</t:MimeContent>
<t:ItemId Id="****"/>
<t:Body BodyType="Text" IsTruncated="false">****</t:Body>
<t:HasAttachments>false</t:HasAttachments>
<t:UID>****</t:UID>
<t:Start>2021-04-13T09:15:00Z</t:Start>
<t:End>2021-04-13T09:30:00Z</t:End>
<t:IsMeeting>true</t:IsMeeting>
<t:IsResponseRequested>true</t:IsResponseRequested>
<t:MyResponseType>NoResponseReceived</t:MyResponseType>
<t:RequiredAttendees>
<t:Attendee>
<t:Mailbox>
<t:Name>****</t:Name>
<t:EmailAddress>****@****</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
<t:MailboxType>OneOff</t:MailboxType>
</t:Mailbox>
<t:ResponseType>Unknown</t:ResponseType>
</t:Attendee>
<t:Attendee>
<t:Mailbox>
<t:Name>****</t:Name>
<t:EmailAddress>****@****</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
<t:MailboxType>OneOff</t:MailboxType>
</t:Mailbox>
<t:ResponseType>Accept</t:ResponseType>
<t:LastResponseTime>0001-01-02T00:00:00Z</t:LastResponseTime>
</t:Attendee>
<t:Attendee>
<t:Mailbox>
<t:Name>****</t:Name>
<t:EmailAddress>****@****</t:EmailAddress>
<t:RoutingType>SMTP</t:RoutingType>
<t:MailboxType>Mailbox</t:MailboxType>
</t:Mailbox>
<t:ResponseType>NoResponseReceived</t:ResponseType>
</t:Attendee>
</t:RequiredAttendees>
<t:StartTimeZone Name="" Id="">
<t:Periods>
<t:Period Bias="-PT1H" Name="Standard" Id="trule:Microsoft/Registry//1-Standard"/>
<t:Period Bias="-PT2H" Name="Daylight" Id="trule:Microsoft/Registry//1-Daylight"/>
</t:Periods>
<t:TransitionsGroups>
<t:TransitionsGroup Id="0">
<t:RecurringDayTransition>
<t:To Kind="Period">trule:Microsoft/Registry//1-Daylight</t:To>
<t:TimeOffset>PT2H</t:TimeOffset>
<t:Month>3</t:Month>
<t:DayOfWeek>Sunday</t:DayOfWeek>
<t:Occurrence>-1</t:Occurrence>
</t:RecurringDayTransition>
<t:RecurringDayTransition>
<t:To Kind="Period">trule:Microsoft/Registry//1-Standard</t:To>
<t:TimeOffset>PT3H</t:TimeOffset>
<t:Month>10</t:Month>
<t:DayOfWeek>Sunday</t:DayOfWeek>
<t:Occurrence>-1</t:Occurrence>
</t:RecurringDayTransition>
</t:TransitionsGroup>
</t:TransitionsGroups>
<t:Transitions>
<t:Transition>
<t:To Kind="Group">0</t:To>
</t:Transition>
</t:Transitions>
</t:StartTimeZone>
<t:EndTimeZone Name="(UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna" Id="W. Europe Standard Time">
<t:Periods>
<t:Period Bias="-PT1H" Name="Standard" Id="trule:Microsoft/Registry/W. Europe Standard Time/1-Standard"/>
<t:Period Bias="-PT2H" Name="Daylight" Id="trule:Microsoft/Registry/W. Europe Standard Time/1-Daylight"/>
</t:Periods>
<t:TransitionsGroups>
<t:TransitionsGroup Id="0">
<t:RecurringDayTransition>
<t:To Kind="Period">trule:Microsoft/Registry/W. Europe Standard Time/1-Daylight</t:To>
<t:TimeOffset>PT2H</t:TimeOffset>
<t:Month>3</t:Month>
<t:DayOfWeek>Sunday</t:DayOfWeek>
<t:Occurrence>-1</t:Occurrence>
</t:RecurringDayTransition>
<t:RecurringDayTransition>
<t:To Kind="Period">trule:Microsoft/Registry/W. Europe Standard Time/1-Standard</t:To>
<t:TimeOffset>PT3H</t:TimeOffset>
<t:Month>10</t:Month>
<t:DayOfWeek>Sunday</t:DayOfWeek>
<t:Occurrence>-1</t:Occurrence>
</t:RecurringDayTransition>
</t:TransitionsGroup>
</t:TransitionsGroups>
<t:Transitions>
<t:Transition>
<t:To Kind="Group">0</t:To>
</t:Transition>
</t:Transitions>
</t:EndTimeZone>
</t:CalendarItem>
</m:Items>
</m:GetItemResponseMessage>
The decoded content of MimeContent
BEGIN:VCALENDAR
METHOD:PUBLISH
PRODID:Microsoft Exchange Server 2010
VERSION:2.0
BEGIN:VTIMEZONE
TZID: 1
BEGIN:STANDARD
DTSTART:16010101T030000
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010101T020000
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
ORGANIZER;CN=**** ****:mailto:****@****
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=****
****:mailto:****@****
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=****
****:mailto:****@****
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=****
****:mailto:****@****
DESCRIPTION:****
RRULE:FREQ=WEEKLY;UNTIL=20210505T091500Z;INTERVAL=1;BYDAY=TU;WKST=MO
UID:****
SUMMARY:****
DTSTART;TZID= 1:20210413T111500
DTEND;TZID= 1:20210413T113000
CLASS:PUBLIC
PRIORITY:5
DTSTAMP:20210406T160415Z
TRANSP:OPAQUE
STATUS:CONFIRMED
SEQUENCE:0
LOCATION:
X-MICROSOFT-CDO-APPT-SEQUENCE:0
X-MICROSOFT-CDO-OWNERAPPTID:****
X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-CDO-INSTTYPE:1
X-MICROSOFT-SKYPETEAMSMEETINGURL:****
X-MICROSOFT-SCHEDULINGSERVICEUPDATEURL:****
X-MICROSOFT-SKYPETEAMSPROPERTIES:****
X-MICROSOFT-ONLINEMEETINGEXTERNALLINK:
X-MICROSOFT-ONLINEMEETINGCONFLINK:****
X-MICROSOFT-ONLINEMEETINGINFORMATION:{"OnlineMeetingChannelId":null\,"Onlin
eMeetingProvider":3}
X-MICROSOFT-DONOTFORWARDMEETING:FALSE
X-MICROSOFT-DISALLOW-COUNTER:FALSE
X-MICROSOFT-LOCATIONS:[]
END:VEVENT
END:VCALENDAR