Repository navigation
cmux NEXT: draggable Session Info cards and shared edge treatments - #26720
teamleaderleo wants to merge 69 commits into
Conversation
…session-info # Conflicts: # webviews/src/agent-session/acpmux/direct.ts # webviews/src/agent-session/acpmux/inspector/ChatInspector.gallery.tsx
…es-ui-work # Conflicts: # webviews/src/agent-session/acpmux/direct.ts # webviews/src/agent-session/acpmux/subagents/subagentFold.ts # webviews/src/agent-session/acpmux/summary/SummaryBody.tsx # webviews/src/agent-session/acpmux/summary/sessionSummary.ts # webviews/src/agent-session/acpmux/summary/transcriptPullRequests.ts
…es-parser # Conflicts: # webviews/test/transcript-pull-requests.test.ts
…es-ui-work # Conflicts: # webviews/src/agent-session/acpmux/inspector/ChatInspector.tsx # webviews/src/agent-session/acpmux/summary/SummaryBody.tsx # webviews/src/agent-session/acpmux/summary/SummaryCard.tsx
|
For awareness: Leo (2026-10-29) asked for Session Info to be "LITERALLY … THE EXACT SAME … AS BEFORE BUT NOW YOU CAN … CLICK AND DRAG TO REARRANGE". #27291 does only that: hover-revealed six-dot handles in the existing left padding, drag or Up/Down Arrow to reorder within each block, order kept per user in localStorage, and a Chromium pixel test that the panel is byte-identical before any hover. No card restyle, edge blur or shimmer. #27268 reverts #26988's summary card. This PR stays open with its owner. |
|
Bead |
|
Review (codex gpt-6.1-sol high fast, review-router; run by a backlog lander, relayed): BLOCK at aa01c65
|
|
For awareness: #29021 builds Session Info drag reordering across all sections (one order, migrated from the per-block key, animated lift and slide, keyboard kept). It keeps sections boxless (session-panel.md), so it doesn't use this PR's cards. It credits this PR's approach. |
|
Orphaned: no activity for 13 h, and no lane holds a lease on it. The orphan sweep could not merge |
|
Owned by an agent session · session |
|
Superseded by the current feat-cmux-next Session Info implementation. #29021 already landed the boxless drag reordering; #31741 landed the Session Info edge fade; and #31752 landed the slower Session Info shimmer. The native inspector-order setting in this branch is disconnected from the UI/localStorage and is obsolete on the current native Session Info tree, so this PR is closed rather than rebased into redundant work. |
Status: Session Info cards, edge fade, and running-row shimmer await Astra review and gallery verification.
Leo asked for “separate rounded cards” in Session Info that “can be clicked and dragged to reorder,” with the order persisted per user and keyboard reordering accessible. This stacked PR keeps the floating panel and existing contents, adds native handle drag plus Arrow-Up/Arrow-Down movement, and persists the section order.
Leo also asked for “subtle but nice but integrated” blur fading at the sticky Outputs and Session Info headers. The shared
ui-scroll-edge-fadeCSS component uses the foundations token contract (--cmux-scroll-edge-band: 16px,--cmux-scroll-edge-blur: 8px,--cmux-scroll-edge-opacity: 0.82) with reduced-transparency solid fallback and no scroll JavaScript. Gallery variants cover subtle, balanced (chosen), and roomy treatments.Leo clarified the running treatment: “the thinking shimmer works like that, and then the session reel, it asks for it to also have that. I like that. Although I think it could maybe be a bit slower on the session info region.” Session Info task and server rows now use the existing shared
cmux-waveshimmer with a slower 2.4s chosen duration; 2.0s and 3.0s alternatives are in the gallery. The tray remains on its existing 1.6s wave.Gallery evidence:
agent-pane.chat-inspectorvariantscards-balanced,edge-balanced, andwave-balanced(with quiet/roomy spacing, subtle/roomy edge, and 2.0s/3.0s wave alternatives). Before/after captures are generated from the gallery states for light and dark review.Scroll-edge captures (base before vs this PR after; real rendered Outputs rows at scroll 0 and scrolled, light and dark):
Before —
feat-cmux-nextAfter —
93fef04f80cd6538b3746526cc61c6e28befd568Persistence now uses a stamped string-list value (
@cmux-order/v1/<time>/<writer>plus the section IDs) in native settings and the local fallback. Every pane applies only newer revisions; RPC acknowledgements never apply order payloads and clear only the matching fallback stamp. The native config-file actor compares and publishes atomically. Native file-watcher edits, including an edit retaining an old stamp or deleting the key, become a fresh stamped order (deletion becomes a stamped default) and reach open panes; a newer stamped peer write is accepted without restamping, while stale writes restore the held value. Reset All writes a newer stamped default, so delayed writes cannot restore the old order. Legacy arrays remain readable.Validation:
bun run typecheck,check:fixed-waits,check:layers, andcheck:design-tokenspass.scripts/web-lint.shpasses; typecheck covers 2,903 files.aa01c65396a2f41df8692e6db57e4d4b277c0737in fleet receipt38c4e496516c0a7cde1ab102:InspectorOrderRevisionTests,AgentPaneDisplaySettingTests, andResetAllRetiredKeysTestsall passed.Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Turns Session Info's fixed section blocks into separate rounded glass cards users reorder by dragging a keyboard-focusable six-dot handle or pressing Arrow-Up/Arrow-Down, with the order persisted through a hidden native setting edited by dragging the cards themselves. Adds a shared CSS-only blur fade for the sticky Outputs and Session Info headers, and slows the running-row shimmer in Session Info to a calm 2.4s while the tray keeps its 1.6s wave.
ui-scroll-edge-fadecomponent is driven by the--cmux-scroll-edge-*tokens, needs no scroll listeners, reveals only after a card's own content scrolls, stays hidden while its disclosure is folded, and falls back to a solid reduced-transparency surface.glance,rules, andgroupslayouts remain in the gallery, along with subtle, balanced (shipped), and roomy variants for cards, edge, and wave.Written for commit 9a8b0d0. Summary will update on new commits.
Agent session: agent session