text
text copied to clipboard
enh/y indexeddb
- wip: try y-indexeddb
- chore(split) useIndexedDbProvider from Editor.vue
- fix(cron): do not reset document
- enh(yjs): store baseVersionEtag alongside doc
- Fixes: #7415
TODOs
- [x] Think through other file operations.
- [x] Typing without network, closing the editor, opening it again: no content lost
- [x] After closing and opening the editor, undo history is empty
- [ ] Add
base_version_etagas custom property to IndexedDB- [x] After loading document from IndexedDB, send
baseVersionEtagas part of create request - [x] In case of conflict, use existing manual conflict handling
- [x] After manual conflict handling, reset y-indexeddb provider for document
- [x] Fix endless reload loop when base version has been cleared:
- Open file with version in indexed db but on a different
baseVersionEtag. - Different versions are detected. Reload button is offered.
- Reload does not change the indexed db content - so conflict persists.
- Open file with version in indexed db but on a different
- [x] migrate change mime type test to playwright
- [x] debug failing change mime type test.
- [ ] make bc channel depend on base version etag.
- [ ] Test... start editing offline, overwrite file in other tab, see what happens when getting back online @max-nextcloud
- [x] After loading document from IndexedDB, send
- [ ] Opening editor: steps from IndexedDB that didn't get sent to server yet need to get pushed
- [ ] Opening editor: when steps from IndexedDB didn't get sent to server yet, unsaved changes should be indicated and saved
- [x] cleanup yDoc file server-side when file is deleted @mejo-
- [ ] cleanup client side state for deleted files
- [ ] config flag
Codecov Report
:x: Patch coverage is 52.83019% with 25 lines in your changes missing coverage. Please review.
:loudspeaker: Thoughts on this report? Let us know!
- [x] cleanup yDoc file server-side when file is deleted @mejo-
Turns out this already happens and we don't have to change anything: https://github.com/nextcloud/text/blob/ce8ca645ab64cbf5c0de56fe214bb04d4dfee25b/lib/Listeners/BeforeNodeDeletedListener.php#L42