Commit Graph
1462 Commits
Author SHA1 Message Date
Jinjing c10c2adcad fix: address review findings (#4891) 2026-06-08 11:45:13 -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
Lesley Murfin 58b5472477 fix(packaging): include @parcel/watcher native addon in packaged runtime
Fix packaged runtime inclusion for @parcel/watcher and its platform native subpackages. Adds pruning/tests for packaged resources and a real watcher integration regression test.
2026-06-08 02:13:21 -07:00
Neil f15dcd928c Stabilize OpenCode terminal rendering before release (#4850) 2026-06-08 01:00:29 -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 263c4f9bd2 fix: address review findings (#4865) 2026-06-07 22:17:52 -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
Jinwoo HongandOrca cacd48da72 Fix browser webview permissions and wheel zoom (#4849)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 21:18:47 -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
Jinwoo HongandOrca bed624573d Fix orchestration waits waking on heartbeats (#4858)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 19:57:21 -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
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
Jinwoo HongandOrca e35deb9720 Fix serve-created mobile terminals on desktop
* Fix serve-created mobile terminals on desktop

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

* Address headless mobile terminal merge review

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

* Document headless mobile merge invariants

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

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-07 21:51:49 -04:00
Jinwoo HongandOrca 76cb846d68 Harden computer use runtime and CLI (#4705)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 17:49:01 -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
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 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
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
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
Neil 16fde16e90 Track peak PTY renderer delivery pressure (#4800) 2026-06-07 09:14:30 -07:00
Neil 228da20e93 Annotate terminal perf with main PTY pressure (#4799)
Annotate terminal perf benchmark output with main PTY pressure counters.
2026-06-07 08:54:16 -07:00
Neil c410d051c2 Expose PTY renderer delivery pressure debug (#4798)
Expose main PTY renderer delivery pressure counters for backpressure regression tests.
2026-06-07 08:42:24 -07:00
Neil 62eef67edc Clamp provider terminal data ACKs (#4797)
Clamp provider terminal data ACKs to bytes actually in flight.
2026-06-07 08:36:35 -07:00
Neil 3704c7650f Prioritize active terminal output (#4791) 2026-06-07 06:44:29 -07:00
Neil 86baa8e167 Bound live terminal output frames (#4789) 2026-06-07 06:22:10 -07:00
Neil d9c41f4596 Cap terminal stream output batches by bytes (#4787) 2026-06-07 06:03:54 -07:00
Neil 0cbcec01ee Cap terminal multiplex backlog by bytes (#4785) 2026-06-07 05:50:51 -07:00
Neil c91ea599d9 Track split OSC metadata in headless terminals (#4783) 2026-06-07 05:27:58 -07:00
Neil 6caebb27f5 Preserve cold restore cwd in headless snapshots (#4782) 2026-06-07 05:13:18 -07:00
Neil 8bdc55cb81 Adopt seeded titles into headless terminal state (#4781) 2026-06-07 04:58:11 -07:00
Neil 733f77d522 Track terminal titles in headless snapshots (#4780) 2026-06-07 04:47:10 -07:00
Neil 722c9c6697 perf: reserve renderer budget for terminal input echoes (#4776) 2026-06-07 03:27:31 -07:00
Neil 429d5935a3 refactor: preserve terminal status connection identity (#4774) 2026-06-07 02:41:09 -07:00
Neil d1aea2a9c5 refactor: make local terminal status runtime-owned (#4773)
* refactor: make local terminal status runtime-owned

* fix: preserve ssh terminal status ownership

* test: document remote status ownership fixture
2026-06-07 02:19:35 -07:00
Neil 2401c3d8d9 refactor: wire rendererless terminal status into hooks 2026-06-07 01:56:39 -07:00
Neil 4116cb900d refactor: add terminal status hook ingest path 2026-06-07 01:44:53 -07:00
Neil aaf51dad45 refactor: parse terminal agent status in runtime 2026-06-07 01:35:46 -07:00
Neil dff2d02891 Improve terminal output backpressure
Adds ACK-backed renderer output admission control for PTY data, bounding per-PTY and global renderer in-flight output while preserving PTY ingestion for runtime state and notifications.
2026-06-07 00:41:42 -07:00
Neil 9db0985c7f fix: restore hidden remote terminal output snapshots (#4759) 2026-06-06 23:37:05 -07:00
Jinwoo HongandOrca db47575d18 fix: RuntimeEnvironmentStoreError on orca cli file open (agent use case) (#4724)
Co-authored-by: Orca <help@stably.ai>
2026-06-05 15:03:10 -07:00
Jinjing 60e47944cd Revert "Reduce macOS dev instance identity prompts" (#4721) 2026-06-05 14:07:28 -07:00
Jinwoo HongandOrca 577504f8c7 Improve remote server project add flow (#4715)
Co-authored-by: Orca <help@stably.ai>
2026-06-05 13:41:37 -07:00
bae0a88567 Fix browser clipboard permission handling (#4689)
* fix(browser): set up session policies for default browser partition

The default browser partition (persist:orca-browser) was created in the
registry constructor but never got session policies — permission handlers,
download handlers, WebAuthn handlers, etc. — because:

1. hydrateFromPersisted() explicitly skips the default partition
2. createProfile() never targets the default partition
3. restorePersistedUserAgent() only restored the user agent, not policies

This meant sites in the default browser partition that requested
clipboard-sanitized-write (or any other permission) were denied by
Electron's default behavior, since no handler was registered.

Fix: call setupSessionPolicies(ORCA_BROWSER_PARTITION) in
restorePersistedUserAgent(), which is the startup path that runs after
app is ready. The configuredPartitions guard makes this idempotent.

Also adds a test verifying the default partition gets its session
policies on restore.

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

* fix(browser): preserve clipboard permissions for browser session

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

* Initialize browser sessions at app startup

- Move cookie replay and persisted session setup out of renderer IPC wiring
- Install default browser partition policies once per process before webviews load
- Cover startup ordering, retry behavior, permission denial, downloads, and WebAuthn policies

---------

Co-authored-by: Prethish-Complyance <prethish@complyance.io>
Co-authored-by: Orca <help@stably.ai>
Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-06-05 13:20:52 -07:00
Jinwoo Hong f0ea7a39a7 Retry Codex trust config writes on Windows locks (#4710) 2026-06-05 15:43:13 -04:00