Skip to content

Conversation

@max-nextcloud
Copy link
Collaborator

Ensure the browser broadcast does not lead to out of sync docs.

If a tab fails to send a step over the network
it may still distributes it to a different tab / window
via the browser broadcast.

That other window will include the step in the yjs history
without forwarding it to other parties.

From that point on all changes in the second tab
will depend on the step that other clients did not receive.

Therefore these changes will not be applied at other parties.

To prevent this scenario disable browser broadcast completely.

Ensure the browser broadcast does not lead to out of sync docs.

If a tab fails to send a step over the network
it may still distributes it to a different tab / window
via the browser broadcast.

That other window will include the step in the yjs history
without forwarding it to other parties.

From that point on all changes in the second tab
will depend on the step that other clients did not receive.

Therefore these changes will not be applied at other parties.

To prevent this scenario disable browser broadcast completely.

Signed-off-by: Max <[email protected]>
@max-nextcloud
Copy link
Collaborator Author

/backport to stable30

@max-nextcloud
Copy link
Collaborator Author

/backport to stable29

@max-nextcloud
Copy link
Collaborator Author

/backport to stable28

@max-nextcloud max-nextcloud disabled auto-merge October 1, 2024 07:05
@max-nextcloud max-nextcloud merged commit 89a977c into main Oct 1, 2024
@max-nextcloud max-nextcloud deleted the fix/no-browser-broadcast branch October 1, 2024 07:05
@max-nextcloud
Copy link
Collaborator Author

cypress failures are unrelated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants