From 57ba5397e5c14b3cb0a31c5617718c2866fca72f Mon Sep 17 00:00:00 2001 From: smizrahi Date: Wed, 12 Jul 2023 08:48:44 +0200 Subject: [PATCH] fix(calendar): Fix duplicates in series appointments for Apple's Calendar --- SoObjects/Appointments/SOGoAppointmentObject.m | 4 +++- SoObjects/Appointments/iCalEventChanges+SOGo.m | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/SoObjects/Appointments/SOGoAppointmentObject.m b/SoObjects/Appointments/SOGoAppointmentObject.m index 6ae3868694..93cb3fd40b 100644 --- a/SoObjects/Appointments/SOGoAppointmentObject.m +++ b/SoObjects/Appointments/SOGoAppointmentObject.m @@ -963,13 +963,15 @@ - (NSException *) _handleUpdatedEvent: (iCalEvent *) newEvent NSArray *addedAttendees, *deletedAttendees, *updatedAttendees; iCalEventChanges *changes; NSException *ex; + WORequest *rq; addedAttendees = nil; deletedAttendees = nil; updatedAttendees = nil; + rq = [context request]; changes = [newEvent getChangesRelativeToEvent: oldEvent]; - if ([changes sequenceShouldBeIncreased]) + if ([changes sequenceShouldBeIncreased] || [rq isICal4] || [rq isICal]) { // Set new attendees status to "needs action" and recompute changes when // the list of attendees has changed. The list might have changed since diff --git a/SoObjects/Appointments/iCalEventChanges+SOGo.m b/SoObjects/Appointments/iCalEventChanges+SOGo.m index f07c42a1eb..51e3ec628b 100644 --- a/SoObjects/Appointments/iCalEventChanges+SOGo.m +++ b/SoObjects/Appointments/iCalEventChanges+SOGo.m @@ -30,7 +30,7 @@ - (BOOL) sequenceShouldBeIncreased static NSString *properties[] = {@"organizer", @"startDate", @"endDate", @"due", @"duration", @"summary", @"rdate", @"rrule", @"exdate", @"exrule", - @"status", @"location", @"rid", @"timeStampAsDate", + @"status", @"location", @"rid", nil}; NSString **currentProperty; BOOL updateRequired;