Skip to content

cmux NEXT tests: resting in the hover slot needs no timer to show no card (base red) - #23550

Merged
teamleaderleo merged 1 commit into
feat-cmux-nextfrom
base-red-hover-slot
Oct 21, 2026
Merged

teamleaderleo merged 1 commit into
feat-cmux-nextfrom
base-red-hover-slot

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Base red: SidebarHoverCardEscapeTests/restingInTheSlotShowsNoCard fails on feat-cmux-next. The error is at SidebarHoverCardEscapeTests.swift:133: Caught error: no timer went to sleep on the manual clock within 2.5 s.

The test rests the pointer in the empty slot beside a workspace row. It expects no hover card to show after the hover delay. The test came from #22473, when that point still started a hover timer: the sidebar margin hit-tested as the row, and the slot logic refused the card when the timer fired. Since then the row's hover stops short of the margin, so the slot starts no card and no timer at all. That is the behaviour the test wants. But the test called clock.waitForSleeper() first, and that throws when no timer sleeps. So it failed before it could check that no card shows.

The fix is in the test only. It waits out the delay only when a card is pending (coordinator.machine.activeTarget != nil), and checks that no card shows either way.

Changelog

none

Testing

Focused command: cmux-ci run --class light --script scripts/ci/package-test-lane.sh --ref <sha> --label ci-steps --label suites --arg suite --arg Packages/macOS/CmuxNext --arg SidebarHoverCardEscapeTests

  • Red on base e9590e0 (fleet step 613a8a8c, aws-m4pro-8): restingInTheSlotShowsNoCard fails at :133 with the error above; the other 6 tests pass.
  • Green on head 4cba4a7 (fleet step 476e2677, aws-m4pro-9): all 7 tests pass.

There is no separate failing-test commit: the red is the existing test on base.

Observed / Not run

No capture: test-only change, no UI changes.

🤖 Generated with Claude Code

Agent session: cosmic-gray


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Fixes SidebarHoverCardEscapeTests.restingInTheSlotShowsNoCard on feat-cmux-next, which failed because it called clock.waitForSleeper() when the slot now starts no hover timer at all. The test now waits out the hover delay only when a card is pending (coordinator.machine.activeTarget != nil) and checks that no card shows either way.

Testing

  • Red on base e9590e04: the test fails with no timer went to sleep on the manual clock; the other 6 tests pass.
  • Green on head 4cba4a75: all 7 tests pass.
  • Test-only change, no UI changes.

Written for commit 4cba4a7. Summary will update on new commits.

View guided diff

…card

The slot beside a workspace row starts no hover card any more (the row's
hover stops short of the sidebar's margin), so restingInTheSlotShowsNoCard
failed on waitForSleeper before it could check that no card shows. It
waits out the delay only when a card is pending.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15ce6-07ef-7c43-8bd7-9f20d4c93180&host=cosmic-gray
@teamleaderleo teamleaderleo added the risk:low Risk tier (docs/ci/risk-tiers.md) label Oct 21, 2026
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Owned by browser-pip on cosmic-gray · session

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-w7fvi created for this PR by the cmux coordinator.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Review (subagent, correctness first): SHIP at 4cba4a7

updateHover sets .pending synchronously (the coordinator drains machine.reduce before it returns), so a margin that hit-tests as the row again takes the timer path and fails if a card shows; an idle machine can never reach .show. Test-only; the red on base and the green on head are fleet steps 613a8a8c and 476e2677.

@teamleaderleo
teamleaderleo merged commit 2c03e30 into feat-cmux-next Oct 21, 2026
@teamleaderleo
teamleaderleo deleted the base-red-hover-slot branch October 21, 2026 16:21
@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Review 4cba4a7: HQ feed card · gallery before/after runs · checks

App of this head (app.zip, kept 1 day)

gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr23550 -f ref=base-red-hover-slot -f platform=macos -f backend_mode=local

Not verified: macOS jobs did not run: compile and app tests were skipped on 4cba4a75a6; ci-status is green without them.

CI passes on 4cba4a75a6 (run 39633772513 attempt 1).
macOS jobs did not run: compile and app tests were skipped: Fast static checks skipped (the macos job needs both to succeed). Re-run CI once they pass, before merging.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

Tour of 4cba4a75a6 (run): no media. The tour job failed before the tour ran (build or setup); the run log has the output.

@github-actions

github-actions Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

This branch was previously deployed

1 inactive deployment
ci-routing-agent — 4cba4a75 Deployed Oct 21, 2026 by teamleaderleo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk:low Risk tier (docs/ci/risk-tiers.md)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant