Commit Graph
4303 Commits
Author SHA1 Message Date
Neil eb96ef94de fix: keep sidebar cards clear of gutter (#4602) 2026-06-03 17:13:26 -07:00
Brennan BensonandOrca 065c620c10 Preserve split-terminal setup milestone (#4546)
Co-authored-by: Orca <help@stably.ai>
2026-06-03 17:11:29 -07:00
Benny Jiang 6ba4bf4fd4 fix: don't spawn Codex in the background when signed out (#4593)
The rate-limit quota poller fetches Codex usage on app start, window
focus, and every poll. Unlike the Claude and Gemini fetchers (which read
credentials from files/keychain and hit an HTTP endpoint), the Codex
fetcher always spawns the real codex binary — 'codex app-server' over
RPC, and on RPC failure an interactive codex PTY running /status.

For users who have Codex installed but never signed in, this surfaces as
an unexpected Codex process starting in the background even though they
never launched Codex. The spawn can only fail without auth.

Gate the fetch on the presence of Codex auth (auth.json under the
resolved CODEX_HOME / managed-account home). When absent, return
status 'unavailable' without spawning anything, mirroring how the other
providers stay quiet until configured. Signed-in users are unaffected.
2026-06-03 20:10:51 -04:00
Brennan BensonandOrca 1ebbab575c fix: hide setup checklist sidebar for existing users (#4584)
Co-authored-by: Orca <help@stably.ai>
2026-06-03 16:53:31 -07:00
Brennan BensonandOrca 5142a24536 Simplify project add handoff (#4530)
Co-authored-by: Orca <help@stably.ai>
2026-06-03 16:50:35 -07:00
github-actions[bot] cd16ff4b98 release: v1.4.42-rc.8 v1.4.42-rc.8 2026-06-03 23:47:39 +00:00
Jinwoo HongandOrca 163dec7010 Update Orca CLI skills for agent worktree flow (#4529)
Co-authored-by: Orca <help@stably.ai>
2026-06-03 16:45:34 -07:00
Neil 6e77c02fc6 fix: update Electron and revert UTF-8 write mitigations (#4598) 2026-06-03 16:45:01 -07:00
Andrii Valenia 2ba6f00db4 Add tab and workspace rename keyboard shortcuts (macOS) (#3280)
Adds configurable macOS shortcuts for renaming the active terminal tab and active workspace, with review follow-up fixes for conflict detection, sidebar reveal, lineage child rename surfaces, and floating workspace focus scoping.
2026-06-03 19:29:20 -04:00
Jinwoo HongandOrca d9f2d4ac6c Support remote host Windows terminal UI (#4589)
Co-authored-by: Orca <help@stably.ai>
2026-06-03 16:21:43 -07:00
Neil 0bbd103f5f Add process-gone diagnostics to crash reports (#4596) 2026-06-03 16:20:03 -07:00
Hüseyin Serkan Özaydinandhsmnzaydn 4fc28da450 added horizontal screen support (#4316)
Co-authored-by: hsmnzaydn <serkan.ozaydin@applixus.com>
2026-06-03 19:08:41 -04:00
09872bfe7b Fix macOS keyboard actions targeting the wrong app (#3960)
* fix: guard macos synthetic input focus

* Tighten macOS keyboard focus safety

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

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-06-03 19:00:34 -04:00
885f3c3b25 Fix macOS provider launch failures (#3958)
* fix: handle macos provider launch failures

* fix macos provider launch failure race

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

* fix repeated missing upstream probes

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

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-06-03 18:57:44 -04:00
Trevin Chow 2c2ac2edbf fix: handle detached launch spawn errors (#3957) 2026-06-03 18:46:00 -04:00
github-actions[bot] 964dbbc4e6 release: v1.4.42-rc.7 v1.4.42-rc.7 2026-06-03 22:45:18 +00:00
Neil f62bf927cd Fix Electron stats JSON crash (#4595)
Avoid Electron 42.3.x's broken bulk UTF-8 conversion when persisting stats JSON. The crash loop reproduced when sparse non-ASCII strings in orca-stats.json were rewritten after restored terminal activity triggered a debounced stats save.

Add regression coverage for the sparse non-ASCII payload and surrogate-pair boundary handling.
2026-06-03 15:38:36 -07:00
github-actions[bot] ad38cf455e release: v1.4.42-rc.6 v1.4.42-rc.6 2026-06-03 22:09:04 +00:00
Neilandthiagomsoares 996b69dce0 Harden large app state UTF-8 writes (#4587)
* fix: write stats file in chunks to avoid Electron UTF-8 abort

orca-stats.json gains an event on every agent start/stop. After about a
month of use mine had grown to ~3.6k events / ~608 KB, and the app started
hard-crashing a few seconds after every launch (SIGTRAP, no catchable JS
stack):

    Assertion failed: (length + 1) <= (capacity())
    node::MaybeStackBuffer<char>::SetLengthAndZeroTerminate <- node::Utf8Value

The crash is in StatsCollector.writeToDiskSync(), which saves the whole
file in one writeFileSync(JSON.stringify(data)). Electron 42.3.2's bundled
Node aborts when encoding a string that large to UTF-8 in a single write;
stock Node 24 handles the same file fine and the data is well-formed, so
it's an Electron/Node encoding limit, not bad data. The save runs on a
debounce after agent_start, which restored agents fire on launch -- so it
crashed right after opening.

Write the JSON in 64 KB slices through one fd instead (never splitting a
surrogate pair), and lower MAX_EVENTS 10k -> 1k so the file can't grow back
this large. Lifetime aggregates are unaffected.

Verified by reproducing the abort standalone with the real 608 KB file
under ELECTRON_RUN_AS_NODE, confirming the chunked writer round-trips it
byte-for-byte with no crash, and running a patched build that loads the
file without crashing. The underlying encode abort is an Electron/Node bug
to report upstream.

* fix: harden stats JSON writes

* fix: chunk app state UTF-8 writes

* fix: stabilize status and terminal polling

---------

Co-authored-by: thiagomsoares <5190162+thiagomsoares@users.noreply.github.com>
2026-06-03 14:58:28 -07:00
40d8eeb8a5 fix: write stats file in chunks to avoid Electron UTF-8 abort (#4571)
* fix: write stats file in chunks to avoid Electron UTF-8 abort

orca-stats.json gains an event on every agent start/stop. After about a
month of use mine had grown to ~3.6k events / ~608 KB, and the app started
hard-crashing a few seconds after every launch (SIGTRAP, no catchable JS
stack):

    Assertion failed: (length + 1) <= (capacity())
    node::MaybeStackBuffer<char>::SetLengthAndZeroTerminate <- node::Utf8Value

The crash is in StatsCollector.writeToDiskSync(), which saves the whole
file in one writeFileSync(JSON.stringify(data)). Electron 42.3.2's bundled
Node aborts when encoding a string that large to UTF-8 in a single write;
stock Node 24 handles the same file fine and the data is well-formed, so
it's an Electron/Node encoding limit, not bad data. The save runs on a
debounce after agent_start, which restored agents fire on launch -- so it
crashed right after opening.

Write the JSON in 64 KB slices through one fd instead (never splitting a
surrogate pair), and lower MAX_EVENTS 10k -> 1k so the file can't grow back
this large. Lifetime aggregates are unaffected.

Verified by reproducing the abort standalone with the real 608 KB file
under ELECTRON_RUN_AS_NODE, confirming the chunked writer round-trips it
byte-for-byte with no crash, and running a patched build that loads the
file without crashing. The underlying encode abort is an Electron/Node bug
to report upstream.

* fix: harden stats JSON writes

---------

Co-authored-by: thiagomsoares <5190162+thiagomsoares@users.noreply.github.com>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-06-03 14:48:41 -07:00
Jinwoo HongandOrca 0a679e992c Fix agent completion sidebar bell (#4590)
Co-authored-by: Orca <help@stably.ai>
2026-06-03 17:35:30 -04:00
843d969c7d fix(tabs): make the active tab clearly stand out (#4545)
* fix(tabs): make the active tab clearly stand out

The active tab was marked only by a 1px dark-navy line on its top edge,
which read as just another border and was easy to lose in a long, busy
tab strip.

Replace it with a 2px `primary` bar on the bottom edge (bridging the tab
into the panel it controls), a subtle theme-uniform background lift, and
brighter text. The bar leads in both light and dark; the lift uses a
color-mix wash instead of `accent`, whose contrast against `card` is
near-zero in light mode but heavy in dark, so the two themes no longer
lead with different cues. Applies across terminal, browser, and editor
file tabs via the shared indicator constant and wrapper styling.

* fix(tabs): centralize active tab styling

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

* fix(git): cache missing upstream status probes

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

* fix(terminal): defer sustained ANSI redraw bursts

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

---------

Co-authored-by: Jinwoo-H <jinwoo0825@gmail.com>
Co-authored-by: Orca <help@stably.ai>
2026-06-03 17:27:20 -04:00
Neil 9b3eace37b Fix Linear issue list response compatibility
Fixes #4588
2026-06-03 14:23:26 -07:00
Neil 280234a73e fix: stop OpenTUI redraw and git polling freezes (#4585)
* fix: budget foreground terminal redraw writes

* fix: cache stable no-upstream git probes
2026-06-03 14:13:02 -07:00
Trevin Chow be594b8652 Fix macOS helper path and token cleanup (#3961)
## Summary
- stop the macOS helper from unlinking caller-supplied socket and token paths
- keep parent-owned token cleanup tied to the helper startup that created it
- fail closed for non-socket socket-path collisions and cover helper cleanup races with regression tests

## Verification
- swift test --package-path native/computer-use-macos
- pnpm exec vitest run --config config/vitest.config.ts src/main/computer/macos-native-provider-client.test.ts
- pnpm run typecheck:node
- pnpm lint
- pnpm run build:computer-macos
- Electron/helper startup smoke validation
2026-06-03 16:59:02 -04:00
Neil 9061330ab5 test: reproduce terminal TUI and git polling regressions (#4581)
* test: reproduce terminal and git polling freezes

* test: document regression repro triggers
2026-06-03 13:34:27 -07:00
Jinwoo HongandOrca f958228739 Fix remote runtime worktree selectors (#4582)
* Fix remote runtime worktree selectors

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

* Harden remote worktree selector call sites

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

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-03 16:19:08 -04:00
Neil 6dc779c4f4 Address react doctor warnings 2026-06-03 12:48:00 -07:00
Neil 7bf33ea224 Fix new workspace shortcut terminal focus (#4565) 2026-06-03 12:25:54 -07:00
Jinwoo HongandOrca 9190a3391f Fix stale sidebar agent status spinner (#4577)
Co-authored-by: Orca <help@stably.ai>
2026-06-03 12:21:39 -07:00
Jinwoo HongandOrca c5d3d595a4 Fix remote server switch reachability probe (#4578)
Co-authored-by: Orca <help@stably.ai>
2026-06-03 14:59:33 -04:00
Jinwoo HongandOrca aa8451b3e9 Fix mobile Linear issue list parsing (#4576)
Co-authored-by: Orca <help@stably.ai>
2026-06-03 11:06:43 -07:00
Jinjing 82104c4a0c fix: delete untracked files without confirmation (#4572) 2026-06-03 10:44:22 -07:00
github-actions[bot] d0a10fabb0 release: v1.4.44 v1.4.44 2026-06-03 16:59:37 +00:00
Jinjing 2d42e77309 Revert "Preserve explicit slept workspace state (#4536)"
This reverts commit 0d2abc5cb7.
2026-06-03 09:48:03 -07:00
Jinjing 7c701c9319 Revert "Fix hide sleeping lineage restoration (#4543)"
This reverts commit 195f3e94f9.
2026-06-03 09:48:03 -07:00
github-actions[bot] afd92f2dcc release: v1.4.43 2026-06-03 09:27:16 +00:00
Neil dd53a46b95 Revert "Improve new worktree startup timing" (#4564) 2026-06-03 02:22:17 -07:00
github-actions[bot] 3dadba37f4 release: v1.4.42 2026-06-03 09:14:04 +00:00
Neil 8eee59c084 revert: remove terminal retention changes (#4562) 2026-06-03 02:12:47 -07:00
Neil 3079e4690a Improve new worktree startup timing 2026-06-03 01:42:14 -07:00
Neil c9c0418612 perf: cache floating tab count selector (#4550) 2026-06-03 00:07:45 -07:00
NeilandOrca 7834d3d297 Redesign shortcuts settings UX (#4554)
- Remove the Groups nav rail; filter shortcuts by search + status only
- Fold keybindings.json path into the subsection subtitle and move the
  Edit File in Orca action into the header
- Replace the floating hover-card action popover with an inline recorder:
  keycaps (or an Add shortcut placeholder) click to record in place, and
  Reset/Disable reveal on row hover/focus
- Fix a grid align-content stretch bug that opened a large gap between
  shortcut groups in the scroll area

Co-authored-by: Orca <help@stably.ai>
2026-06-02 23:54:10 -07:00
Jinwoo HongandOrca 0f2b918773 Avoid Claude CLI fallback during rate-limit refresh (#4553)
Co-authored-by: Orca <help@stably.ai>
2026-06-02 23:44:46 -07:00
Neil 9bfceb934f test: stabilize e2e expectations (#4544) 2026-06-02 22:31:57 -07:00
Jinwoo HongandOrca 205494b7ba Fix file search match parsing (#4542)
Co-authored-by: Orca <help@stably.ai>
2026-06-02 22:11:37 -07:00
Jinwoo HongandOrca 195f3e94f9 Fix hide sleeping lineage restoration (#4543)
Co-authored-by: Orca <help@stably.ai>
2026-06-02 22:09:36 -07:00
Jinjing 192fcde21d Revert "Use icon button for check run details" (#4541) 2026-06-02 22:00:30 -07:00
github-actions[bot] e21e12ca07 release: v1.4.42-rc.5 v1.4.42-rc.5 2026-06-03 04:51:06 +00:00
Neil cc96aec459 fix: restore parked terminals from main snapshots (#4539) 2026-06-02 21:43:56 -07:00