From b1e572ea4ca713faf6ecc6ad6935750c21772390 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B8=D0=BB=D1=8F=D0=BD=20=D0=9F=D0=B0=D0=BB=D0=B0?= =?UTF-8?q?=D1=83=D0=B7=D0=BE=D0=B2?= Date: Wed, 28 Oct 2020 15:32:45 +0200 Subject: [PATCH] event.isRecurring() does not repeat with RECURRENCE-ID without RANGE Evolution creates instances of events, which contain RRULE and RECURRENCE-ID without RANGE parameter. Since the RANGE is not THISANDFUTURE, but absent, such events do not recur. https://gitlab.gnome.org/GNOME/evolution/-/issues/1180 --- lib/ical/event.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/ical/event.js b/lib/ical/event.js index 3f627a06..7a9de40e 100644 --- a/lib/ical/event.js +++ b/lib/ical/event.js @@ -283,13 +283,18 @@ ICAL.Event = (function() { }, /** - * Checks if the event is recurring + * Checks if the event is recurring, thus has an RRULE or RDATE property, or a + * RECURRENCE-ID with the respective RANGE parameter. * * @return {Boolean} True, if event is recurring */ isRecurring: function() { - var comp = this.component; - return comp.hasProperty('rrule') || comp.hasProperty('rdate'); + var comp = this.component, recurrenceId; + if (comp.hasProperty('rrule') || comp.hasProperty('rdate')) { + recurrenceId = comp.getFirstProperty('recurrence-id'); + return !recurrenceId || !!recurrenceId.getParameter('range'); + } + return false; }, /**