From 9f9da964f678aed3276fb8f71c553253423a819c Mon Sep 17 00:00:00 2001 From: Akhil Date: Fri, 24 Feb 2023 11:02:24 +0530 Subject: [PATCH 1/3] Fix max instances exception for get vevent call Signed-off-by: Akhil --- apps/dav/lib/CalDAV/Reminder/ReminderService.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/dav/lib/CalDAV/Reminder/ReminderService.php b/apps/dav/lib/CalDAV/Reminder/ReminderService.php index a2daa3cc98e..aa1341b2fa1 100644 --- a/apps/dav/lib/CalDAV/Reminder/ReminderService.php +++ b/apps/dav/lib/CalDAV/Reminder/ReminderService.php @@ -147,7 +147,14 @@ class ReminderService { continue; } - $vevent = $this->getVEventByRecurrenceId($vcalendar, $reminder['recurrence_id'], $reminder['is_recurrence_exception']); + try { + $vevent = $this->getVEventByRecurrenceId($vcalendar, $reminder['recurrence_id'], $reminder['is_recurrence_exception']); + } + catch (MaxInstancesExceededException $e) { + $this->logger->debug('Recurrence with too many instances detected, skipping VEVENT', ['exception' => $e]); + continue; + } + if (!$vevent) { $this->logger->debug('Reminder {id} does not belong to a valid event', [ 'id' => $reminder['id'], From e354e9266e75a84dce46cd2fcf51a46da3c243d0 Mon Sep 17 00:00:00 2001 From: Akhil Potukuchi Date: Mon, 27 Feb 2023 12:55:48 +0530 Subject: [PATCH 2/3] Update apps/dav/lib/CalDAV/Reminder/ReminderService.php Co-authored-by: Christoph Wurst Signed-off-by: Akhil Potukuchi --- apps/dav/lib/CalDAV/Reminder/ReminderService.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/dav/lib/CalDAV/Reminder/ReminderService.php b/apps/dav/lib/CalDAV/Reminder/ReminderService.php index aa1341b2fa1..572d815911b 100644 --- a/apps/dav/lib/CalDAV/Reminder/ReminderService.php +++ b/apps/dav/lib/CalDAV/Reminder/ReminderService.php @@ -149,8 +149,7 @@ class ReminderService { try { $vevent = $this->getVEventByRecurrenceId($vcalendar, $reminder['recurrence_id'], $reminder['is_recurrence_exception']); - } - catch (MaxInstancesExceededException $e) { + } catch (MaxInstancesExceededException $e) { $this->logger->debug('Recurrence with too many instances detected, skipping VEVENT', ['exception' => $e]); continue; } From e82371838316ef9235eb822082ef19187fad4d1d Mon Sep 17 00:00:00 2001 From: Akhil Date: Mon, 27 Feb 2023 15:56:24 +0530 Subject: [PATCH 3/3] Remove reminder if max instances exceeded Signed-off-by: Akhil --- apps/dav/lib/CalDAV/Reminder/ReminderService.php | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/dav/lib/CalDAV/Reminder/ReminderService.php b/apps/dav/lib/CalDAV/Reminder/ReminderService.php index 572d815911b..bca154a48e8 100644 --- a/apps/dav/lib/CalDAV/Reminder/ReminderService.php +++ b/apps/dav/lib/CalDAV/Reminder/ReminderService.php @@ -151,6 +151,7 @@ class ReminderService { $vevent = $this->getVEventByRecurrenceId($vcalendar, $reminder['recurrence_id'], $reminder['is_recurrence_exception']); } catch (MaxInstancesExceededException $e) { $this->logger->debug('Recurrence with too many instances detected, skipping VEVENT', ['exception' => $e]); + $this->backend->removeReminder($reminder['id']); continue; }