diff options
author | Robert C. Schaller <gtbc_robert.schaller@rsxc.de> | 2024-03-25 02:18:02 +0100 |
---|---|---|
committer | backportbot[bot] <backportbot[bot]@users.noreply.github.com> | 2024-03-26 08:48:13 +0000 |
commit | c98305c31ae69b63d2a73396c72acff4fb2b80cd (patch) | |
tree | bfe017510608cf583287b7a57900a2665d5c742e /apps/dav/lib | |
parent | de0c7e10086c9504d4bcc8db82c086215ff3de6f (diff) | |
download | nextcloud-server-c98305c31ae69b63d2a73396c72acff4fb2b80cd.tar.gz nextcloud-server-c98305c31ae69b63d2a73396c72acff4fb2b80cd.zip |
fix(dav): wrong comparison method between two events
Old comparison implementation compares each element of the array against each other with no respect for the associated array label, which leads to wrongful removals because one value is accidentally present in a completely different label. New comparison works 'by-label' individually.
Partly fixes #41084 because changes between 'SEQUENCE' not present, 'SEQUENCE:0' and 'SEQUENCE:1' were not detected in the old implementation and thus no email update sent.
Co-authored-by: Christoph Wurst <ChristophWurst@users.noreply.github.com>
Signed-off-by: Robert C. Schaller <gtbc_robert.schaller@rsxc.de>
Diffstat (limited to 'apps/dav/lib')
-rw-r--r-- | apps/dav/lib/CalDAV/EventComparisonService.php | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/apps/dav/lib/CalDAV/EventComparisonService.php b/apps/dav/lib/CalDAV/EventComparisonService.php index d8d6ea07ed2..fbb92af9d94 100644 --- a/apps/dav/lib/CalDAV/EventComparisonService.php +++ b/apps/dav/lib/CalDAV/EventComparisonService.php @@ -71,7 +71,7 @@ class EventComparisonService { $eventToFilterData[] = IMipService::readPropertyWithDefault($eventToFilter, $eventDiff, ''); } // events are identical and can be removed - if (empty(array_diff($filterEventData, $eventToFilterData))) { + if ($filterEventData === $eventToFilterData) { unset($eventsToFilter[$k]); return true; } |