mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-12 21:42:02 +00:00
fix(multiplayer): enforce client state transitions
This commit is contained in:
@@ -1538,3 +1538,5 @@ The Godot client now defers reconnect-triggered authoritative recovery when an H
|
||||
The Godot queue projection now includes the contract's `ACCEPTED` ticket phase. Accepted events are no longer rejected as an unknown state; the UI keeps the accepted status visible and proceeds through allocation recovery. State and WebSocket vocabulary tests cover the transition.
|
||||
|
||||
The queue projection now also accepts the contract's post-allocation/result states (`ASSIGNED`, `RESULT_PENDING`, and `COMPLETED`). These states remain visible, cannot issue queue cancellation, and completed matches return the search action to a valid new-search state; adversarial lifecycle and WebSocket vocabulary tests cover them.
|
||||
|
||||
Client ticket updates now enforce the versioned legal transition graph as well as revision ordering. Same-state heartbeat revisions remain valid, while higher-revision jumps and rewinds request authoritative recovery without mutating the visible phase; adversarial tests cover both boundaries.
|
||||
|
||||
Reference in New Issue
Block a user