You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
An interesting solution would be to use a proxy server that accepts long-polling and connects to HocusPocus via Websockets (this way we don't need to change HocusPocus and / or rely on them merging the changes). That's what @AntoLC will investigate in the next few weeks.
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
Environment
Possible Solution
Additional context/Screenshots
Add any other context about the problem here. If applicable, add screenshots to help explain.
The text was updated successfully, but these errors were encountered: