Skip to content
  • Krzysztof Nowicki's avatar
    Do not retrieve unchanged items during full sync · c1d01eae
    Krzysztof Nowicki authored and Laurent Montel's avatar Laurent Montel committed
    
    
    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: default avatarKrzysztof Nowicki <krissn@op.pl>
    c1d01eae