test(cmux-next): a closed sidebar row may park hidden in the list (base red)
SidebarInsertWhileDisplayAsleepTests (from #20663) fails on base on display hosts, at lines 103 and 163: leaving.allSatisfy { $0.superview == nil }.
Lawrence's 5763d7372701 ("a row view that scrolls away parks hidden in the list") changed SidebarListView.recycle. A recycled row now stays in the list with isHidden = true, and only a row in another superview or one the pool evicts leaves. A completed close therefore no longer means superview == nil. The two checks now accept either outcome of recycle: out of the list, or hidden in it. What the test guards is unchanged: a row that is still closing when the display sleeps has its completion run.
Testing
- Red: both tests fail identically on base, at a test-only commit on aws-m4pro-9 (fleet step
d5ec16f4a388, found while working on cx-y2uf5). - Green: fleet suites at this head on a display host (
--label steps-only).
Changelog
none
š¤ Generated with Claude Code
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes SidebarInsertWhileDisplayAsleepTests for SidebarListView.recycle now parking a closed row hidden in the list instead of removing it (5763d7372701), so a completed close no longer means superview == nil.
- A new
recycledhelper passes when a row is removed or hidden, and both completion checks use it. - The
leavingsetup now skips rows already recycled, so the setup no longer passes for a close that skipped its motion.