Page MenuHomePhorge

D4842.id13869.diff
No OneTemporary

D4842.id13869.diff

diff --git a/lib/ext/Syncroton/Command/Sync.php b/lib/ext/Syncroton/Command/Sync.php
--- a/lib/ext/Syncroton/Command/Sync.php
+++ b/lib/ext/Syncroton/Command/Sync.php
@@ -465,6 +465,21 @@
$this->_collections[$collectionData->collectionId] = $collectionData;
$this->_modifications[$collectionData->collectionId] = $clientModifications;
}
+
+ // Handle Calendar folders first.
+ // Outlook can't match MeetingRequest with an event that wasn't synced yet, which
+ // leads to duplicated events in Outlook's calendar.
+ uasort(
+ $this->_collections,
+ function ($a, $b) {
+ $ac = $a->folder && $a->folder->class == Syncroton_Data_Factory::CLASS_CALENDAR;
+ $bc = $b->folder && $b->folder->class == Syncroton_Data_Factory::CLASS_CALENDAR;
+ if ($ac) {
+ return $bc ? 0 : -1;
+ }
+ return $bc ? 1 : 0;
+ }
+ );
}
/**

File Metadata

Mime Type
text/plain
Expires
Fri, Sep 20, 2:20 AM (8 h, 10 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
9465867
Default Alt Text
D4842.id13869.diff (1022 B)

Event Timeline