Repository navigation
cmux-tui: a tab group closed with its terminals reopens as its group (cx-gzh.31) - #20868
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ps for reopen (cx-gzh.31) A close records every live tab group holding a closing tab (directly, or in a closing screen or workspace) on its closed-history group, naming the group's closed tabs. Reopen forms each group again around the tabs it brought back, or adds them to the group if it is still open. Close Group now goes through the same capture, which replaces its separate attach step; records stored with the older single tab_group still reopen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- A group row a screen, pane or workspace close left behind is not live: reopen forms the group again instead of adding to a group whose pane is gone. Every strip edit prunes such rows before it runs, so the id is free again. - Capture the groups before capture_workspace forgets which closing workspaces are ephemeral, so incognito group names are never recorded. - Record only memberships of tabs still in their group's pane. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…group (cx-gzh.31) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…for reopen (cx-gzh.31) The batch close wrote the pruned tab groups before the resource patch, so the patch's closed-history capture no longer saw the group. Write them after the patch instead. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
teamleaderleo
temporarily deployed
to
cmux-tui-merge-tree
October 15, 2026 03:24 — with
GitHub Actions
Inactive
|
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 |
teamleaderleo
temporarily deployed
to
artifacts
October 15, 2026 03:45 — with
GitHub Actions
Inactive
teamleaderleo
temporarily deployed
to
artifacts
October 15, 2026 03:48 — with
GitHub Actions
Inactive
Collaborator
Author
|
Merging at exact head a62cd6a.
|
This branch was previously 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.
Summary
Close Group with
end_terminals: truegoes through the batch close path. That path wrote the pruned tab groups before applying the resource patch, so when the patch's closed-history capture (#20736) ran, the group's rows were already gone. No group was recorded, and Cmd-Shift-T brought the tabs back loose.topology_close_store.rsnow writes the pruned groups afterapply_resource_patch(in the same transaction), so the capture still sees them.Testing
060490fb09e0,a_tab_group_closed_with_its_terminals_reopens_as_its_groupfailed on Linux in hosted run 38647639219 ("the reopen formed no group").793cc1b14307, hosted run 38650152032 (filtertab_group) passed it on Linux and macOS, along with the other tab-group reopen tests.Changelog
Fixed: Closing a tab group together with its terminals keeps the group for Reopen Closed.
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes tab groups being lost when closed together with their terminals, so Reopen Closed restores the group instead of loose tabs.
Closing a tab group with
end_terminals: truetakes the batch close path, which wrote the pruned tab groups before applying the resource patch. The patch's closed-history capture then no longer saw the group, and reopening brought the tabs back without a group. The fix writes the pruned groups after the patch in the same transaction, and adds a regression test covering the reopen-as-group behavior.Written for commit a62cd6a. Summary will update on new commits.