Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1111 commits
Select commit Hold shift + click to select a range
25213ec
test(terminal): harden daemon upgrade adoption (#12353)
OrcaWin Aug 3, 2026
ea68d97
Optimize worktree parent picker: conditional mount, virtualization, l…
AmethystLiang Aug 3, 2026
5941c6c
Improve send comments to ai (#12150)
AmethystLiang Aug 3, 2026
a7282fe
Fix Codex launch draft delivery after delayed setup (#12347)
brennanb2025 Aug 3, 2026
d7fe9d6
fix(ai-vault): support session scanning in SSH worktrees (#11004)
AmethystLiang Aug 3, 2026
13f033f
chore(daemon): disambiguate audit observations (#12343)
brennanb2025 Aug 3, 2026
98e8d1c
fix(terminal): reconcile status after escape interrupt (#12345)
brennanb2025 Aug 4, 2026
f4b2b78
feat(orchestration): coordinator-driven release of settled worker ter…
brennanb2025 Aug 4, 2026
0ea3c9c
fix(renderer): drive agent working spinner on the compositor (STA-332…
brennanb2025 Aug 4, 2026
9ec4907
fix(agent-status): restore hydrated nonterminal statuses as unconfirm…
brennanb2025 Aug 4, 2026
637c7e9
Add SSH config host picker to add-host dialog (#12334)
AmethystLiang Aug 4, 2026
0586bab
fix(mobile): bound terminal viewport resubscribe loop with backoff (S…
brennanb2025 Aug 4, 2026
c9c1683
fix(ci): seed the adhoc release repo so releases can be tagged (#12375)
nwparker Aug 4, 2026
8ab7d8a
fix(updater): base dev builds on published tags, not main's package.j…
nwparker Aug 4, 2026
ce8b778
perf(runtime): withhold unchanged mobile snapshots from the graph pay…
OrcaWin Aug 4, 2026
c4ae923
fix(ci): vet the adhoc build ref before running it with release secre…
brennanb2025 Aug 4, 2026
73e7df7
fix(browser): track guest recency across kill-switch off, release dow…
brennanb2025 Aug 4, 2026
e39cdb8
perf(agent-status): coalesce live status bursts into one render pass …
brennanb2025 Aug 4, 2026
9e5bd5f
fix(worktrees): fence SSH worktree deletion PTY teardown to the ownin…
brennanb2025 Aug 4, 2026
194e1a8
fix(persistence): make the renderer unload checkpoint durably flush b…
brennanb2025 Aug 4, 2026
64b81cd
perf(runtime): memoize mobile snapshots for mounted terminal worktree…
brennanb2025 Aug 4, 2026
a69ca6d
fix(ui): always show Onboarding and Restart Orca in Help (#12379)
AmethystLiang Aug 4, 2026
c052ca1
fix(gitlab): expire project-ref negatives instead of caching them for…
brennanb2025 Aug 4, 2026
0db12fe
fix(runtime): deliver subscription close when retiring a remote trans…
OrcaWin Aug 4, 2026
49dc113
Fix terminal corruption after restored snapshot replay (#12363)
brennanb2025 Aug 4, 2026
a7ed5a4
fix(mobile): render Mermaid diagrams in MobileMarkdown (#11185)
innocarpe Aug 4, 2026
026ed92
fix(mobile): keep main-buffer TUI footer above the iOS keyboard (#9178)
shaharmor Aug 4, 2026
79d3c84
fix(runtime): attribute destructive close requests (#12238)
bbingz Aug 4, 2026
50594c5
Stop the Windows Orca CLI from crashing when the environment carries …
nwparker Aug 4, 2026
9a97e73
test(e2e): pick the board marquee start point from live geometry (#12…
brennanb2025 Aug 4, 2026
a6b14eb
fix(terminal): reset stale mouse tracking on cold restore (#12101); s…
nwparker Aug 4, 2026
3d6d6dd
fix(orchestration): scope agent lineage to its owning run (#11203)
Jaeyoung22 Aug 4, 2026
9ba293c
fix(mobile): keep relay runtime recovery alive without direct connect…
OrcaWin Aug 4, 2026
5bd2f59
fix(runtime): open files from sibling workspaces (#11369)
Turtle-Hwan Aug 4, 2026
e43bd6c
fix(worktrees): preserve folder PTY owner scope (#12429)
brennanb2025 Aug 4, 2026
086a5d6
fix(browser): rerun guest retention after veto release (#12430)
brennanb2025 Aug 4, 2026
ba83a71
fix(terminal): apply the running-process close confirmation to every …
nwparker Aug 4, 2026
0927b9c
fix(gitlab): load pipeline job traces in the Checks side panel (#7732…
nwparker Aug 4, 2026
e59a319
fix(sidebar): keep each project's entry-point workspace visible under…
nwparker Aug 4, 2026
dc0cb18
feat(repo-icon): expand the project emoji picker (#7989) (#12058)
chucoding Aug 4, 2026
dbbeca0
Let a timed-out remote terminal pane reconnect when the host session …
nwparker Aug 4, 2026
ed4d697
fix(app): await durable checkpoints before restart actions (#12433)
brennanb2025 Aug 4, 2026
e8d4818
test(env): keep happy-dom MutationObserver callbacks alive across GC …
nwparker Aug 4, 2026
e8d3043
fix(mobile): stop unrenewed-grace rotation churn and gate cadence gap…
OrcaWin Aug 4, 2026
665b850
fix(relay): revive a dead relay broker without user interaction (#12432)
Jinwoo-H Aug 4, 2026
5a2b329
chore(mobile): bump to 0.0.37 (versionCode 10) (#12365)
OrcaWin Aug 4, 2026
0f052a5
fix(editor): stop Cmd/Ctrl+Shift+T reopening a phantom editor tab (#1…
OrcaWin Aug 4, 2026
bdafe84
fix(browser): keep the chrome inset when a page viewport shell is reb…
OrcaWin Aug 4, 2026
1ef8398
fix(codex): stop a surviving descendant wedging the Codex home proces…
OrcaWin Aug 4, 2026
20a2901
fix(worktree): tell the truth about live PTYs, and offer force for a …
OrcaWin Aug 4, 2026
dbb7804
fix(updater): re-prove the retained Linux package before a privileged…
OrcaWin Aug 4, 2026
141b1f4
fix(runtime): keep the listener on loopback for a "This computer only…
OrcaWin Aug 4, 2026
ed7849e
fix(worktrees): stop silently switching existing Windows setup script…
OrcaWin Aug 4, 2026
401f669
fix(codex): do not silently run the previous account when managed aut…
OrcaWin Aug 4, 2026
fb1259a
fix(mobile): keep cached workspace counts across a transient RPC fail…
OrcaWin Aug 4, 2026
e599d92
fix(editor): stop Close All / Close Others freezing the renderer on l…
OrcaWin Aug 4, 2026
d8e5944
Stop a duplicate headless orca serve from crash-looping and exhaustin…
nwparker Aug 4, 2026
ac7f9a4
fix(pty): require proven absence before retiring a stable pane owner …
OrcaWin Aug 4, 2026
29bfc1e
Fix Windows git/gh attribution wrappers rejecting a piped stdin argum…
nwparker Aug 4, 2026
9f638da
perf(terminal): gate mobile overlay ticks by pane pty affinity (#12419)
brennanb2025 Aug 4, 2026
c498d2d
perf(renderer): index detectedWorktreesByRepo so SSH panes and cards …
brennanb2025 Aug 4, 2026
f6878d6
Show Claude's AskUserQuestion card in desktop Chat when the agent run…
nwparker Aug 4, 2026
b86880a
Keep finished and interrupted agent sessions resumable after sleeping…
nwparker Aug 4, 2026
5f9a5b8
Show "Except default branch" filter only when "Hide sleeping" is on (…
nwparker Aug 4, 2026
96e31e7
Remove a paired computer's deleted projects from every connected devi…
nwparker Aug 4, 2026
8f29f58
Keep showing your workspaces when a project is too slow to answer ins…
nwparker Aug 4, 2026
00867f0
fix(ssh): handle owner displacement and graceful shutdown (#12367)
AmethystLiang Aug 4, 2026
e9cf106
fix(relay): make fenceAndCloseNow stop the liveness safety net (#12482)
Jinwoo-H Aug 4, 2026
e1071f5
Say why an update install failed instead of stalling for three minute…
nwparker Aug 4, 2026
2548b81
Keep the app responsive when security software slows process creation…
nwparker Aug 4, 2026
9058059
Update README downloads badge
github-actions[bot] Aug 4, 2026
7c4c021
docs: update Android APK link to v0.0.37 (#12515)
AmethystLiang Aug 4, 2026
02afd35
fix(sidebar): keep the toolbar labels in the selected UI language (#1…
5Hyeons Aug 4, 2026
17d88e0
fix(i18n): format the stats date with the selected UI language (#12105)
smwbev Aug 4, 2026
439a8c4
fix(plugins): let language packs translate plugin chrome (#12455)
smwbev Aug 4, 2026
4e8f136
fix(i18n): localize the integration card status pills (#12208)
smwbev Aug 4, 2026
6bf3442
fix(i18n): localize the Link Routing description in browser settings …
m-a-king Aug 4, 2026
eed7472
fix(i18n): localize automation contextual tour (#12270)
5Hyeons Aug 4, 2026
1cc84b9
fix(i18n): correct the ko and zh Orca Mobile "New" badge (#10664)
AmethystLiang Aug 4, 2026
5adc5d0
fix(i18n): pin the Orca Mobile "New" badge override and correct ja
nwparker Aug 4, 2026
1b1743c
fix(i18n): translate remaining zh.json strings (#12368)
qiuyongjin Aug 4, 2026
38490ee
fix(i18n): localize browser load-failure and certificate copy (#10672)
MumuTW Aug 4, 2026
d4f2ae1
fix(i18n): correct ja Push/Pull button translations (#12301)
Iris-Fla Aug 4, 2026
705e17a
fix(i18n): correct semantic errors in Korean UI copy (#11169)
kyu4583 Aug 4, 2026
a202d92
fix(localization): stop the repair policy rewriting translated generi…
AnddyAgudelo Aug 4, 2026
aa00110
fix(i18n): repair the stale SshTargetForm ko override
nwparker Aug 4, 2026
f9a5920
fix(i18n): stop repairCatalog crashing on un-bootstrapped locale keys…
Turtle-Hwan Aug 4, 2026
174011d
fix(i18n): format relative times with the configured UI language (#8662)
moseoh Aug 4, 2026
1aa5e7f
fix(i18n): localize the remaining pull-policy and PR-action reasons (…
AmethystLiang Aug 4, 2026
cc9eb9e
fix(i18n/ko): standard loanword transcription and terminology fixes (…
tykimseoul Aug 4, 2026
4734428
fix(i18n): stop the repair policy de-localizing CJK UI labels
nwparker Aug 4, 2026
bc1feb5
Add search by name, project, and prompt for automations (#12561)
AmethystLiang Aug 4, 2026
e4aadcc
fix(mobile): keep repeated-prefix native chat replies streaming (STA-…
brennanb2025 Aug 4, 2026
e138d28
Fix Linear filter chips showing UUIDs after dropdown closes (#12564)
AmethystLiang Aug 4, 2026
9759bd2
fix(mobile): center native chat checkmarks (#12565)
brennanb2025 Aug 4, 2026
d27d69f
fix(mobile): serialize native chat PTY writes and fence superseded as…
brennanb2025 Aug 4, 2026
1816d3e
test(terminal): pin IME chord survival across mid-composition re-rend…
brennanb2025 Aug 4, 2026
8854961
feat(sidebar): inline SSH reconnect control on workspace cards (#12396)
AmethystLiang Aug 4, 2026
999e3a3
feat(sidebar): link Linear issues from Edit Worktree Details (#12380)
AmethystLiang Aug 4, 2026
eca3ed7
release: v1.4.169-rc.0
github-actions[bot] Aug 4, 2026
2073f7e
fix(startup): omit Linux-only package mgrs from PATH on non-Linux (#1…
AmethystLiang Aug 4, 2026
d52df52
fix(mobile): open editor for disconnected hosts (#12575)
brennanb2025 Aug 4, 2026
847c8c8
fix(agent-status): correlate manual Claude compact hooks (#12332)
Jinwoo-H Aug 4, 2026
b3a4a4f
fix(terminal): coordinate reveal atlas recovery (#11864)
brennanb2025 Aug 4, 2026
9ee3595
fix(mobile): make native-chat file links and path citations tappable …
brennanb2025 Aug 4, 2026
40ea4ec
Track Claude models from the installed CLI per host (STA-3330) (#12369)
brennanb2025 Aug 4, 2026
9deee5a
perf(worktrees): delete worktree directories after the removal return…
brennanb2025 Aug 4, 2026
fb27702
feat(updater): restart hourly build numbers per version, restyle the …
nwparker Aug 4, 2026
535b5a5
fix(mobile): keep paged chat history coherent across reconnect replay…
brennanb2025 Aug 4, 2026
7948e46
fix(mobile): open the Resume workspace through a mounted host stack (…
kaynansc Aug 4, 2026
a528b68
Prevent Command Code output from hijacking agent icons (#12573)
brennanb2025 Aug 4, 2026
08abb75
perf(renderer): bail out of identity-equal terminal layout and cache-…
brennanb2025 Aug 4, 2026
7c26cce
fix(workspaces): add space after emoji picker selection
nwparker Aug 4, 2026
8c65dd5
perf(runtime): keep PowerShell ACL work and a second auth off the rem…
brennanb2025 Aug 5, 2026
aa7e76b
perf(tabs): index tab agent status by tab instead of scanning the glo…
brennanb2025 Aug 5, 2026
7956335
fix(setup): stop caching an unreadable orca.yaml as "no setup script"…
nwparker Aug 5, 2026
69ca9f9
fix(status-bar): invalidate the CLI session count on kill and restart…
nwparker Aug 5, 2026
27da04d
fix(terminal): truthful handle liveness + no forked resume tabs for h…
Jinwoo-H Aug 5, 2026
3d8131d
fix(runtime): reject leaf terminal sends only on controller-proven PT…
Jinwoo-H Aug 5, 2026
51ca82d
fix(runtime): seed terminal previews and titles from restore payloads…
Jinwoo-H Aug 5, 2026
7224591
fix(terminal): attach never-activated daemon sessions on remote subsc…
Jinwoo-H Aug 5, 2026
dc5c5a8
fix(codex): block launches with unproven runtime auth (#12490)
brennanb2025 Aug 5, 2026
39c3c58
perf(runtime): gate terminal.list visual layouts (#12450)
brennanb2025 Aug 5, 2026
5ed4573
fix(runtime): make sibling-workspace terminal-path resolution an expl…
Jinwoo-H Aug 5, 2026
ac9b83d
perf(terminal): stop the IME candidate anchor forcing layout on every…
brennanb2025 Aug 5, 2026
549816c
perf(tabs): take split-divider drag off the store (STA-3328) (#12392)
brennanb2025 Aug 5, 2026
0ce108d
fix(browser): add native-UA session profiles (#12608)
brennanb2025 Aug 5, 2026
5f187e0
fix(renderer): break Activity and terminal React #185 loops (#12600)
nwparker Aug 5, 2026
7287ca8
fix(terminal): preserve Pi Shift+Enter through trust gaps (#12618)
OrcaWin Aug 5, 2026
b4dca4d
perf(terminal): prepaint parked SSH sessions (#12610)
brennanb2025 Aug 5, 2026
38a892c
feat(mobile): native-chat model/session-option picker + shared slash …
brennanb2025 Aug 5, 2026
c3ddc0d
fix(mobile): keep native chat ask dismissals tab-scoped and gated (ST…
brennanb2025 Aug 5, 2026
c511e51
fix(mobile): label native-chat tool rows with a clean, expandable inp…
brennanb2025 Aug 5, 2026
738f640
fix(mobile): relay UX overhaul — steady status colors, visible relay …
Jinwoo-H Aug 5, 2026
fe72eeb
Add linked issue guidance and ELI5 sections to PR generation prompts …
AmethystLiang Aug 5, 2026
9507cbc
fix(terminal): rate-cap WebGL atlas recovery (#12622)
brennanb2025 Aug 5, 2026
c736031
Fix setup-gated agent startup on long worktree paths (#12623)
brennanb2025 Aug 5, 2026
bac99c9
Fix combined diff freeze after large diff invalidation (#12615)
AmethystLiang Aug 5, 2026
eebaf47
Add 'Has Workspace' mode to show Linear issues linked to local worktr…
AmethystLiang Aug 5, 2026
cbc005c
fix(remote-runtime): materialize the host surface when reconnecting a…
planderdev Aug 5, 2026
9666087
fix(ssh): preserve agent generation timeout budget (#12644)
Jinwoo-H Aug 5, 2026
1f86f98
fix(ssh): let terminate reach remote PTYs the app gave up reattaching…
Jinwoo-H Aug 5, 2026
1667b77
fix(remote-runtime): keep a remote outage from flooding the error sur…
Jinwoo-H Aug 5, 2026
003114d
fix(remote-runtime): stop the host tab mirror from fighting renderer-…
Jinwoo-H Aug 5, 2026
e5f49e0
fix(sidebar): preserve meaningful workspace status indicators (#12658)
nwparker Aug 5, 2026
128a39f
Add host and project filtering to worktree jump palette (#12638)
AmethystLiang Aug 5, 2026
e233d6a
Recover automatically instead of getting stuck on "Multiplexer dispos…
nwparker Aug 5, 2026
84df99e
test(serve): pin zero duplicate agent resumes across headless serve d…
Jinwoo-H Aug 5, 2026
c4d5a53
fix(pty): restore macOS TCC attribution persistence (#12562)
shawnkoh Aug 5, 2026
15ef69a
refactor(runtime): preserve transport error codes over IPC (#12667)
Jinwoo-H Aug 5, 2026
aca5e8b
fix(terminal): keep a live TUI's mouse modes across daemon reattach (…
nwparker Aug 5, 2026
4e37006
fix(remote-runtime): make hidden-output recovery reason-driven instea…
Jinwoo-H Aug 5, 2026
9509856
fix(runtime): retire an exited pane's surface in its owning host part…
Jinwoo-H Aug 5, 2026
2496458
fix(remote-runtime): stop a slept paired client from erasing its own …
Jinwoo-H Aug 5, 2026
2ec36a9
test(runtime): pin transport error code/message classification agreem…
Jinwoo-H Aug 5, 2026
0f9caf5
fix(ssh): time out stalled remote file streams (#11364)
Turtle-Hwan Aug 5, 2026
9accd97
fix(browser): stop an over-limit screencast frame from killing the pa…
Jinwoo-H Aug 5, 2026
a766ee4
fix(runtime): refuse to silently wake a deliberately slept pane (STA-…
Jinwoo-H Aug 5, 2026
0678026
test(remote-runtime): run an old client and an old server against cur…
Jinwoo-H Aug 5, 2026
d15939c
fix(terminal): recover rejected paired-runtime input (STA-2830) (#12675)
Jinwoo-H Aug 5, 2026
ade4354
Open GitHub items in workspace composer with issue automation (#12653)
AmethystLiang Aug 5, 2026
cc1859d
fix(ssh): snapshot detached SSH leases on quit and bound the teardown…
Jinwoo-H Aug 5, 2026
eea0bb6
fix(ssh): make PTY owner admission explicit and non-destructive (#12673)
Jinwoo-H Aug 5, 2026
9fb4dbe
fix(ssh): handle rejected PTY deliveries with targeted recovery (#12746)
AmethystLiang Aug 5, 2026
d72daf8
fix(release): admit PTY consumer in SSH watcher isolation gate (#12754)
AmethystLiang Aug 5, 2026
7aba9b3
Validate auto-generated PR details; abort with clear errors (#12752)
AmethystLiang Aug 5, 2026
6942871
feat(editor): add Markdown table structure controls (#11985)
WYK15 Aug 5, 2026
de64337
fix(worktree-watcher): refresh status after external pushes (#12361)
brennanb2025 Aug 5, 2026
5d2ad35
fix(native-chat): add direct Codex model selection (#12657)
brennanb2025 Aug 5, 2026
2539889
Update README downloads badge
github-actions[bot] Aug 5, 2026
86b878c
fix(mobile): parse classified PR lookup outcomes (#12659)
brennanb2025 Aug 5, 2026
6c2d168
refactor(sidebar): restructure filters into consistent submenu layout…
AmethystLiang Aug 5, 2026
d021e1b
Improve gh issue table (#9068)
AmethystLiang Aug 5, 2026
fde816e
move folders (#12758)
AmethystLiang Aug 5, 2026
b1b291d
feat(browser): add hard reload option and shortcut hints to reload bu…
Aealen Aug 5, 2026
38ba22e
fix(browser): align cookie import safeguards (#12607)
brennanb2025 Aug 5, 2026
4c49989
refactor(codex): delete the unreachable managed shared-mirror lane (#…
brennanb2025 Aug 5, 2026
23238ae
fix(mobile): stop native-chat send button flicker (#12764)
brennanb2025 Aug 5, 2026
d4dfc35
fix(mobile): preserve multi-image chat attachments (#12639)
brennanb2025 Aug 5, 2026
74ac704
fix(windows): make managed grok-hook.cmd safe when GROK_HOME is unset…
Kyou12138 Aug 5, 2026
885afb5
fix(mobile): open host editor from root navigation (#12766)
brennanb2025 Aug 5, 2026
7f4570c
fix(mobile): activate Source Control diff tabs on phones (#12770)
brennanb2025 Aug 5, 2026
be2f9ed
fix(mobile): abandon pairing journals that can no longer reconcile (#…
Jinwoo-H Aug 5, 2026
73cd4c3
fix(mobile): bound live terminal input latency (#12763)
Jinwoo-H Aug 5, 2026
debf4af
Display total lines of code change in branch header (#12771)
AmethystLiang Aug 5, 2026
06b02e0
release: v1.4.174-rc.0
github-actions[bot] Aug 5, 2026
de15250
chore(mobile): prepare 0.0.41 releases (#12781)
Jinwoo-H Aug 5, 2026
2c2a326
Change question card submit button label to 'Submit' (#12782)
AmethystLiang Aug 5, 2026
ae1ed5e
Remove source control group order preference (#12785)
AmethystLiang Aug 5, 2026
2ff2a1b
Display SSH worktrees immediately using persisted metadata (#12646)
AmethystLiang Aug 5, 2026
4774d38
fix(sidebar): keep PR status visible with activity (#12793)
brennanb2025 Aug 5, 2026
9ce9ce9
Register PTY output processors in memory profile census (#12795)
AmethystLiang Aug 6, 2026
6df8997
fix(file-explorer): sort numbered file names naturally across every l…
brennanb2025 Aug 6, 2026
aa64ac9
fix(runtime): degrade focus-requested terminal create on headless ser…
Jinwoo-H Aug 6, 2026
79896cb
fix(native chat): retain transcript while reconnecting (STA-3333) (#1…
brennanb2025 Aug 6, 2026
630f13b
refactor(mobile): separate native chat controller contract (#12826)
brennanb2025 Aug 6, 2026
211b2d1
fix(runtime): require consecutive missed probes before reaping a pair…
Jinwoo-H Aug 6, 2026
3838f6f
Revert #12793: put PR status back in the left status lane (#12815)
brennanb2025 Aug 6, 2026
b70e337
Revert #12658: show PR status on active and done workspaces too (#12825)
brennanb2025 Aug 6, 2026
ff01fad
fix(runtime): stop a stalled tick from forgiving banked missed probes…
Jinwoo-H Aug 6, 2026
81e7a2d
fix(terminal): recover live panes after renderer restart (STA-3536) (…
brennanb2025 Aug 6, 2026
b521837
fix(mobile): keep hosts visible when credentials are unavailable (#12…
brennanb2025 Aug 6, 2026
7da9368
fix(terminal): fence detached daemon endpoint ownership (#12709)
nwparker Aug 6, 2026
b0ba518
Add per-worker model and effort overrides (#12851)
Jinwoo-H Aug 6, 2026
3d6a98a
fix(native-chat): report the current Claude model from the terminal f…
brennanb2025 Aug 6, 2026
cd8c665
fix(agent-hooks): resumed Claude Code session gets its sidebar agent …
brennanb2025 Aug 6, 2026
89f0065
fix(mobile): bound home host auto-connect fanout (#11642)
brennanb2025 Aug 6, 2026
c2da0e4
fix(computer): deliver macOS coordinate clicks via the HID event tap …
brennanb2025 Aug 6, 2026
215604f
fix(tasks): hold dialog-confirmed issue state over stale Tasks list r…
brennanb2025 Aug 6, 2026
790ade5
fix(browser): recover browser tab when guest WebContents is destroyed…
brennanb2025 Aug 6, 2026
ab1bf1a
fix(settings): recover HTTP proxy settings from safeStorage failures …
brennanb2025 Aug 6, 2026
12472b8
fix(skills): match official skill files despite local sidecars (#12812)
innocarpe Aug 6, 2026
a30e3b9
feat(dashboard): add experimental agent map view (#12168)
brennanb2025 Aug 6, 2026
ca187c7
fix(menu): restore paste in macOS native dialogs (#12645)
pstanton237 Aug 6, 2026
6182ca4
fix(mobile): expose host card actions (#11648)
brennanb2025 Aug 6, 2026
f82d5c3
fix(terminal): clear stranded link hover tooltip (#12786)
nwparker Aug 6, 2026
a2d438d
fix(daemon): detect severed macOS TCC attribution behind terminal aut…
brennanb2025 Aug 6, 2026
39ba201
fix(source-control): prevent long branch names from overlapping chip …
AmethystLiang Aug 6, 2026
a7ffb24
perf(terminal): bound the reattach payload agent-signal scan (#12681)
nwparker Aug 6, 2026
1251e55
Show SSH worktrees immediately via persisted metadata (#12799)
AmethystLiang Aug 6, 2026
c3db2b8
Demote address picker to optional disclosure on Orca Relay (#12796)
AmethystLiang Aug 6, 2026
b5ad2ac
fix(ai-vault): group OMP task subagent transcripts under their parent…
dcieslak19973 Aug 6, 2026
ac961d6
fix(repo-icon): fall back to a lucide icon when an image icon fails t…
erishforG Aug 6, 2026
ead6b8e
fix: prioritize filenames in new-tab file results (#12670)
nwparker Aug 6, 2026
f713739
fix: prioritize filenames in cmd+p quick open (#12679)
nwparker Aug 6, 2026
92f759b
perf: bound repeated watcher, Session History, and terminal work (#12…
brennanb2025 Aug 6, 2026
f6d0bde
fix(mobile): choose host for new workspace (#11647)
brennanb2025 Aug 6, 2026
74e1678
test(runtime): pin the fail-closed contract for bare Cursor titles (#…
bbingz Aug 6, 2026
99d2f03
fix: scope idle agent setting to dashboard (#12941)
brennanb2025 Aug 6, 2026
18b27ac
fix(terminal): show AI Vault conversation names in tabs (#12778)
brennanb2025 Aug 6, 2026
b81450f
fix(azure-devops): retry with -preview api-version and keep project-l…
brennanb2025 Aug 6, 2026
ddf6419
release: v1.4.176-rc.0
github-actions[bot] Aug 6, 2026
b9e9811
fix(permissions): use standard macOS Local Network request flow (STA-…
brennanb2025 Aug 6, 2026
fe789c5
fix(renderer): contain corrupt lazy chunks when the recovery reload n…
AmethystLiang Aug 6, 2026
01d3bc5
fix(terminal): per-pane WebGL attach latch and fit-anchored reattach …
brennanb2025 Aug 6, 2026
8ddf575
Revert "Remove source control group order preference (#12785)" (#12955)
AmethystLiang Aug 6, 2026
a025a71
fix(orchestration): deliver pending mail to already-idle agents (#12584)
bbingz Aug 7, 2026
f23e6f2
release: v1.4.176-rc.1
github-actions[bot] Aug 7, 2026
87d1d1a
fix(terminal): preserve pinned scroll across live redraws (#12783)
nwparker Aug 7, 2026
7df7aa5
Update README downloads badge
github-actions[bot] Aug 7, 2026
1aaa5cf
Fix cmd+j search ranking to require coverage of meaningful query word…
AmethystLiang Aug 7, 2026
e68831f
fix(github-project): index fork upstream slugs for project row matchi…
innocarpe Aug 7, 2026
c50a751
feat(diff): HTML preview actions in View all combined diffs (#12965)
AmethystLiang Aug 7, 2026
f2d62a7
fix(i18n): localize the status bar Resource Manager tooltip and remot…
nwparker Aug 7, 2026
cb96040
fix(mobile): never auto-advertise virtual bridge addresses for pairin…
AmethystLiang Aug 7, 2026
4b26034
fix(terminal): protect local ConPTY Ctrl+Enter without breaking TUIs …
nwparker Aug 7, 2026
87d7680
fix(terminal): recover stale persisted owner bindings (#12976)
Jinwoo-H Aug 7, 2026
c9485fd
fix(computer): fence macOS HID coordinate clicks (#12981)
Jinwoo-H Aug 7, 2026
7e60b33
fix(persistence): fail closed when safeStorage cannot encrypt (#12983)
Jinwoo-H Aug 7, 2026
1405e8a
fix(agent-status): suppress replayed completion notifications
innocarpe Aug 7, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@
/skill-stubs/*.md text eol=lf
/skills/*/SKILL.md text eol=lf
/src/cli/bundled-skill-guides.ts text eol=lf
# Bundled plugin trees are byte-hashed; CRLF checkout would break the pinned hash.
/resources/plugins/** text eol=lf
5 changes: 5 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Product source remains owned by its normal reviewers; localization inputs need focused review.
/src/renderer/src/i18n/locales/ @brennanb2025
/config/scripts/*localization*.mjs @brennanb2025
/config/scripts/*locale*.mjs @brennanb2025
/config/i18next.config.ts @brennanb2025
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ body:
value: |
Use this form for Orca bugs. Include enough detail for someone else to reproduce the issue.

Please write your issue in English.

- type: dropdown
id: os
attributes:
Expand Down
2 changes: 2 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ body:
value: |
Use this form for new features or workflow improvements.

Please write your issue in English.

- type: textarea
id: problem
attributes:
Expand Down
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/other.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@ name: Other
description: Report another Orca issue type
title: '[Other]: '
body:
- type: markdown
attributes:
value: |
Please write your issue in English.
- type: textarea
id: details
attributes:
Expand Down
80 changes: 80 additions & 0 deletions .github/actions/install-node-dependencies/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
name: Install Node dependencies
description: Installs the Node toolchain and repository dependencies for Linux CI jobs.

inputs:
native-runtime:
description: Native runtime to prepare after the script-free install (none, node, or electron).
required: false
default: none
node-version:
description: Node.js version override; defaults to the version declared in package.json.
required: false
default: ''

runs:
using: composite
steps:
# setup-node needs pnpm on PATH to locate and restore its store.
- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
run_install: false

- name: Setup Node.js
if: inputs.node-version == ''
uses: actions/setup-node@v6
with:
node-version-file: package.json
cache: pnpm

- name: Setup requested Node.js
if: inputs.node-version != ''
uses: actions/setup-node@v6
with:
node-version: ${{ inputs.node-version }}
cache: pnpm

- name: Validate native runtime
shell: bash
env:
NATIVE_RUNTIME: ${{ inputs.native-runtime }}
run: |
case "$NATIVE_RUNTIME" in
none|node|electron) ;;
*)
echo "::error::native-runtime must be none, node, or electron"
exit 2
;;
esac

# pnpm's bundled gyp_main.py is not executable on fresh Linux runners.
- name: Use external node-gyp
if: inputs.native-runtime != 'none'
shell: bash
run: |
npm install -g node-gyp@11.5.0
echo "npm_config_node_gyp=$(npm root -g)/node-gyp/bin/node-gyp.js" >> "$GITHUB_ENV"

- name: Prepare dependency install
shell: bash
run: |
if [ -e node_modules ]; then
ls -ld node_modules
rm -rf node_modules
fi

- name: Install dependencies
shell: bash
run: |
pnpm install \
--no-frozen-lockfile \
--prefer-frozen-lockfile=false \
--ignore-scripts
git diff --exit-code package.json pnpm-lock.yaml

- name: Prepare native runtime
if: inputs.native-runtime != 'none'
shell: bash
env:
NATIVE_RUNTIME: ${{ inputs.native-runtime }}
run: node config/scripts/ensure-native-runtime.mjs --runtime="$NATIVE_RUNTIME"
197 changes: 197 additions & 0 deletions .github/actions/install-signpath-module/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,197 @@
name: Install SignPath PowerShell module
description: >-
Installs the SignPath PowerShell module (Get-SignedArtifact) from PSGallery,
falling back to a pinned, hash-verified nupkg from the gallery CDN when the
gallery's package API is unavailable.

inputs:
fallback-version:
description: Module version fetched directly from the CDN when the gallery API is unreachable.
required: false
default: 4.4.6
fallback-sha256:
description: >-
SHA-256 of the pinned fallback nupkg. The CDN path bypasses the gallery's own
package validation, so this hash is the only integrity check on that route.
required: false
default: 2487357a9a02c7d985baaf9ebd9158b4ce877316a2d9de3a6e9af1b263c0a32d

runs:
using: composite
steps:
- name: Install SignPath PowerShell module
shell: pwsh
env:
SIGNPATH_FALLBACK_VERSION: ${{ inputs.fallback-version }}
SIGNPATH_FALLBACK_SHA256: ${{ inputs.fallback-sha256 }}
run: |
$ErrorActionPreference = 'Stop'
# Why: force TLS 1.2 so gallery downloads work on older hosted images.
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12

# Why: on some hosted Windows images `Register-PSRepository -Default`
# fails inside the legacy nuget.exe provider with "Missing option value
# for: '-source'", so PSGallery is never registered and the install
# below dies with "No repository with the name 'PSGallery'". PSResourceGet
# (bundled with PowerShell 7.4+) has PSGallery registered by default and
# avoids that code path, so prefer it and fall back to PowerShellGet only
# when it is absent.
$useResourceGet = $null -ne (Get-Command -Name Install-PSResource -ErrorAction SilentlyContinue)

try {
if ($useResourceGet) {
if ($null -eq (Get-PSResourceRepository -Name PSGallery -ErrorAction SilentlyContinue)) {
Register-PSResourceRepository -PSGallery -Trusted
} else {
Set-PSResourceRepository -Name PSGallery -Trusted
}
} else {
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force | Out-Null
if ($null -eq (Get-PSRepository -Name PSGallery -ErrorAction SilentlyContinue)) {
Register-PSRepository -Default -InstallationPolicy Trusted
}
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
}
} catch {
# Why: repository registration also talks to the gallery, so a gallery
# outage can fail here before a single install is attempted. The CDN
# fallback below does not need a registered repository, so keep going.
Write-Warning "PSGallery repository registration failed: $_"
}

$trimChars = [char[]]@([System.IO.Path]::DirectorySeparatorChar, [System.IO.Path]::AltDirectorySeparatorChar)
$documentsRoot = [System.IO.Path]::GetFullPath([Environment]::GetFolderPath('MyDocuments')).TrimEnd($trimChars)
$currentUserModuleRoot = $env:PSModulePath -split [System.IO.Path]::PathSeparator |
Where-Object {
if ([string]::IsNullOrWhiteSpace($_)) {
$false
} else {
$candidate = [System.IO.Path]::GetFullPath($_).TrimEnd($trimChars)
$candidate.StartsWith($documentsRoot, [System.StringComparison]::OrdinalIgnoreCase)
}
} |
Select-Object -First 1

if ([string]::IsNullOrWhiteSpace($currentUserModuleRoot)) {
throw 'Unable to resolve the current-user PowerShell module root from PSModulePath.'
}

$signPathModulePath = Join-Path -Path $currentUserModuleRoot -ChildPath 'SignPath'

function Test-SignPathModule {
Import-Module SignPath -ErrorAction Stop
Get-Command -Name Get-SignedArtifact -Module SignPath -ErrorAction Stop
}

function Remove-SignPathModuleDirectory {
if (Test-Path -LiteralPath $signPathModulePath) {
Write-Warning "Removing current-user SignPath module directory: $signPathModulePath"
Remove-Item -LiteralPath $signPathModulePath -Recurse -Force
}
}

$installed = $false

for ($attempt = 1; $attempt -le 3; $attempt++) {
if ($attempt -eq 2) {
Start-Sleep -Seconds 15
} elseif ($attempt -eq 3) {
Start-Sleep -Seconds 30
}

try {
if ($useResourceGet) {
Install-PSResource -Name SignPath -Version '[4.0.0,5.0.0)' -Repository PSGallery -Scope CurrentUser -TrustRepository -Reinstall -ErrorAction Stop
} else {
Install-Module -Name SignPath -Repository PSGallery -MinimumVersion 4.0.0 -MaximumVersion 4.999.999 -Scope CurrentUser -Force -AllowClobber -ErrorAction Stop
}
Test-SignPathModule
$installed = $true
break
} catch {
Write-Warning "SignPath PowerShell module preflight attempt $attempt failed: $_"
Remove-SignPathModuleDirectory
}
}

# Why: the gallery's package API (OData search + repository metadata) sits
# behind Azure Front Door and has returned 403/502/504 for every install
# attempt during gallery incidents, which hard-failed the whole Windows
# release job. The CDN that serves the nupkg itself is a separate origin
# and stays up through those incidents, so fall back to a pinned version
# fetched straight from it. The hash pin is mandatory: this route skips the
# gallery's package validation, so an unexpected payload must fail loudly.
if (-not $installed) {
$version = $env:SIGNPATH_FALLBACK_VERSION
$expectedHash = $env:SIGNPATH_FALLBACK_SHA256
Write-Warning "PSGallery install failed; falling back to pinned SignPath $version from the gallery CDN."

$nupkg = Join-Path -Path $env:RUNNER_TEMP -ChildPath "signpath-$version.zip"
if (Test-Path -LiteralPath $nupkg) {
Remove-Item -LiteralPath $nupkg -Force
}

# Why two URLs: the /api/v2/package route 302s to the CDN and can serve
# while the OData search endpoint is failing; the CDN URL is the same
# redirect target reached directly when the api host is down entirely.
$sources = @(
"https://www.powershellgallery.com/api/v2/package/SignPath/$version",
"https://cdn.powershellgallery.com/packages/signpath.$version.nupkg"
)

$downloaded = $false
foreach ($source in $sources) {
for ($attempt = 1; $attempt -le 3; $attempt++) {
if ($attempt -gt 1) {
Start-Sleep -Seconds (10 * $attempt)
}

try {
Invoke-WebRequest -Uri $source -OutFile $nupkg -MaximumRedirection 5 -UseBasicParsing -ErrorAction Stop
$actualHash = (Get-FileHash -LiteralPath $nupkg -Algorithm SHA256).Hash
if ($actualHash -ne $expectedHash.ToUpperInvariant()) {
throw "SHA-256 mismatch for $source (expected $expectedHash, got $actualHash)."
}
$downloaded = $true
Write-Host "Downloaded and verified SignPath $version from $source"
break
} catch {
Write-Warning "SignPath CDN download attempt $attempt from $source failed: $_"
if (Test-Path -LiteralPath $nupkg) {
Remove-Item -LiteralPath $nupkg -Force
}
}
}

if ($downloaded) {
break
}
}

if (-not $downloaded) {
throw "Unable to install the SignPath PowerShell module: PSGallery installs failed and the pinned $version nupkg could not be downloaded from any source."
}

Remove-SignPathModuleDirectory
# Why a version-named subdirectory: PowerShell only treats a nested folder
# as a side-by-side module version when the name matches the manifest's
# ModuleVersion, which is what makes `Import-Module SignPath` resolve it.
$versionRoot = Join-Path -Path $signPathModulePath -ChildPath $version
New-Item -ItemType Directory -Path $versionRoot -Force | Out-Null
Expand-Archive -LiteralPath $nupkg -DestinationPath $versionRoot -Force

# Why: strip nupkg packaging entries so only the module files remain.
foreach ($entry in @('_rels', 'package', '[Content_Types].xml', 'SignPath.nuspec')) {
$path = Join-Path -Path $versionRoot -ChildPath $entry
if (Test-Path -LiteralPath $path) {
Remove-Item -LiteralPath $path -Recurse -Force
}
}

$manifest = Join-Path -Path $versionRoot -ChildPath 'SignPath.psd1'
if (-not (Test-Path -LiteralPath $manifest)) {
throw "Pinned SignPath nupkg did not contain SignPath.psd1 at $versionRoot."
}

Test-SignPathModule
}
37 changes: 37 additions & 0 deletions .github/scripts/check-root-directory-entries.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/usr/bin/env bash
set -euo pipefail

if [[ $# -ne 2 ]]; then
echo "Usage: $0 <base-sha> <head-sha>" >&2
exit 2
fi

base_sha=$1
head_sha=$2
git rev-parse --verify "${base_sha}^{tree}" >/dev/null
git rev-parse --verify "${head_sha}^{tree}" >/dev/null

declare -A base_entries=()
while IFS= read -r -d '' entry; do
base_entries["$entry"]=1
done < <(git ls-tree -z --name-only "$base_sha")

blocked_entries=()
while IFS= read -r -d '' entry; do
if [[ -z "${base_entries[$entry]+present}" ]]; then
blocked_entries+=("$entry")
fi
done < <(git ls-tree -z --name-only "$head_sha")

if (( ${#blocked_entries[@]} == 0 )); then
echo "Root directory guard passed: no new root-level files or folders."
exit 0
fi

echo "::error title=Root-level additions blocked::New root-level files or folders bloat the GitHub landing page."
echo "Root directory guard failed."
echo "New root-level files or folders are not allowed because they bloat the GitHub landing page."
echo "Move each new entry under an existing top-level directory."
printf 'Blocked entries:\n'
printf ' %s\n' "${blocked_entries[@]}"
exit 1
Loading
Loading