Page MenuHomekolab.org

Avoid Sync unnecessary FolderSync interaction
AbandonedPublic

Authored by mollekopf on Jan 19 2021, 10:19 AM.

Details

Reviewers
machniak
Group Reviewers
Syncroton Developers
Summary

Instead of reporting a hierarchy change, skip the folder and let the
client know that the folder no longer exists.

If we remove a folder on the server-side that cannot be removed on the
client-side we used to end up in an endless loop:

  • Sync reports hierarchy change
  • FolderSync fails
  • Sync reports hierarchy change
  • ...

Simply reporting that the folder has been removed seems like a less
aggressive approach that is in line with the protocol and works better
with Outlook (and should achieve the same as long as the client doesn't
ignore the STATUS_OBJECT_NOT_FOUND status code).

Diff Detail

Repository
rS syncroton
Branch
master
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 32791
Build 12712: arc lint + arc unit

Event Timeline

mollekopf requested review of this revision.Jan 19 2021, 10:19 AM
mollekopf created this revision.

Wouldn't global STATUS_FOLDER_HIERARCHY_HAS_CHANGED status be more appropriate? Or this does not work with Outlook?

mollekopf updated this revision to Diff 5914.EditedJan 19 2021, 3:08 PM
mollekopf retitled this revision from Instead of silently skipping folders, tell the client that it no longer exists. to Avoid Sync unnecessary FolderSync interaction.
mollekopf edited the summary of this revision. (Show Details)

The previous patch was inclomplete as it built on another one, this is the full version.

Avoid unnecessary Sync <-> FolderSync interaction

Instead of reporting a hierarchy change, skip the folder and let the
client know that the folder no longer exists.

If we remove a folder on the server-side that cannot be removed on the
client-side we used to end up in an endless loop:

  • Sync reports hierarchy change
  • FolderSync fails
  • Sync reports hierarchy change
  • ...

Simply reporting that the folder has been removed seems like a less
aggressive approach that is in line with the protocol and works better
with Outlook (and should achieve the same as long as the client doesn't
ignore the STATUS_OBJECT_NOT_FOUND status code).

mollekopf updated this revision to Diff 5917.Jan 19 2021, 3:11 PM

Removed comment that no longer applies

mollekopf planned changes to this revision.Jan 19 2021, 4:20 PM
mollekopf abandoned this revision.Jan 28 2021, 3:49 PM