Repository navigation
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WCDKezjgyg5tNHbFrWuJTQ
…it is used Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WCDKezjgyg5tNHbFrWuJTQ
…d says when it was used Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WCDKezjgyg5tNHbFrWuJTQ
…elayed Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WCDKezjgyg5tNHbFrWuJTQ
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WCDKezjgyg5tNHbFrWuJTQ
|
Review (cold read, The change does what the plan says and nothing more: every agreed string is verbatim, the relay line sits where agreed, the chip's long/short forms and
|
…elay was tried only once it was Answers review findings 1 and 2 on #3401. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WCDKezjgyg5tNHbFrWuJTQ
|
Answers to the review of
Full gate and the play-together Playwright spec (10/10) are green on |
|
Review (follow-up, delta Finding 1 addressed: New in the delta (suggestions, neither blocks merge):
|
… with it Answers the follow-up review on #3401. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WCDKezjgyg5tNHbFrWuJTQ
|
Answers to the follow-up review of
Both are small and self-contained, so no further review round. The full gate is green on |
…osing the page does not wait on it Over UDP, Chrome keeps retrying the TURN allocation and the context's teardown outlasted the 45 s test timeout on CI (run 41091902968). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WCDKezjgyg5tNHbFrWuJTQ
…wn past the timeout Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WCDKezjgyg5tNHbFrWuJTQ
Bead: nr-1wbx — Players whose networks cannot connect directly play a network game through the relay.
What changes
liaison.tsreads the room's TURN relay (iceServers) fromcreatedandjoined, untrusted: only TURN servers with credentials are kept; anything else is dropped and the room works directly.peer_link.tsgives each connection outpost's STUN plus the room's relay (WebRTC still prefers a direct path), and once the channel opens readsgetStats(isRelayed) so the link says whether it went through the relay. Both sides agree.session.tspasses the relay of the current room to both connections, and its view saysrelayOffered(which can't-connect message) andrelayed.docs/ui/nr-1wbx-relay.html: the new address line; the blue relay line under the response time; chip "Connected · Relayed · NN ms" / "↪ NN ms"; relay too-slow advice; and the two can't-connect messages (no relay available / even through NESER's relay).Validation
pnpm test: 1110 passed.pnpm run build:wasm && pnpm run typecheck: clean.smoke-port -- pnpm exec playwright test web/integration/specs/play-together.integration.spec.ts: 10 passed, including the new "liaison offers a relay, two players who can reach each other connect directly and nothing says Relayed"../scripts/gate-full.sh: passed.Deviations from the plan
aria-label"Connected · Relayed · NN ms" rather than a visually hidden span; the plan's Decided by me was amended to match.🤖 Generated with Claude Code
https://claude.ai/code/session_01WCDKezjgyg5tNHbFrWuJTQ