Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
266 commits
Select commit Hold shift + click to select a range
4468d54
perf(mobile): gate host polling on foreground/background (#9857)
nwparker Jul 22, 2026
76f5b83
fix(mobile): pause session polling in background (#9875)
nwparker Jul 22, 2026
a3d6f84
fix(mobile): pause relative-time clocks when hidden (#9886)
nwparker Jul 22, 2026
c6d2803
perf(mobile): memoize worktree list rows (#9889)
nwparker Jul 22, 2026
11310ee
fix(mobile): keep quick-commands button steady while capabilities loa…
brennanb2025 Jul 22, 2026
17e471c
perf(editor): memoize the markdown preview render pipeline (#9843)
nwparker Jul 22, 2026
8cfb8a2
perf(emulator): park device stream when the window is hidden (#9842)
nwparker Jul 22, 2026
b0e3616
fix: return native promise from awaitClick on Zone.js pages (#9995)
AmethystLiang Jul 22, 2026
4062ed5
perf(worktrees): back off worktree scans for agent-scratch repos (#9985)
brennanb2025 Jul 22, 2026
8dc1ca4
fix(daemon): retire macOS daemons whose login session died (#7936) (#…
brennanb2025 Jul 22, 2026
8b6e530
release: v1.4.151-rc.1
github-actions[bot] Jul 22, 2026
9bdb820
test(e2e): verify Claude is prefilled with issue URL on start (#9980)
AmethystLiang Jul 22, 2026
0d82cc3
Fix legacy worktree lineage projection after stable updates (#9913)
OrcaWin Jul 22, 2026
b606117
Fix paired remote terminal parse backpressure (#9683)
OrcaWin Jul 22, 2026
1d2cd33
fix(deps): resolve Dependabot security alerts (#10006)
nwparker Jul 22, 2026
bc57cf8
fix(sidebar): use automation icon for Hide automation-created filter …
brennanb2025 Jul 22, 2026
a356b9d
fix(worktrees): show CLI-created local worktrees in the sidebar while…
smk508 Jul 22, 2026
b63d4cd
feat(agent-status): question glyph for "needs you" state everywhere (…
brennanb2025 Jul 22, 2026
b65c593
perf(web): pause the runtime heartbeat while the window is hidden (#9…
nwparker Jul 22, 2026
5d3b968
perf(runtime): arm the WS-server heartbeat only while clients are con…
nwparker Jul 22, 2026
6a43f99
perf(mobile): coalesce duplicate concurrent home-screen requests (#9888)
nwparker Jul 22, 2026
01bcc57
perf(mobile): gate dictation setup progress polling on foreground + s…
nwparker Jul 22, 2026
43ae014
Enable accessibility tree (`ax`) command on iOS emulator sessions (#1…
AmethystLiang Jul 23, 2026
db56a9b
fix(types): use concrete Node stat result type (#10017)
brennanb2025 Jul 23, 2026
407d7af
feat(telemetry): classify codex trust-grant fallbacks and attribute g…
brennanb2025 Jul 23, 2026
adc0203
feat(ssh): open SSH workspaces in VS Code Remote-SSH (#10005)
AmethystLiang Jul 23, 2026
9080205
fix(rate-limits): authenticate OpenCode Go through a session cookie j…
bbingz Jul 23, 2026
c8381f3
Preserve Codex [tui] settings across managed CODEX_HOME remirrors (#9…
brennanb2025 Jul 23, 2026
bc301de
fix(worktree-palette): guard undefined review title in matcher (crash…
nwparker Jul 23, 2026
6a8e992
Update README downloads badge
github-actions[bot] Jul 23, 2026
72a0a4d
Revert "Show current branch in Source Control header (#9787)" (#10032)
AmethystLiang Jul 23, 2026
3b86405
fix(terminal): stop overlay fallback measure-fit loop (#10026)
OrcaWin Jul 23, 2026
41751dd
fix(runtime): route HUB-owned SSH worktrees through owning runtime (#…
OrcaWin Jul 23, 2026
7a42271
fix(settings): stop React #185 in Voice speech-model dropdown (crashe…
nwparker Jul 23, 2026
0326594
Update paired Orca servers from the active client (#9839)
OrcaWin Jul 23, 2026
a0944cc
fix(linux): restore Ubuntu 20.04 launch — pin node-pty glibc symbols …
nwparker Jul 23, 2026
6d55c7f
rename: rebrand user-facing Native chat to Chat UI (#10036)
AmethystLiang Jul 23, 2026
3708c4f
fix(mobile): report interrupted native chat sends as delivery-unknown…
AmethystLiang Jul 23, 2026
5b7fdd7
Capture daemon startup logs before window ready in e2e test (#10040)
AmethystLiang Jul 23, 2026
4fce2de
fix(mobile): keep native chat from resizing the covered terminal PTY …
brennanb2025 Jul 23, 2026
0990031
fix(file-explorer): stop italic ignored filenames clipping ".md" to "…
nwparker Jul 23, 2026
bae29fd
fix(native-chat): handle reordering with timestampless transcripts (#…
AmethystLiang Jul 23, 2026
a2e440b
fix(sidebar): identify remote server workspaces (#10061)
OrcaWin Jul 23, 2026
ffe54a5
fix(skills): make skippedReason switch exhaustive (#9594)
Zuz666 Jul 23, 2026
d152039
fix(terminal): never sweep descendants of an already-exited PTY root …
nwparker Jul 23, 2026
059a80b
feat(review): add assignable "Send Review Notes to Agent" shortcut (#…
nwparker Jul 23, 2026
63bd3ff
perf(main): park worktree metadata pollers while the window is hidden…
nwparker Jul 23, 2026
414bdc9
perf(main): gate idle git-common polling + coarse-FS add/remove fix (…
nwparker Jul 23, 2026
8448557
perf(startup): overlap catalog/session disk reads with the worktree s…
nwparker Jul 23, 2026
fc05769
fix(ssh): allow blank user in VS Code authority (#10072)
AmethystLiang Jul 23, 2026
ee6319e
fix(agents): scope Settings agent list and quick-launch menu to the r…
brennanb2025 Jul 23, 2026
4a9affd
fix(emulator): iOS ax via plain-JSON serve-sim helper (supersedes #10…
AmethystLiang Jul 23, 2026
1d8ce38
feat(dashboard-popout): size the terminal dialog's PTY to the dialog …
brennanb2025 Jul 23, 2026
8cb0b8d
test(runtime): cover remote terminal retirement across paired viewers…
OrcaWin Jul 23, 2026
8685cdb
fix(runtime): stop a throwing client-event listener from wedging work…
OrcaWin Jul 23, 2026
23fc1ea
fix(mobile): bind markdown creation to file owner (#10083)
AmethystLiang Jul 23, 2026
1c477f9
Fix p1 remote terminal resync (#10089)
AmethystLiang Jul 23, 2026
09756df
Revert "Preserve Codex [tui] settings across managed CODEX_HOME remir…
AmethystLiang Jul 23, 2026
c445f26
perf(renderer): share retained TabBar projections (#10094)
nwparker Jul 23, 2026
c3620f0
fix(worktree): verify exited PTYs before blocking deletion (#10106)
nwparker Jul 23, 2026
88b7e69
fix(runtime): recover orphan terminals without changing Active Server…
OrcaWin Jul 23, 2026
72a2d7b
fix(terminal): bound parse-deferred remote flow (#10012)
OrcaWin Jul 23, 2026
5610142
fix(release): regenerate Windows blockmap via app-builder-lib JS (#10…
nwparker Jul 23, 2026
0b34442
test(worktree): align teardown/watch tests with verified-exit behavio…
nwparker Jul 23, 2026
a29c487
fix(new-workspace): polish Project and Run-on pickers in create dialo…
nwparker Jul 23, 2026
2b7aa0a
Update README downloads badge
github-actions[bot] Jul 23, 2026
746a8f3
fix: retry crash reports on primary endpoint instead of fallback (#10…
AmethystLiang Jul 23, 2026
569e9d8
docs: update WeChat QR to group 5 (#10126)
OrcaWin Jul 23, 2026
e8d5d50
fix(quick-open): guide rg install after fallback budget errors (#9627)
squatboy Jul 23, 2026
1648251
fix(terminal): restore a dark-background contrast floor (#10108)
innocarpe Jul 23, 2026
7ab6014
fix(remote): don't classify a stale/gone remote handle as agent compl…
xianjianlf2 Jul 23, 2026
8a23618
fix(terminal): route host-agnostic setup and floating terminals inste…
nwparker Jul 23, 2026
434f433
Update README downloads badge
github-actions[bot] Jul 23, 2026
8f40ddf
fix(memory): bound OOM-prone accumulators (#10179)
nwparker Jul 23, 2026
e55e15d
Update README downloads badge
github-actions[bot] Jul 23, 2026
46683f0
fix(mobile): keep name input continuous during source picker transiti…
AmethystLiang Jul 23, 2026
49d0fda
fix(terminal): stop the orphan sweep from deleting reconnecting termi…
nwparker Jul 23, 2026
7ba946e
fix(checks): stop the transient "PR already exists" card before the P…
brennanb2025 Jul 23, 2026
eb2508e
feat(diagnostics): name what grew in renderer OOM crash reports (#9984)
brennanb2025 Jul 23, 2026
5dc6799
Rename 'local network' to 'LAN' across the UI (#10216)
AmethystLiang Jul 23, 2026
84968df
Fix duplicate paired hosts in worktree run target picker (#10218)
OrcaWin Jul 23, 2026
9500ca7
fix(mobile): show attached images in native (rich) chat (#10135)
nwparker Jul 23, 2026
801ff57
fix(mobile): unblock iOS releases (#10224)
OrcaWin Jul 23, 2026
0da5380
fix: recover Relay broker startup after transient failures (#10147)
OrcaWin Jul 23, 2026
94d3db4
feat(source-control): show current branch without evicting Create PR …
brennanb2025 Jul 23, 2026
babf1ff
fix(codex-accounts): stop account mutations blocking on the quota ref…
brennanb2025 Jul 23, 2026
4a09ede
fix(codex): classify rate-limit windows by duration (#10136)
kazu-42 Jul 23, 2026
06f6e3b
fix(mobile): make image send retries safe (#10228)
brennanb2025 Jul 23, 2026
d4387b1
fix(status-bar): Resource Manager closed badge terminal count + RAM s…
mmarabel Jul 23, 2026
ef985ed
fix(codex): re-land TUI settings promotion with anchored baseline (#1…
brennanb2025 Jul 23, 2026
90255ab
[Bug]: Defer full worktree scan until after session restore (#9446)
Crosery Jul 23, 2026
ee87bb3
fix(session): preserve tab/editor/browser chrome when a repo's startu…
brennanb2025 Jul 23, 2026
fbd5c61
perf(terminal): bound and de-synchronize cold-restore replay on the m…
brennanb2025 Jul 23, 2026
a34eb87
fix(editor): preserve PDF zoom when file content reloads (#10168)
innocarpe Jul 23, 2026
b97e8c4
fix(agent-status): resume finished agents after macOS logout instead …
brennanb2025 Jul 24, 2026
a9d21b4
docs: update Android APK to 0.0.32 (#10245)
AmethystLiang Jul 24, 2026
34e0233
feat(agent-rows): label sidebar and dashboard rows with conversation …
brennanb2025 Jul 24, 2026
f26ea6a
fix(terminal): keep SSH reconnect banner above the xterm canvas (#10242)
nwparker Jul 24, 2026
43f6265
Update README downloads badge
github-actions[bot] Jul 24, 2026
87c59dd
fix(claude-accounts): quote resolved claude path for Windows shell sp…
ghoon4 Jul 24, 2026
bded1fb
fix(app): bound the wake/quit paths implicated in the phone-session-e…
brennanb2025 Jul 24, 2026
00cda62
fix(worktree): stop terminal removal fence error flashing on delete (…
brennanb2025 Jul 24, 2026
14c99f5
fix(win-e2e): survive the agent-CLI feature-wall modal in the crash-s…
brennanb2025 Jul 24, 2026
4569a4f
fix(window): defer the repaint size nudge and skip it on macOS 26 (#1…
brennanb2025 Jul 24, 2026
6eb70d8
fix(main): stop unhandled rejections from silently killing the app du…
brennanb2025 Jul 24, 2026
aab1129
Revert "fix(memory): bound OOM-prone accumulators (#10179)" (#10255)
nwparker Jul 24, 2026
52cef48
fix(tab-bar): render tab close shortcut as text, not key caps (#10248)
nwparker Jul 24, 2026
fd72a89
fix: bound Relay desktop setup handshakes (#10260)
Jinwoo-H Jul 24, 2026
4e27e8e
test(main): deflake worktree-watch non-ENOENT readdir test with atomi…
brennanb2025 Jul 24, 2026
645ed9a
fix(ssh): hold premature transport 'connected' until the relay is rea…
nwparker Jul 24, 2026
eec9014
fix(terminal): hide SSH error toast under the reconnect banner (#10246)
nwparker Jul 24, 2026
d95eae5
perf(workspace): cancel local worktree scans (#10107)
nwparker Jul 24, 2026
c8a2512
perf(pty): make delivery pressure tracking constant time (#10113)
nwparker Jul 24, 2026
943f9a0
perf(daemon): cache droppable stream membership (#10121)
nwparker Jul 24, 2026
a2b1185
perf(mobile): trust healthy session tab streams (#10134)
nwparker Jul 24, 2026
9181e2b
perf(renderer): batch dashboard orchestration selection (#10149)
nwparker Jul 24, 2026
e3adb20
fix(agents): include OMP terminals in cold session restoration (#8991)
xianjianlf2 Jul 24, 2026
e420209
fix(terminal): re-verify cached macOS login-preflight rejections (#9973)
brennanb2025 Jul 24, 2026
1b01385
fix(worktree): reconcile symlinked creates by Git identity (#10266)
OrcaWin Jul 24, 2026
0bb7551
fix(workspace-board): sync Linear on context-menu Move to Status (#10…
ElNelyo Jul 24, 2026
efaaf51
Update AGENTS.md
nwparker Jul 24, 2026
a05a7bb
fix(status-bar): guard undefined provider window in usedPercent reduc…
nwparker Jul 24, 2026
da19a9b
fix(terminal): stop the reveal fit from reflow-garbling inline TUIs o…
nwparker Jul 24, 2026
381e81e
fix(worktree): don't path-sweep sibling sessions when deleting a fold…
AmethystLiang Jul 24, 2026
fde0636
fix(remote): create paired agent sessions without host focus (#10193)
tozes Jul 24, 2026
eab721e
Route folder workspaces in worktree operations (#10269)
AmethystLiang Jul 24, 2026
20ce29a
release: v1.4.153-rc.3
github-actions[bot] Jul 24, 2026
b36ae94
docs: add folder workspace use case guidance to AGENTS.md
AmethystLiang Jul 24, 2026
c88cf84
docs: finish Android APK 0.0.32 link rollup
AmethystLiang Jul 24, 2026
9373f5d
fix(relay): expand Windows ~\ paths in session.resolveHome (#7650)
xianjianlf2 Jul 24, 2026
afa549f
fix(gitlab): open the New-MR page on the fork project for fork-pushed…
xianjianlf2 Jul 24, 2026
933cee6
fix(editor): open files in the focused pane when it is a browser (#68…
westkite1201 Jul 24, 2026
65f245f
fix(editor): focus Explorer-opened Markdown for find (#8083)
mmarabel Jul 24, 2026
c63ab96
fix(terminal): open WSL file links on Windows (#8215)
rodboev Jul 24, 2026
4c7bbed
fix(windows): detect Cursor Agent Node wrapper (#8266)
bbingz Jul 24, 2026
91884b6
fix(sidebar): let project and group headers drag by their icon (#8576)
stasmarkin Jul 24, 2026
832aa69
fix(tasks): resolve PR work items upstream-first under 'auto' like is…
moseoh Jul 24, 2026
462020d
fix: link to repo root instead of 404ing /stargazers page (#8756)
katspaugh Jul 24, 2026
bd45d70
fix(tab-bar): open absolute local paths from worktree tab create entr…
tmchow Jul 24, 2026
c03e8f6
fix: enumerate IPv6 addresses for mobile pairing on IPv6-only hosts (…
PannenetsF Jul 24, 2026
001a5c6
fix: pane divider drag-to-resize never moves under WSLg (mouse down, …
microtaro Jul 24, 2026
817197f
fix(terminal): close tabless PTYs through the live pane path (#9288)
rodboev Jul 24, 2026
9269655
fix(settings): gate project path setup on host connection (#9410)
s546126 Jul 24, 2026
877bbde
fix(agents): stop forking a duplicate Pi tab for a live background se…
shaharmor Jul 24, 2026
108a2ad
fix(cli): relativize absolute --path for file open and file diff befo…
rodboev Jul 24, 2026
fa09d6f
fix(tasks): hide repos without remote identity (#9898)
OnlyYu1996 Jul 24, 2026
34caad7
fix(browser): unstick Ctrl+Tab switcher when opened from a focused br…
Fazalkadivar21 Jul 24, 2026
4274dbc
fix(linear): union filter options across every selected team (#10042)
innocarpe Jul 24, 2026
2cf41ab
fix(mobile): keep terminal caret visible without focus (#10101)
bbingz Jul 24, 2026
efe996a
ci(release-cut): add explicit version override to the cut dispatch (#…
brennanb2025 Jul 24, 2026
cda97ce
Update README downloads badge
github-actions[bot] Jul 24, 2026
c1d2c4b
Fix PowerShell worktree terminal cwd (#7435)
mattemusacchio Jul 24, 2026
6d39e49
fix(ssh): accept GitHub restricted-shell SSH probes (#6988) (#7659)
rodboev Jul 24, 2026
2cbcf03
fix: qualify ssh fallback worktree paths (#7764)
bioinformatist Jul 24, 2026
739fce5
fix(agent-status): replay remote Codex startup snapshots (#7873)
rodboev Jul 24, 2026
4e670d3
fix(terminal): stop wheel replay when mouse reporting is disabled (#8…
rodboev Jul 24, 2026
deb2b50
fix(sidebar): revalidate setup-script prompt when the hook becomes ef…
kaynansc Jul 24, 2026
9ced27e
fix(onboarding): skip Computer Use setup when macOS helper app is una…
morluto Jul 24, 2026
eefded2
fix(terminal): stop native middle-click paste inserting twice on Linu…
xianjianlf2 Jul 24, 2026
253ccd2
fix: prune workspace session state when a project is removed (#9024) …
PannenetsF Jul 24, 2026
48a258d
fix(win): stop shipping duplicate broken orca.cmd shim in app.asar (#…
xianjianlf2 Jul 24, 2026
dd642cb
fix(rate-limits): refetch claude usage when the last live Claude PTY …
xianjianlf2 Jul 24, 2026
d8499fa
fix: don't mint worktreeMeta from a sidebar sort-order snapshot (#9342)
PannenetsF Jul 24, 2026
c2371c0
fix: don't hydrate a headless mobile session for a repo that no longe…
PannenetsF Jul 24, 2026
143d223
fix: reconcile a stale activeWorktreeId against live worktrees on hyd…
PannenetsF Jul 24, 2026
cd28da1
fix(orchestration): treat ask as a long-poll so it survives the 30s s…
averydev Jul 24, 2026
53222cc
fix(terminal): wait for shell readiness on Codex account restart (#9365)
kazu-42 Jul 24, 2026
5a1ca24
fix(status-bar): tolerate missing provider snapshots (#9408)
nsxdavid Jul 24, 2026
26e48e4
fix(relay): honor the remote OpenSSH login shell for Windows SSH term…
rodboev Jul 24, 2026
cb19e79
fix(ai-vault): resume Claude sessions from their start directory (#9499)
choihjin Jul 24, 2026
a90ec54
fix(settings): persist the last IME syllable when leaving the display…
dogfooter8750 Jul 24, 2026
b5ae776
fix(terminal): clear stale search highlights (#9519)
kaynansc Jul 24, 2026
1ace87c
fix(wsl): route global CLI fallbacks to user-pinned terminalWindowsWs…
TingdeLiu Jul 24, 2026
a4f42ad
fix(terminal): make Ctrl+V / Cmd+V paste work in the HTTP web client …
kespineira Jul 24, 2026
e3cc08f
fix(worktree): don't flag a disabled sparse checkout as sparse (#9922)
artile Jul 24, 2026
fc181a8
fix(i18n): restore count separators in terminal theme picker for CJK …
jeongph Jul 24, 2026
1f29a33
fix(sidebar): do not sticky-pin Project header without mounted geomet…
innocarpe Jul 24, 2026
dc18ba9
fix(win): taskkill agent PTY descendant trees on stop (#10100)
innocarpe Jul 24, 2026
6997bc4
fix(usage): guard web client against undefined usage scan state (#10073)
scokeepa Jul 24, 2026
69d05b6
fix(mobile): resolve permission args when a new session launches an a…
kaynansc Jul 24, 2026
559f04d
fix(daemon): gate agent startup cwd after safe default fallback (#10035)
innocarpe Jul 24, 2026
1b5db4b
fix(window): reflow on macOS occlusion-reveal so the bottom bar is no…
brennanb2025 Jul 24, 2026
ec04827
test(session): guard against workspace-reopen tab fork-bomb (STA-1111…
brennanb2025 Jul 24, 2026
eea1577
fix(dashboard): close closed-agent retention race (#9008) (#10334)
nwparker Jul 24, 2026
662d23f
fix(readme): point French star badge to repo root (#10335)
nwparker Jul 24, 2026
d1ccfcf
fix(settings): normalize and validate branch prefixes (#7772)
yoelfme Jul 24, 2026
d50ea09
fix(terminal): reveal Markdown links at target lines (#9518)
kaynansc Jul 24, 2026
e651fe9
fix(mobile): heal terminal input after ambiguous image-send delivery …
brennanb2025 Jul 24, 2026
981653f
chore: remove openspec folder
nwparker Jul 24, 2026
1367094
fix(terminal): flush URL hover tooltip to pane bottom-left corner (#1…
nwparker Jul 24, 2026
1bd36ce
fix(github): align PR file diff order (#10081)
xianjianlf2 Jul 24, 2026
17959a2
Update README downloads badge
github-actions[bot] Jul 24, 2026
3dfbb10
Update README downloads badge
github-actions[bot] Jul 24, 2026
01929fd
fix(ssh): open external host images from terminal links (#10323)
Jinwoo-H Jul 24, 2026
b71f719
Stack head identity above base ref in compare row (#10430)
AmethystLiang Jul 24, 2026
d56e2fb
feat(agent-dashboard): choose in-window board or pop-out window (#10243)
brennanb2025 Jul 24, 2026
7720815
Fix fork PR/MR worktree creation race via durable review-head refs (#…
AmethystLiang Jul 24, 2026
20ceeeb
fix(runtime): stop the headless hydration repo gate from dropping eve…
brennanb2025 Jul 24, 2026
6a72c8f
fix(codex): preserve runtime config when system source is missing (#9…
kin001 Jul 24, 2026
e058370
test(runtime): guard both halves of the headless hydrate repo gate (#…
brennanb2025 Jul 24, 2026
8d61d76
fix(skills): decouple skill-manifest verify from local git tags (#10340)
brennanb2025 Jul 24, 2026
402b5a1
fix(win): taskkill plain-shell PTY trees on immediate teardown (#10339)
OrcaWin Jul 24, 2026
4a71a0e
feat(mobile): add safe Codex rate-limit resets (#9394)
kazu-42 Jul 24, 2026
506b75c
Update README downloads badge
github-actions[bot] Jul 24, 2026
4dcb68f
release: v1.4.156-rc.0
github-actions[bot] Jul 24, 2026
b600e25
feat(worktrees): support project-level .worktreeinclude (literal path…
brennanb2025 Jul 24, 2026
e133d93
fix(skills): stop promising a skill update the command cannot deliver…
brennanb2025 Jul 24, 2026
1aaf049
fix(rate-limits): keep Codex PTY reset text for weekly-only plans (#8…
moseoh Jul 24, 2026
d5340fd
ci(release-cut): restore the skill-independent version commit (#10460)
brennanb2025 Jul 24, 2026
49e32ff
fix: prevent UI freeze from dual-modal race in action sheets (#10432)
AmethystLiang Jul 25, 2026
fb5ced6
fix(ssh): re-arm remote file watches when the provider reconnects (#1…
brennanb2025 Jul 25, 2026
b9a7c00
fix(editor): read out-of-worktree SSH paths without a stamped target …
brennanb2025 Jul 25, 2026
a903304
Update README downloads badge
github-actions[bot] Jul 25, 2026
9acb685
fix(ssh): re-arm remote watches that die without a reconnect (#10470)
brennanb2025 Jul 25, 2026
c3526cc
feat(codex): surface a stalled config sync instead of failing silentl…
brennanb2025 Jul 25, 2026
7e1d7a8
release: v1.4.156-rc.1
github-actions[bot] Jul 25, 2026
b4718dd
fix(terminal): resume hibernated agents that reattach with no payload…
OrcaWin Jul 25, 2026
c468e3f
fix(macos): close both macOS 26 main-thread deadlock doors and restor…
nwparker Jul 25, 2026
c419aad
oom(01): A1-shared-readers — reintroduce #10179 subset (#10294)
nwparker Jul 25, 2026
81bfb3c
oom(02/29): bound shared image/media/PDF memory limits (#10295)
nwparker Jul 25, 2026
4694278
fix(window): reflow via scale factor so terminals stop re-gridding (#…
nwparker Jul 25, 2026
cafa958
fix(ui): stop the reveal reflow from dismissing popovers (#10487)
nwparker Jul 25, 2026
879aad7
oom(foundation): bound shared readers/limits + add BoundedMap primiti…
nwparker Jul 25, 2026
2653794
fix(terminal): verify Windows PTY root identity before taskkill /T /F…
brennanb2025 Jul 25, 2026
6592c01
fix(daemon): keep agent-completion detection alive on pre-v27 daemons…
brennanb2025 Jul 25, 2026
6c03ecf
fix(terminal): stop cold restore dropping all scrollback on large che…
brennanb2025 Jul 25, 2026
12fa5ff
fix(mobile): heal an orphaned native-chat image paste across screen u…
brennanb2025 Jul 25, 2026
9ae8f34
fix(cli): explain SIGABRT serve exits instead of naming the signal (#…
brennanb2025 Jul 25, 2026
7a01910
fix(skills): advance the release ledger at the cut so shipped revisio…
brennanb2025 Jul 25, 2026
be0212e
Update README downloads badge
github-actions[bot] Jul 25, 2026
a0971e0
test(terminal): pin checkpoint-only cold restore of a large checkpoin…
brennanb2025 Jul 25, 2026
d9aa919
perf(terminal): drop the JSON structural pre-scan from the history re…
brennanb2025 Jul 25, 2026
f009500
ci(release-cut): always show resolved commit, branch, and tag in summ…
nwparker Jul 25, 2026
e1eca7f
fix(agent-hooks): install OpenCode status plugin into the WSL guest s…
OrcaWin Jul 25, 2026
d8e0f11
perf(terminal): avoid repeated pending drain snapshots (#10163)
nwparker Jul 25, 2026
ba434a4
fix(sidebar): stop a worktree drag preview from closing the Agent Das…
brennanb2025 Jul 25, 2026
f8b9b5c
feat(diagnostics): record OS suspend/resume so sleep gaps aren't read…
nwparker Jul 25, 2026
70b4d12
perf(worktree): park the git-common existence poll while the window i…
brennanb2025 Jul 25, 2026
9bc640a
fix(terminal): make primary-selection paste suppression single-shot (…
brennanb2025 Jul 25, 2026
5faf3b2
fix(i18n): keep the macOS "Local Network" wording searchable in every…
brennanb2025 Jul 25, 2026
7d47e9e
fix(window): stop viewport reflow from moving screen geometry (#10543)
nwparker Jul 25, 2026
fc51323
fix(release-cut): gate an explicit RC against its own series (#10525)
brennanb2025 Jul 25, 2026
9d02782
fix(git): read core.sparseCheckout the way git does (#10537)
brennanb2025 Jul 25, 2026
713fa40
fix(runtime): reserve long-poll headroom so orchestration.ask can't s…
brennanb2025 Jul 25, 2026
baf2578
fix(tasks): keep repos with a pending remote-identity probe in the pi…
brennanb2025 Jul 25, 2026
159057c
test(git): cover the false-positive class the header fix also removes…
brennanb2025 Jul 25, 2026
b31e9bb
fix(worktree): bound the .worktreeinclude copy so a huge include can'…
brennanb2025 Jul 25, 2026
505967e
fix(runtime): report the effective ask timeout so a clamped wait isn'…
brennanb2025 Jul 25, 2026
9eff372
Update README downloads badge
github-actions[bot] Jul 25, 2026
7a51cf2
fix(sidebar): surface agent row live worktree mismatch (#10572)
innocarpe Jul 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/mobile-ios-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
workflow_dispatch:
inputs:
bump_patch_version:
description: 'Bump the iOS marketing version patch number before release. Tick this after a version has shipped to the App Store (the release fails fast if the current version''s train is already closed).'
description: 'Use the first open iOS patch version after the checked-in version, skipping versions already closed on the App Store.'
required: false
default: false
type: boolean
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/mobile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ jobs:
with:
node-version-file: package.json

- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3'

- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
Expand All @@ -56,6 +61,9 @@ jobs:
- name: Test
run: pnpm test

- name: Test iOS release version resolution
run: ruby fastlane/ios_release_version_test.rb

- name: Lint
run: pnpm lint

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ jobs:
- name: Checkout
uses: actions/checkout@v6
with:
# Why: the freshness registry is derived from immutable release tags,
# so shallow PR checkouts cannot verify historical official identities.
fetch-depth: 0
# Why: verify:skill-bundle-manifest now checks working-tree bytes
# against the committed skill ledger (advanced only at release cut) and
# no longer walks release tags, so a shallow checkout is sufficient.
persist-credentials: false

- name: Install native build tools
Expand Down
294 changes: 278 additions & 16 deletions .github/workflows/release-cut.yml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion .github/workflows/windows-signing-rehearsal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ jobs:
throw 'Signed Windows installer was not returned by SignPath.'
}
Copy-Item -Path $signedInstaller.FullName -Destination 'dist/orca-windows-setup.exe' -Force
& 'node_modules/app-builder-bin/win/x64/app-builder.exe' blockmap --input 'dist/orca-windows-setup.exe' --output 'dist/orca-windows-setup.exe.blockmap'
node config/scripts/generate-windows-blockmap.mjs 'dist/orca-windows-setup.exe' 'dist/orca-windows-setup.exe.blockmap'
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }

$installer = Get-Item 'dist/orca-windows-setup.exe'
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/windows-terminal-restart-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,13 @@ on:
- 'src/main/ipc/pty*.ts'
- 'src/main/providers/**'
- 'src/main/pty/**'
- 'src/main/pty-descendant-termination.ts'
- 'src/main/windows-process-tree-kill.ts'
- 'src/main/windows-pty-root-identity.ts'
- 'src/preload/**'
- 'src/renderer/src/components/terminal-pane/**'
- 'src/renderer/src/lib/pane-manager/**'
- 'src/shared/process-table-snapshot.ts'
- 'src/shared/pty-session-id-format.ts'
workflow_dispatch:
inputs:
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ docs/**
!docs/reference/
!docs/reference/git-compatibility.md
!docs/reference/headless-linux-server.md
!docs/reference/linux-glibc-compatibility.md

# Stably CLI (only docs/ are tracked)
.stably/*
Expand Down
23 changes: 14 additions & 9 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
# AGENTS.md

## Design System
# Design System

All UI work — layout, color, typography, spacing, component selection, UX behavior — must follow [`docs/STYLEGUIDE.md`](./docs/STYLEGUIDE.md). Use the tokens defined in `src/renderer/src/assets/main.css` (the canonical source) and the shadcn primitives in `src/renderer/src/components/ui/`. Don't invent new color values, font sizes, or shadow tiers when a documented one already covers the role. When STYLEGUIDE.md is silent, follow the resolution order in its final section.

## Concise/Brief Non-obviosu code comments ONLY
* Only when code is non-obvious, add code comment explaining **why** (not HOW).
* BE CONCISE — ideally 1 line.
# Style
## Concise/Brief Non-obviosu comments ONLY
* DO NOT: be verbose, explain the obvious, walk through the code ("WHY not HOW")
* DO: BE CONCISE. 1 LINE if possible

## Lint Rules: Do Not Disable Max Lines

Never add a `max-lines` disable (`eslint-disable max-lines`, `oxlint-disable max-lines`, or line-specific variants), and never add a per-file `max-lines` bump in `mobile/.oxlintrc.json`.
NEVER add a `max-lines` disable (`eslint-disable max-lines`, `oxlint-disable max-lines`, or line-specific variants), and never add a per-file `max-lines` bump in `mobile/.oxlintrc.json`.

## File and Module Naming

Never use vague names like `helpers`, `utils`, `common`, `misc`, or `shared-stuff` for files, folders, or modules. They carry zero info and tend to become dumping grounds. Name files after what they _actually_ contain — prefer the concrete domain concept (e.g. `tab-group-state.ts`, `terminal-orphan-cleanup.ts`) over the generic role (`tabs-helpers.ts`, `terminal-utils.ts`). If you find yourself reaching for `helpers`, the file probably has more than one responsibility and should be split, or there's a better name hiding in the code that describes what the functions operate on.

## Type Declarations: Prefer `.ts` Over `.d.ts`

# Considerations
## Worktree Safety

Always use the primary working directory (the worktree) for all file reads and edits. Never follow absolute paths from subagent results that point to the main repo.
Expand All @@ -27,11 +29,16 @@ Orca targets macOS, Linux, and Windows. Keep all platform-dependent behavior beh
- **Keyboard shortcuts**: Never hardcode `e.metaKey`. Use a platform check (`navigator.userAgent.includes('Mac')`) to pick `metaKey` on Mac and `ctrlKey` on Linux/Windows. Electron menu accelerators should use `CmdOrCtrl`.
- **Shortcut labels in UI**: Display `⌘` / `⇧` on Mac and `Ctrl+` / `Shift+` on other platforms.
- **File paths**: Use `path.join` or Electron/Node path utilities — never assume `/` or `\`.
- **Linux native modules**: keep the glibc floor at Ubuntu 20.04 / glibc 2.31. A module compiled from source on a newer runner can reference symbol versions absent on the floor and crash the app on startup. See [`docs/reference/linux-glibc-compatibility.md`](./docs/reference/linux-glibc-compatibility.md); packaging fails if a bundled native binary needs newer glibc.

## SSH Use Case

All changes must consider the SSH use case. Don't assume local-only execution.

## Folder Workspace Use Case

All changes must consider folder workspaces as well as git worktrees. Don't assume every workspace is a git worktree.

## Git Binary Compatibility

Orca runs the user's Git binary on native, WSL, and SSH hosts, which may all have different versions. Treat Git 2.25 as the core-workflow baseline and follow [`docs/reference/git-compatibility.md`](./docs/reference/git-compatibility.md).
Expand All @@ -51,5 +58,3 @@ Source-control and review changes must consider GitLab and other supported git p
## GitHub CLI Usage

Be mindful of the user's `gh` CLI API rate limit — batch requests where possible and avoid unnecessary calls. All code, commands, and scripts must be compatible with macOS, Linux, and Windows.

## Type Declarations: Prefer `.ts` Over `.d.ts`
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@

Monitor and steer your agents from your phone — get notified when an agent finishes and send follow-ups from anywhere.

[iOS App Store](https://apps.apple.com/us/app/orca-ide/id6766130217) · [TestFlight](https://testflight.apple.com/join/YjeGMQBA) · [Android APK 0.0.31](https://github.com/stablyai/orca/releases/download/mobile-android-v0.0.31/app-release.apk) · [Docs →](https://www.onorca.dev/docs/mobile)
[iOS App Store](https://apps.apple.com/us/app/orca-ide/id6766130217) · [TestFlight](https://testflight.apple.com/join/YjeGMQBA) · [Android APK 0.0.32](https://github.com/stablyai/orca/releases/download/mobile-android-v0.0.32/app-release.apk) · [Docs →](https://www.onorca.dev/docs/mobile)

</td>
<td width="50%">
Expand Down Expand Up @@ -230,15 +230,15 @@ yay -S stably-orca-bin
Pair with your desktop app to monitor and steer your agents from your phone.

- **iOS:** [Download on the App Store](https://apps.apple.com/us/app/orca-ide/id6766130217) or [join TestFlight](https://testflight.apple.com/join/YjeGMQBA)
- **Android:** [Download APK 0.0.31](https://github.com/stablyai/orca/releases/download/mobile-android-v0.0.31/app-release.apk)
- **Android:** [Download APK 0.0.32](https://github.com/stablyai/orca/releases/download/mobile-android-v0.0.32/app-release.apk)

---

## Community &amp; Support

- **Discord:** Join the community on **[Discord](https://discord.gg/fzjDKHxv8Q)**.
- **Twitter / X:** Follow **[@orca_build](https://x.com/orca_build)** for updates and announcements.
- **WeChat:** Groups 1 and 2 are both full — now you can join the third one.
- **WeChat:** All other groups are full, now we're on group 5.

<img src="docs/assets/wechat-qr.jpg" alt="WeChat QR code for the Orca community" width="160" />

Expand Down
20 changes: 17 additions & 3 deletions config/electron-builder.config.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ const {
prunePackagedRuntimeNodeModules,
verifyPackagedMainRuntimeDeps
} = require('./packaged-runtime-node-modules.cjs')
const { verifyLinuxGlibcFloor } = require('./scripts/verify-linux-glibc-floor.cjs')

const isMacRelease = process.env.ORCA_MAC_RELEASE === '1'
const isLinuxArm64Release = process.env.ORCA_LINUX_ARM64_RELEASE === '1'
Expand Down Expand Up @@ -66,9 +67,10 @@ module.exports = {
'!mobile{,/**/*}',
'!native{,/**/*}',
'!skills{,/**/*}',
// Why: authoritative guide markdown is compiled into out/cli; shipping the
// authoring sources too would duplicate content without a runtime consumer.
// Why: guide/stub authoring sources are compiled into runtime artifacts; shipping
// either source tree would duplicate content without a runtime consumer.
'!skill-guides{,/**/*}',
'!skill-stubs{,/**/*}',
'!tests{,/**/*}',
// Why: pr-evidence/ is a local e2e screenshot output (ORCA_CAPTURE_EVIDENCE);
// it is gitignored, but exclude it defensively so a stray local capture at
Expand All @@ -84,7 +86,13 @@ module.exports = {
// Why: feature-wall media is copied via extraResources so runtime can read
// it from process.resourcesPath; exclude the source copy from app.asar.
'!resources/onboarding/feature-wall/**',
'!resources/skills/**'
'!resources/skills/**',
// Why: the Windows CLI shim ships via extraResources to resources/bin/orca.cmd
// (beside the native resources/bin/orca.exe). Packing the source tree into
// app.asar too lets asarUnpack:['resources/**'] extract a second copy at
// app.asar.unpacked/resources/win32/bin/orca.cmd with no adjacent orca.exe,
// which fails to launch the CLI (#7351).
'!resources/win32{,/**/*}'
],
// Why: the CLI entry-point lives in out/cli/ but imports shared modules
// from out/shared/ and local hook mutators from out/main/. These paths must be
Expand Down Expand Up @@ -132,6 +140,12 @@ module.exports = {
'node_modules/sherpa-onnx*/**'
],
afterPack: async (context) => {
// Why: a Linux runner-image glibc bump silently shipped a node-pty pty.node
// requiring GLIBC_2.34, crashing the app on startup on Ubuntu 20.04 (#9902).
// Fail packaging if any bundled native binary exceeds the supported floor.
if (context.electronPlatformName === 'linux') {
verifyLinuxGlibcFloor(context.appOutDir)
}
const resourcesDir =
context.electronPlatformName === 'darwin'
? join(
Expand Down
35 changes: 35 additions & 0 deletions config/localization-coverage-allowlist.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,40 @@
"text": "Terminal 1",
"dynamic": false,
"count": 1
},
{
"filePath": "src/renderer/src/components/settings/appearance-search.ts",
"kind": "object-property:keywords",
"text": "语言",
"dynamic": false,
"count": 1
},
{
"filePath": "src/renderer/src/components/settings/appearance-search.ts",
"kind": "object-property:keywords",
"text": "語言",
"dynamic": false,
"count": 1
},
{
"filePath": "src/renderer/src/components/settings/appearance-search.ts",
"kind": "object-property:keywords",
"text": "언어",
"dynamic": false,
"count": 1
},
{
"filePath": "src/renderer/src/components/settings/appearance-search.ts",
"kind": "object-property:keywords",
"text": "言語",
"dynamic": false,
"count": 1
},
{
"filePath": "src/renderer/src/components/settings/appearance-search.ts",
"kind": "object-property:keywords",
"text": "Idioma",
"dynamic": false,
"count": 1
}
]
Loading
Loading