Repository navigation
cmux-tui: closing a screen, pane or workspace keeps its tab groups for reopen (cx-gzh.31) - #20736
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>
|
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 |
This comment has been minimized.
This comment has been minimized.
- 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>
|
The review subagent found defects in
Not covered here (already a gap before this PR): |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Passes: CI passes on CI passes on Written by |
- cargo fmt in Native/OptChat/optchat-chief Autofix-Run: https://github.com/manaflow-ai/cmux/actions/runs/38652086305
|
Merging at exact head 8c2bb84. Every check on this head is green.
|
|
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/38677180348 at 70edcd5 failed: cmux-next Release compile (Xcode 26). |
Summary
Until now, only Close Group kept its group in closed history (#20630, #20723). If you closed a screen, pane or workspace, or closed a group's last tab, the groups inside were dropped, and Cmd-Shift-T brought the tabs back loose.
capture_closednow records every live tab group that holds a closing tab, whether the tab closes by itself or inside a closing screen or workspace. Each group goes on the closed-history record as an entry intab_groups, naming only its closed tabs in strip order. Groups in ephemeral (incognito) workspaces are never recorded. The lookup lives in the newstate/closed_tab_groups.rs.StripEdit.closed_groupandattach_closed_tab_groupare removed. Records stored with the older singletab_groupstill reopen.Testing
c8b0dd908718addsa_closed_screen_reopens_with_its_tab_group(screen.close on a 3-tab screen holding a 2-tab group).reopenfilter, which also covers the existing Close Group, ungroup and partial-reopen tests. Results to follow in a comment.Changelog
Fixed: Reopening a closed screen, pane or workspace brings back the tab groups it held.
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Reopening a closed screen, pane, or workspace now restores the tab groups it held, instead of bringing the tabs back loose.
tab_groupfield still reopen.Written for commit 8c2bb84. Summary will update on new commits.