Platform
- MagicMirror² v2.37.0
- default
calendar module, sliceMultiDayEvents: true
Bug
With sliceMultiDayEvents: true, a multi-day event is split into per-day slices (1/n), (2/n), … Every slice after the first is displayed as starting at 23:59 instead of the following day's 00:00.
Cause
modules/default/calendar/calendar.js, in the slicing loop (around L513–535):
let midnight = eventStartDateMoment.clone().startOf("day").add(1, "day").endOf("day");
...
event.startDate = midnight.format("x"); // start of the NEXT slice
...
midnight = midnight.clone().add(1, "day").endOf("day");
midnight is .endOf("day") (= 23:59:59.999), but it is assigned as the following slice's startDate. So each subsequent slice starts at 23:59:59.999 of the previous day instead of 00:00 of its own day, which is what gets rendered as "… 23:59".
Fix
Use the start of the day for the next slice's start:
- event.startDate = midnight.format("x");
+ event.startDate = midnight.clone().startOf("day").format("x");
Reproduce
Any all-day or timed event spanning ≥2 midnights with sliceMultiDayEvents: true; slices 2..n show "… 23:59".
Platform
calendarmodule,sliceMultiDayEvents: trueBug
With
sliceMultiDayEvents: true, a multi-day event is split into per-day slices(1/n),(2/n), … Every slice after the first is displayed as starting at 23:59 instead of the following day's 00:00.Cause
modules/default/calendar/calendar.js, in the slicing loop (around L513–535):midnightis.endOf("day")(= 23:59:59.999), but it is assigned as the following slice'sstartDate. So each subsequent slice starts at 23:59:59.999 of the previous day instead of 00:00 of its own day, which is what gets rendered as "… 23:59".Fix
Use the start of the day for the next slice's start:
Reproduce
Any all-day or timed event spanning ≥2 midnights with
sliceMultiDayEvents: true; slices 2..n show "… 23:59".