Skip to content

incremental collaboration sync with targeted bootstrap#1081

Open
hweihwang wants to merge 1 commit intomainfrom
feat/incremetal-sync-improvements
Open

incremental collaboration sync with targeted bootstrap#1081
hweihwang wants to merge 1 commit intomainfrom
feat/incremetal-sync-improvements

Conversation

@hweihwang
Copy link
Copy Markdown
Contributor

@hweihwang hweihwang commented Mar 9, 2026

Problem

Whiteboard collaboration was rebroadcasting too much scene data, and incremental sync bookkeeping could miss or misclassify element updates.

What Changed

  • websocket scene sync now sends incremental SCENE_UPDATE payloads when only part of the scene changed
  • incremental broadcast markers now track both version and versionNonce
  • marker state only advances for elements that were actually transmitted
  • the syncer still performs periodic full-scene healing and late-join convergence via full SCENE_INIT rebroadcasts
  • pending websocket sync is flushed on unload / hidden / unmount so trailing edits are not dropped
  • added integration coverage for incremental bookkeeping and marker updates

@hweihwang hweihwang force-pushed the feat/incremetal-sync-improvements branch 2 times, most recently from b95f4aa to fff5e76 Compare March 30, 2026 11:15
@hweihwang hweihwang changed the title incremental scene sync with socket-scoped leader incremental scene sync Mar 30, 2026
@hweihwang hweihwang force-pushed the feat/incremetal-sync-improvements branch 2 times, most recently from 495dbf5 to 359fa23 Compare March 30, 2026 12:55
@hweihwang hweihwang marked this pull request as ready for review March 30, 2026 12:56
@hweihwang hweihwang force-pushed the feat/incremetal-sync-improvements branch 2 times, most recently from 4d12410 to b1c380a Compare March 30, 2026 13:51
@hweihwang hweihwang force-pushed the feat/incremetal-sync-improvements branch 2 times, most recently from d665eb6 to abe90f6 Compare March 31, 2026 14:10
@hweihwang hweihwang changed the title incremental scene sync incremental collaboration sync with targeted bootstrap Apr 1, 2026
@hweihwang hweihwang force-pushed the feat/incremetal-sync-improvements branch 5 times, most recently from 5b07050 to d819a0c Compare April 2, 2026 08:00
@blizzz blizzz added enhancement New feature or request 3. to review labels Apr 2, 2026
@hweihwang hweihwang force-pushed the feat/incremetal-sync-improvements branch 2 times, most recently from aa9ffb8 to 5e63350 Compare April 2, 2026 09:52
@hweihwang hweihwang linked an issue Apr 14, 2026 that may be closed by this pull request
@hweihwang hweihwang force-pushed the feat/incremetal-sync-improvements branch from 5e63350 to 619af97 Compare April 14, 2026 09:45
@samin-z samin-z self-requested a review April 22, 2026 11:19
@hweihwang hweihwang force-pushed the feat/incremetal-sync-improvements branch from 619af97 to 6876ebf Compare April 22, 2026 13:23
@hweihwang hweihwang force-pushed the feat/incremetal-sync-improvements branch 2 times, most recently from 4d64d31 to b79c4ec Compare April 23, 2026 12:16
Signed-off-by: Hoang Pham <hoangmaths96@gmail.com>
@hweihwang hweihwang force-pushed the feat/incremetal-sync-improvements branch from b7dabc4 to cc6492f Compare April 23, 2026 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

High network bandwidth usage when using websocket server Switch whiteboard collab to Excalidraw-style incremental scene sync (stop full-scene spam)

2 participants