fix(rust): skip servers known down for a link code, hold syncs while offline (F6, F7) #23
Reference in New Issue
Block a user
No description provided.
Delete Branch "fix/protocol-13-step2-walk"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What & why
Two gaps the step-2 player walk found (2026-09-27, org lead in game on both rigs). Tracking: #21. Spec: docs PR (D186, D187).
F6 → D186 (org lead's option b). A code no recent issuer holds — every made-up one — was still asked of every other enabled server, so while any server was down the redeem waited out its whole timeout: 12 s on both rigs. The second pass now skips servers the board poll last saw without a connected game (
online: 0); they count asofflinewithout the wait. Issuers are still asked whatever their state, so a good code on a down server still answers "unsure". A failed state read asks everybody (slow, never wrong).F7 → D187. On Carbon a due audit permission sync went out the moment the sidecar reconnected, 80 s before "Server startup complete". The
worldReadyhold reads the stored hello, which is still the OLD boot's until the poll reads the new one.reasonToSyncnow also holds while the stored state says the game is not connected — the poll writesonline: 0the moment a server goes away.titleSyncalready held on it. A human's "sync now" is still not held.How it was tested
npm test(server): 405/405. New: four link-fleet tests (skip known-down, down issuer still asked → unsure, all-down → offline without asking, failed state read → ask all) and one F7 test (stale old-boot state withonline: 0held; back but loading held; ready →restart; up →audit; forced →requested).rust-carbonstopped too: 360 ms (was 12,245 ms).server.initialized08:17:27; first syncreason: restartat 08:18:12.Checklist
AI-assisted contributions (required)
Claude Code (Claude Opus 5.5). I have reviewed and understandevery change, and take responsibility for it. AI-authored commits are
marked with a
Co-Authored-By/Assisted-Bytrailer.License
(GNU GPL v3.0 or later), and I have the right to contribute it.
🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY