Read the statement by Michael Teeuw here.
calendar - wrong repeating count when using sliceMultiDayEvents
-
@sdetweil I am pretty sure it has to do with timezone settings. I am going to test some things on my end.
btw: I have this problem for a long time and more or less always ignored it.
-
@MarcLandis so it doesn’t happen when setting the time zone to America/Chicago but it happens for Europe/Berlin.
-
@MarcLandis ok. system timezone.
-
@MarcLandis interesting…
change calendar.js 3 places
give it a trychange (line 633)
const maxCount = Math.ceil((event.endDate - 1 - moment(event.startDate, "x").endOf("day").format("x")) / ONE_DAY) + 1;
to
const maxCount = Math.round((event.endDate - 1 - moment(event.startDate, "x").endOf("day").format("x")) / ONE_DAY) + 1;
ceil takes 1.04 to 2, round to 1
let midnight = moment(event.startDate, "x") .clone() .startOf("day") .add(1, "day") .endOf('day') // add this (else its start of day, not end) line 641 .format("x");
and recalc of midmnight (line split like above for clarity) line 654
midnight = moment(midnight, "x") .add(1, "day") .endOf('day') // add this .format("x"); // next day works in Europe/Berlin and America/Chicago 2 bugs 1 count incorrect 2 loop control
-
@sdetweil this fixes it. The test calendar looks good and my real one with the birthdays (mostly affected one) is perfect. All other events are good too.
Thx for your help.
-
@MarcLandis i’ll submit an issue and a pr…
and a testcase
-
@MarcLandis
submitted PR https://github.com/MagicMirrorOrg/MagicMirror/pull/3543/
with new testcase to validatehopefully we will get it into next release Oct 1.
-
@sdetweil Thank you - even it doesn’t make it into the next release I have a way to manually fix it now.
-
-
@MarcLandis the fix was accepted and merged
-
@MarcLandis you could test it now by
https://forum.magicmirror.builders/topic/14327/testing-new-fixes-or-solving-currentremember to do (to get release level dependencies)
npm run install-mm
assuming the config in this MM is set correctly for sliceMultiDayEvents