Repository navigation
cmux-next sidebar: drag a workspace onto another to group them - #17552
Conversation
Leo 2026-10-06: dropping a workspace on another did nothing, and reorder against drop-on was far too sensitive. The pointer's quarters reorder, its middle half groups after a dwell with a wider hold band; a drop on a row makes a named, colored group and renames it in place, on a group header joins it, and Cmd-Z puts the rows back. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The pointer's place in the row under it decides: the outer quarters reorder, the middle half groups after a 275 ms dwell and holds until the pointer leaves a wider band, so reorder and group never flicker. A drop on a loose row makes a named, colored group and starts its rename; a drop on a group header or grouped row joins that group. Esc cancels, Cmd-Z puts the rows back. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ebar-merge-drag-group # Conflicts: # Packages/macOS/CmuxNext/Sources/CmuxNextSidebar/Strings.swift
…he merge Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Not verified: macOS jobs did not run: compile and app tests were skipped on CI passes on Written by |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Batch queue: dropped from batch
Next: merge feat-cmux-next, resolve, push. |
…ebar-merge-drag-group Lawrence's centre band (spec 1780d02) now decides where a drop lands and whether a row can take an onto-drop; drag to group gates that band through the dwell, reads the card's centre, and reuses the base's New Group name. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Lawrence's spec 1780d02 (d3a3d65) groups as soon as the card's centre is in a loose row's onto band. The dwell is gone; the band's edges stay sticky once entered, which adds no delay. Group rows keep the leading-edge rule. The drop still names and colors the group, renames it in place, and Cmd-Z puts the rows back. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ebar-merge-drag-group
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A group made by a drop is still animating in when its rename starts, so the field took the view's in-flight frame and sat above the header. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ebar-merge-drag-group
|
Batch queue: green. Batch stack Next: land it yourself with gh-merge-green on this receipt. |
The header's hover refresh at the end of the landing animation showed its title again under the open field. The rename now starts after it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ebar-merge-drag-group
Bugbot is paused — on-demand spend limit reachedBugbot uses usage-based billing for this team and has hit its on-demand spend limit. A team admin can raise the spend limit in the Cursor dashboard, or wait for the next billing cycle to continue. |
… makes Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The home daemon creates the group under its own id, so the optimistic group the rename opened on vanished and left the field orphaned (or, once the rename waited for the landing, never opened). The rename now starts on the group the anchor row is in and moves to its replacement, keeping the typed text. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ebar-merge-drag-group
A 15% hold kept grouping where spec 1780d02 reorders (the card's centre at 20% of the row above). Five percent stops edge flicker without changing the reorder zones. The rename field check compares against the header's title, which sits off the row's centre. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ebar-merge-drag-group
|
Captures from a fleet build of this branch on a capture Mac (seeded with several workspaces, workspace-5 dragged onto the middle of workspace-4). Left to right: before the drag; the drop made a blue "New Group" with the rename field open on its header; "Infra" typed; Return commits it; Edit > Undo New Group puts the rows back. Full window after the drop: Before (the base with d3a3d65): the same drop makes a grey "New Group" with no rename field, and Edit has no Undo for it. That base run reused sidebar state left from an earlier run, so its frames aren't posted. |


Summary
Dropping a workspace on another now makes a proper group, on top of Lawrence's centre band (spec 1780d02, d3a3d65): the card's centre in the middle 30% to 70% of a loose row groups at once, above it the drop goes before the row, below it after.
The 275 ms dwell from the first version was dropped to match d3a3d65.
Testing
SidebarGroupBandTestsandSidebarOntoGroupTests: a loose row can take a group and group rows, pinned rows and other machines can't; the band groups with no dwell and its edges are sticky; a square drop makes a named, colored group that renames in place, and Cmd-Z undoes it; the top of a row reorders; Esc groups nothing; Cmd-Z takes a joined row back out.check-no-godfilesand the localization catalog check pass locally. "Move to Group" (the undo name) is translated in all 21 locales; the group name reuses the base'ssidebar.group.newName.Changelog
🤖 Generated with Claude Code