Commit Graph
316 Commits
Author SHA1 Message Date
Brennan BensonandOrca 64acad300d Add Floating Workspace contextual tour (#5062)
* Add floating workspace contextual tour

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

* Clarify floating workspace tour intro copy

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

* Differentiate floating workspace tour steps instead of repeating examples

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

* Lead floating workspace tour with the user benefit

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

* Pitch floating workspace tour around cross-repo agents

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

* Refine floating workspace tour step 1 copy

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

* Anchor floating workspace tour step 2 on the minimize control

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

* Restore floating workspace tour step 2

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

* Anchor floating workspace tour steps on New Terminal and New Markdown Note

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

* Retitle floating workspace tour step 2 as scratchpad

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

* Add why-comments for tour selector fallback and placement flipping

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

---------

Co-authored-by: Orca <help@stably.ai>
2026-06-10 14:12:07 -07:00
Brennan BensonandOrca 2fa2cc8cb1 Fix git repo telemetry for repo adds (#5121)
Co-authored-by: Orca <help@stably.ai>
2026-06-10 13:24:49 -07:00
4d6c291eff fix(windows): stop main-thread PowerShell ACL storm on env-store reads (#5011)
* fix(windows): stop main-thread PowerShell storm on env-store reads

Two changes fix the v1.4.52+ Windows performance regression (#4901 regression
against #4840) where 49 powershell.exe processes were spawned in 27 seconds
during load, saturating the Electron main thread and causing black terminals
and runtimeEnvironments:call timeouts.

Root cause: `readEnvironmentStore` calls `hardenExistingSecureFile` on every
read. The env-store parent directory's mtime churns constantly (every secure
write updates it), so the mtime-keyed idempotency cache never matched →
`bestEffortRestrictWindowsPath` (powershell, ~1-1.5s synchronous) fired on
every call. After #4901, the remote-runtime tab-sync loop reads the store
~2×/s, turning sporadic mtime misses into a continuous main-thread storm.

Fix 1 – path-cached directory hardening: add `hardenedDirectoryPathsThisProcess
(Set<string>)` that caches directory hardening by PATH for the process lifetime.
A directory's required ACL does not change when its mtime changes; only file
hardening retains the metadata-keyed cache so post-rename inode changes are
detected correctly.

Fix 2 – async ACL application: replace `execFileSync(powershell.exe, ...)` with
`execFile` (fire-and-forget). PowerShell cold-start is ~1-1.5s; the function is
already named `bestEffortRestrictWindowsPath` so async/optimistic caching is
correct. `applySecurePathRestriction` returns `true` optimistically on win32 so
the cache entry is written before the background process completes.

Tests: new regression tests verify the directory is hardened exactly once even
when its mtime changes between calls, that unchanged files are not re-hardened,
and that ACL application goes through async execFile (not execFileSync).

* fix(windows): apply credential-file ACL synchronously on write path

Follow-up rigor on the env-store PowerShell ACL storm fix (#5006). The
read-path storm fix (path-cached async directory hardening + async file
re-harden) is retained, but switching ALL ACL application to async opened a
narrow Windows-only security window: because writeFileSync({mode}) is a no-op
on Windows, writeSecureFile returned with the credential file still carrying
the parent directory's inherited (broader) ACL for the ~1-1.5s PowerShell
cold-start, affecting the e2ee keypair, device registry, and runtime env auth
store.

Fix: apply the credential FILE's ACL synchronously (execFileSync) on the
infrequent write path, before the atomic rename publishes it, and cache the
path as hardened only on confirmed success so a failed apply retries. Keep the
DIRECTORY hardening async + path-cached for the process lifetime (that is what
killed the #4901/#5006 main-thread storm). The read path's existing-file
re-harden stays async + metadata-cached (fires at most once per file, no storm).

Also:
- Document the dir-path cache process-lifetime known limitation (deleted+
  recreated dir not re-hardened until restart).
- Remove the redundant double dir-cache write in writeSecureFile.
- Add docs/windows-secure-file-acl-hardening.md describing the sync-file/
  async-dir model and a manual Windows e2e test plan (the cross-platform
  Playwright harness runs on Linux and cannot reach the PowerShell path).

Tests (src/shared/secure-file.test.ts, 13 passing): credential file hardened
synchronously while dir stays async (no async file-ACL window); failed sync
file-ACL apply is not cached and retries; dir hardened exactly once across many
writes despite mtime churn; no PowerShell spawned on non-win32.

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

* fix: keep POSIX secure directory hardening metadata-aware

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Neil <4138956+nwparker@users.noreply.github.com>
2026-06-09 01:47:29 -07:00
Jinjing 2fd4f4e13e Update README feature showcase hero 2026-06-09 00:13:44 -07:00
Jinjing 03c2532ae7 Update README demo gif 2026-06-08 23:08:34 -07:00
Jinjing 3d1b6391d2 Update UI style guide
Push local docs/STYLEGUIDE.md content to main.
2026-06-08 20:25:32 -07:00
Jinwoo HongandOrca 04205acd76 Graduate compact worktree card setting (#4924)
Co-authored-by: Orca <help@stably.ai>
2026-06-08 17:37:11 -07:00
Jinjing 263c4f9bd2 fix: address review findings (#4865) 2026-06-07 22:17:52 -07:00
Jinwoo HongandOrca bed394ca11 Send OpenCode source-control prompts over stdin (#4859)
Co-authored-by: Orca <help@stably.ai>
2026-06-07 21:00:20 -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 Hong 87ca65d395 Update mobile download links to 0.0.12
Point Android download links and related fixtures at the published mobile-v0.0.12 release.
2026-06-04 16:11:51 -04:00
Jinwoo HongandOrca c4df8628b8 Add Droid orchestration routing (#4624)
Co-authored-by: Orca <help@stably.ai>
2026-06-04 10:00:11 -07:00
Brennan BensonandOrca 7b6e8e0ced Remove final code onboarding step (#4524)
Co-authored-by: Orca <help@stably.ai>
2026-06-03 23:57:53 -07:00
Jinwoo HongandOrca 089fbd6951 Improve README mobile companion showcase (#4609)
Co-authored-by: Orca <help@stably.ai>
2026-06-03 18:45:57 -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
Brennan BensonandOrca 1e956a0b24 Show install status for AI capabilities (#4483)
Co-authored-by: Orca <help@stably.ai>
2026-06-02 15:42:30 -07:00
Jinjing 990b4cf28d fix: improve floating surface visibility (#4466) 2026-06-02 01:37:35 -07:00
Jinwoo HongandOrca 135c69d3e8 Add Linear issue load more (#4437)
Co-authored-by: Orca <help@stably.ai>
2026-06-01 23:35:47 -07:00
Brennan BensonandOrca 38f12e8df4 Track parallel work education telemetry (#4449)
Co-authored-by: Orca <help@stably.ai>
2026-06-01 23:29:28 -07:00
Brennan BensonandOrca d4a4a2aee4 Remove covered onboarding steps (#4445)
Co-authored-by: Orca <help@stably.ai>
2026-06-01 23:00:26 -07:00
Jinwoo HongandOrca 8c6dae3345 Update mobile 0.0.11 release links (#4440)
Co-authored-by: Orca <help@stably.ai>
2026-06-01 21:42:38 -07:00
Brennan BensonandOrca 5b1f297078 Add contextual feature tours (#2734)
Co-authored-by: Orca <help@stably.ai>
2026-06-01 21:20:15 -07:00
Neil 1bd6b0e926 Handle ANSI redraw controls in terminal previews (#4418) 2026-06-01 16:21:11 -07:00
Neil 9769b85ae7 Skip visit writes for active worktree reselect (#4417) 2026-06-01 16:06:21 -07:00
Neil 36384f17f4 Avoid no-op worktree activation fanout (#4416) 2026-06-01 15:56:01 -07:00
Neil d044a2be9e Wait for browser registration after hidden wake (#4413) 2026-06-01 15:42:30 -07:00
Neil 163cf8da6f Make parked browser tabs paint before automation (#4411) 2026-06-01 15:27:36 -07:00
Neil f7fb6ef686 Expose memory diagnostics through CLI (#4408) 2026-06-01 15:14:15 -07:00
Neil df9a254393 Heal stale generated Orca CLI launchers
Detect generated Orca Unix launcher files as stale CLI registrations and replace them during install, while keeping arbitrary regular files protected as conflicts. This removes the stale /usr/local/bin/orca blocker found during memory profiling.
2026-06-01 14:56:27 -07:00
Neil 9c37bab97a Reduce hidden browser and terminal memory churn
Reduce hidden browser webview retention, correct Resource Usage app memory attribution, and normalize terminal TUI redraw previews. Includes docs/renderer-memory-profile-2026-06-01.md with the profiling evidence.
2026-06-01 14:16:18 -07:00
Jinwoo HongandOrca f888acdb65 Revert Codex launch homes to shared runtime (#4400)
Co-authored-by: Orca <help@stably.ai>
2026-06-01 12:36:16 -07:00
Jinwoo Hong 57ac2ef08e Hot-swap Codex homes via active pointer
Route Codex terminal launches through stable active CODEX_HOME pointers for host and WSL launch homes, with account-switch repointing and validated Windows/WSL behavior.
2026-06-01 03:09:11 -04:00
Jinjing 2d52a6072e Update localized mobile APK links
Point localized README Android links at the verified mobile-v0.0.10 APK asset.
2026-05-31 17:10:10 -07:00
Jinwoo HongandOrca ac811ffb06 Add image viewer pinch zoom (#3531)
Co-authored-by: Orca <help@stably.ai>
2026-05-31 14:07:15 -07:00
Jinwoo Hong ec01ffb986 Preserve Codex runtime config preferences (#3944) 2026-05-31 16:40:39 -04:00
Neil c0eb15b311 chore: remove tracked audit ledgers (#4031) 2026-05-31 01:52:33 -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 41cbdb1d1d fix: clear completed PR request generations 2026-05-31 01:35:21 -07:00
Jinjing 60ff88fd6c fix: stabilize orchestration RPC tests (#3949) 2026-05-30 14:35:59 -07:00
Jinjing d69c288e94 Improve automation schedule UI (#3936) 2026-05-30 13:49:28 -07:00
Jinjing 28e2ce929f Improve SSH config target handling (#3899) 2026-05-30 13:10:39 -07:00
Neil ddbb6a1e7d Update oxlint and oxfmt 2026-05-30 13:09:17 -07:00
Jinjing 8484830b9e Improve Linear scope selection (#3850) 2026-05-30 12:55:13 -07:00
Jinjing e59ddd59a7 fix: persist floating terminal panel bounds (#3828)
Add bounds normalization and persistence for the floating terminal panel, covering default placement, drag/resize persistence, maximize restore behavior, and viewport clamping.

Design: docs/floating-terminal-panel-position-persistence.md
2026-05-30 11:59:19 -07:00
Rajvardhan Patil a00c96ff03 Add OpenClaude agent support
Adds OpenClaude as a distinct CLI agent across detection, launch, settings, status, hooks, orchestration, telemetry identifiers, notifications, and README badges. Installs OpenClaude hooks under its own ~/.openclaude config root, handles StopFailure API/model-error events so statuses clear correctly, and keeps OpenClaude tab/status icons distinct from Claude.
2026-05-30 02:46:28 -07:00
Jinwoo HongandOrca fba8297e40 Fix remote paste and workspace activity (#3521)
Co-authored-by: Orca <help@stably.ai>
2026-05-30 03:35:56 -04:00
Neil 80a2b6195b docs: remove local memory leak audit tracker (#3381) 2026-05-29 16:53:21 -07:00
Neil 22bc5fdc07 Remove tracked React perf audit ledger (#3379) 2026-05-29 16:50:44 -07:00
Neil 431b336f1b Document project column preference audit (#3375) 2026-05-29 16:39:10 -07:00
Neil 0cc3bd77bc docs: update final memory leak comb after rebase (#3373) 2026-05-29 16:34:08 -07:00