Repository navigation
feat(app): add session location menu actions - #59607
Conversation
There was a problem hiding this comment.
Looks good. I ran the browser e2e harness on the base and on this PR. With the PR, the branch submenu copies the branch name, and "Open in terminal" starts a terminal in the session worktree and focuses it in the right panel. The path submenu shows "Open in VS Code" for the selected app and hides the item when Finder is selected. The location group of session-header.spec.ts (8/8), the terminal and path unit tests, and tsc -b for app and gui-plugins all pass. I did not test a live Electron process.
Public API: two slots are added to BuiltinSlotMap in @opencode/plugin/gui/builtin: session.location.branch.menu and session.location.path.menu. Only built-in plugins can fill them and nothing is removed or changed, so this is backwards compatible.
No blocking concerns.
There was a problem hiding this comment.
The new commit only makes the path-submenu browser test wait for the review panel to receive focus before opening the location menu, which removes a timing race. I ran both path-submenu cases three times each and all 6 runs passed. No app code changed, so the public API impact is the same as before: it adds two slots that only built-in plugins can fill, session.location.branch.menu and session.location.path.menu, and is backwards compatible. No new concerns.
There was a problem hiding this comment.
The only new commit merges dev into the branch. The PR's own changes are the same as in my last review. The location browser tests in session-header.spec.ts pass (8/8) on top of the merged dev, and tsc -b is clean for app and gui-plugins. The public API impact is unchanged: it adds two slots that only built-in plugins can fill, session.location.branch.menu and session.location.path.menu, and is backwards compatible. No new concerns.




Issue for this PR
User-requested feature; no linked issue.
Type of change
What does this PR do?
How did you verify your code works?
bun run check, and changed-file lint.dev.Desktop behavior was exercised through the browser's mock platform and PTY harness, not a live Electron process.
Screenshots / recordings
Before:
After:
Branch actions:
Checklist
Added by the opencode bot (AI-generated).
Public API: adds built-in-only GUI slots session.location.branch.menu and session.location.path.menu (backwards compatible)