Repository navigation
fix(webviews): the agent-pane gallery test narrows its frame, so fast gates pass on base - #23334
teamleaderleo wants to merge 1 commit into
Conversation
… gates pass on base
`check:browser-lanes` fails on `feat-cmux-next` itself, which fails the "Fast
gates on the merge" step for every PR whose merge touches `webviews/`:
test/gallery-agent-pane-entries.test.ts:81: opens a gallery frame without
entryPath, so it loads every gallery entry
test/gallery-agent-pane-entries.test.ts:90: ...
Two PRs landed in an order that left this red, each fine on its own: #23237
added this test with the old `frame.html?entry=…` shape, and the
`support/galleryFrame` helpers plus the lane check that requires them arrived
separately. Nothing was wrong with either; the pair is what is red.
The test now builds its URL with `galleryFrame("agent-pane." + entry, { variant })`,
which adds the `entryPath` that narrows the page to the file defining the entry,
and warms through `warmGalleryFrame` instead of `warmViteServer` on the bare
frame. Warm-up is once per distinct entry rather than once per case, because an
entry's variants share its file and the frame's own modules are cached after the
first load.
That is also the point of the check it was failing: the bare frame starts every
`*.gallery.ts(x)` file's load, about 2,300 modules, and warming it transforms
them all again — the cold load that timed out markdown-selection-drag (#23080).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15cb8-bbf0-7010-8d04-f9f2c0cb55df&host=big-red
|
Owned by chat-open-perf-6c on big-red · session |
|
Bead |
|
Closing this: the base red it fixes was already fixed on Everything else in this branch is cosmetic churn against another lane's landed work (an |
check:browser-lanesfails onfeat-cmux-nextitself, which fails the Fast gates on the merge step for every PR whose merge toucheswebviews/. I hit it on #23131 and traced it to base, not to my branch.The red
Two landed PRs are each fine alone, and the pair is red: #23237 (
c1d4c231c63e7) added this test using the oldframe.html?entry=…shape, and thesupport/galleryFramehelpers plus the lane check that requires them arrived separately. No one did anything wrong — this is the same cross-PR interaction shape as #23281/#23286 earlier today, where two individually-correct merges combine into a red.Evidence it is base and not a branch of mine: the file is byte-identical to base in the worktree where I found it (
git diff origin/feat-cmux-next -- webviews/test/gallery-agent-pane-entries.test.tsis empty), none of my commits touch it, and this branch is cut fromorigin/feat-cmux-nextwith that one file changed.The fix
galleryFrameadds theentryPaththat narrows the page to the file defining the entry, which is the whole point of the check it was failing: the bare frame starts every*.gallery.ts(x)file's load — about 2,300 modules — and warming it transforms them all again. That cold load is what timed outmarkdown-selection-drag(#23080).Warm-up is now once per distinct entry (9) rather than once per case (13), because an entry's variants share its file and the frame's own modules are cached after the first load. The browser launches before the warm-up so it can be reused, rather than the helper starting a Chromium of its own.
Verification
bun run check:browser-lanes→Browser test lane imports checked.(it is the failing check, and it now passes)bun run checkinwebviews/— the whole gate CI runs, all green: layers, type-scale, status-glyphs, system-blue, text-focus, dialog-keys, switch-fetches, catalog-keys,vp check(2148 files correctly formatted,no warnings, lint errors, or type errors in 2080 files), acpmux protocol codegen current.Observed / Not run
Observed: the two commands above; the CI failure itself in the
fast gateslog of #23131 (web lint failed on the merge with base fb47146247e7);git diff origin/feat-cmux-nexton the test file, empty, proving the violation is base content;git logattributing the file to #23237;support/galleryFrame.tsread in full, which is where the per-entry warm-up andentryPathbehavior above come from.Not run: the browser test itself.
gallery-agent-pane-entries.test.tsgates onrequireBrowserLaneand self-skips outside CI or a Freestyle VM, and I did not force it past that guard on this host. So the behavior change I cannot show locally is the warm-up:warmGalleryFramefails the warm-up if a stage does not mount, wherewarmViteServeron the bare frame did not load the stages at all. If one of the nine agent-pane entries is already failing to mount, this PR surfaces it as a warm-up failure instead of a per-case failure. That is what this PR's ownreact-apps-checkshard runs, and I am waiting for it to come back green before merging rather than merging on the lint check alone.Changelog
none
🤖 Generated with Claude Code
Agent session: big-red
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes the
check:browser-lanesgate that fails on the basefeat-cmux-nextbranch by updating the agent-pane gallery test to use thegalleryFramehelper, which narrows the frame to the entry's file instead of loading every gallery entry.Written for commit d9052af. Summary will update on new commits.