Commit Graph
2644 Commits
Author SHA1 Message Date
Jinwoo HongandOrca 7ea359bd60 Add Claude Agent Teams native pane launcher (#4892)
* Add Claude Agent Teams native pane launcher

Co-authored-by: Orca <help@stably.ai>

* Fix Agent Teams CI coverage checks

Co-authored-by: Orca <help@stably.ai>

* Fix Claude Agent Teams split direction mapping

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-08 16:11:32 -04:00
Jinjing 2bf1b9938c fix: refine floating terminal chrome (#4890)
* fix: refine floating terminal chrome

* fix: update tab indicator test mocks
2026-06-08 12:17:42 -07:00
Brennan BensonandOrca 32d53d552e Add empty-state usage CTA to status bar (#4854)
Co-authored-by: Orca <help@stably.ai>
2026-06-08 11:48:11 -07:00
Jinjing c10c2adcad fix: address review findings (#4891) 2026-06-08 11:45:13 -07:00
Brennan BensonandOrca 61cb7d692a Add a browser tour step for importing cookies to stay signed in (#4836)
Co-authored-by: Orca <help@stably.ai>
2026-06-08 11:44:49 -07:00
buf0-bot[bot]andorca-bug-scan-bot 6e970c8f94 fix: address pr-bug-scan validated finding from #4658 (#4741)
Gate the three unread-clear calls in onTerminalKeyDown so modifier-only/repeat/copy-chord keydowns no longer dismiss sibling-pane attention.

Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
2026-06-08 11:06:06 -07:00
Jinjing bcfd84d14c Make Smart New Tab launcher the default (remove experimental flag) (#4834) (#4889)
- Remove `experimentalUnifiedNewTabLauncher` flag and gate; the unified
  launcher is now always enabled
- Drop the settings toggle from ExperimentalPane and search index
- Update placeholder/aria text to "Open any file, URL, agent, ..."
- Restyle the input: borderless, flush with dropdown edge, no search icon
- Update test fixtures to include agent-detection state fields now
  unconditionally read by TabBarCreateEntry
2026-06-08 11:05:58 -07:00
Brennan BensonandOrca f70a4448ff Reorder Linear tab right after GitHub in Cmd+N composer (#4887)
Co-authored-by: Orca <help@stably.ai>
2026-06-08 10:58:52 -07:00
Jinjing 8526f02c77 Inline conflict count with snapshot timestamp in review panel (#4886) 2026-06-08 10:31:34 -07:00
Neil 3153356d87 Fix terminal table rendering after workspace restore (#4877)
* Stabilize terminal cursor rendering and typing checks

* Fix terminal table rendering after workspace restore

* Fix terminal table width underfit

* Tighten terminal renderer stabilization
2026-06-08 03:25:55 -07:00
Jinjing fb3567be48 fix: address review findings (#4874) 2026-06-08 01:10:54 -07:00
Jinjing f9a681fce7 Constrain create-workspace dialog height for long orca.yaml scripts (#4873)
- Limit command preview blocks to 12rem (max-h-48) with scroll
- Cap dialog body to viewport height minus 2rem
- Add sr-only accessible description to the dialog
2026-06-08 01:10:29 -07:00
Jinjing 009498f052 Add collapse and expand controls to markdown table of contents panel (#4875)
- Introduces per-heading disclosure toggles for nesting control
- Adds H1/H2/H3 level collapse buttons to quickly reduce heading depth
- Removes stale collapsed IDs when the TOC changes
2026-06-08 01:10:17 -07:00
Jinjing a1f693b3ff feat: improve orchestration settings pane with skill coverage and usage examples (#4869)
* feat: improve orchestration settings pane with skill coverage and usage

- Add per-agent skill coverage panel showing which detected agents have the orchestration skill installed, with Ready/Missing status chips
- Add five usage example cards (handoff, worktree handoff, phased workflow, parallel, worktree PRs) with copy-prompt dialogs
- Add "Copy install command" link that opens a dialog for users who prefer their own terminal
- Expose `skills` array from `useInstalledAgentSkill` so callers can inspect discovered paths
- Rename install button to "Update" when skill is already installed
- Add dev-only preview flags for testing the uninstalled and CLI-ready states

* feat: remove dev-only CLI preview scaffolding from OrchestrationPane

Dead code cleanup — the dev-preview flag helpers and mock CliInstallStatus
factories were never shipped to users and added noise around the real
skill-detection path. Props now flow directly from useInstalledAgentSkill
without the preview indirection layer.
2026-06-08 01:05:04 -07:00
Jinjing 27b2d1bc3e Remove auto-rename-branch hint from workspace composer (#4872)
- Deletes AutoRenameBranchHint component and its associated UI
- Removes the gear affordance, popover, toggle, and inline "Auto-named if left blank" indicator
- Simplifies the workspace name label area for git repos
2026-06-08 01:02:25 -07:00
Neil f15dcd928c Stabilize OpenCode terminal rendering before release (#4850) 2026-06-08 01:00:29 -07:00
Jinjing dab79cec86 Move TOC panel to left side and unify toolbar chrome row height (#4871)
* Move table of contents panel to the left side of the editor

* Compact toolbar height when TOC panel is visible

Align both the TOC header and markdown toolbar to a consistent 40px
height with a shared bottom border when the TOC panel is open, removing
redundant borders and reducing visual clutter.

* Unify RME toolbar and TOC header chrome row styling

- Merge toolbar and TOC header into a shared 40px chrome row with
  consistent padding, inset-shadow divider, and background
- Replace border-bottom with inset box-shadow for aligned dividers
  when TOC panel is visible
2026-06-08 00:40:49 -07:00
Jinjing 9bbf1bc62d Add Force Push as an explicit source-control action with dedicated dropd (#4870) 2026-06-08 00:38:12 -07:00
JinjingandOrca cbf5534803 Extract list chrome visibility into provider-aware selector (#4867)
* Hide list chrome in all detail/drill-down views, not only GitHub

The previous check only hid the list filter row for GitHub dialog
items. Extend it to cover GitLab, Jira, and Linear detail views so
vertical space isn't wasted by redundant breadcrumb chrome.

Co-authored-by: Orca <help@stably.ai>

* Extract list chrome visibility into provider-aware selector

Fixes list chrome being hidden when a stale detail state from another
provider survives a source switch. Only the active task source's detail
context now controls visibility.

Co-authored-by: Orca <help@stably.ai>

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-08 00:26:28 -07:00
Jinwoo HongandOrca 1b363b4d9c Add mobile emulator (#4754)
Co-authored-by: Orca <help@stably.ai>
2026-06-08 00:08:57 -07:00
Jinjing e9f1d644f8 Add browser import hint button to the browser toolbar (#4866)
* Add browser import hint button to the browser toolbar

- Adds a dismissible "Import" button in the browser address bar that opens a popover with browser detection and one-click cookie import
- Persists the hint's dismissed state via `browserImportHintHidden` in `PersistedUIState` so the hint stays hidden after the user clicks "Hide Hint"
- Extracts platform-aware import source labels into `browser-cookie-import-sources.ts` and hint visibility logic into `browser-import-hint-visibility.ts` for isolated testing

* fix the onblur for the import popover
2026-06-07 23:02:43 -07:00
Jinjing 263c4f9bd2 fix: address review findings (#4865) 2026-06-07 22:17:52 -07:00
Brennan BensonandOrca 0397afae63 Show project name in setup-script prompt card across all variants (#4864)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 21:53:04 -07:00
Jinwoo HongandOrca bb21366a14 Fix managed Codex account switching on shared CODEX_HOME (#4862)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 21:20:08 -07:00
Brennan BensonandOrca 2756d6f28f Add command palette feature tip (#4718)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 21:07:36 -07:00
Jinjing 4a3db11e16 feat: show persistent underline on PR link buttons in review headers (#4861) 2026-06-07 20:51:04 -07:00
Jinjing 468244d6dc Improve markdown review card sizing, quoting, and note grouping (#4856)
* Improve markdown review card sizing, quoting, and note grouping

- Narrow the annotation rail and editor padding to reduce visual weight
- Replace webkit line-clamp quote truncation with single-line nowrap; shorten MAX_CARD_QUOTE_LENGTH to 60
- Remove FileText icon from the quote block
- Tone down active card border/background highlight opacity
- Always reserve quote height in stacked layout (cards show a fallback excerpt even without selected text)
- Group multiple markdown review notes per file under a single header in the formatted prompt

* fix test
2026-06-07 20:40:49 -07:00
KayleeandNeil 528a887ab5 Target the fork branch from fork-PR worktrees (#4394)
Creating a worktree from a cross-repository (fork) PR previously named the
local branch with the maintainer's branch prefix (e.g. `me/866`) and pushed to
origin instead of the contributor's fork, so maintainer edits never reached the
PR. Fork PRs now adopt the contributor's branch name (matching same-repo PRs)
and resolve a fork push target, with a non-blocking warning when the PR
disables maintainer edits and an indicator showing where a push will land.

- pr-start-point: return branchNameOverride/headSha/maintainerCanModify for
  cross-repo PRs (previously only same-repo PRs received these)
- github client: surface maintainer_can_modify alongside the fork push target
- composer: warn (but still allow) when "Allow edits from maintainers" is off
- source control: show the fork push target (owner:branch) before pushing
- extract fork-remote cleanup and setup into dedicated, unit-tested modules

Adds unit suites for the cleanup multi-fork matrix, fork-remote setup,
push-target resolution, the warning decision, and the push-target label.

Note: pre-commit react-doctor hook bypassed — its warnings in useComposerState
are pre-existing (identical count on base) and not enforced by CI.

Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-06-07 19:51:36 -07:00
Jinjing a67afb5a04 fix: address review findings (#4853) 2026-06-07 19:50:05 -07:00
Jinjing 93f9f86823 Slim terminal scrollbar with xterm option and rounded thumb (#4857)
Set xterm scrollbar width to 7px for a slimmer scrollbar, round the DOM thumb via CSS, and add default slider colors with better contrast. Hide the overview ruler border that enabling the scrollbar width activates.
2026-06-07 19:48:16 -07:00
Jinwoo HongandOrca 3ef63c972a Persist agent session metadata for workspace resume (#4706)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 19:41:25 -07:00
Jinjing 675376023f Display Linear issue link in sidebar card while loading, fetch from all (#4844)
- Construct fallback Linear URL from workspace info so users can navigate
  to the issue even while the API request is in flight
- Use `all` workspace scope to find issues across all Linear workspaces
  rather than only the currently selected one
2026-06-07 18:03:43 -07:00
Jinjing 1826609215 Scope worktree sidebar under dedicated --worktree-sidebar color tokens (#4845)
* Use a distinct background token for the worktree sidebar panel

- Adds `--worktree-sidebar` and `--worktree-sidebar-foreground` CSS tokens (light: #f5f5f5, dark: #212121) so the sidebar can be visually lighter than the default `--sidebar` value
- Applies `bg-worktree-sidebar` to the sidebar container

* Lighten worktree sidebar and scope its color tokens under `--worktree-si

- Dark mode panel lifted from `#212121` to `#2a2a2a` so it reads clearly above the `#0a0a0a` canvas.
- Added `--worktree-sidebar-accent`, `--worktree-sidebar-border`, and `--worktree-sidebar-ring` tokens in both color schemes.
- Migrated all sidebar components from shared `sidebar-*` tokens to the scoped `worktree-sidebar-*` tokens, preventing bleed when the two layers diverge.

* Use worktree-sidebar tokens in settings sidebar instead of generic theme

- Replaces `bg-accent`, `text-muted-foreground`, `border-border/50`, and `bg-card/40` with dedicated worktree-sidebar CSS custom properties
- Enables independent styling of the settings sidebar separate from the main panel theme
2026-06-07 18:01:45 -07:00
Jinjing 401fc1e43e Remove "Needs response" classification and badge from checks panel (#4842)
Drops the hosted-review classification logic that computed whether a PR/MR
needs a response and displayed it as a badge. The inputs (viewer, author,
requested-reviewer) aren't wired into this component yet, so the
classification was incomplete and the badge misleading.
2026-06-07 17:25:11 -07:00
Neil d9de84063b Stabilize main for v1.4.51 release (#4841)
* test: target terminal viewport for scroll perf probe

* Revert "Make Smart New Tab launcher the default (remove experimental flag) (#4834)"

This reverts commit c32e2dc7cb.

* test: stabilize release e2e expectations

* test: stabilize release e2e gates

* test: make terminal scroll probe deterministic

* test: keep flaky scroll probe informational
2026-06-07 17:10:45 -07:00
JinjingandOrca dd302d3e91 Remove H1/H2/H3 badges from markdown TOC (#4832)
* Remove H1/H2/H3 badges from markdown TOC

Replace heading level badges with pure indentation for visual hierarchy.

- Remove 'H1', 'H2', 'H3' badge spans from MarkdownTocRow
- Increase indentation per depth level for clearer visual distinction
- Remove unused .markdown-toc-level CSS class

Design doc: docs/remove-h1-h2-prefix-from-toc.md

Fixes #4821

Co-authored-by: Orca <help@stably.ai>

* Include h1 headings in markdown table of contents

Previously h1 headings were excluded, treating them as a document-level root.
Now h1 entries appear as TOC items alongside h2/h3, giving users a more
complete and consistent navigation outline.

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-07 16:45:18 -07:00
Jinwoo HongandOrca aa0d2ff461 Add OpenAI cloud speech transcription (#4707)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 16:22:16 -07:00
Jinjing e934029e0e Combine Settings and Help buttons into a single sidebar dropdown menu (#4838) 2026-06-07 16:20:27 -07:00
Jinwoo HongandCursor 8feb63901d Address CodeRabbit follow-ups from #4825 (#4831)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 16:08:41 -07:00
Jinjing e57d7c33cb Add edit and delete actions for PR conversation comments (#4837) 2026-06-07 15:54:02 -07:00
Jinjing c32e2dc7cb Make Smart New Tab launcher the default (remove experimental flag) (#4834)
- Remove `experimentalUnifiedNewTabLauncher` flag and gate; the unified
  launcher is now always enabled
- Drop the settings toggle from ExperimentalPane and search index
- Update placeholder/aria text to "Open any file, URL, agent, ..."
- Restyle the input: borderless, flush with dropdown edge, no search icon
- Update test fixtures to include agent-detection state fields now
  unconditionally read by TabBarCreateEntry
2026-06-07 15:34:49 -07:00
Brennan BensonandOrca ee43304b0a Move auto-name branch settings into the Git AI Author pane (#4725)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 15:30:54 -07:00
Neil f75dfc1e14 Improve hidden terminal restore under PTY backpressure (#4833)
* Defer inactive hidden terminal restores

* Reserve active PTY delivery headroom

* fix: guard deferred hidden terminal restores
2026-06-07 15:28:18 -07:00
Jinwoo Hong da98a93089 Fix cursor-agent notification spam on shell tool hooks (#4835) 2026-06-07 15:24:15 -07:00
Jinwoo HongandCursor 7850cfa16f Fix web remote client workspace switching loop (#4771) (#4825)
* Fix web remote client workspace switching and terminal wake regressions.

Stop activation echo loops between paired web clients and the host runtime, and harden web terminal overlay sizing so slept workspaces wake with full-width PTY dimensions.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix web agent tab close and update tests for host-backed worktree selection.

Route agent quick launches through the host in paired web clients so tab close works, and align runtime/web IPC tests with setActiveWorktree plus notifyHostRuntime: false.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix typecheck for host-backed agent launches and address review feedback.

Guard null tab ids from web host routing, narrow runtime environment ids for tab close, and respect mobile resize locks in web refit retries.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix web tab close and respawn terminals when waking slept workspaces.

Route tab close through host-backed vs local fallback logic, scope title tooltips away from the close button, and create host terminals when woke workspaces still have dead PTY rows.

Co-authored-by: Cursor <cursoragent@cursor.com>

* Fix web terminal fit on worktree switch and harden paired tab lifecycle.

Guard against sub-minimum xterm fits during overlay resume, route agent tab closes through unified/runtime helpers, and dedupe wake-time terminal respawns.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 16:51:10 -04:00
Jinjing 5cfeaa34c0 fix: address review findings (#4814) 2026-06-07 11:18:43 -07:00
2b29acb87b Fix stale diff views not refreshing on file or tree changes (#4731)
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 11:04:52 -07:00
Jinjing bb40dcd028 fix: recover missing worktree deletes (#4811) 2026-06-07 11:01:26 -07:00
129b4c755f Show Kimi Code subscription usage in the status bar (#4641)
* Show Kimi Code subscription usage in the status bar

Add a read-only rate-limit fetcher for Kimi Code that reads the OAuth token from ~/.kimi-code/credentials (honoring KIMI_CODE_HOME) and queries Kimi's usages endpoint, surfacing the 5h session window and weekly quota in the existing status-bar rate-limit UI alongside Claude/Codex/Gemini. Gated on the kimi CLI being detected, with a settings toggle.

Read-only by design: the fetcher never refreshes or writes credentials — rotating Kimi's refresh token would log out the user's live CLI session — and never calls Kimi's completion endpoint. It only reads the existing token and the usages quota endpoint, mirroring how the CLI itself reads managed usage.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Harden Kimi usage status handling

Preserve cached quota on transient Kimi credential/API failures and migrate the default status-bar item for existing users.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-07 13:58:29 -04:00
Trevin Chow 8aa5b53148 feat(browser): persist default browser zoom (#4765) 2026-06-07 13:49:38 -04:00