From 604a555e1447e58fc5cb4d629a098506f6d48cb0 Mon Sep 17 00:00:00 2001 From: Jonathan Kolb Date: Thu, 9 Jun 2022 07:51:08 -0400 Subject: [PATCH 1/2] Include duplicate events in broadcasts --- CHANGELOG.md | 1 + modules/default/calendar/calendar.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 06870bc4..b147ded5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ _This release is scheduled to be released on 2022-07-01._ - Use latest node 18 when running tests on github actions - Update `electron` to v19 and other dependencies. - Use internal fetch function of node instead external `node-fetch` library if used node version >= `v18`. +- Include duplicate events in broadcasts. ### Fixed diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index 91e952d6..a6ca67a5 100755 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -510,7 +510,7 @@ Module.register("calendar", { continue; } } - if (this.listContainsEvent(events, event)) { + if (this.listContainsEvent(events, event) && limitNumberOfEntries) { continue; } event.url = calendarUrl; From c82de1e314feaf5da894858c0a23cee99a25479a Mon Sep 17 00:00:00 2001 From: Jonathan Kolb Date: Thu, 9 Jun 2022 09:21:00 -0400 Subject: [PATCH 2/2] Group filters that only apply when limiting for display --- modules/default/calendar/calendar.js | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js index a6ca67a5..888f8179 100755 --- a/modules/default/calendar/calendar.js +++ b/modules/default/calendar/calendar.js @@ -496,22 +496,20 @@ Module.register("calendar", { for (const e in calendar) { const event = JSON.parse(JSON.stringify(calendar[e])); // clone object - if (event.endDate < now && limitNumberOfEntries) { + if (this.config.hidePrivate && event.class === "PRIVATE") { + // do not add the current event, skip it continue; } - if (this.config.hidePrivate) { - if (event.class === "PRIVATE") { - // do not add the current event, skip it + if (limitNumberOfEntries) { + if (event.endDate < now) { continue; } - } - if (this.config.hideOngoing && limitNumberOfEntries) { - if (event.startDate < now) { + if (this.config.hideOngoing && event.startDate < now) { + continue; + } + if (this.listContainsEvent(events, event)) { continue; } - } - if (this.listContainsEvent(events, event) && limitNumberOfEntries) { - continue; } event.url = calendarUrl; event.today = event.startDate >= today && event.startDate < today + 24 * 60 * 60 * 1000;