cmux NEXT Inspector Changes: Claude's rows, state by glyph, five then Show more

Merged
TE
15d ago
+834-63

First of three pieces for the Inspector's Changes card (rows, then cross-repo transcript detection, then the cached status path).

What

The Inspector's Changes card now draws its rows the way Claude Code desktop's does:

  • Each row is the pull request's title (one line, ellipsis; its owner pill beside it), then repo #N, its +adds -dels, a comment count with a speech-bubble icon when it has comments, and at the right end N failing in red or a small green dot when checks pass. Nothing shows when the App has not read its checks.
  • The state is shown only by the glyph's shape and color: open (green), merged (purple), draft (orange, base node crossed out), closed or conflicting (red, head crossed out). The "Merged" and "Closed" words are gone; the state name stays as a screen-reader label.
  • Open pull requests come first, then the merged and closed ones, newest first within each.
  • Five rows show, then Show more / Show less (the list no longer scrolls in its own box).
  • A row's click opens the pull request beside the chat; Cmd-click still follows the link. The ⋯ menu (Open Beside Chat, Copy Link, Copy Reference) is unchanged.

InspectorPullRequestStatus gains mergeable (the header's pull request already carries it) and comments, which the status path fills in a later PR.

Changelog

  • Changed: The Inspector's Changes card shows a pull request's state by its icon instead of a word, puts open pull requests first, and shows five rows before Show more.

Tests

  • New webviews/test/chat-inspector-changes.test.tsx: glyph and data-state per state with no state word on the line, the line's order (ref, counts, comments, checks), the green dot, Show more / Show less at five, a row click opening beside the chat, and the order (open first, then ended).
  • webviews/test/chat-inspector.test.tsx: the nine-PR test now expects five, then all nine after Show more, the merged one last.
  • Gallery: agent-pane.chat-inspector fixture now has eight pull requests across three repositories (a draft, one with conflicts, a closed and two merged); new variant changes-all opens Show more.

Observed / Not run

  • Ran scripts/web-lint.sh (passed after --fix formatting) and prepush-gate.py (no new violations); fleet cmux-ci compile-check --app passed on each head.
  • Not run locally: bun test (local test runs are not allowed on this Mac); CI's webview tests run them.

No capture: webview-only change; the gallery before/after (Linux gallery build, agent-pane.chat-inspector) is below.

Before / after

Before (base, the full gallery state): the state word, one list that scrolls, no comments.

before

After (full): five rows, Show more, state by glyph.

after

After Show more (changes-all), dark and light: open (green), draft (orange), conflicting and closed (red), merged (purple).

after all dark
after all light

Agent session: cosmic-gray

🤖 Generated with Claude Code