fix(front): validate game state messages - #102
Merged
Merged
Conversation
Deploying knucklebones with
|
| Latest commit: |
f7490a5
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://1971be0a.knucklebones-8ep.pages.dev |
| Branch Preview URL: | https://runtime-game-state-validatio.knucklebones-8ep.pages.dev |
* feat(common): version game state messages * feat(game): use versioned state messages * fix(worker): reject invalid plays (#104) * feat(game): validate plays * fix(worker): reject invalid plays * fix(worker): reject client websocket messages (#105) * feat(game): version state mutations (#106) * feat(game): add state revisions * feat(worker): increment state revisions * fix(front): ignore stale game states * feat(worker): create player identities (#107) * chore(worker): configure player databases * feat(common): add player credentials contract * feat(worker): create player identities * fix(ci): keep d1 migrations out of deploy * feat(front): bootstrap player identity (#108) * feat(front): bootstrap player identity * refactor(front): remove legacy name ids * feat: authenticate player mutations (#109) * feat(worker): authenticate player mutations * feat(front): send player credentials * feat: authenticate websocket sessions (#110) * feat(common): add websocket ticket contract * feat(worker): authenticate websocket sessions * feat(front): connect with websocket tickets * feat: transfer player identities (#111) * feat(common): add player transfer codes * feat(worker): verify transferred identities * feat(front): add identity transfer controls * feat: make game mutations idempotent (#112) * feat(worker): make game mutations idempotent * feat(front): retry game mutations safely * feat: add ranked player profiles (#113) * feat(common): add elo rating model * feat(worker): add ranked player profiles * feat: add ranked matchmaking queue (#114) * feat(common): add matchmaking contracts * feat(worker): add ranked matchmaking queue * fix(worker): parse game settings query parameters * fix(front): restore friendly player names * test: add automated test suite (#116) * chore(test): configure automated test runners * test(common): cover rules and message contracts * test(front): cover player identity lifecycle * test(worker): cover identity and matchmaking APIs * test(e2e): cover game and identity flows * ci(test): run suites before deployment * fix(common): isolate deserialized game state * test(front): cover reconnect and request failures * test(worker): cover security and matchmaking edges * test(e2e): cover reconnect and localization
Poooel
added a commit
that referenced
this pull request
Aug 1, 2026
* fix(worker): return structured errors * fix(front): validate game state messages (#102) * feat(common): add game state schema * fix(front): validate game state messages * feat(game): version game state messages (#103) * feat(common): version game state messages * feat(game): use versioned state messages * fix(worker): reject invalid plays (#104) * feat(game): validate plays * fix(worker): reject invalid plays * fix(worker): reject client websocket messages (#105) * feat(game): version state mutations (#106) * feat(game): add state revisions * feat(worker): increment state revisions * fix(front): ignore stale game states * feat(worker): create player identities (#107) * chore(worker): configure player databases * feat(common): add player credentials contract * feat(worker): create player identities * fix(ci): keep d1 migrations out of deploy * feat(front): bootstrap player identity (#108) * feat(front): bootstrap player identity * refactor(front): remove legacy name ids * feat: authenticate player mutations (#109) * feat(worker): authenticate player mutations * feat(front): send player credentials * feat: authenticate websocket sessions (#110) * feat(common): add websocket ticket contract * feat(worker): authenticate websocket sessions * feat(front): connect with websocket tickets * feat: transfer player identities (#111) * feat(common): add player transfer codes * feat(worker): verify transferred identities * feat(front): add identity transfer controls * feat: make game mutations idempotent (#112) * feat(worker): make game mutations idempotent * feat(front): retry game mutations safely * feat: add ranked player profiles (#113) * feat(common): add elo rating model * feat(worker): add ranked player profiles * feat: add ranked matchmaking queue (#114) * feat(common): add matchmaking contracts * feat(worker): add ranked matchmaking queue * fix(worker): parse game settings query parameters * fix(front): restore friendly player names * test: add automated test suite (#116) * chore(test): configure automated test runners * test(common): cover rules and message contracts * test(front): cover player identity lifecycle * test(worker): cover identity and matchmaking APIs * test(e2e): cover game and identity flows * ci(test): run suites before deployment * fix(common): isolate deserialized game state * test(front): cover reconnect and request failures * test(worker): cover security and matchmaking edges * test(e2e): cover reconnect and localization
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.
Summary