Matheus NogueiraandClaude Opus 4.6 9e431e6ca7 feat: unified tabs system with titlebar integration (#371)
* feat: add unified TabsSlice and tab bar UX improvements

Introduce content-agnostic Tab/TabGroup model (Step 1 of unified tabs
migration). TabsSlice coexists alongside legacy TerminalSlice/EditorSlice
and provides unified CRUD, neighbor selection, preview replacement, pin
support, and session hydration from both legacy and unified formats.

Also fixes several tab bar UX issues:
- Tab bar always visible (even with 1 tab)
- New terminal tabs appear at end of tab bar, not index 0
- Closing last terminal with editor files open switches to editor view
  instead of deactivating the worktree
- New terminal tabs receive focus immediately

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* refactor: extract tabs-helpers, tabs-hydration, and reconcile-order modules

Split tabs.ts (503 countable lines) and useTerminalTabs.ts (325 countable
lines) to stay under the max-lines lint limit without eslint-disable:

- tabs-helpers.ts: pure lookup/update functions + generic patchTab helper
- tabs-hydration.ts: session hydration for unified and legacy formats
- reconcile-order.ts: shared tab order reconciliation (was duplicated in
  TabBar.tsx, useTerminalTabs unifiedTabs memo, handleNewTab, and
  handleCloseTabsToRight)

Includes tests for all three extracted modules (29 new tests).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: move tab bar into the titlebar row

Render the TabBar inside the titlebar via a React portal, sharing the
same row as the "Orca" title. The left section of the titlebar matches
the sidebar width so tabs start exactly where the sidebar ends.

This saves ~36px of vertical space by eliminating the separate tab bar
row. Empty space after tabs remains window-draggable; individual tabs
and the "+" button opt out with -webkit-app-region: no-drag.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: prevent middle-click paste when closing tabs

Close tabs on auxclick instead of mousedown for middle-click. Closing on
mousedown removed the tab element before mouseup fired, causing the
mouseup to fall through to the terminal canvas and trigger an X11
primary selection paste on Linux.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* refactor: extract terminal tab actions to fix lint errors

Memoize `tabs` and `worktreeFiles` to fix useMemo unstable dependency
warnings. Extract action callbacks (close, activate, create, etc.) into
terminal-tab-actions.ts to bring useTerminalTabs.ts under the 300-line
max-lines limit.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 16:33:25 -03:00
2026-03-16 20:29:24 -07:00
2026-04-06 23:32:45 -07:00
2026-03-16 22:27:51 -07:00
2026-03-19 00:36:36 -07:00
2026-03-28 10:19:14 -07:00
2026-04-07 01:35:43 -07:00
2026-03-16 22:27:51 -07:00
2026-03-17 01:40:24 -07:00
2026-03-17 01:40:24 -07:00

Orca

Orca

GitHub stars Supported Platforms Follow on X

The cross-platform AI Orchestrator for 100x builders.
Available for macOS, Windows, and Linux.
Seamlessly manage multiple worktrees, run multiple AI agents concurrently, and track their progress.
Whether it's Claude Code, Codex, or OpenCode, Orca makes coordinating multiple features across multiple repos effortless.

Download at onOrca.dev

Orca Screenshot

Introducing the Orca CLI

Agent orchestration from your terminal.

Let your AI agent control your IDE. Use AI to add repos to your IDE, spin up worktrees, and update the current worktree's comment with meaningful progress checkpoints directly from the terminal. Ships with the Orca IDE (install under Settings).

npx skills add https://github.com/stablyai/orca --skill orca-cli

Features that Supercharge your Workflow

  • Worktree Management: Spin up, manage, and switch between multiple Git worktrees instantly. Keep your context clean.
  • Agent-Ready Terminals: Robust support for multiple terminals, tabs, and panes. Run Claude Code, Codex, OpenCode, or your own agents side-by-side.
  • Smart Notifications & Status Tracking: See exactly which worktrees have active agents. Get worktree notifications and manually mark threads as unread (like Gmail ).
  • Deep GitHub Integration: Automatically track PRs, link GitHub issues (via the gh CLI), and view GitHub Actions checks right from your workspace.
  • Integrated Dev Tools: Built-in file editor, lightning-fast search, and a comprehensive source control tab to review diffs, make quick edits, and commit effortlessly.
  • CLI to Control the IDE: Give your agent first-class control over Orca from the terminal.

Install

Get started today:


Community & Support

  • Twitter / X: Follow @orca_build for updates and announcements.
  • Feedback & Ideas: We ship fast. Missing something? Request a new feature.
  • Show Support: Star this repo to follow along with our daily ships.

Developing

Want to contribute or run locally? See our CONTRIBUTING.md guide.

S
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.
Readme MIT
1.4 GiB
Languages
TypeScript 95.2%
JavaScript 4.1%
Swift 0.2%
CSS 0.1%
HCL 0.1%