fix(multiplayer): validate client revisions

This commit is contained in:
Josh Creek
2026-09-01 21:59:32 +01:00
parent f491725144
commit a60c1a097e
5 changed files with 35 additions and 4 deletions
+2
View File
@@ -1542,3 +1542,5 @@ The queue projection now also accepts the contract's post-allocation/result stat
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.
Reconnect recovery now treats `COMPLETED` as terminal, avoiding a needless queue read after a finished match. UI policy tests cover the complete expanded lifecycle, including the completed-to-new-search boundary.
Ticket, proposal, and WebSocket revisions now fail closed unless they are finite, non-negative integers; fractional values are no longer silently truncated into valid revisions. Adversarial client tests cover fractional and negative inputs.