Move panes between Workspaces by drag, context and dor - #887
Merged
Merged
Conversation
Consolidate the move coordinator's consent, endpoint and close paths, rechecking both Walls after every await; flush both Walls together and publish the response once. Hold Window writes with a flag rather than a frozen snapshot, and fence Workspace saves through `serialize`. Measure drag targets once per gesture through the shared tab-element helpers and touch the highlight only when the target changes. Share the closed-select key handling with the browser-actions picker, parse the dor destination in one helper, and replace repeated spec rules with pointers to layout.md. Add a regression test for an iframe that appears during the persistence flush: dor refuses and the GUI prompts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # scripts/spec-word-budgets.json
Deploying mouseterm with
|
| Latest commit: |
47c5883
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://936462a6.mouseterm.pages.dev |
| Branch Preview URL: | https://pane-workspace-move.mouseterm.pages.dev |
dormouse-bot
approved these changes
Oct 1, 2026
nedtwigg
requested a deployment
to
hosted-preview
October 1, 2026 23:25 — with
GitHub Actions
Waiting
This branch is waiting to be deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Panes and minimized Surfaces can now move to another Workspace by dragging to its tab, or to
+for a new Workspace. Terminal and Tool contexts also offer a Workspace picker; browsers use dragging.dor move <surface> <workspace>anddor move <surface> --newexpose the same operation.Moves preserve terminal Sessions and reconnect agent-browser Surfaces. Plain iframes reopen at their saved URL after a Window-wide typed confirmation; dirty or pending Tools refuse the move. Membership, refs, activity projections, and persistence move together, with rollback before commit and protection against stale saves. Moved terminals explain the new ref scope and stable-ID usage. A sole Surface cannot create an equivalent new Workspace.
The title explanation is separately changed to a bug icon directly beside the title, including VS Code.
Validation:
pnpm testandpnpm build.builtin:fileeditor refreshes when clean and refuses a move with unsaved edits./simplify; reviewed and tested the resulting changes.