Skip to content

fix(sidebar): unify pinned hover geometry on the drawn pill - #27585

Merged
teamleaderleo merged 7 commits into
feat-cmux-nextfrom
lane/fix-26942-pill-panel-frame
Oct 29, 2026
Merged

teamleaderleo merged 7 commits into
feat-cmux-nextfrom
lane/fix-26942-pill-panel-frame

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

Pinned workspace geometry still exposed two different anchors: the drawn pill for the card controller and the full layout cell from the shared list helper. The list anchor now returns the pill, and the hover band delegates to it. A regression checks the actual panel.cardFrame against the pill’s trailing edge on show and after the pill moves, including the panel’s exact escape anchor. Screen clamping may determine the panel’s top.

Requested scope:

Implement the confirmed exact-head review fix for cmux PR #26942: pinned hover cards must use the drawn pill frame for actual panel placement and follow-up geometry, not the full layout-cell bounds. Add a regression that asserts panel.cardFrame follows the pill.

Started from exactly d3f0e0762a994eb63ff5cac70cb0d191e05775ce; resolved head e2fc6cd278cc7d9d77b9549e7352b0064ac05d14. The product delta is two files, 29 additions and 7 deletions; the pushed head is a normal merge of origin/feat-cmux-next at 4400b7aaeff30033fd6aeebc5be288218ce488d7. This branch carries the original #26942 commits because the requested starting head is retained.

Source tracing at that starting head found that the controller already supplied the pill to both panel.present and panel.follow. The contradictory list helper and its incomplete test are the changes here; this PR does not claim a reproduced panel-placement failure at that head.

Verification

Focused fleet command: cmux-ci run --class light --script scripts/ci/package-test-lane.sh --ref SHA --arg=suite --arg=Packages/macOS/CmuxNext --arg=PinnedRowHoverCardTests --env CMUX_TEST_REQUIRE_GUI=1 --label gui-session-v1 --key KEY.

  • RED — Regression commit ba1a6ba4100937f7ac16e39e05c3725f2fd73bee: fleet job 8f54b51318b2ea42cb143786 completed with exit 1; 5 tests executed with one expected failure at PinnedRowHoverCardTests.swift:123, where the shared anchor used cell bounds instead of the drawn pill.
  • GREEN — Pre-merge head 5f7a6f7048a3602d7691de7fdeeb1fdb28f1b50b: fleet job 321e9ae0652a2f7a0845bfae passed all 5 tests with identical test source, including thePanelFollowsThePinnedPill (exit 0).
  • Resolved head e2fc6cd278cc7d9d77b9549e7352b0064ac05d14: exact-head focused fleet job d8a0c839f28441caa41f9ac5 is submitted after the normal base merge; it is queued while the refreshed head checks run.
  • git diff --check and python3 scripts/cmux-next/prepush-gate.py --base d3f0e0762a994eb63ff5cac70cb0d191e05775ce passed with no new violations.
  • Independent Astra review: SHIP at 5f7a6f7048a3602d7691de7fdeeb1fdb28f1b50b, complete two-file delta plus coordinator/panel paths; no correctness findings.

Observed / Not run

Native package test compilation and all 5 focused tests passed on the pre-merge head through the fleet. Old-source comparison job 8f54b51318b2ea42cb143786 is terminal RED (exit 1) at PinnedRowHoverCardTests.swift:123: the shared anchor was (200.0, 244.0, 240.0, 24.0) while the drawn pill was (206.0, 244.0, 228.0, 24.0). The identical pre-merge test passed all 5 tests in job 321e9ae0652a2f7a0845bfae. Resolved-head job d8a0c839f28441caa41f9ac5 is queued; the PR head checks have refreshed with 34 passed, 0 failed and no required failures. Static verification ran; localization reports existing catalog debt and this VM has no swiftc. An independent source review confirmed that actual panel placement at the requested starting head already used the pill.

No capture: this consolidates equivalent placement paths and corrects the unused cell-bounds helper without changing the currently drawn panel. The actual panel regression provides geometry evidence; no before/after screenshot is presented as evidence of a visual change.

Risk: the shared pinned-row anchor now describes the drawn fill. Listed workspace and group anchor behavior is preserved.

Changelog

Fixed: Pinned workspace hover-card geometry uses one drawn-pill anchor, with coverage of actual panel placement and following.

Agent session: agent session

Sidebar-Look: no visual change; regression coverage for Leo’s workspace preview gap.
Agent-Session: https://cmux.com/deeplink/agent?id=aid-f0e2e06c2fc61fa2b914
Sidebar-Look: Leo: "the gap between the hover preview and ... the workspace sidebar element thingy". Touch the row before the drag-out thumb; snap inward so fractional edges leave no seam.
Agent-Session: https://cmux.com/deeplink/agent?id=aid-f0e2e06c2fc61fa2b914
Sidebar-Look: no visual change; align pointer escape with the new drawn-fill placement. Exercise vertical dismissal on the list side, outside the now-flush preview.
Agent-Session: https://cmux.com/deeplink/agent?id=aid-f0e2e06c2fc61fa2b914
Preserve the row-fill and pinned-pill no-gap anchors while retaining current-base hover sweep behavior.

Sidebar-Look: no visual change from the reviewed preview placement fix
Agent-Session: https://cmux.com/deeplink/agent?id=aid-acedf8848325f4f883bb
@github-actions github-actions Bot added the risk:normal Risk tier (docs/ci/risk-tiers.md) label Oct 29, 2026
Check actual panel placement and following against the narrower drawn pill, with exact escape anchors. Allow the screen clamp to choose the panel top. Require the shared list anchor to use the same pill.

Agent-Session: https://cmux.com/deeplink/agent?id=aid-3b3e9f142f8f98e4f658
Use the drawn pill for the workspace anchor and delegate its hover band to the same geometry. Exact-head tracing shows the controller already used the pill band for panel placement and following; this removes the stale cell-bounds helper and adds actual-panel coverage in the preceding commit.

Sidebar-Look: no visual change
Agent-Session: https://cmux.com/deeplink/agent?id=aid-3b3e9f142f8f98e4f658
@teamleaderleo
teamleaderleo force-pushed the lane/fix-26942-pill-panel-frame branch from 5a4c266 to 5f7a6f7 Compare October 29, 2026 21:14
@github-actions

github-actions Bot commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

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

Review e2fc6cd: 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=pr27585 -f ref=lane/fix-26942-pill-panel-frame -f platform=macos -f backend_mode=local

red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 4400b7a to compare; do not merge until green; see lane-rules

@teamleaderleo
teamleaderleo marked this pull request as ready for review October 29, 2026 21:41
@teamleaderleo
teamleaderleo merged commit b666cb8 into feat-cmux-next Oct 29, 2026
170 of 185 checks passed
@teamleaderleo
teamleaderleo deleted the lane/fix-26942-pill-panel-frame branch October 29, 2026 22:41
@github-actions

github-actions Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

This branch was previously deployed

1 inactive deployment
ci-routing-agent — e2fc6cd2 Deployed Oct 29, 2026 by teamleaderleo via wait for same-key tree publisher #78455
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant