From cca747c0fe379437433a8fc061b3c253020f9084 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 20 Jan 2024 00:15:45 -0800 Subject: [PATCH] Fix: Calendar widget iCal integration catch RRule failures (#2706) --- src/widgets/calendar/integrations/ical.jsx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/widgets/calendar/integrations/ical.jsx b/src/widgets/calendar/integrations/ical.jsx index 78d0fe1d8..ab3d06f2a 100644 --- a/src/widgets/calendar/integrations/ical.jsx +++ b/src/widgets/calendar/integrations/ical.jsx @@ -60,11 +60,16 @@ export default function Integration({ config, params, setEvents, hideErrors, tim const recurrenceOptions = event?.recurrenceRule?.origOptions; if (recurrenceOptions && Object.keys(recurrenceOptions).length !== 0) { - const rule = new RRule(recurrenceOptions); - const recurringEvents = rule.between(startDate.toJSDate(), endDate.toJSDate()); - - recurringEvents.forEach((date, i) => eventToAdd(date, i, "recurring")); - return; + try { + const rule = new RRule(recurrenceOptions); + const recurringEvents = rule.between(startDate.toJSDate(), endDate.toJSDate()); + + recurringEvents.forEach((date, i) => eventToAdd(date, i, "recurring")); + return; + } catch (e) { + // eslint-disable-next-line no-console + console.error("Unable to parse recurring events from iCal: %s", e); + } } event.matchingDates.forEach((date, i) => eventToAdd(date, i, "single"));