Repository navigation
fix(chat): match terminal pane split and close menus - #28969
Conversation
e4f1556 to
ea4a49b
Compare
b1df63e to
0d5798d
Compare
8a50ec0 to
553559e
Compare
d844a49 to
d5dfe40
Compare
ea4a49b to
489c9b0
Compare
…t-split-draft # Conflicts: # src/renderer/src/runtime/structured-agent-session-tab-retirement.ts
…t-split-draft # Conflicts: # src/renderer/src/lib/structured-agent-session-provisional-tab.test.ts
|
No actionable comments were generated in the recent review. ℹ️ Recent review info
Walkthrough
Priority: Merge Risk:
|
|
Right-clicking a native chat transcript previously lacked the terminal pane's split/close entry points. The menu now offers Split Chat Right and Split Chat Down, plus the shared Close Pane/Close tab action in split workspaces. It uses the same commands as the header; session ID, clipboard/selection/image/Find actions and terminal-backed menus retain their behavior. Editable inputs retain their native spelling/edit menu. Keeping terminal continuation and tab movement on their existing tab/header surfaces, and hiding body close in a lone workspace, are intended differences. Review completed in four rounds with correctness, performance and reference verification. Fixed the added closed-transcript scaling work by mounting menu metadata with its content, plus two fixture typing issues. The one main merge preserved the merged shared commands, spelling menu and owner index; the narrow merge check passed. The later test-only commit reduced the lifetime contract from 233 to 117 lines. No open P0/P1 findings. Deferred P3: shortcut labels can show all aliases where terminal menus show the primary binding; every binding still works. Older paired hosts retain their existing startup behavior. Verified on For Brennan's review: these are full-window screenshots from the isolated exact-head build, inspected by the screenshot lead at original resolution and hashed before upload. The synthetic fixture workspace shows a file-access notice in the explorer; the transcript menus are the surfaces under test. Source spots: menu rows and content lifetime, shared command descriptor, scaling regression contract. |




What changed
Right-clicking a native chat transcript now offers Split Chat Right and Split Chat Down. Once the workspace has split panes, it also offers the header's shared Close Pane action, labelled Close tab when the pane has sibling tabs. A split keeps the current conversation and opens a fresh same-agent chat through the existing header command.
Copy Orca Session ID, selection, image, clipboard and Find actions retain their behavior. Chats shown inside a terminal retain the terminal pane menu. Editable inputs retain the native spelling and edit menu. Resume in New CLI (Continue with Terminal Agent) and Move Tab to Split remain on their existing tab/header surfaces; their omission from the transcript menu is intended, as is hiding close in a lone workspace.
The menu uses the same split and close commands as the header. Its tab/group metadata mounts with the menu content, so retained closed transcripts add no menu projections or transcript renders. There are no new saved fields, launch paths or messages between hosts. Folder workspaces and existing host routing use the shared commands.
Verification
Full review completed in four rounds, including independent correctness, performance and comparison with the common pattern. The review corrected closed-menu scaling and test-fixture typing. The one main merge retained the merged #28968 shared commands, spelling/edit menu and shared owner index; a narrow independent merge check passed. The later test-only commit reduced the lifetime contract from 233 to 117 lines while preserving its real-store 6/60-chat scaling and teardown checks. Deferred: shortcut aliases may show all bindings where terminal menus show the primary binding; all remain functional. Older paired hosts retain their existing provider-start behavior.
4652a7636ba222a31a2a0a7ba5c7a733f692d8f5, including static analysis/typecheck, five unit-test shards, both package jobs and the aggregate gate.Visual proof
Full app-window captures from an isolated branch build with populated fixture transcripts; no agents ran. The screenshot lead inspected every image at original resolution and verified the file hashes. Menu commands themselves are covered by renderer tests and CI. The fixture workspace has an unrelated file-access notice in the explorer.
Review notes
#28968 has merged and this PR targets main. The body menu intentionally mirrors the terminal pane's split/close entry points while keeping tab movement and terminal continuation on their existing surfaces. No documentation, dependency or locale changes. Author X: @BrennanKB5.