mirror of
https://github.com/stablyai/orca.git
synced 2026-10-12 16:03:03 +00:00
brennankbenson/perf-issue
Root cause: broad Zustand store subscriptions in the component tree caused cascading re-renders on every interaction. A single worktree click triggered App → Terminal → TabBar → all TerminalPanes to re-render unnecessarily. Key fixes: - Remove worktreesByRepo subscription from Terminal.tsx; track mounted worktrees in local state instead of subscribing to the full map - Wrap Terminal, TabBar, TerminalPane in React.memo to prevent cascade re-renders from parent updates - Fix inline onPtyExit callback that defeated React.memo by creating stable per-tab handlers via a ref-backed Map - Consolidate 4 separate keydown listeners into 1 in TerminalPane - Attach sidebar resize listeners only during drag instead of always - Extract session/UI persistence effects into useSessionPersistence hook so that persisted-value changes (sidebarWidth, activeTabId, etc.) trigger IPC calls without re-rendering the App component tree Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Orca
An AI Orchestrator for nerds.
Seamlessly manage multiple worktrees and open multiple terminals running anything — Claude Code, Codex, OpenCode, and more.
Built-in status tracking, notifications, and unread markers. Makes coding multiple features across multiple repos a breeze.
Project Setup
Install
$ pnpm install
Development
$ pnpm dev
Build
# For windows
$ pnpm build:win
# For macOS
$ pnpm build:mac
# For Linux
$ pnpm build:linux
Description
Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.
adeagent-ideai-agentsclaude-codeclicodexcursor-agentdevtoolsghosttyidemobile-appopencodeorchestrationparallel-agentspiterminalworktreesyc-backed
Readme
MIT
1.9 GiB
Languages
TypeScript
95.1%
JavaScript
4.1%
Swift
0.2%
HCL
0.2%
CSS
0.1%
