[FIX] Guard userdata submitOp when document does not exist#2008
Merged
[FIX] Guard userdata submitOp when document does not exist#2008
Conversation
When the collab server fails to create the user_data document during subscribe, the load event fires with a null type. Previously this caused a cascade of ShareDB errors on every camera movement. Skip syncing when the document is missing and guard submitOp against a null type. Also move the op listener outside the load handler to prevent duplicate registrations on re-fetch.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PLAY-CANVAS-G2X7 — 102 events in
release:2.20.*What's Changed
user_dataShareDB document fails to be created during subscribe, theloadevent fires with a null type. Previously,userdata.tswould still create anObserverSyncand start forwarding ops, causing every camera movement to produce aShareDBError: Cannot submit op. Document has not been created— resulting in bursts of 20-30 errors per affected user.loadhandler to skip emittinguserdata:rawwhen!data.type(document missing), preventing the sync from starting on a broken document.submitOpwith!userData.typeas a belt-and-suspenders check for transient null-type states.oplistener registration outside theloadhandler to prevent duplicate listeners ifloadfires more than once (e.g., after a ShareDB rollback + re-fetch).Checks