Repository navigation
fix: don't silently drop outside changes (e.g. from external storage) - #9518
Merged
Merged
Conversation
…extcloud Writes that bypass Nextcloud, e.g. directly on external storage, do not trigger the NodeWritten listeners, so a stored document and its yjs state were reused when the file was opened again, and the editor showed outdated content. When opening a session, compare the stored checksum with the current file. If it differs and the document has no unsaved changes, reset the document so the client loads the current file content. Documents with unsaved changes are kept so the conflict is raised on the next save. Refs: #9236 Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: ClaudeCode:claude-opus-5-5
Member
Author
|
/backport to stable35 |
Member
Author
|
Also needs a backport to stable34, but let's see whether the backport to stable35 applies cleanly first. Also the backport to stable34 needs the etag/mtime early return in assertNoOutsideConflict() removed as well according to Claude. Will look into this later. |
Since conflicts are no longer reported by the sync endpoint, a save rejected because the file changed outside of Text returned 409 with the outside content, but SaveService ignored it. The editor kept retrying silently and the changes were never saved. Emit a SAVE_COLLISION error so the conflict resolution dialog is shown. Refs: #9236 Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: Jonas <jonas@freesources.org> Assisted-by: ClaudeCode:claude-opus-5-5
mejo-
force-pushed
the
fix/external_changes_conflict
branch
from
November 3, 2026 21:35
652dd19 to
9a0ae56
Compare
max-nextcloud
approved these changes
Nov 4, 2026
3 tasks done
Member
Author
|
Backport to stable34: #9539 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📝 Summary
See commit messages for details.
Fixes: #9236
🏁 Checklist
npm run lint/npm run stylelint/composer run cs:check)🤖 AI (if applicable)