Commit Graph
8614 Commits
Author SHA1 Message Date
Neil 2c7da06b2a Revert "Scaffold iOS companion control architecture" (#1858) 2026-05-14 13:02:27 -07:00
Ramzi cf6867aa6b Scaffold iOS companion control architecture (#1252) 2026-05-14 12:47:26 -07:00
Prateek RungtaandClaude Opus 4.7 11f24f17ad fix(shell-ready): honor user's ZDOTDIR so XDG-layout zsh users get the right rcfiles (#1737)
The wrapper .zshenv used to capture ORCA_ORIG_ZDOTDIR before sourcing the
user's ~/.zshenv, so users who set ZDOTDIR=$XDG_CONFIG_HOME/zsh in .zshenv
ended up with the wrapper sourcing ~/.zshrc instead of
~/.config/zsh/.zshrc. Functions, aliases, and PATH edits silently
disappeared inside every shell-ready PTY (startup-command, attribution
shim, SSH).

Reorder: clear ZDOTDIR, source user .zshenv inside a function (so an early
`return` doesn't abort our wrapper), recapture from user-resolved →
spawn-env → HOME, then re-pin ZDOTDIR to the wrapper dir baked into the
template. Trailing-slash normalization now matches the Node-side
normalizer. Same change in the renderer- and daemon-side wrappers.

New zsh-subprocess tests (gated on `which zsh`) cover the XDG case,
early-return survival in user .zshenv, spawn-env preservation, HOME
fallback, and self-loop normalization including pathological multi-
trailing-slash paths.

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-14 12:45:58 -07:00
Jinwoo HongandOrca 81a2033602 fix(terminal): skip scroll restore on alt-buffer after split to avoid TUI cursor drift (#1413)
PR #1298 schedules scroll-restore + terminal.refresh(0, rows-1) at ~32ms
and 200ms after a split to preserve scrollback through DOM reparenting.
When a full-screen TUI (Claude Code, vim, less) is drawing at that
moment, forceViewportScrollbarSync's scrollLines(-1)/(+1) jiggle and the
buffer repaint race the TUI's next write — the TUI's cursor lands one
row below where it expects and a residual fragment is left at the old
row.

Alt-buffer has no scrollback, so scroll restore has nothing legitimate
to do there. Gate the restore + refresh behind buffer.active.type, but
keep the WebGL reattach callback firing so #1298's dead-canvas fix is
preserved. Normal-buffer splits are unchanged.

Bisected against origin/main: bug appears at b4f1f0ea (#1298), absent at
its parent be0e3c2f.

Co-authored-by: Orca <help@stably.ai>
2026-05-14 12:44:23 -07:00
buf0-bot[bot]andorca-bug-scan-bot 5c879bf79f fix: address pr-bug-scan validated finding from #1837 (#1856)
Added leaveWorktreeIfEmpty follow-up in TerminalPaneOverlayLayer onPtyExit/onCloseTab so closing the last terminal deselects the worktree and returns to Landing.

Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
2026-05-14 12:41:53 -07:00
Brennan BensonandOrca 28a5acb931 feat(sidebar): redesign Smart worktree sort around hook-reported agent state (#1701)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 12:20:57 -07:00
Jinwoo HongandOrca 54fc977f26 Add terminal quick commands (#1854)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 12:09:07 -07:00
Brennan BensonandOrca 727226fed9 fix(agent-hooks): write managed hook script to shared ~/.orca path (#1546)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 11:57:48 -07:00
Brennan BensonandOrca 8c205fb85c fix(session): gate writer on hydration success + roll backups (#1160)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 11:31:22 -07:00
Jinwoo HongandOrca 8e4806315e docs: pin Android mobile release link (#1851)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 11:17:57 -07:00
Jinjing cfa98d4589 Fix terminal glyph renderer fallback (#1850)
* fix terminal glyph renderer fallback

* remove terminal glyph design doc from pr
2026-05-14 11:01:44 -07:00
Jinwoo HongandOrca 5b24ae4198 Fix Claude scoped Keychain auth (#1735)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 10:48:46 -07:00
Jinjing 133c8788a5 fix: separate workspace filter reset action (#1849) 2026-05-14 10:01:21 -07:00
github-actions[bot] 2836c8e685 release: v1.4.2-rc.0 [rc-slot:2026-05-14-03] v1.4.2-rc.0 2026-05-14 10:51:57 +00:00
Neil a9cef50687 docs: add DESIGN.md describing Orca's visual identity (#981)
Adds a DESIGN.md following the google-labs-code/design.md alpha spec so
agents and contributors have a single structured source of truth for
Orca's tokens (colors, typography, rounded, spacing, components) and the
prose rationale for when and how to apply them.

Tokens are derived from src/renderer/src/assets/main.css and the Button
CVA in src/renderer/src/components/ui/button.tsx, with a parallel
dark-colors block for the .dark theme remap. Tightens muted-foreground
(#737373 -> #6B6B6B) and ring (#a1a1a1 -> #8E8E8E) to the WCAG AA /
non-text 3:1 thresholds; an a11y note flags these as the normative
target for the CSS variables.

Passes the official `npx @google/design.md lint` with 0 errors.
2026-05-14 02:05:06 -07:00
Neil bae5fba3a5 fix: harden mermaid rendering (#1838) 2026-05-14 02:02:38 -07:00
zhang.bin bf9af63090 fix(pty): preserve WSL worktree cwd in terminals (#1808) 2026-05-14 01:57:31 -07:00
Jinwoo Hong 63bd56c770 Recover from daemon hello timeout (#1179) 2026-05-14 01:55:21 -07:00
Nikolatesla-ljandCodex 543d9a6c30 fix(linux): avoid Ubuntu orca package conflict (#1306)
Co-authored-by: Codex <codex@users.noreply.github.com>
2026-05-14 01:52:24 -07:00
Neilandhermes 11bd7dfe37 fix: pr-bug-scan findings from #1415 (re-applied on current main) (#1516)
Re-applies the four ResourceUsageStatusSegment fixes from #1464 on top of
current main. Original PR was branched off the #1415 merge commit and
would have silently reverted #1451 (focus right pane after clicking an
agent), which reworks navigateToTab to thread paneKey through and call
activateTabAndFocusPane.

Findings:
- Orphan kill race re-adds the killed row (await kill before refresh).
- Duplicate sessions interval inside open-gated effect (removed).
- Kill-confirm Dialog mounted inside PopoverContent (hoisted to sibling).
- daemonUnreachable required at least one snapshot failure (also treat
  null snapshot + sessions error as unreachable).

Co-authored-by: hermes <bot@hermes>
2026-05-14 01:50:25 -07:00
Neil f0705af998 perf(git): fold upstream status into git poll (#1828)
* perf(git): fold upstream status into git poll

* fix: keep git status polling lint-clean
2026-05-14 01:37:36 -07:00
Neil 5d6992d7f0 Gate editor autosave store subscriber (#1826)
* Gate editor autosave store subscriber

* fix: keep autosave controller lint-clean
2026-05-14 01:34:39 -07:00
Neil 2762fdb38c perf(tasks): narrow task page cache subscriptions (#1824)
* perf(tasks): narrow task page cache subscriptions

Avoid re-rendering the full Tasks page for unrelated GitHub and Linear cache writes by selecting only the cache entries the page can render, and by returning null from dialog/drawer selectors while those surfaces are closed.

* fix: satisfy task selector lint
2026-05-14 01:32:00 -07:00
Neil 0c1429e26b perf(terminal): batch daemon pty stream events (#1818)
Coalesce adjacent daemon PTY data chunks before NDJSON stream serialization while preserving exit ordering.
2026-05-14 01:22:57 -07:00
Neil 133f57da3d perf(renderer): gate mobile pairing polling (#1820) 2026-05-14 01:22:53 -07:00
Neil 4c7f5e3370 Avoid local scrollback serialization on shutdown (#1821) 2026-05-14 01:22:49 -07:00
Neil b0e7fe94ab Cap persisted browser history payloads (#1822) 2026-05-14 01:22:46 -07:00
Neil dbeb89436a Reduce serial startup waits before first window (#1823)
* Avoid local scrollback serialization on shutdown

* Reduce serial startup waits before first window
2026-05-14 01:22:42 -07:00
Neil ee2b8b861c perf(explorer): avoid full refresh after replayed events (#1827)
Skip the expensive expanded-tree refresh after deferred file explorer watcher payloads when the replayed events can be reconciled with targeted directory refreshes. Keep the fallback for unreplayable rename payloads.
2026-05-14 01:22:38 -07:00
Neil 105d0a50f8 perf(fs): avoid probing WSL root files (#1829) 2026-05-14 01:22:35 -07:00
Neil c53eec6b53 perf(metadata): dedupe metadata cache requests (#1833)
Dedupes in-flight GitHub and Linear metadata lookups behind the existing short TTL caches, and prevents cleared caches from being repopulated by stale in-flight responses.
2026-05-14 01:22:31 -07:00
Neil d8610a714e perf(claude-usage): batch transcript scans (#1836) 2026-05-14 01:22:28 -07:00
Neil 41d642bd29 Coalesce pane divider drag updates (#1816)
Batch terminal pane splitter flex writes behind requestAnimationFrame so high-rate drag pointermove bursts do at most one layout write per frame, while flushing the latest size before final refit.
2026-05-14 01:18:56 -07:00
Neil 2908367186 fix(terminal): repaint after WebGL attach (#1817)
Centralize the xterm refresh after successful WebGL attachment so resumed, reparented, or setting-toggled panes do not show a stale empty WebGL canvas until the next output or resize.
2026-05-14 01:18:53 -07:00
Neil e2e6f43b2a perf(browser): scope webview drag listeners (#1834) 2026-05-14 01:18:50 -07:00
Neil bfb62e2bcf perf(editor): debounce markdown doc link decorations (#1830)
Debounce Monaco markdown doc-link decoration refreshes so rapid content changes coalesce into one full-model scan, while preserving immediate initial render and cleanup behavior.
2026-05-14 01:18:46 -07:00
Neil dca8206c32 perf(renderer): remove agent command draft reset effect (#1825) 2026-05-14 01:18:43 -07:00
Neil 4d8fe63fe9 perf(browser): clear anti-detection reattach timers (#1832)
Cancel delayed browser anti-detection debugger reattach timers when guest policy cleanup runs so closed or re-registered webviews are not retained until the retry fires.
2026-05-14 01:18:39 -07:00
Neil f12119d2cd perf(main): bound process cwd cache (#1831)
Cap the per-PID cwd result cache and sweep expired entries on each lookup.
Add a regression test that freezes time and churns unique PIDs so TTL expiry cannot mask unbounded cache growth.
2026-05-14 01:18:35 -07:00
Neil 11ce1647d1 test(rpc): use OS-assigned websocket test ports (#1835) 2026-05-14 01:18:32 -07:00
Neil 7bc3ba1054 fix: preserve terminal panes across split groups (#1837) 2026-05-14 01:06:54 -07:00
Jinjing 4889daf1c0 feat: group activity agent threads (#1815) 2026-05-14 00:51:00 -07:00
Jinjing f9f7c2ff6b fix: address review findings (#1819) 2026-05-14 00:48:28 -07:00
Neil 812831a18e fix: remember worktree creation agent (#1814) 2026-05-14 00:42:07 -07:00
Neil de04b7497f perf(renderer): cut hidden polling and repeated sync scans (#1813)
* perf(renderer): cut hidden polling and repeated sync scans

* fix(renderer): keep mobile file lookup worktree scoped
2026-05-14 00:30:48 -07:00
Neil dd6f0e63bb perf(fs): prevent overlapping WSL watcher polls (#1811) 2026-05-14 00:29:52 -07:00
Neil 40528262c0 perf(terminal): checkpoint only dirty daemon sessions (#1812) 2026-05-14 00:28:01 -07:00
Brennan BensonandOrca eb5470408b Fix updater feed resolution for cancelled RC releases (#1809)
Co-authored-by: Orca <help@stably.ai>
2026-05-14 00:25:03 -07:00
buf0-bot[bot]andorca-bug-scan-bot 5cf52199e0 fix: pr-bug-scan validated finding from #1757 (#1791)
Co-authored-by: orca-bug-scan-bot <orca-bug-scan-bot@stably.ai>
2026-05-14 00:07:20 -07:00
github-actions[bot] d3d263ba08 release: v1.4.1-rc.4 v1.4.1-rc.4 2026-05-14 06:47:03 +00:00