webviews tests: six base reds on react-apps-check shards 1, 3 and 4 follow their changes

Merged
TE
16d ago
+62-20

react-apps-check shards 1, 3 and 4 fail on every feat-cmux-next push and on every pull request. Six of their files fail on the base for reasons on the test or gallery side, and this fixes those six. It changes no shipped page or app code.

FileCauseFix
markdown-selection-dragMeta+a on the Linux runners' Chromium and WebKit isn't ProseMirror's Select All, because Mod is Ctrl there.ControlOrMeta+a, as the other browser tests already press.
whats-new-text-selectione98d3a1ad827 made the top change the Updated card's headline and spelled the eyebrow Nightly 路 Oct 19.The test drags the headline, reads bullets 0 and 1, and looks for Oct 19.
status-glyphs3207401535b6 and 301bd2794ea1 replaced the talk bubble with the attention dot for a wait.The Codex set's expected glyphs include the second dot. The wait and done dots are told apart by color, not shape, and the sheet's 2x edge probes follow the disc.
narrow-layoutsIt takes about 195 s, and the per-file default of 120 s killed it on CI after six of seven tests.// cmux-web-test-timeout: 300, the runner's own per-file header.
composer-type-scale (model-menu-starred)75bc9406caf7 (#22226) removed the harness rail, and with it the Starred tab, from a started chat's model menu. The gallery variant still showed a finished chat.The variant shows a chat before its first send, where the rail stays.
markdown-table-obsidian452cce0e668a moved table column widths to the host (cmux.markdown.setTableWidths, then tableWidths in the config). The gallery's markdown host had neither, so a reload forgot the widths.The gallery host keeps them in the tab's session storage.

The other three files on those shards are left for their owners because they need an app or design decision:

  • categories.test.ts (settings lane): screenshots.findTools and screenshots.folders have no Settings category.
  • agent-pane-no-capsules: the Cards New Tab template (9215b25d8a75, now the default) draws .nt-box, the mode track, its thumb and buttons, and the selected chats tab at border-radius: 999px. Either the template or the rule has to change.
  • new-tab-warm-first-frame: on the Cards template the first frame doesn't show the host's device chat. Moving it into the three newest (2 h old) didn't help, so this looks like app behavior and not the fixture's age.

Verification

I ran each file in its own process with the CI-pinned bun 1.4.2, CMUX_BROWSER_TESTS=1 and the bundles from scripts/ci/ensure-web-bundles.sh.

On base 86ddaa9b849d:

whats-new-text-selection   4 pass  4 fail
composer-type-scale       40 pass  1 fail
markdown-table-obsidian    6 pass  2 fail
status-glyphs              3 pass  9 fail
markdown-selection-drag   14 pass  2 fail
narrow-layouts             7 pass  0 fail  [194.53s; over the runner's 120 s default]

The same files fail on CI in feat-cmux-next push runs 39408668053 and 39408771127. In those runs narrow-layouts shows as TIMEOUT.

On head 0a4382f0ac3f:

whats-new-text-selection   8 pass  0 fail
composer-type-scale       41 pass  0 fail
markdown-table-obsidian    8 pass  0 fail
status-glyphs             12 pass  0 fail
markdown-selection-drag   16 pass  0 fail
narrow-layouts             limit 300 s

Other files that use the gallery's markdown host also pass on head: markdown-wide-table-scroll, markdown-table-scroll-cases, markdown-omnibar-file, markdown-width-field and markdown-selection. The six whole-tree checks that only fail for a PR's own files pass with CMUX_PR_CHANGED_FILES set to this PR's files. vp fmt --check and vp lint on the six files are clean.

Risk

risk:medium by path, because it touches webviews/src/. Only the gallery fixture and the gallery host change there.

Proof

Not UI: four of the changes are tests only. The other two are the dev gallery's composer.gallery.ts variant and its mock markdown host (src/gallery/frame/pages.ts), and neither ships in the app.

Changelog

none

馃 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes the six react-apps-check shards 1, 3 and 4 failures on feat-cmux-next that were red on its base, without changing shipped app or page code.

  • markdown-selection-drag presses ControlOrMeta+a so select-all works on the Linux CI runners' Chromium and WebKit.
  • whats-new-text-selection follows the Updated card's headline layout (Nightly 路 Oct 19 eyebrow, bullets after headline).
  • status-glyphs expects the attention dot for both waiting and done states, told apart by color, and probes its disc edges at 2x.
  • narrow-layouts raises its per-file timeout header to 300 s because it takes about 195 s.
  • composer-type-scale (model-menu-starred) shows a chat before its first send, where the harness rail and Starred tab stay.
  • markdown-table-obsidian keeps table column widths in the gallery host's session storage so reloads don't forget them.

Three other failing files on those shards are left for their owners because they need app or design decisions.