Skip to content

feat(sessions): add open-in-new-window menu action - #1231

Open
Chloe-JY wants to merge 1 commit into
developfrom
dev/open-session-in-new-window
Open

feat(sessions): add open-in-new-window menu action#1231
Chloe-JY wants to merge 1 commit into
developfrom
dev/open-session-in-new-window

Conversation

@Chloe-JY

@Chloe-JY Chloe-JY commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

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

  • pnpm test -- --run src/scaffold/NavigationSidebar/connectors/tests/useWorkstationSidebarContextMenu.test.ts src/scaffold/NavigationSidebar/connectors/WorkstationSidebarConnector/cloudSessionNativeMenuItems.test.ts — passed, 2 files and 2 tests
  • pnpm typecheck — passed
  • pnpm exec eslint on all 10 changed TypeScript files with --max-warnings 0 --report-unused-disable-directives — passed
  • pnpm lint:fast — passed
  • pnpm check:circular — passed, no circular dependencies across 6452 modules
  • pnpm check:test-placement — passed, consistent across 456 directories
  • git diff --check origin/develop...HEAD — passed
  • Commit hooks — lint-staged, Oxlint, ESLint fix, Prettier, and staged TypeScript checks passed
  • Not run: native desktop screenshot or recording; computer-control permission was not provided

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant