Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Add "Open In" submenu to branch actions#41

Merged
matt2e merged 3 commits intomainfrom
matt2e/open-in
Feb 11, 2026
Merged

Add "Open In" submenu to branch actions#41
matt2e merged 3 commits intomainfrom
matt2e/open-in

Conversation

@matt2e
Copy link
Contributor

@matt2e matt2e commented Feb 11, 2026

Summary

  • Adds "Open In" submenu to branch card actions, allowing users to open worktrees in their installed applications
  • Detects and displays available editors, terminals, and Finder automatically
  • Includes "Copy Path" option within the submenu

Changes

Backend (Rust/Tauri):

  • Add get_available_openers command to detect installed apps via mdfind
  • Add open_in_app command to launch apps using macOS 'open -b'
  • Support 20+ popular apps: VS Code, Cursor, Warp, iTerm, Finder, etc.
  • Platform-specific implementation (macOS only, empty list elsewhere)

Frontend (TypeScript/Svelte):

  • Create branch service layer with caching for available openers
  • Add OpenerApp interface and service functions
  • Integrate clipboard manager for path copying

UI (BranchCard):

  • Add "Open In" submenu with hover behavior matching Actions submenu
  • Display detected apps with human-readable names
  • Include "Copy Path" option within submenu
  • Only show menu when worktree exists and apps are available
  • Update click outside handler to close submenu properly

Test plan

  • Test "Open In" submenu appears in branch card more menu
  • Verify apps are detected correctly on macOS
  • Test opening worktree in various editors (VS Code, Cursor, etc.)
  • Test opening in terminals (Warp, iTerm)
  • Test "Copy Path" functionality
  • Verify submenu hover behavior matches Actions submenu
  • Test click outside handler closes submenu

🤖 Generated with Claude Code

Implements the "Open In" feature as a submenu within the branch card's
more menu, allowing users to open worktrees in their installed
applications (editors, terminals, Finder).

Backend (Rust/Tauri):
- Add get_available_openers command to detect installed apps via mdfind
- Add open_in_app command to launch apps using macOS 'open -b'
- Support 20+ popular apps: VS Code, Cursor, Warp, iTerm, Finder, etc.
- Platform-specific implementation (macOS only, empty list elsewhere)

Frontend (TypeScript/Svelte):
- Create branch service layer with caching for available openers
- Add OpenerApp interface and service functions
- Integrate clipboard manager for path copying

UI (BranchCard):
- Add "Open In" submenu with hover behavior matching Actions submenu
- Display detected apps with human-readable names
- Include "Copy Path" option within submenu
- Only show menu when worktree exists and apps are available
- Update click outside handler to close submenu properly

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
matt2e and others added 2 commits February 11, 2026 13:19
Run prettier to ensure consistent code formatting across the codebase.
Affects markdown docs, TypeScript/JSON configs, and source files.

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
Add #[cfg(target_os = "macos")] attributes to KNOWN_OPENERS constant
and prettify_app_name function, and #[allow(unused_variables)] to
open_in_app function to suppress false-positive warnings for code that
is only used on macOS. This resolves compilation errors in CI/CD
environments running on non-macOS platforms.

Co-Authored-By: Claude Sonnet 4.5 <[email protected]>
@matt2e matt2e merged commit e043084 into main Feb 11, 2026
2 checks passed
@matt2e matt2e deleted the matt2e/open-in branch February 11, 2026 21:39
loganj added a commit that referenced this pull request Feb 26, 2026
## Summary
- Add integration tests for all `/api/*` JSON endpoints across 3 files:
  - `api_projects_test.go` — projects, project info, agents, raw file, in-review
  - `api_threads_test.go` — thread CRUD, reviews
  - `api_manage_test.go` — workspaces, sources, open, delete

**Stack**: Stacked on PR 1 (test helpers).

## Test plan
- [x] `go test ./internal/server/ -run TestAPI -v` — all 25 tests pass
- [x] Tests complete in < 1 second
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.

2 participants