Repository navigation
fix(sidebar): attach workspace hover previews to the row - #26942
Conversation
|
Bead |
c43d58c to
f647359
Compare
|
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)
red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 2289f95 to compare; do not merge until green; see lane-rules |
Sidebar-Look: no visual change; regression coverage for Leo’s workspace preview gap. Agent-Session: https://cmux.com/deeplink/agent?id=aid-f0e2e06c2fc61fa2b914
db450ef to
dab7acc
Compare
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
dab7acc to
9b4b32c
Compare
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
|
Review (codex gpt-6-astra high, next-review): SHIP at 6287fdf No blocking findings. Reviewed the supplied diff and source files. Native tests were not run; additional repository reads were denied by the tool approval policy. |
|
Orphaned: no activity for 14 h, and no lane holds a lease on it. The orphan sweep could not merge |
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
|
Found 6 test failures on Blacksmith runners: Failures
|
|
Owned by an agent session · session |
The workspace preview now touches its row while the update card retains one device pixel of spacing. Assert each intended placement independently. Sidebar-Look: no visual change Agent-Session: https://cmux.com/deeplink/agent?id=aid-acedf8848325f4f883bb
|
For awareness: #27562 takes the other approach to the gap between the sidebar rows and the main pane. It adds the gutter strip to the sidebar (the container is one gutter wider and the window's sidebar pins subtract it, so the pane does not move) instead of moving the hover card over the drag thumb. Leo, 2026-10-29: "NOT MOVE / ADD THE FUCKING AREA TO THE SIDEBAR TO THE RIGHT". The two overlap on where the hover card sits next to the row. |
|
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/40958608185 at 4d84096 failed: cmux-next checks (god files, concurrency, crash safety, l10n). |
|
For the nx-sidebar lane, on Leo's pictures for "add the area to the sidebar to the right" (his words: "chatgpt, claude, us — let's be more like chatgpt"). Target, from ChatGPT's hovered row:
Ours shows a big, bright ✕ instead. Proposal: one PR, built in #27562. I'll replace its current pane-reach approach. #27561 already owns the trailing control geometry, so the muted, inset icon follows from it. #26942 stays yours for the hover-card anchor. If you are already building this, reply here within about 10 minutes and I'll close #27562 instead. With no reply, I'll go ahead in #27562. |
|
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/40959656345 at b844975 failed: cmux-next checks (god files, concurrency, crash safety, l10n). |
Resolve the generated defaults snapshot from current base sources while retaining the default-off rich-details setting and the existing #26942 anchor behavior. Sidebar-Look: no visual change Agent-Session: https://cmux.com/deeplink/agent?id=aid-585d2523f6018bb56480
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Final landing verification
Final head
f3769628205cedb74e2f2131d6b974cd21c29552corrects the stale update-card parity test: the update card retains its one-device-pixel gap, while workspace previews touch their rows. The earlier broad exit 143 is not classified as a base red; focused execution below supplies the relevant final-head proof.Review (Sol): SHIP at
f3769628205cedb74e2f2131d6b974cd21c29552, complete final diff, no findings. Primary review confirmed the test-only delta and unchanged production blobs. Syntax and prepush pass.Matching nine-suite GUI runs completed through
scripts/ci/package-test-lane.sh, withgui-session-v1andCMUX_TEST_REQUIRE_GUI=1:f3769628205cedb74e2f2131d6b974cd21c29552, jobea94253eccc08490180c7e0c: 47 tests executed; eight suites passed. Workspace dismissal, pinned-row, rail, geometry, update-card gap, and dwell tests passed.2289f95c73d846c1761d3ca83ba94da658a14203, joba5c27017b724dcc8a9821d25: 47 tests executed; seven suites passed.movingDownPastTheRowsRightEndDismissesTheCard()fails on base and passes on head.SidebarOneMorphingCardTests:goingFromAWorkspaceCardToTheUpdateCardMorphsTheOneCard()andgoingFromTheUpdateCardToAWorkspaceCardMorphsBackAndParksTheHighlights()record empty animated sizes.scripts/ci/test_reds.py classifyreportsown: falsewith those exact two shared failures. Both runs completed all requested suites; no crash or cut-short result is excused.HomeChatColorsPanel.swiftandHomeChatColorsView.swift; the sources, checker and allowlist are identical at base and head.Summary
Workspace hover previews touch the drawn workspace row, before the sidebar resize/drag thumb. Pinned workspaces use their drawn pill. Horizontal pixel snapping goes toward the row so fractional coordinates leave no seam; top alignment, dwell and preview contents stay the same. Group/rail previews use zero gap at their existing column anchor.
Leo, 2026-10-28:
Folded into S2. Reference: the cmux NEXT hover-preview treatment in
cmux-design-references/apps/cmux/live/sidebar-hover-preview-session-list.png; keep our colours and glass. Non-sidebar update and PR cards retain their existing one-device-pixel gap.Testing
feat-cmux-nextat2289f95c73d846c1761d3ca83ba94da658a14203; then-reviewed headd3f0e0762a994eb63ff5cac70cb0d191e05775ce. The product diff has the same stable patch ID as the previously reviewed fix. The only merge conflict was independent additions to the sidebar ownership notes; both were retained.d3f0e0762a994eb63ff5cac70cb0d191e05775ce, whole final diff, no findings. Base hover sweep behavior is preserved.scripts/ci/package-test-lane.sh suite Packages/macOS/CmuxNext HoverCardEscapeGeometryTests,HoverCardRowAlignmentTests,HoverCardWindowClampTests,SidebarHoverCardEscapeTests,PinnedRowHoverCardTests,SidebarRailHoverCardTests, through the fleet withgui-session-v1andCMUX_TEST_REQUIRE_GUI=1.5c46d28d158411204dc4b893atd3f0e076passed all six suites (exit 0).SidebarHoverCardEscapeTestsat pre-fix0fd91e18e1f85110f6a4bde9dc9d303cd06abfcd, jobde1fad7638ed726dc5a7c447, executed six tests and failed the no-gap assertions: card starts at 440.0 pt while the row ends at 438.5 pt, a 1.5 pt gap. This valid assertion receipt replaces the earlier GUI-session-loss runb4cae97fbc9fb0d2a101fa39.git diff --check, and the static prepush gate passed. Hosted static-check job has only the baseNo new SwiftUIfindings inHomeChatColorsPanel.swiftandHomeChatColorsView.swift; both offending files, checker and allowlist are byte-identical to the integration base. Hosted pushed-commit checks passed.Observed / Not run
Observed: final-head native test execution and independent whole-diff review. General local verification still reports localization debt; this PR changes no catalog, checker, rule or baseline inputs. The real before/after captures below remain bound to their stated original SHAs; no new capture was generated for this base merge. Product merge is governed by the exact-head review and focused head/base receipts below.
Risk: horizontal anchor and tracked hit geometry change for workspace previews. Existing screen clamps, top alignment, dwell and non-sidebar placement remain in use.
Captures
Real fleet captures use the same focused workspace-preview fixture and passed the mini privacy scan (no private terms).
After
steps-b280978dd1at6287fdf3b289(fleet buildb5aea4f557f42ad5dab0bff5, capture mini, privacy checked)Before
steps-b280978dd1at3a7653b054ed(fleet build9b15699f0e22c859756839ba, capture mini, privacy checked)Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Sidebar workspace and group hover previews now sit flush with the row's drawn fill instead of one device pixel outside the sidebar's edge, so each preview reads as one surface attached to the row.
.besidecards (update cards, pull request badges) keep their existing one-pixel breathing room.Written for commit d3f0e07. Summary will update on new commits.
Agent session: agent session
2026-10-29 landing evidence
d3f0e0762a994eb63ff5cac70cb0d191e05775ce: fleet step065089c9f6aca6e06b69082epassed all six focused hover-card suites (exit 0).2289f95c73d846c1761d3ca83ba94da658a14203: fleet stepca5a53fe4801f24192fda88bcompleted with only the existingSidebarHoverCardEscapeTestsandSidebarRailHoverCardsTestsbase failures; the other four suites passed.Agent session: agent session