* fix(settings): prevent IME composition cancellation in repository Display Name and Worktree Location inputs Controlled inputs bound directly to the zustand store caused IME composition to be cancelled on every keystroke because React re-rendered from the stale store value before the async IPC round-trip completed. On slow typing this yielded bare jamo decomposition (가나다 → ㄱㅏㄴㅏㄷㅏ); on fast typing characters were silently dropped. Introduce RepoSettingsDraftInput, a wrapper that keeps keystrokes in local draft state so the input is always synchronously controlled. The store is still written on every keystroke in the background so the sidebar stays live. Draft resets only when the active repo changes, so async IPC echoes cannot clobber newer draft text. Apply RepoSettingsDraftInput to both the Display Name and the Worktree Location inputs (identical store-bound binding, same root cause). Also link the Display Name Label to its input via htmlFor/id for a11y and test-locator clarity. Tests added: - RepositoryPaneDraftInput.test.tsx: unit tests (happy-dom) — draft survives stale store re-render and stale IPC echo; resets on repo switch; persists on every keystroke. - tests/e2e/settings-display-name-ime.spec.ts: Playwright e2e driving Blink's real IME pipeline via CDP Input.imeSetComposition / Input.insertText with an adaptive 2-set Korean IME emulator. Fails with 'ㄱㅏㄴㅏㄷㅏ' on the pre-fix code; passes on the fix. * fix(settings): preserve external repo setting updates Co-authored-by: Orca <help@stably.ai> --------- Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com> Co-authored-by: Orca <help@stably.ai> |
||
|---|---|---|
| .github | ||
| .husky | ||
| Casks | ||
| config | ||
| docs | ||
| mobile | ||
| native | ||
| resources | ||
| skills | ||
| src | ||
| tests | ||
| tools | ||
| .env.e2e | ||
| .gitignore | ||
| .npmrc | ||
| .oxfmtrc.json | ||
| .oxlintrc.json | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| LICENSE | ||
| README.md | ||
| components.json | ||
| electron.vite.config.ts | ||
| orca.yaml | ||
| package.json | ||
| pnpm-lock.yaml | ||
| tsconfig.json | ||
| vite.web.config.ts | ||
README.md
Orca
English · 中文 · 日本語 · 한국어 · Español
The AI Orchestrator for 100x builders.
Run Claude Code, OpenClaude, Codex, Grok, Antigravity, or OpenCode side-by-side across repos — each in its own worktree, tracked in one place.
Available for macOS, Windows, and Linux.
Supported Agents
Orca supports any CLI agent (not just this list).
Claude Code
OpenClaude
Codex
Grok
Gemini
Antigravity
Pi
oh-my-pi
Hermes Agent
OpenCode
Goose
Amp
Auggie
Autohand Code
Charm
Cline
Codebuff
Command Code
Continue
Cursor
Droid
GitHub Copilot
Kilocode
Kimi
Kiro
Mistral Vibe
Qwen Code
Rovo Dev
Features
- No login required — Bring your own Claude Code, OpenClaude, Codex, Grok, or Antigravity subscription.
- Worktree-native — Every feature gets its own worktree. No stashing, no branch juggling. Spin up and switch instantly.
- Multi-agent terminals — Run multiple AI agents side-by-side in tabs and panes. See which ones are active at a glance.
- Built-in source control — Review AI-generated diffs, make quick edits, and commit without leaving Orca.
- GitHub integration — PRs, issues, and Actions checks linked to each worktree automatically.
- SSH support — Connect to remote machines and run agents on them directly from Orca.
- Notifications — Know when an agent finishes or needs attention. Mark threads unread to come back later.
Install
Mac, Linux, Windows
Alternatively, install from a package manager:
macOS (Homebrew)
brew install --cask stablyai/orca/orca
Arch Linux (AUR)
# Precompiled binary
yay -S stably-orca-bin
# Build from GitHub source
yay -S stably-orca-git
Mobile Companion App
Control your agents from your phone.
- iOS: Download from App Store
- Android: Download APK from GitHub Releases
Feature Showcase
Click any tile to explore the workflow.
Parallel Worktrees
Terminal Splits
Design Mode
GitHub & Linear, Native
Every CLI Agent
SSH Worktrees
Drag Files to Agents
Annotate AI Diffs
Orca CLI
Native Search
Account Switcher & Usage Tracking
Rich Repo Previews
Split Anything
Community & Support
- Discord: Join the community on Discord.
- Twitter / X: Follow @orca_build for updates and announcements.
- Feedback & Ideas: We ship fast. Missing something? Request a new feature.
- Privacy: See the privacy & telemetry docs for what anonymous usage data Orca collects and how to opt out.
- Show Support: Star this repo to follow along with our daily ships.
Developing
Want to contribute or run locally? See our CONTRIBUTING.md guide.
