webviews tests: six base reds on react-apps-check shards 1, 3 and 4 follow their changes
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.
| File | Cause | Fix |
|---|---|---|
markdown-selection-drag | Meta+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-selection | e98d3a1ad827 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-glyphs | 3207401535b6 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-layouts | It 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-obsidian | 452cce0e668a 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.findToolsandscreenshots.foldershave 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 atborder-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
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-dragpressesControlOrMeta+aso select-all works on the Linux CI runners' Chromium and WebKit.whats-new-text-selectionfollows the Updated card's headline layout (Nightly 路 Oct 19eyebrow, bullets after headline).status-glyphsexpects the attention dot for both waiting and done states, told apart by color, and probes its disc edges at 2x.narrow-layoutsraises 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-obsidiankeeps 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.