Read the statement by Michael Teeuw here.
Calendar shows late day events on next day but at correct time
-
Barre Class, with dates: ["2024-09-11T01:15:00.000Z","2024-09-18T01:15:00.000Z","2024-09-25T01:15:00.000Z","2024-10-02T01:15:00.000Z","2024-10-09T01:15:00.000Z","2024-10-16T01:15:00.000Z","2024-10-23T01:15:00.000Z","2024-10-30T01:15:00.000Z","2024-11-06T01:15:00.000Z","2024-11-13T01:15:00.000Z","2024-11-20T01:15:00.000Z","2024-11-27T01:15:00.000Z","2024-12-04T01:15:00.000Z","2024-12-11T01:15:00.000Z","2024-12-18T01:15:00.000Z","2024-12-25T01:15:00.000Z","2025-01-01T01:15:00.000Z","2025-01-08T01:15:00.000Z","2025-01-15T01:15:00.000Z","2025-01-22T01:15:00.000Z","2025-01-29T01:15:00.000Z","2025-02-05T01:15:00.000Z","2025-02-12T01:15:00.000Z","2025-02-19T01:15:00.000Z","2025-02-26T01:15:00.000Z","2025-03-05T01:15:00.000Z","2025-03-12T01:15:00.000Z","2025-03-19T01:15:00.000Z","2025-03-26T01:15:00.000Z","2025-04-02T01:15:00.000Z","2025-04-09T01:15:00.000Z","2025-04-16T01:15:00.000Z","2025-04-23T01:15:00.000Z","2025-04-30T01:15:00.000Z","2025-05-07T01:15:00.000Z","2025-05-14T01:15:00.000Z","2025-05-21T01:15:00.000Z","2025-05-28T01:15:00.000Z"] [2024-09-28 11:26:06.920] [DEBUG] Rule has byweekday, checking for correction [2024-09-28 11:26:06.920] [DEBUG] West of GMT (tzOffset: 5) and hour=20 >= 24-5, Adding 1 day to Tue Sep 10 2024 20:15:00 GMT-0500 (Central Daylight Time) [2024-09-28 11:26:06.920] [DEBUG] West of GMT (tzOffset: 5) and hour=20 >= 24-5, Adding 1 day to Tue Sep 17 2024 20:15:00 GMT-0500 (Central Daylight Time) [2024-09-28 11:26:06.920] [DEBUG] West of GMT (tzOffset: 5) and hour=20 >= 24-5, Adding 1 day to Tue Sep 24 2024 20:15:00 GMT-0500 (Central Daylight Time) [2024-09-28 11:26:06.920] [DEBUG] West of GMT (tzOffset: 5) and hour=20 >= 24-5, Adding 1 day to Tue Oct 01 2024 20:15:00 GMT-0500 (Central Daylight Time) [2024-09-28 11:26:06.920] [DEBUG] West of GMT (tzOffset: 5) and hour=20 >= 24-5, Adding 1 day to Tue Oct 08 2024 20:15:00 GMT-0500 (Central Daylight Time) [2024-09-28 11:26:06.920] [DEBUG] West of GMT (tzOffset: 5) and hour=20 >= 24-5, Adding 1 day to Tue Oct 15 2024 20:15:00 GMT-0500 (Central Daylight Time) [2024-09-28 11:26:06.920] [DEBUG] West of GMT (tzOffset: 5) and hour=20 >= 24-5, Adding 1 day to Tue Oct 22 2024 20:15:00 GMT-0500 (Central Daylight Time) [2024-09-28 11:26:06.920] [DEBUG] West of GMT (tzOffset: 5) and hour=20 >= 24-5, Adding 1 day to Tue Oct 29 2024 20:15:00 GMT-0500 (Central Daylight Time) [2024-09-28 11:26:06.920] [DEBUG] West of GMT (tzOffset: 6) and hour=19 >= 24-6, Adding 1 day to Tue Nov 05 2024 19:15:00 GMT-0600 (Central Standard Time)
-
@natmash yes… code I put in to fix another bug, in the repeating rule parser… it used to return the day prior UTC date and right time… so I adjusted it.
now in this one case it returns the correct UTC date…if I fix this it breaks other testcases…
looking for another option
-
@natmash so, I think I finally have a fix for this.
Would you like to try it?Which MagicMirror version are you using?
-
@sdetweil I am going to test your fix with my calendar too, as it was the cause for the initial fix.
-
@MarcLandis you want it on 2.28 or 2.29?
-
@sdetweil 2.29 please
(2.28 is too old :) )
-
@MarcLandis understood, but I don’t want to force upgrade to test
-
here is a test version of the fixes for all kinds of calendar date problems.
best to make a new folder and git clone there
git clone https://github.com/sdetweil/MagicMirror cd MagicMirror git checkout fixcaldates npm run install-mm
copy your config.js and custom.css from the prior folder
and the non-default modules you have installed…this ONLY changes the default calendar
but DOES ship an updated node-ical library tooif you need to fall back, just rename the folders around again so that
your original is called MagicMirrorall the testcases for node-ical and MagicMirror execute successfully.
the ‘BIG’ change here is to get the local NON-TZ dates for the
rrule.between()all the checking and conversion code is commented out or not used
the node-ical fixes are for excluded dates (exdate) values being adjusted for DST/STD time… waiting to submit that PRone fix in calendar.js for checking if a past date was too far back,
but it never checked to see IF the event date was in the past… (before today) so it chopped off too manyand one change in calendarfetcher.js to put out a better diagnostic message of the parsed data… (exdate was excluded cause JSON stringify couldn’t convert the complex structure)
-
@sdetweil I testet your branch and so far it looks good with my test calendar and also with my real ones.
-
@MarcLandis thanks. i still have some reported issues. so use it and let me know. will advise when i make nect updates
we wouldn’t release til jan anyhow, so we have time