Skip to content

Review follow-up 6: the matrix on desktop (table first, revision once, no clipped groups) - #65

Merged
jbspeakr merged 5 commits into
mainfrom
claude/project-thread-vu8gek
Oct 22, 2026
Merged

jbspeakr merged 5 commits into
mainfrom
claude/project-thread-vu8gek

Conversation

@jbspeakr

@jbspeakr jbspeakr commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

Requested by Jan · project thread

What this changes

Review follow-up 6, the matrix on desktop. Phones keep the follow-up 5 view; the only phone change is that the filter button moves into the head and the status key moves under the table.

Table first. The matrix comes straight after the head. The status key and the live count sit under the table, above the reading notes. "Filter and group" folds into one quiet button at the end of the head's meta line (as the standards map does); opened, it stays where it was and the form runs under the whole line.

The revision once. It is named only in the meta line ("Revision 2026-07-28 · current"). The lede says "the MCP Authorization specification", the link to the text reads "Specification text", and the published date shows only when it differs from the revision id (today they are the same date, so it said 2026-07-28 three times).

No more "Tra…". At 1440 px the table was 1344 px wide in a 1248 px frame: "Transport" was clipped at the frame edge and Delegation and Consent were hidden past it. On wide screens the table now fits the column. Its widths come from the group row: a group whose label is wider than its columns (data-narrow, from an estimate of the label's length) takes the label's width, and the other columns share the rest, down to a 2.25rem floor below which the frame scrolls as before (about 1100 px and narrower). The island redoes the sums when a filter changes which groups are narrow. Feature columns go from 48 px to about 39 px at 1440 px.

Tests. A new e2e test checks that at 1440 px the table fits its frame and no group label is clipped (it fails on main). tasks.md gets R-06.

Screenshots

From astro preview at 1440 px and 390 px (Pixel 7). "Below" is scrolled to the end of the table.

Before (main) After
desktop, light
desktop, dark
desktop, light, below the table
desktop, dark, below the table
phone, light
phone, dark

The screenshots were committed once for stable URLs and removed in the next commit, so the squashed diff carries no images.

Code checklist

  • pnpm check passes.
  • The page reads fully without JavaScript (the filter form still submits as GET).
  • Both themes checked.
  • No new dependency.
  • Screenshot baselines: matrix-light/dark/phone.png and status-shapes-*.png regenerated through the refresh-screenshots label.

🤖 Generated with Claude Code

https://claude.ai/code/session_01KerMxC6ZiZWQwLScvy8Ym4

The table comes straight after the head; the status key and the count sit
under it, and the filters fold into one button on the head's meta line.
The revision is named once. On wide screens the table fits the column:
a group whose label outgrows its columns takes the label's width, so the
clipped "Tra…" and the two groups hidden past the frame edge are gone.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KerMxC6ZiZWQwLScvy8Ym4
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KerMxC6ZiZWQwLScvy8Ym4
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KerMxC6ZiZWQwLScvy8Ym4
@jbspeakr jbspeakr added the refresh-screenshots Regenerate Playwright screenshot baselines with CI's Chromium and commit them to the PR branch label Oct 22, 2026 — with Claude
@jbspeakr jbspeakr self-assigned this Oct 22, 2026
Generated by the screenshots workflow for #65.
@github-actions github-actions Bot removed the refresh-screenshots Regenerate Playwright screenshot baselines with CI's Chromium and commit them to the PR branch label Oct 22, 2026
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KerMxC6ZiZWQwLScvy8Ym4

Copy link
Copy Markdown
Collaborator Author

CI on 79f0f97: the e2e tests pass now (the new baselines are in). The one red step is Lighthouse budgets on /mcp/: performance came out at 0.92, 0.88 and 0.92 against a 0.95 minimum, with total blocking time between 328 and 461 ms.

I checked whether this PR made /mcp/ slower. Lighthouse runs at phone width, and at that width this PR only moves the filter button and the status key. The new width rules apply only above 40rem.

  • I measured initial style and layout on a Pixel 7 with 4× CPU throttling, taking the median of 6 loads for each build. This branch took 1,746 ms of style recalculation and 409 ms of layout. Main took 2,033 ms and 323 ms. Combined, this branch is no slower than main.
  • A forced full relayout costs the same on both builds: about 165 ms on a phone and 108 ms on desktop.
  • Local Lighthouse runs on this container were too noisy to settle it either way: blocking time ranged 920 to 1,087 ms on main and 1,078 to 1,505 ms on this branch.

So I don't see a cause in this diff. I'm re-running the failed job once to check whether the score is just varying between runs. If it fails again, I'll treat it as a real regression and look further.


Generated by Claude Code

@jbspeakr
jbspeakr merged commit 17fc2f4 into main Oct 22, 2026
1 of 2 checks passed
@jbspeakr
jbspeakr deleted the claude/project-thread-vu8gek branch October 22, 2026 14:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants