Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate 409 (Conflict) causes and handling #6914

Open
2 tasks
max-nextcloud opened this issue Feb 19, 2025 · 1 comment
Open
2 tasks

Investigate 409 (Conflict) causes and handling #6914

max-nextcloud opened this issue Feb 19, 2025 · 1 comment

Comments

@max-nextcloud
Copy link
Collaborator

max-nextcloud commented Feb 19, 2025

We used to have 409 responses when the client was not in sync with the server state. But with yjs we can now always apply updates as long as they belong to the same session. Still some users are reporting changes being lost while editing with > 10 people in text. 409 Responses are showing in their logs.

Sync requests

Sync requests can trigger 409 responses if the underlying files etag and mtime differ from the document records values.
This will happen if a file is saved through a different mechanism such as desktop client sync or restoring an old version.

Client side handling

The client will see 409 responses to sync requests and process them as normal responses. This is important so the sync mechnism continues working even if there has been a different update to the file.
The 409 will 'only' cause the editor to display the conflict screen with both options to pick from.
One problem with the current approach is that every sync request that responds with a 409 will include the complete local file. As the sync continues even on conflicts that is actually quite a bit of overhead.

Could they cause removal of content added by the client or another client?

Currently I don't see how.

Save requests

✅ TODO

  • look into save requests
  • create follow up issue
@max-nextcloud max-nextcloud self-assigned this Feb 19, 2025
@github-project-automation github-project-automation bot moved this to 🧭 Planning evaluation (don't pick) in 📝 Office team Feb 19, 2025
@max-nextcloud
Copy link
Collaborator Author

Recovering a file from old versions triggers 409 requests right now.

Image

MOVE remote.php/dav/versions/max/versions/$FILE_ID/$TIMESTAMP

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🧭 Planning evaluation (don't pick)
Development

No branches or pull requests

1 participant