← Connection and sync — never pretend to be online · all tasks
Observability — the connection indicator, and the phone that reports its own diagnostics
connection-and-sync/004 · created 2026-08-18 · updated 2026-08-19
What to do
- HUD: a small connection indicator (green LIVE / amber STALLED with seconds / red DEAD). Tap → a panel: both channels’ states, last-frame age, unacked count and age, RTT, Area, build id, and a Send diagnostics button.
client_report(authed, director channel): the last ~200 lines of a client-side ring buffer (CLIENT_EVENTs, state transitions,OS.get_name(), build commit) — sent on tap and automatically onDEADand on give-up. The director logs it as[client-report account=… platform=… build=…]+ lines and keeps the last N per account fornpm run client-reports. This is what replaces plugging the phone into adb.- Server side: a periodic per-peer counters line (frames sent / failed, last rx age).
Definition of done
The fake director in the harness receives a report after an induced DEAD; the indicator shows
the right colour in each state in _shots.gd; npm run client-reports prints the last report.
Where the work lands
land-of-lor/game/world/client/, game/director/src/, game/director/cli-test-client/.
View source in repository · also available as raw markdown.