feat(sessions): add open-in-new-window menu action - #1231
Open
Chloe-JY wants to merge 1 commit into
Open
Conversation
Expose the existing detached session window action from every supported local and team conversation sidebar menu. Route remote team rows through their existing replay destination handling and add focused menu regression coverage. Pre-commit hook ran. Total eslint: 0, total circular: 0
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.
Problem
Session sidebar context menus expose destinations such as a new tab and My Station, but they do not expose the detached window behavior that already exists in session headers. This affects supported local session rows and Team Conversation rows. The root cause is that both native menu builders stop at their tab and station handlers and never dispatch to openSessionInNewWindowAtom.
Solution
Add Open in New Window immediately after Open in New Tab in the local and Team Conversation native menus. Local rows dispatch through the existing detached-window atom so successful opens retain its tab-ownership behavior and failed opens preserve the current tabs. Team Conversation rows reuse the existing replay/import destination resolver and pass the resolved local session id to the same detached-window path. Focused regression tests cover the menu entry and callback for regular local, Cursor import, terminal, and team-session menu variants.
Potential risks
Remote Team Conversations still depend on the existing replay/import lifecycle before the detached surface can load the local replay, and native window creation remains platform-dependent. Failures use the existing visible error path and do not close current tabs. No dependency, persistence, data migration, configuration, public API, IPC, or wire-format changes are included, so rollback is limited to reverting this commit. The native desktop menu was not manually exercised or captured because local computer control was not authorized; menu ordering is verified at the native-menu option boundary.
Verification