Repository navigation
base red: four window-opening suites close their windows (.closesItsWindows) - #29544
Conversation
…esItsWindows WindowCleanupCoverageTests.everySuiteThatOpensAWindowClosesWhatItLeaves fails on base: PaletteLargeTextTests, SidebarFoldKeyboardTests, WorkspaceTabHoverCardContrastTests and PageWebViewFocusViewChangeTests open windows without the trait. PaletteLargeTextTests also only ordered its palette panels out (hide()), never closed them; it now closes them with closeForTest(). The other three close their windows in a defer, so a failed #require no longer leaves one open. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-1cbee5d64df6fedeb009
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Shipped in:
|
|
Owned by an agent session · session |
|
Found 3 test failures on Blacksmith runners: Failures
|
|
Review (codex, router-review): SHIP at 7f07196 Reviewer: codex gpt-6.1-sol xhigh, fast tier. Follow-ups: 1. Each lands as an issue in this repo that links this receipt; the lane that opened the PR fixes it forward. SHIP at 7f07196 Visual verdict: no images; Leo tries the build No correctness findings. Follow-ups:
|
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Review (next-review patch-id; carried): SHIP at 02b0112 The independent SHIP at 7f07196 carries to this head: the PR's own change ( |
|
Review (next-review patch-id; carried): SHIP at 700dc73 The independent SHIP at 7f07196 carries to this head: the PR's own change ( |
|
Review (next-review patch-id; carried): SHIP at c0e697e The independent SHIP at 7f07196 carries to this head: the PR's own change ( |
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
The desk's ask: "Add
.closesItsWindowsto the @suite of PaletteLargeTextTests, SidebarFoldKeyboardTests, WorkspaceTabHoverCardContrastTests and PageWebViewFocusViewChangeTests. Make sure each suite really closes what it opens; if one leaks on purpose, fix the leak instead."Summary
This PR fixes a base red.
WindowCleanupCoverageTests.everySuiteThatOpensAWindowClosesWhatItLeavesfails on feat-cmux-next. It names four suites, all landed 2026-10-31, that open windows without.closesItsWindows:CmuxNextPaletteTests/PaletteLargeTextTests(cmux NEXT: palette search field and rows grow with large text (Fixes #26606) #26621)CmuxNextAppTests/SidebarFoldKeyboardTests(fix(sidebar): include disclosure rows in keyboard navigation #27961)CmuxNextAppTests/WorkspaceTabHoverCardContrastTests(Sidebar: hover card tab paths read in dark themes #29458)CmuxNextPagesTests/PageWebViewFocusViewChangeTests(Fix desync after Cmd-N: a late Chromium page gets the keys through the focus model; G1 counts cmux pages #29272)The failure is in run 41219252754, job 124604477110 (#28605, which changes no Swift, so its Swift suites are the base's). The test failed at
WindowCleanupCoverageTests.swift:33with those four offenders.Changes
.closesItsWindows(andimport CmuxNextTestSupport).PaletteController.hide()only orders the panel out, so each test left its palette panels open. The test now uses the target'scloseForTest()(hide, then close the panel), as the other palette suites do. Its host windows usecloseAfterTest().defer, so a failed#requireno longer leaves one open. WorkspaceTabHoverCardContrastTests resolves its theme before it makes the window, so a throw there leaves nothing open.Why it matters: the cut-short swift test
The
cmux-next swift testbroad pass is cut short at its 1500 s whole-run limit (exit 143). That is main-thread starvation in the one shared test process, from windows piling up. In run 41219252754:CA::Transaction::flush, thenNSDisplayCycleFlush, then-[NSWindow layoutIfNeeded], deep in sidebar view layout (SidebarIconButton.layout).This is a partial fix. It stops these four suites from adding windows, and the trait now fails any of them by name if it leaves one. The structural fix is #29490 (carry of #26809): it runs the main-thread-heavy suites in their own processes and shards the broad pass. Until #29490 lands, this PR's own swift test may still be cut short at 1500 s.
Testing
python3 scripts/cmux-next/prepush-gate.py: no new violations.cmux-next swift testjob is the check: WindowCleanupCoverageTests should pass, and each changed suite should report no window leak.Changelog
none
Agent session: agent session
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Makes the four window-opening test suites on
feat-cmux-nextdeclare.closesItsWindowsand actually close what they open, fixing theWindowCleanupCoverageTestsfailure.PaletteLargeTextTestsgenuinely leaked:hide()only orders the palette panel out, so it now usescloseForTest()like the other palette suites.defer, but a failed#requirecould leave one open; they now close viacloseAfterTest().WorkspaceTabHoverCardContrastTestsalso resolves its theme before making the window.This is also a partial fix for the
cmux-next swift testrun being cut short at its 1500 s limit, since the window pile-up starved the main thread.Written for commit c0e697e. Summary will update on new commits.