Read the statement by Michael Teeuw here.
Calendar - only all day events showing - moment timezone issue
-
@magicinme yes, fun times. Microsoft has lots of non-standard timezone definitions.
I just put fixes into the ical parser we use.
hopefully they will be published soon do we can update the dependency list. -
@sdetweil Great, thank you! What do you think the ETA would be? Just for my own sanity :P
-
@magicinme I don’t know. I hope soon so we can include it in the next release on April 1st
-
@sdetweil perfect, thanks a bunch!
-
@magicinme the fix did NOT make 2.15, as the repo published the fixes JUST last night
if u want to test/run with the new code do
cd ~/MagicMirror npm install node-ical
restart MM
same for 2.14 or 2.15
-
@sdetweil Thank you! I am running it now, I’m still getting
[12.04.2021 08:39.20.358] [ERROR] Moment Timezone has no data for Customized Time Zone. See http://momentjs.com/timezone/docs/#/data-loading/.
but it appears as though there are fewer errors and the module does seem to be displaying my events. Perhaps I have some buggy iCal events in there. If I get a chance to dive in more, I’ll see what I can update.
-
@magicinme can u send me your ics file. I thought we put fixes in 2.15 for this
my email is the same user ID at gmail
oh, wait, the fixes are in node-ical
do
cd ~/MagicMirror npm install node-ical
the restart mm
-
@sdetweil
It appears as though the issue arises when the calendar has custom (non-standard) timezones. node-ical parses the file properly however there is no code to digest the parsed VTIMEZONE entries and apply them to referencing events. Looking at this VTIMEZONE entry, it seems rather hack-y so it probably is not worth it to parse. I notice that all of the weird entries are originate from an iPhone.Here’s an example ical file of an offending text:
BEGIN:VCALENDAR PRODID:-//Microsoft Corporation//Outlook 16.0 MIMEDIR//EN VERSION:2.0 METHOD:PUBLISH X-MS-OLK-FORCEINSPECTOROPEN:TRUE BEGIN:VTIMEZONE TZID:Customized Time Zone BEGIN:STANDARD DTSTART:16011104T020000 RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11 TZOFFSETFROM:-0400 TZOFFSETTO:-0500 END:STANDARD BEGIN:DAYLIGHT DTSTART:16010311T020000 RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3 TZOFFSETFROM:-0500 TZOFFSETTO:-0400 END:DAYLIGHT END:VTIMEZONE BEGIN:VEVENT CLASS:PUBLIC CREATED:20210906T061657Z DTEND;TZID="Customized Time Zone":20210605T110000 DTSTAMP:20210906T061658Z DTSTART;TZID="Customized Time Zone":20210605T100000 LAST-MODIFIED:20210906T061657Z PRIORITY:5 SEQUENCE:0 SUMMARY;LANGUAGE=en-us:Top secret stuff TRANSP:OPAQUE UID:04000000[.....] X-MICROSOFT-CDO-BUSYSTATUS:BUSY X-MICROSOFT-CDO-IMPORTANCE:1 END:VEVENT END:VCALENDAR
-
@magicinme none of the libraries digest the tz definitions. mm doesn’t either.
-
@magicinme those are Microsoft-isms.
I put code in node-ical and mm to handle, but the definitions aren’t parsed.
the supporting nodejs libs don’t understand custom timezones, so I convert to iana tz.