Repository navigation
Conversation
…e request The header joined raw device-ids and the message request named the requester by device-id, bypassing the naming convention every other peer-bearing surface uses.
…th peer tables A device that has not dismissed it sees a walkthrough of connecting, the directory, why discovered peers wait for an explicit connect and what works offline, reopenable from the header. Search matches every term case-insensitively across the messages and readable notices of all conversations, newest first and bounded, and opens the conversation a result belongs to. On a phone-width viewport each peer table row stacks into a labelled card instead of a row of columns. An end-to-end spec checks the intro persists across a reload and that the directory stacks on a phone and keeps its columns on a desktop.
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. |
# Conflicts: # ts/packages/web-console/src/components/DiscoveredPeersPanel.tsx # ts/packages/web-console/src/components/RoomPanel.tsx # ts/packages/web-console/test/App.unit.test.tsx
…have, without dash separators
# Conflicts: # ts/packages/web-console/README.md # ts/packages/web-console/src/components/ConnectionPanel.tsx
… conversation header and search results
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.
Stacked on #307 (base is
feat/console-activity, so CI does not run for this PR; verification was local, including the Playwright suite).Three pieces of the usability work. A device that has not dismissed it sees a first-run walkthrough covering connect, the peer directory, why discovered peers wait for an explicit Connect, and what works offline; "Got it" is remembered in the console's own storage (
preferences-store.ts) and a "How this works" button in the header brings it back. Search covers the messages and readable notices of every conversation: every term must match, case-insensitively and in any order, results are newest first and capped, each names its conversation through the naming convention and highlights the match, and clicking one opens that conversation. On a phone-width viewport each row of the directory and discovered-peers tables stacks into a labelled card (stackedTableinApp.css.ts, driven by adata-labelon each cell), and the app shell breaks long addresses instead of widening the page.Search runs over the conversation state rather than scanning IndexedDB a second time. That state is the
message-store.tshistory restored at start-up plus every message that has arrived since, and it is also where the notices each board has read live, which are not in the message store, so one pass covers stored messages, live messages and notices. The cost is that search sees only what the console has loaded, which today is everything it has stored.A commit here also fixes the conversation header and the message request banner, which still showed raw device-ids after the naming change in #305.
The Playwright suite was run for the first time at this point in the stack (it needs a built node and a real browser), and it showed that two of the earlier PRs broke existing specs. #306's first-use certificate prompt blocks the pinned-address specs until accepted, and #307's activity view hides the raw frame log that the reconnect specs count handshakes in. The fixes were committed to those PRs' own branches and merged up into this one, and this branch passes the whole suite, including a new
onboarding-mobilespec that checks the intro persists across a reload and that a directory cell isdisplay: blockat phone width andtable-cellat desktop width (it fails when the stacking class is removed). The same commit set also makes one #307 unit test independent of interval timing, which was flaky under load.Not done: nearby-node discovery on the LAN, which the issue says waits for local nodes to advertise. It is tracked in #309. The containers E2E and the offline containers E2E were not run here (they need Docker); the offline spec was updated for the trust prompt by reading it, not by running it.
Fixes #298