To fix wrong repeated fullday event displaying (MM 2.27) - MMRIZE/MMM-CalendarExt3 GitHub Wiki

In some MM versions (2.27 or something), Repeated full day events with Timezone are not displayed as normal.

IMPORTANT

Since V1.8.3, This fix has been included in the CX3* modules themselves, so you may not need this solution.

Example

The Single event and Repeated event both start at 0:00, but the Repeated event is displayed as 2 hours delayed. The 2 hours are derived from GMT+2 of the TimeZone of original event.

The wrong parsing logic of the default calendar module causes this bug.(https://github.com/MagicMirrorOrg/MagicMirror/issues/3422) I hope it will be fixed soon.

Until then, you can fix it on CX3 manually.

/* In your CX3 module configuration */
eventPayload: (payload) => {
  for (let ev of payload) {
    if (ev.fullDayEvent) {
      let gap = +ev.endDate - +ev.startDate
      if (gap % (1000 * 60 * 60 * 24) === 0) {
        ev.startDate = new Date(+ev.startDate).setHours(0, 0, 0, 0)
        ev.endDate = new Date(+ev.startDate + gap).setMilliseconds(-1)
      }
    }
  }
  return payload
},

Fixed Result