test(next): BrowserEntryRetirementTests compiles again (base red from #27166)

Closed
TE
8d ago
+8-2

Base red fix: CmuxNextAppTests does not compile on feat-cmux-next, so no suite in that target runs.

Tests/CmuxNextAppTests/BrowserEntryRetirementTests.swift:43:57: error: returning main actor-isolated '$0.some.chrome.some' as a 'sending' result risks causing data races

#27166's releasingAnEntryOffMainRetiresItsPageOnMain read the entry's chrome out of its Mutex (owner.entry.withLock { $0?.chrome }). Now the chrome goes into the window on main before the entry moves into its owner. The test is otherwise the same: the last reference is still released off main, and it still checks that the page is retired on main.

Found while running ChannelsPageStateTests for #27289: the fleet's package-test lane failed at this compile error, which has nothing to do with that PR.

Test: BrowserEntryRetirementTests and ChannelsPageStateTests are running on a fleet Mac (package-test-lane.sh suite); the result goes in a comment.

Agent session: agent session

šŸ¤– 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 a Swift 6 compile error in BrowserEntryRetirementTests that was breaking the entire CmuxNextAppTests target on feat-cmux-next.

The test previously read the entry's chrome out of its Mutex as a sending result, which the compiler rejected because the chrome is main-actor-isolated. The chrome now goes into the window before the entry moves into its owner; the test's behavior (releasing the last reference off main, checking that the page retires on main) is unchanged.