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
@@ -60,6 +60,12 @@ func test_websocket_event_validation_requires_contract_specific_fields() -> void
assert_true(ControlPlaneClient._valid_websocket_event(assignment), "complete assignment event is accepted")
assignment.erase("server_id")
assert_true(not ControlPlaneClient._valid_websocket_event(assignment), "incomplete assignment event is rejected")
var fractional := envelope.duplicate()
fractional["revision"] = 1.5
assert_true(not ControlPlaneClient._valid_websocket_event(fractional), "fractional event revision is rejected")
var negative := envelope.duplicate()
negative["revision"] = -1
assert_true(not ControlPlaneClient._valid_websocket_event(negative), "negative event revision is rejected")
func test_websocket_reconnect_defers_recovery_while_http_mutation_is_in_flight() -> void: