Commit Graph
3283 Commits
Author SHA1 Message Date
Neil efcfe1ca8c perf: avoid flattening worktree selector snapshots (#4035) 2026-05-31 01:59:47 -07:00
Neil 39be32da76 fix: open Windows OSC file path links (#4034) 2026-05-31 01:58:48 -07:00
f9231ccd5d fix: pr-bug-scan validated finding from #3420 (#3433)
* fix: address pr-bug-scan validated finding from #3420

Replaced SheetClose-wrapped X button with a direct onClick that calls onOpenChange(false), bypassing handleSheetOpenChange's swallowed false branch.

* Add workspace board close regression

* test: align workspace board close test with layout props

---------

Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-05-31 01:57:30 -07:00
Neil b82ee81fad perf: move editor path copy timer to handler
Move editor path-copy feedback timer ownership into the copy handler and verify visible Electron behavior. Risk: low.
2026-05-31 01:56:48 -07:00
Jinwoo-HandOrca 96964ff8de fix: scope UNC OSC7 host preservation
Co-authored-by: Orca <help@stably.ai>
2026-05-31 01:56:37 -07:00
Neil b7849f5f94 fix: preserve windows unc osc7 cwd 2026-05-31 01:56:37 -07:00
a314cbfb9a fix: pr-bug-scan validated finding from #3776 (#3855)
* fix: address pr-bug-scan validated finding from #3776

Remove unconditional generation bump in evictInactiveCodexCache; sibling in-flight fetches are no longer marked stale, while per-account guard still drops the evicted account's result.

* test: cover inactive Codex sibling eviction

---------

Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-05-31 01:55:54 -07:00
Neil 0fb10ea4c6 perf: pause prompt cache countdown when hidden (#4032) 2026-05-31 01:53:43 -07:00
Jinwoo-HandOrca 61cee02438 test: restore codex hook cleanup warn spy
Co-authored-by: Orca <help@stably.ai>
2026-05-31 01:53:24 -07:00
Neil cb136952c9 fix: clean large legacy codex hook lists 2026-05-31 01:53:24 -07:00
13c099783a fix: pr-bug-scan validated finding from #2901 (#2915)
* fix: address pr-bug-scan validated finding from #2901

Trim trailing whitespace from description currentValue so blur-without-edit on whitespace-terminated descriptions short-circuits and skips the spurious PATCH.

* test: cover Linear description save normalization

---------

Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-05-31 01:52:45 -07:00
Neil 8ba451e8dd fix: preserve newline worktree paths
Use porcelain-z worktree parsing with fallback line parsing so newline-containing worktree paths survive local and relay operations. Risk: low.
2026-05-31 01:50:16 -07:00
Jinwoo-HandOrca 3ae32ee9e6 test: cover relay diff traversal rejection
Co-authored-by: Orca <help@stably.ai>
2026-05-31 01:49:29 -07:00
Neil 6c9332004e fix: allow dot-dot-prefixed relay diff paths 2026-05-31 01:49:29 -07:00
Neil b4dba9af73 fix: detach macos resolver probe listeners
Detach scutil stream and child process listeners when the macOS resolver probe settles, with listener-count regression coverage. Risk: low.
2026-05-31 01:48:30 -07:00
Neil 45afdfc3c2 fix: allow hermes log paths with dot-dot names 2026-05-31 01:47:44 -07:00
Neil 7d91c5c5d3 perf: coalesce startup history gc
Low-risk resource-cleanup perf fix. Duplicate pending/running startup history-GC schedules are coalesced so repeated main-window service attaches do not queue duplicate disk-GC passes. Verified with terminal-history Vitest and file-level oxlint.
2026-05-31 01:43:32 -07:00
4d2c041e8c fix: pr-bug-scan validated finding from #2835 (#2873)
* fix: address pr-bug-scan validated finding from #2835

* test: cover async macOS resolver health check

---------

Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-05-31 01:41:35 -07:00
buf0-bot[bot]andNeil d7f44bfa26 fix: handle onboarding skip settings failures (#2727)
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-05-31 01:41:32 -07:00
2b25f0f9de fix: pr-bug-scan validated finding from #2613 (#2659)
* fix: address pr-bug-scan validated finding from #2613

Re-added the pre-diff attempt cap to waitForTerminal: it now takes an attempt counter and only reschedules while attempt < READY_MAX_ATTEMPTS (50), so the retry loop terminates after ~5s instead of lo

* test: cover onboarding terminal retry cap

---------

Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-05-31 01:41:29 -07:00
ec3c30edbb fix: pr-bug-scan validated finding from #2633 (#2637)
* fix: address pr-bug-scan validated finding from #2633

Split the post-stop refresh try/catch so only first-scan failures return ok:false; settled second-scan failures are swallowed since UI is already correct.

* test: cover settled port refresh failures

---------

Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-05-31 01:41:26 -07:00
Neil 54366688ee perf: move runtime pairing copy timer to handler 2026-05-31 01:40:32 -07:00
Neil 41cbdb1d1d fix: clear completed PR request generations 2026-05-31 01:35:21 -07:00
Neil cab52d1635 perf: gate contextual copy hint polling (#4024) 2026-05-31 01:34:31 -07:00
Neil 0c98b9f29f fix: prefer active azure pull requests 2026-05-31 01:30:33 -07:00
buf0-bot[bot] 889064c3e9 fix: pr-bug-scan validated finding from #2549 2026-05-31 01:27:38 -07:00
Neil 0f7011898f fix: exclude forward-slash UNC nested worktrees 2026-05-31 01:27:32 -07:00
Jinjing 73083ca2d8 fix: address review findings (#4015) 2026-05-31 01:26:34 -07:00
Neil 5c072cbff2 perf: clean resource popover focus frame effect (#4018) 2026-05-31 01:24:59 -07:00
BorjaandNeil aed7703d30 Add workspace board column layout setting (#3822)
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-05-31 01:24:08 -07:00
Jinjing f9b52ef8cf feat: add worktree card layout controls (#4016) 2026-05-31 01:22:31 -07:00
Neil c3c265d926 fix: parse github https remotes with auth (#4014) 2026-05-31 01:20:15 -07:00
Neil 0d5b50281b perf: clean create-from focus frame effect (#4013) 2026-05-31 01:16:35 -07:00
Neil d872527e78 perf: clean smart name focus frame effect (#4012) 2026-05-31 01:12:38 -07:00
Neil e6c525b01e perf: clean combobox focus frame effects (#4010) 2026-05-31 01:07:57 -07:00
Emad Fussi 3647b53e00 fix(linux): support AppImage CLI registration
Support packaged Linux AppImage CLI registration with a stable wrapper that invokes the outer AppImage and resolves the CLI entry from APPDIR at runtime.

The takeover drops the already-landed Linux command rename plus unrelated perf/GPU sandbox changes from the original branch, and adds regression coverage for wrapper install, stale wrapper replacement, legacy symlink cleanup, argument forwarding, and env preservation.

Co-authored-by: Emad Fussi <43019044+omd0@users.noreply.github.com>
2026-05-31 01:06:58 -07:00
Trevin Chow c477ff5204 refactor: reuse shared store harness in slice tests (#3993)
store-session-cascades.test.ts and tabs.test.ts each carried a
byte-for-byte copy of createTestStore (plus the make* fixture factories
in the session-cascades file) instead of importing the canonical ones
from store-test-helpers.ts. Switch both to the shared helpers, dropping
~170 lines of duplicated harness and the now-unused slice/create/AppState
imports. The removed bodies were identical to the shared exports, so test
behavior is unchanged.
2026-05-31 01:04:17 -07:00
Jinjing e071cab1bb Keep project group headers sticky in worktree list (#4008)
* Keep project group headers sticky over nested repo headers

- Prevent nested repo headers from replacing their top-level project group
  as the pinned sidebar header
- Split imported-row tests from scroll adjustment coverage
- Add sticky header tests for manual and built row hierarchies

* Tell users to commit before publishing dirty new branches
2026-05-31 00:41:50 -07:00
Lesley MurfinandNeil a6c658c325 fix(cli): fall back to ~/.local/bin on macOS arm64 when /usr/local/bin is absent (#3959)
* fix(cli): fall back to ~/.local/bin on macOS arm64 when /usr/local/bin is absent

/usr/local/bin does not exist by default on Apple Silicon Macs — Homebrew
moved to /opt/homebrew after the arm64 transition. The previous code called
mkdir(/usr/local/bin) inside install(), which threw EACCES (root-owned parent
directory) before installSymlink() was reached, so the existing osascript
privileged-runner fallback was never invoked. Settings permanently showed
"not installed" with no error surfaced anywhere, silently blocking all four
agent skill install flows (Orchestration, Browser Use, Computer Use, CLI).

Changes:
- resolveCommandPath() darwin branch now returns this.macCommandPath, a field
  resolved once at construction time via existsSync(dirname(candidatePath)).
  When /usr/local/bin is absent the constructor falls back to ~/.local/bin/orca
  (user-writable, no sudo, XDG standard, already on PATH via shell init on arm64).
  existsSync is not called on every getStatus() invocation.
- mkdir is moved from install() into installSymlink()'s try/catch block so any
  EACCES failure reaches the osascript privileged runner instead of propagating
  as an unhandled rejection. mkdir is kept in install() for the Windows wrapper
  path where the target directory is always user-writable.
- defaultMacCommandPath option added as a test seam so tests can simulate an
  absent /usr/local/bin without touching the real filesystem.

Fixes stablyai/orca#3557

* review: tighten macOS CLI installer coverage

- cover the macOS path-selection seam without bypassing it

- make the privileged-runner test invoke install and assert the fallback

- prove macCommandPath stays fixed after construction

---------

Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-05-31 00:21:37 -07:00
Neil 68a392521a Remove workspace board compact mode 2026-05-31 00:16:10 -07:00
Neil b1e0de2a43 fix: add macos startup lock diagnostics (#4004) 2026-05-31 00:11:04 -07:00
Neil 0db3a47abf fix: show deleting state for workspace batch deletes (#4006) 2026-05-31 00:09:15 -07:00
Jinjing f0308a86e6 Fix PR workspace branch checkout (#4003) 2026-05-31 00:06:57 -07:00
Neil a090176de9 feat: close GitLab review parity gaps (#4001) 2026-05-31 00:05:15 -07:00
Neil b22b1bcea1 Make delete-all primary in parent delete dialog 2026-05-30 23:51:04 -07:00
Jinjing dc7d6b3d3b fix: address review findings (#3997) 2026-05-30 23:48:40 -07:00
Neil c86539dcd5 Revert "Mark workspaces done without deleting them (#3217)" (#3996)
This reverts commit 426f869fa3.
2026-05-30 23:30:17 -07:00
Jinjing b8944852de fix: address review findings (#3994) 2026-05-30 23:24:18 -07:00
Neil b235ff1e4d Fix stale packaged terminal daemon reuse (#3995) 2026-05-30 23:23:38 -07:00
Trevin ChowandJinjing b7ea489456 refactor: reorganize Settings navigation order and labels (#3988)
* refactor: reorganize Settings navigation order and labels

Rename the "Safety" group to "Privacy & Security" (the conventional term
for its permissions + telemetry contents), move Floating Workspace to the
end of Workflows so it sits with the Terminal/Browser surfaces it's built
from, and de-scramble the section registry so it reads in group order.

The registry array now mirrors SETTINGS_NAV_GROUPS top-to-bottom, which
makes the Cmd+J palette list settings in the same grouped order as the
sidebar instead of a jumbled sequence.

* refactor: move terminal visuals into appearance settings

---------

Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-05-30 23:22:46 -07:00