Play UNI!

Changelog · v0.4.0

Contract-driven protocol and test suites

Changed

  • WebSocket actions generate from the contract, so adding one needs only a contract edit, and compression is on by default.
  • Lobby lookup and random number handling get cleaned up, and match saves from older schemas load gracefully.

Added

  • The backend gains a doctest suite for the engine, rules, and serialization.
  • The frontend gains a Vitest harness for lobby, game, and WebSocket behavior.

Fixed

  • Pending requests reject on disconnect, double submits are blocked, and reconnects stop re-registering listeners.
← All versions