Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1488 commits
Select commit Hold shift + click to select a range
ced2719
refactor: remove unreachable code (#13400)
nwparker Aug 10, 2026
954de38
refactor(mobile): remove unused PR and review code (#13404)
nwparker Aug 10, 2026
c56ff58
test(mobile): centralize renderer setup (#13408)
nwparker Aug 10, 2026
65a5e84
refactor: share GitHub link normalization (#13409)
nwparker Aug 10, 2026
1e72534
refactor: deduplicate repository search entries (#13415)
nwparker Aug 10, 2026
cb6069c
fix(ui): align toggle switch handle symmetrically in on state (#9714)
sei0 Aug 10, 2026
b075a95
Strip liveness gate from AI Vault session delete (#13279)
AmethystLiang Aug 10, 2026
7565093
fix(source-control): hydrate Windows shell profile PATH (#13418)
OrcaWin Aug 10, 2026
8a38e2f
refactor(renderer): reuse existing control paths (#13425)
nwparker Aug 10, 2026
934faae
refactor: deduplicate Linear team readers (#13417)
nwparker Aug 10, 2026
403c60b
refactor(mobile): remove unused review code (#13421)
nwparker Aug 10, 2026
3b1017c
Add nightly cut (#13410)
AmethystLiang Aug 10, 2026
8a33ce2
[leas code] Simplify boolean guards (#13401)
nwparker Aug 10, 2026
f3ea376
refactor(rate-limits): share initial account target policy (#13428)
nwparker Aug 10, 2026
a3ca887
fix(workspaces): start task agents on remote hosts (#13412)
Jinwoo-H Aug 10, 2026
faaf3d2
refactor(mobile): use shared diff and OSC implementations (#13433)
nwparker Aug 10, 2026
6c765d5
refactor(mobile): remove native chat re-export facades (#13436)
nwparker Aug 10, 2026
ce8c326
feat(terminal): add anchored link action popovers (#13414)
Jinwoo-H Aug 10, 2026
bdd7631
Fix Windows AI Vault resumes using the wrong shell (#13420)
OrcaWin Aug 10, 2026
6e63bbb
fix(computer-use): prevent repeated screen recording prompts (#13427)
Jinwoo-H Aug 10, 2026
9ccec55
Add emoji picker to workspace editing and search (#13429)
nwparker Aug 10, 2026
4cca31f
fix(quick-open): compact Cmd+P file rows (#13454)
nwparker Aug 10, 2026
d9e84d8
fix(persistence): salvage corrupt workspace session entries (#13431)
Jinwoo-H Aug 10, 2026
158212b
feat(github): add PR comment reactions (#13470)
Jinwoo-H Aug 10, 2026
f2b2ece
perf(renderer): reuse locale collators (#13444)
nwparker Aug 10, 2026
8859e73
perf(main): retire stale worktree marker probes (#13437)
nwparker Aug 10, 2026
7dce044
Add Caffeinate controls to the status bar (#13480)
nwparker Aug 10, 2026
d6362de
feat(agent-hooks): support Prime Agent status in WSL (#13430)
brennanb2025 Aug 10, 2026
016df33
fix(github): complete PR reactions for CodeRabbit reviews (#13456)
nwparker Aug 10, 2026
73efab9
perf(orchestration): keep drift Git off main thread (#13440)
nwparker Aug 10, 2026
f5d934a
3c5f0060 (#13496)
AmethystLiang Aug 10, 2026
abd160f
perf(renderer): defer terminal quick command host work (#13517)
nwparker Aug 10, 2026
0fa3a5b
Show directional lineage in agent map (#13503)
brennanb2025 Aug 10, 2026
8a3f704
fix(agent-dashboard): highlight agents awaiting input (#13523)
brennanb2025 Aug 10, 2026
c498d76
perf(renderer): unmount closed jump palette content (#13525)
nwparker Aug 10, 2026
33dad13
fix: wrap unbroken auto-rename failure output (#12317)
doyoonear Aug 10, 2026
c5023fa
perf(main): skip impossible advertised URL scans (#13514)
nwparker Aug 10, 2026
80f23e3
fix(file-explorer): open symlink files when stat fails (#11670)
xianjianlf2 Aug 10, 2026
66aed16
refactor(ui): consolidate toggle switches (#13432)
brennanb2025 Aug 10, 2026
e78bf2b
[Perf-SS] Keep relay writer drains linear under deep backlogs (#13449)
nwparker Aug 10, 2026
75f5e2d
perf(renderer): reuse prepared native chat messages (#13519)
nwparker Aug 10, 2026
4e536a5
Improve Agent Map hover and presence motion (#13407)
brennanb2025 Aug 10, 2026
ce3ec4d
fix(repo-icon): keep a renamed fork's own owner avatar (#12271)
shanchen97 Aug 10, 2026
14dc499
fix(ai-vault): preserve agent metadata header on session row expansio…
hwantage Aug 10, 2026
d305e48
fix(gitlab): guard against non-array API responses in MR/issue listin…
afifhaziq Aug 10, 2026
1310102
[Perf-LH] Serialize relay JSON payloads once per publication (#13516)
nwparker Aug 10, 2026
9060a88
fix: contain unbroken dialog failure output (#13531)
brennanb2025 Aug 10, 2026
eacb9a9
perf(automations): keep output snapshot appends linear (#13469)
nwparker Aug 10, 2026
418fbb3
fix(mobile-ios): gate release on TestFlight distribution (#13419)
AmethystLiang Aug 10, 2026
bbcf89e
chore(mobile): prepare 0.0.43 releases (#13549)
nwparker Aug 10, 2026
fb3a3c5
perf(native-chat): probe WSL transcript paths asynchronously (#13265)
OrcaWin Aug 10, 2026
6cdd019
docs(mobile): keep Android links on published release (#13565)
nwparker Aug 10, 2026
d15a554
perf(renderer): gate unread badge scans (#13554)
nwparker Aug 10, 2026
a63df91
perf(renderer): gate remote session mirror scans (#13544)
nwparker Aug 10, 2026
6206945
fix(native-chat): harden paginated history metadata (#13573)
nwparker Aug 10, 2026
158b575
perf(orchestration): coalesce drift probes per dispatch tick (#13592)
nwparker Aug 10, 2026
56b6d84
perf(relay): skip serialization without recipients (#13595)
nwparker Aug 10, 2026
c0c893d
fix(pty): bound cooked reply queue (#13422)
AmethystLiang Aug 10, 2026
ec7e3ea
fix(terminal): prevent paired activity renderer starvation (#13508)
Jinwoo-H Aug 10, 2026
1fafbe6
fix(sidebar): dispatch workspace delete intent after menu close (#11646)
ax-dfcorp Aug 10, 2026
fe0ab30
Avoid synchronous webview URL IPC during browser pane render (#13646)
brennanb2025 Aug 10, 2026
b46ece2
perf: Stop orchestration interaction UI broadcast storms (#13651)
brennanb2025 Aug 10, 2026
72184b7
fix(settings): widen font size input so values are fully visible (#11…
qiuyongjin Aug 10, 2026
0b5c5d6
fix(i18n): restore identifiers and commands machine translation local…
makoto-developer Aug 10, 2026
84bd306
perf: Stop unchanged worktree refresh churn (#13662)
brennanb2025 Aug 10, 2026
fb80f91
Clear stale terminal selection during pane recovery (#13677)
brennanb2025 Aug 10, 2026
d50adec
feat(ai-vault): isolate scanning from terminal workloads (#13411)
brennanb2025 Aug 10, 2026
8da3629
perf(runtime): batch legacy worker recovery persistence (#13649)
brennanb2025 Aug 10, 2026
03e740f
Fix notification clicks with Agent Dashboard pop-out (#13680)
brennanb2025 Aug 10, 2026
de1b119
fix(mobile): stop labeling accepted messages queued (#13658)
brennanb2025 Aug 10, 2026
6b9852a
perf(terminal): remove output-driven WebGL atlas resets (#13657)
brennanb2025 Aug 10, 2026
1b02ced
fix(tabs): keep widths stable during title updates (#11476)
bokjk Aug 10, 2026
a70291a
perf(orchestration): index mutation receipt capacity (#13647)
brennanb2025 Aug 10, 2026
2ee43bf
fix(agent-hooks): refresh existing Orca launchers when agent CLIs are…
brennanb2025 Aug 10, 2026
3d8c8c3
docs: update Android APK to 0.0.42 (#13700)
AmethystLiang Aug 11, 2026
2ade803
[Perf-SS] Remove redundant native Ripgrep probes (#13462)
nwparker Aug 11, 2026
119b1e1
fix(release): reject non-release publications (#13591)
nwparker Aug 11, 2026
1c1107f
Update README downloads badge
github-actions[bot] Aug 11, 2026
090678a
[Perf-SS] Keep reattach live queues linear during replay (#13478)
nwparker Aug 11, 2026
2084816
Improve automations page UI: full-page detail and table redesign (#13…
AmethystLiang Aug 11, 2026
96c2ceb
refactor(mobile): extract terminal settings styles (#13706)
nwparker Aug 11, 2026
868bfbe
fix(terminal): release retained output slice parents (#13402)
nwparker Aug 11, 2026
f2984e2
fix(terminal): skip a too-wide alt frame on snapshot replay (#13014)
brennanb2025 Aug 11, 2026
1874ac3
perf(renderer): own oversized automation output tails (#13581)
nwparker Aug 11, 2026
fc7387b
perf(runtime): index PTY worktree inventory lookups (#13690)
nwparker Aug 11, 2026
5cd7b0a
perf(renderer): keep shutdown rollback buffering linear (#13510)
nwparker Aug 11, 2026
f3f654c
perf(renderer): collapse terminal host selectors (#13643)
nwparker Aug 11, 2026
b015b16
perf(native-chat): stop abandoned tail reads (#13588)
nwparker Aug 11, 2026
550eabe
feat(workspaces): review preserved branches after bulk delete (#13693)
Jinwoo-H Aug 11, 2026
600b0b1
refactor(renderer): split WorktreeCard (#13715)
nwparker Aug 11, 2026
2f26e61
fix(dashboard): keep agent map rings open while the pointer works ins…
brennanb2025 Aug 11, 2026
c065a2d
Preserve AskUserQuestion waits during parallel tool completions (#13714)
brennanb2025 Aug 11, 2026
c7850eb
fix(terminals): prevent retired workers from cold-resuming (#13708)
Jinwoo-H Aug 11, 2026
8c975b9
fix(terminal): avoid Windows PATH registry subprocesses (#13485)
OrcaWin Aug 11, 2026
7d1a174
perf(computer-use): skip unused accessibility summaries (#13559)
nwparker Aug 11, 2026
3e3f48f
fix(native-chat): restore Codex model picker dispatch (#13669)
brennanb2025 Aug 11, 2026
fb39308
refactor(daemon): remove abandoned binary framing (#13530)
nwparker Aug 11, 2026
a45adcf
refactor(emulator): remove unwired scrcpy control encoders (#13528)
nwparker Aug 11, 2026
a276e54
refactor(relay): remove unwired PTY replay index (#13518)
nwparker Aug 11, 2026
d5c5322
refactor(computer): remove orphaned helpers (#13511)
nwparker Aug 11, 2026
837ea3f
refactor(onboarding): remove retired capability checklist (#13509)
nwparker Aug 11, 2026
9359edc
refactor(workspaces): remove replaced host combobox (#13507)
nwparker Aug 11, 2026
1979f5a
refactor(linear): remove replaced team combobox (#13506)
nwparker Aug 11, 2026
aa5e275
refactor(sidebar): remove retired activity helpers (#13505)
nwparker Aug 11, 2026
0110253
refactor(daemon): remove obsolete production launcher (#13504)
nwparker Aug 11, 2026
ee8b9b2
refactor(profiles): remove retired switcher UI (#13502)
nwparker Aug 11, 2026
d19f511
refactor(reviews): remove retired queue foundation (#13500)
nwparker Aug 11, 2026
573eace
refactor(persistence): remove unwired state bounds (#13499)
nwparker Aug 11, 2026
3203b0c
refactor(onboarding): remove retired tour outcome tracker (#13498)
nwparker Aug 11, 2026
f805189
refactor(automations): remove unused Hermes output limits (#13497)
nwparker Aug 11, 2026
34f4639
refactor(daemon): remove superseded PTY provider (#13477)
nwparker Aug 11, 2026
bb6f0c1
refactor(renderer): remove superseded GitHub background create (#13479)
nwparker Aug 11, 2026
f9f8d7a
refactor(relay): remove obsolete status parser (#13475)
nwparker Aug 11, 2026
75c6efd
Remove obsolete pairing connection attempt (#13460)
nwparker Aug 11, 2026
556f469
refactor(mobile): remove orphaned PR composer (#13450)
nwparker Aug 11, 2026
65e2b5b
refactor(usage): share provider store lifecycle (#13558)
nwparker Aug 11, 2026
665e0ea
Fix repo-scoped Quick Commands across remote hosts (#13727)
Jinwoo-H Aug 11, 2026
fc9fd72
refactor usage provider IPC plumbing (#13543)
nwparker Aug 11, 2026
ef19809
refactor(renderer): share usage provider slice lifecycle (#13527)
nwparker Aug 11, 2026
8c53e9e
Share usage recent-session table (#13467)
nwparker Aug 11, 2026
6964f75
refactor(renderer): share metadata list request lifecycle (#13524)
nwparker Aug 11, 2026
af47fa1
refactor(comments): share PR comment core (#13457)
nwparker Aug 11, 2026
e671c64
refactor(utf8): centralize byte and chunk boundaries (#13445)
nwparker Aug 11, 2026
a321ac3
refactor(mobile): use shared source-control decisions (#13453)
nwparker Aug 11, 2026
9796f7d
refactor(mobile): use shared GitHub Project sorting (#13459)
nwparker Aug 11, 2026
a944905
refactor(onboarding): remove retired repository controller (#13492)
nwparker Aug 11, 2026
e33863b
refactor(onboarding): remove retired repository step (#13484)
nwparker Aug 11, 2026
5538584
perf(git): overlap status with conflict detection (#13529)
nwparker Aug 11, 2026
0acf04a
perf(ssh): cancel abandoned remote port scans (#13548)
nwparker Aug 11, 2026
a65e0c5
perf(renderer): keep remote snapshot batches linear (#13676)
nwparker Aug 11, 2026
4bb7e7d
refactor(feature-wall): remove retired onboarding preview (#13489)
nwparker Aug 11, 2026
2734bcc
refactor(stats): share usage tracking pane shell (#13472)
nwparker Aug 11, 2026
9deb72f
fix(git): support Windows-linked worktrees in WSL projects (#13483)
OrcaWin Aug 11, 2026
34c721f
perf(renderer): preserve unchanged remote mirror resources (#13683)
nwparker Aug 11, 2026
2e5f067
perf(renderer): unmount closed Workspace Board content (#13619)
nwparker Aug 11, 2026
680a9d9
perf(renderer): unmount closed Quick Open content (#13618)
nwparker Aug 11, 2026
b44df2e
perf(renderer): index GitHub resume lookups (#13698)
nwparker Aug 11, 2026
25f7870
feat(github): support stacked pull requests (#13730)
Jinwoo-H Aug 11, 2026
aa50d8c
fix(ssh): release the relay-loss watcher before teardown mux writes (…
nwparker Aug 11, 2026
9f8c22c
perf(renderer): unmount closed workspace cleanup content (#13567)
nwparker Aug 11, 2026
93e0811
fix(native-chat): type Codex slash commands (#13685)
brennanb2025 Aug 11, 2026
1928ca5
perf(renderer): unmount closed setup guide content (#13546)
nwparker Aug 11, 2026
23c803a
perf(renderer): scope batched open-file reconciliation by worktree (#…
nwparker Aug 11, 2026
ee7e743
perf(orchestration): skip redundant federation acknowledgments (#13671)
nwparker Aug 11, 2026
1e22bef
fix(sidebar): close the workspace rename editor opened by the shortcu…
socar-jian Aug 11, 2026
03f471d
perf(runtime): coalesce project lineage refreshes (#13638)
nwparker Aug 11, 2026
c1e7547
Fix static analysis page stuck in loading state (#13674)
AmethystLiang Aug 11, 2026
fdaafc9
refactor(renderer): split SettingsFormControls below max-lines limit …
nwparker Aug 11, 2026
063022f
fix(native-chat): open composer pickers upward (#13754)
brennanb2025 Aug 11, 2026
0345d71
refactor(renderer): split oversized TabBar module (#13739)
nwparker Aug 11, 2026
7250fde
fix(codex): repair hook trust before restored shells reconnect (#13745)
brennanb2025 Aug 11, 2026
4dcb410
docs: remove restored shell validation report (#13759)
brennanb2025 Aug 11, 2026
915ee50
fix(ui): rename Caffeinate Auto mode to Agent (#13751)
brennanb2025 Aug 11, 2026
3ed4dc4
fix(native-chat): scope persisted options to chat launches (#13675)
brennanb2025 Aug 11, 2026
bdebe53
fix(settings): paste bash-native skill setup under WSL PTY (#13710)
bbingz Aug 11, 2026
200b3e5
perf(renderer): keep the repos array identity across no-op refetches …
nwparker Aug 11, 2026
c578f4e
fix(e2e): restore the helpers the macOS key-remap spec imports (#13758)
nwparker Aug 11, 2026
bb08b66
perf(runtime): avoid forced SSH hydration on project refresh (#13636)
nwparker Aug 11, 2026
a639bd3
[perf-remote] perf(codex): skip migration scans for nonshared reattac…
nwparker Aug 11, 2026
21d5ca6
[perf-remote] perf(renderer): dedupe remote status hydration (#13705)
nwparker Aug 11, 2026
5e3a2d2
Filter remote workspaces by creating device (#13718)
Jinwoo-H Aug 11, 2026
9b79cc1
Add copy button for quick command (#13768)
AmethystLiang Aug 11, 2026
8fad723
fix(worktree-poller): sample the scan gate before its listing (#13772)
nwparker Aug 11, 2026
baeb1b3
perf(editor): stop hidden panels duplicating remote reloads (#13634)
nwparker Aug 11, 2026
94a4756
[perf-remote] perf(renderer): park hidden remote session mirrors (#13…
nwparker Aug 11, 2026
33e8d89
[perf-remote] perf(renderer): park hidden remote browser screencasts …
nwparker Aug 11, 2026
b3965f3
perf(native-chat): suspend hidden transcript streams (#13622)
nwparker Aug 11, 2026
12f58f6
fix(editor): keep an invalidated diff visible until its reload lands …
nwparker Aug 11, 2026
0aa7d0b
refactor(renderer): unify the window park-visibility primitive (#13778)
nwparker Aug 11, 2026
0fe04e2
perf(sqlite): cache prepared statements in SyncDatabase (#13769)
nwparker Aug 11, 2026
e8904cf
perf(renderer): skip runtime status map churn on unchanged re-probes …
nwparker Aug 11, 2026
c8ee487
perf(renderer): keep catalog array identity and path-status cache on …
nwparker Aug 11, 2026
383ae50
fix(utf8): stop reading a code point past the end of a sliced string …
nwparker Aug 11, 2026
3713dd7
perf(git): reuse pinned OIDs for SSH file diffs (#13586)
nwparker Aug 11, 2026
1f2e18a
fix(e2e): repair seven specs whose assertions drifted from shipped be…
nwparker Aug 11, 2026
a0a654c
fix(renderer): reject malformed cursor and language-pack inputs (#13451)
OrcaWin Aug 11, 2026
ef56ca8
fix(feedback): pre-include Orca version and OS in errors and feedback…
AmethystLiang Aug 11, 2026
c96ded8
fix(startup): restore Windows PATH before shell changes (#13792)
OrcaWin Aug 11, 2026
536d17d
fix(artifacts): recover committed cloud mutations (#13796)
Jinwoo-H Aug 11, 2026
e790266
fix(windows): show first window before shell PATH hydration (#13799)
OrcaWin Aug 11, 2026
4c69e45
Strengthen plain-node-entry-guard with entry name validation (#12761)
AmethystLiang Aug 11, 2026
6acd69c
fix(terminal): prevent link action clicks reaching child (#13797)
Jinwoo-H Aug 11, 2026
97ebfd9
fix(cmd-j): improve keyboard selection visibility in light mode (#13855)
AmethystLiang Aug 11, 2026
17c57b7
Unpack OpenCode SQLite worker entry from asar (#13853)
AmethystLiang Aug 11, 2026
92f928c
feat(terminal): add copy action to link popover (#13857)
Jinwoo-H Aug 11, 2026
2b1e69d
Add keyboard dismissal for mobile markdown editor (#13856)
AmethystLiang Aug 11, 2026
e05c7f1
fix(wsl): preserve forwarded flags in PowerShell 5.1 (#13426)
OrcaWin Aug 11, 2026
d35fcc9
test(setup): cover Windows forward-slash sequencing (#13557)
brennanb2025 Aug 11, 2026
6c0b447
perf(clipboard): isolate staging cleanup from shared temp (#13482)
OrcaWin Aug 11, 2026
f70b52e
STA-3608: hide managed Claude hook consoles on Windows (#13443)
OrcaWin Aug 11, 2026
b3c9abc
Fix copied WSL skill commands on Windows (#13552)
OrcaWin Aug 11, 2026
d6e1d84
fix(wsl): forward native CLI arguments losslessly (#12582)
bbingz Aug 11, 2026
f226fcf
fix(claude): make managed hook paths portable (STA-3348) (#13442)
OrcaWin Aug 11, 2026
e00e91d
fix(terminal): open WSL UNC links with Windows path form
bbingz Aug 10, 2026
8852151
fix(editor): match WSL UNC paths across forward-slash and backslash f…
Pr1p Aug 10, 2026
1f8fd5c
fix(editor): guard local WSL path aliases
OrcaWin Aug 11, 2026
f2e83df
fix(editor): require explicit local watcher ownership
OrcaWin Aug 11, 2026
842641a
fix(editor): complete local WSL alias watcher handling
OrcaWin Aug 11, 2026
4e7421d
fix(terminal): explain a dead terminal host instead of leaking a sock…
brennanb2025 Aug 11, 2026
46756b3
fix(terminal): retain WebGL for recently hidden worktrees (#13372)
brennanb2025 Aug 11, 2026
e6eec11
fix(wsl): preserve single-letter POSIX terminal cwd (#13859)
OrcaWin Aug 11, 2026
63271a5
feat(bitbucket): connect Bitbucket from Settings and create pull requ…
nwparker Aug 11, 2026
077f5a1
feat(github): create stacked pull requests (#13750)
Jinwoo-H Aug 11, 2026
648d173
feat(sidebar): add jump-to-top button for hard upward scrolling (#13864)
AmethystLiang Aug 11, 2026
234caec
fix(windows): refresh PATH ordering for newly installed tools (#13545)
OrcaWin Aug 11, 2026
e77e1fe
fix(claude): guard cold-restore resume selectors (#13868)
brennanb2025 Aug 11, 2026
09c8597
perf(orchestration): route federated reads over shared control (#13814)
Jinwoo-H Aug 11, 2026
ff727c3
fix(settings): read voice settings from a ref, not a stale closure (#…
nwparker Aug 11, 2026
f19ff5b
fix(browser): keep one identity across hosts during Google sign-in (S…
brennanb2025 Aug 11, 2026
686f5dc
fix(browser): exclude Google cookies from imports - direct sign-in is…
brennanb2025 Aug 11, 2026
9f0bf39
fix(github): fail closed when stack metadata is unavailable (#13866)
Jinwoo-H Aug 11, 2026
23cbe6d
fix(agent-hooks): guard copilot and kimi Windows hooks before they ow…
brennanb2025 Aug 12, 2026
55beeeb
Allow directly search in google (#13863)
AmethystLiang Aug 12, 2026
0c13e51
feat(pr-comments): sort grouped PR comment sections newest-first (#13…
AmethystLiang Aug 12, 2026
0824351
fix(bitbucket): commit credentials atomically and stop blaming the to…
nwparker Aug 12, 2026
675400e
fix(automations): give list table more breathing room (#13898)
AmethystLiang Aug 12, 2026
96c17b4
Resolve threads as primary acknowledgement, not replies (#13894)
AmethystLiang Aug 12, 2026
4c2a10d
Fix smart sort ranking of done agents by completion time (#13899)
AmethystLiang Aug 12, 2026
991a3fe
chore(lint): update oxlint to 1.77 and enable no-op cleanup rules (#1…
nwparker Aug 12, 2026
ebcb2b6
docs: expand PR template with ELI5, before/after screenshots, and X h…
nwparker Aug 12, 2026
444638d
Revise pull request template for clarity and updates
nwparker Aug 12, 2026
64aec94
fix(sidebar): give draft reviews their own glyph instead of a red PR …
nwparker Aug 12, 2026
b51ef40
fix(quick-commands): flatten the settings list and give the command e…
Jinwoo-H Aug 12, 2026
7a58f72
Fix remote-runtime terminal pane split authority (#13867)
Jinwoo-H Aug 12, 2026
e597136
Update pull_request_template.md
nwparker Aug 12, 2026
948d85c
fix(terminal): rank cold-park recency by activation order, not random…
nwparker Aug 12, 2026
137e724
fix(agent-title): treat Claude Code quarter-circle spinners as workin…
brennanb2025 Aug 12, 2026
5ea7df1
fix(terminal): make DECSET 2031 subscriptions silent (#13904)
nwparker Aug 12, 2026
5bee7b5
P1 STA 3887 design Preview Kitty IME (#13940)
AmethystLiang Aug 12, 2026
0079623
Fix reveal active workspace needing multiple clicks (#13926)
nwparker Aug 12, 2026
971d954
docs(agent-status): make design references self-contained (#13902)
nwparker Aug 12, 2026
3d4c968
perf(renderer): drop redundant worktree card cache-TTL subscription (…
nwparker Aug 12, 2026
9e18e14
fix(workspace-emoji): keep the ':' shortcode suggestions scrolled to …
nwparker Aug 12, 2026
4b9fb46
fix(agent-hooks): stop rewriting typed Prime commands (#13906)
brennanb2025 Aug 12, 2026
7319d59
Make worker completion and cleanup authoritative (#13927)
Jinwoo-H Aug 12, 2026
c45c806
fix(orchestration): close federated-read benchmark socket (#13939)
Jinwoo-H Aug 12, 2026
fd2afc1
Fix paired web Add Project folder browsing (#13885)
Jinwoo-H Aug 12, 2026
a812246
fix(agents): detect a live OpenCode pane from its native OC | session…
AmethystLiang Aug 12, 2026
a90a18d
perf(renderer): anchor spinner phase from animationstart only (#13987)
nwparker Aug 12, 2026
2249330
fix(browser): bulk clear cookies during native import (#13966)
brennanb2025 Aug 12, 2026
9c091cf
chore(perf): add renderer agent-status benchmark harness (#13905)
nwparker Aug 12, 2026
36d45af
feat(browser): guide Google sign-in after cookie imports (STA-3811) (…
brennanb2025 Aug 12, 2026
346e59c
fix(renderer): keep commit tooltip lines intact (#14000)
Jinwoo-H Aug 12, 2026
70ad65f
Fix paired remote HTML browser ownership and focus (#13876)
Jinwoo-H Aug 12, 2026
e5cd5bf
fix: decouple Floating Workspace shell selection (#13995)
OrcaWin Aug 12, 2026
ad6f801
Update README downloads badge
github-actions[bot] Aug 12, 2026
09ec516
fix(editor): index WSL watcher aliases per batch (#14015)
OrcaWin Aug 12, 2026
880b621
feat(i18n): add Traditional Chinese (zh-TW) UI locale (#10592)
innocarpe Jul 25, 2026
4d5d9d2
fix(i18n): Taiwan terminology and core zh-TW leftovers
innocarpe Jul 26, 2026
c7f1723
fix(i18n): translate zh-TW core UI fallbacks
innocarpe Aug 12, 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
12 changes: 5 additions & 7 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,17 +56,15 @@ CI enforces this for `src/preload/` and `src/shared/` — see `docs/preload-type

## Pull Requests

Each pull request should:
Each pull request should follow [`.github/pull_request_template.md`](./pull_request_template.md). In particular:

- explain the user-visible change
- stay focused on a single topic when possible
- include screenshots or screen recordings for new UI or behavior changes
- open with an ELI5 of the change (plain language paragraph; the PR title is the one-liner)
- explain what changed and why, and stay focused on a single topic when possible
- for any UI or interaction change, attach **before and after** screenshots (or short videos); if there is no visual change, say `No visual change` and why
- include high-quality tests when behavior changes or bug fixes warrant them
- include a brief code review summary from your AI coding agent that explicitly checks cross-platform compatibility, SSH/remote/local compatibility, supported agent and integration compatibility, performance risk, UI quality when applicable, and basic security risk
- mention any platform-specific, remote/SSH-specific, agent-specific, integration-specific, or git-provider-specific behavior and testing notes
- **Include your X (Twitter) handle!** We love giving shoutouts to our contributors when we merge features on [@orca_build](https://x.com/orca_build).

If there is no visual change, say that explicitly in the PR description.
- **Include your X (Twitter) handle** in the PR template Author section — we shout out contributors when we merge features on [@orca_build](https://x.com/orca_build).

## Release Process

Expand Down
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
}
Loading