From 78daa65d282824f1611692bc509d1b86b53b3177 Mon Sep 17 00:00:00 2001 From: Tom Wardill Date: Wed, 7 Nov 2018 18:44:32 +0000 Subject: [PATCH] Ignore rrule errors --- modules/default/calendar/calendarfetcher.js | 2 +- modules/default/calendar/vendor/ical.js/node-ical.js | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/default/calendar/calendarfetcher.js b/modules/default/calendar/calendarfetcher.js index bf417afe..a1e4aa8d 100644 --- a/modules/default/calendar/calendarfetcher.js +++ b/modules/default/calendar/calendarfetcher.js @@ -171,7 +171,7 @@ var CalendarFetcher = function(url, reloadInterval, excludedEvents, maximumEntri var geo = event.geo || false; var description = event.description || false; - if (typeof event.rrule != "undefined" && !isFacebookBirthday) { + if (typeof event.rrule != "undefined" && event.rrule != null && !isFacebookBirthday) { var rule = event.rrule; // can cause problems with e.g. birthdays before 1900 diff --git a/modules/default/calendar/vendor/ical.js/node-ical.js b/modules/default/calendar/vendor/ical.js/node-ical.js index c954e722..e42ce895 100644 --- a/modules/default/calendar/vendor/ical.js/node-ical.js +++ b/modules/default/calendar/vendor/ical.js/node-ical.js @@ -44,7 +44,13 @@ ical.objectHandlers['END'] = function(val, params, curr, stack){ rule += ' EXDATE:' + curr.exdates[i].toISOString().replace(/[-:]/g, ''); rule = rule.replace(/\.[0-9]{3}/, ''); } - curr.rrule = rrulestr(rule); + try { + curr.rrule = rrulestr(rule); + } + catch(err) { + console.log("Unrecognised element in calendar feed, ignoring: " + rule); + curr.rrule = null; + } } return originalEnd.call(this, val, params, curr, stack); }