-
Notifications
You must be signed in to change notification settings - Fork 408
Closed
Description
Bug Report
Problematic behavior
A user that blocks websockets that is working on a collaborative documents will overide the other user content (or his content will get erased) when refreshing the page.
This is an issue because the user without websockets saves automatically in the Django data base.
Expected behavior/code
I shouldn't overide content when collaborating.
Steps to Reproduce
- Disable web sockets
- Open 2 tabs with the same doc (or share the link with someone with websockets)
- Write content on the 3 first blocks on both tabs
- Wait 30 sec and refresh the page
- See that one version was kept over the other one. One was overidden.
Environment
- Impress version:
- Platform:
Possible Solution
- Detect when a user doesn't have access to web sockets and display a banner "Your laptop configuration prevents live collaboration, if you continue editing the document you might override others' work and vice versa.
- The banner should be displayed when the doc is shared (specific invite + link sharing + edit permission)
- We could disable auto-saving if the user is disconnected from websocket and add a manual saving button that syncs the edits and does a merge
- Attributing a version to a user we could see if the user editing is the one who last saved
- The hocus pocus server could be configured in a way where it centralizes the edits and prevent conflicts
- Add long polling support when we detect there are no web sockets support
Additional context/Screenshots
Add any other context about the problem here. If applicable, add screenshots to help explain.
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Done