test(web-console): add a real UI-level room-messaging e2e test, skipped - #111
Merged
Conversation
Drives the actual App/ConnectionPanel/RoomPanel components across two independent browser instances -- connect, see the peer, click Message, approve, send, and confirm the message renders on the other side -- rather than webrtc.spec.ts's own bare-harness page. Skipped: running it confirmed relay-hub never forwards a received gossip peer-advert to any other connected client, so two consoles on the same relay never populate each other's directory at all. Filed as wire-mesh#110, blocking wire-mesh#101. Unskip once #110 lands -- this test drives the real UI throughout and never depends on the device-id-exchange workaround webrtc.spec.ts's own harness uses, so it should pass unmodified against the real fix.
Mearman
marked this pull request as ready for review
September 13, 2026 07:59
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Investigating wire-mesh#101 (extend the e2e harness to prove room.join/room.send over a live connection through the real UI).
Wrote the real test -- two independent Chromium instances, each its own persisted identity, driving the actual App/ConnectionPanel/RoomPanel components: connect, see the peer in the directory, click Message, approve on the other side, send, confirm it renders.
Running it surfaced a genuine gap rather than a test bug: relay-hub never forwards a received gossip peer-advert to any other connected client (handleFrame's gossip branch only registers the device for its own relay-connect lookups, then returns). Two consoles connected to the same wire-mesh-node relay never populate each other's directory at all -- confirmed directly, both sides' frame logs show their own self-advert sent and nothing received back. webrtc.spec.ts's own harness only works around this by exchanging device-ids directly between the two Playwright page contexts in the test process itself, not something a real end user's UI can do.
Filed as #110, blocking #101. This PR just adds the test, skipped with a reference to #110 -- unskip it once that lands, and it should pass unmodified since it drives the real UI throughout.