test(acpmux): column-edges lets a full queue scroll, so it holds on CI's fonts

Merged
TE
15d ago
+18-3

Problem

agent-pane-column-edges.test.ts is red on every base react-apps-check run since 05:07Z, including after c3639759a8b (for example 194c879d10c, job):

agent-pane.composer:queued-steering @420 queue room -26px

It passes on huge-blue and on land-and-ci's host, so a local run reads as green. CI's font wraps the Steering prompt ("Stop and fix the space thing first") to two lines at 420px, so that row is 44px instead of 26px. The queue's rows then run to 150px, past its 132px cap, and ComposerQueue's fitList rests the list on the third queued row and scrolls. That is the designed behavior for a full queue. The check measured the last row in the DOM, which a scrolled list keeps out of sight on purpose, so it reported -26px.

Change

  • Test only, webviews/test/agent-pane-column-edges.test.ts: a queue that doesn't scroll still keeps its 4px of room under the last row. A queue that scrolls must end on a whole row: its last shown row ends at the list's edge, within 1px. The failure message says when the list scrolls.
  • The first commit tried a header-height check (a font-sized header was my first guess). CI on that commit kept the header at 20px and still failed, which ruled it out, so the second commit drops it.

Changelog

none

Observed / Not run

  • CI on the first commit a2ce2ded2a7 (current tip, unchanged queue check): red with the same offender, job. The header check didn't fire.
  • Local repro of CI's wrap: in a copy of the test with the queue's font forced to Unifont (it wraps the prompt as CI's font does), the base test reports queued-steering @420 queue room -26px (list 120px, content 150px, last row 120 to 146px). This head passes 2/2 with Unifont and 2/2 with huge-blue's fonts (CMUX_BROWSER_TESTS=1 bun test test/agent-pane-column-edges.test.ts).
  • Not run yet: CI on this head (pending at the time of writing).
  • scripts/web-lint.sh: only the base HistoryPage.tsx prefer-tag-over-role warning (#22966). Pushed with CMUX_WEB_LINT_SKIP_REASON naming it.

Agent session: huge-blue

🤖 Generated with Claude Code