-
When doing an incremental sync using the SyncFolderItems request all items appearing as new or changed have actually changed and it makes sense to fetch them in order to store the updated copy locally. When doing a full sync this way all items in this foler appear as newly added to it. This however meant that they were all fetched, which was lengthly and completely redundant. To avoid unnecessary fetches compare the change key of the item and fetch only in case it's different than the local copy. This avoids 99% of the fetches in case of a full sync (most of them are fallback full syncs due to incremental sync failures) and additionally saves a few fetches for incremental syncs too in cases where such a sync is done due to a returning server notification for a change that originated from the local Akonadi instance. Signed-off-by: Krzysztof Nowicki <krissn@op.pl>
c1d01eae