Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
277 commits
Select commit Hold shift + click to select a range
190ed7d
fix(ssh): make POSIX relay wrapper survive csh/tcsh login shells (#8709)
haohlin Jul 15, 2026
ac69772
release: v1.4.142-rc.7
github-actions[bot] Jul 15, 2026
c8986ca
fix(agent-status): reap finished Claude named agents/teammates from t…
brennanb2025 Jul 15, 2026
a381567
fix: close Add Project host selector when an SSH credential prompt ap…
Jaemmeong Jul 15, 2026
40c0061
fix(i18n): correct Chinese translations including styling syntax and …
ousugo Jul 15, 2026
40d0159
fix(terminal): kill agent descendant processes on session teardown (S…
brennanb2025 Jul 15, 2026
45a772c
test(windows): allow native launcher compilation time (#8897)
brennanb2025 Jul 15, 2026
a2d3451
Fix manual project order across paired runtime hosts (#8894)
Jinwoo-H Jul 15, 2026
ed2135d
Preserve original markdown style when editing in the rich editor (#8862)
brennanb2025 Jul 15, 2026
fb5bc4f
fix(gitea): share and cache the /pulls scan so card refreshes can't h…
xianjianlf2 Jul 15, 2026
2de4604
fix(native-chat): deliver AskUserQuestion answer by option number, no…
brennanb2025 Jul 15, 2026
e7f785f
fix(ssh): AND lsof selectors so relay reset can't kill unrelated proc…
xianjianlf2 Jul 15, 2026
0690be5
fix(status-bar): sync usage meters with display mode (#8582)
mmarabel Jul 15, 2026
8a7cd84
fix(crash-reporting): coalesce repeated renderer error breadcrumbs (#…
brennanb2025 Jul 15, 2026
64be819
fix(runtime): harden watcher and PTY teardown ownership (#8661)
brennanb2025 Jul 15, 2026
6e2a4a8
fix(worktrees): stop surfacing prunable git worktrees as live workspa…
kaynansc Jul 15, 2026
a1778d9
Fix PR checks sticking to a stale linked PR after a terminal branch s…
brennanb2025 Jul 15, 2026
6a2b90a
release: v1.4.143-rc.0
github-actions[bot] Jul 15, 2026
5739e18
Reopen closed tabs with Cmd+Shift+T, including terminals (#7445)
brennanb2025 Jul 15, 2026
5b32902
Update Korean translations for diff word wrapping (#8867)
jiyongjung0 Jul 15, 2026
16fbd33
docs(readme): fix Korean translation issues (#8883)
haazz Jul 15, 2026
f7ef467
fix: pr-bug-scan validated finding from #6335 (#8804)
buf0-bot[bot] Jul 15, 2026
79551c3
feat(mobile): edit saved host endpoints (#8294)
bbingz Jul 15, 2026
d3fedb9
ci(computer-e2e): run native-smoke vitest with the shared config (#8909)
brennanb2025 Jul 15, 2026
24dc165
fix(sidebar): map header drags to the nearest boundary slot instead o…
bbingz Jul 16, 2026
84ca07d
Update README downloads badge
github-actions[bot] Jul 16, 2026
0da3d39
Reorganize heading slash commands and rename toggle heading labels (#…
AmethystLiang Jul 16, 2026
b0def3b
fix(ssh): keep Windows CLI when the launcher compiler is missing (#8918)
AmethystLiang Jul 16, 2026
78d2b95
fix(issues): replace cursor-based pagination with page-number Search …
fsdwen Jul 16, 2026
49e2ac6
fix(cmd-j): show cross-project dialog on paste + restore focus on Esc…
nwparker Jul 16, 2026
891a456
fix(sidebar): don't scroll to an unfocused worktree when pinning/unpi…
nwparker Jul 16, 2026
f1d2fe5
perf(git-status): duty-cycle, cancel, and cache status polling to cut…
AmethystLiang Jul 16, 2026
1ba71d2
fix(mobile): background-mount never-mounted terminals on subscribe so…
brennanb2025 Jul 16, 2026
69c14fa
fix(terminal): make viewport ownership transactional across output, r…
Jinwoo-H Jul 16, 2026
f62ad69
Click a link in orca browser should not open a new tab (#8782)
AmethystLiang Jul 16, 2026
5b5d37f
fix(pi): suppress subagent agent_end so nested sessions don't fire fa…
itisbryan Jul 16, 2026
9f8b254
fix(terminal): route Droid Shift+Enter to CSI-u in no-OSC shells (Git…
OrcaWin Jul 16, 2026
319ae4e
fix(terminal): make whole-tab close durable (#8958)
Jinwoo-H Jul 16, 2026
877a74c
feat(linear): use Linear branch names for worktrees (#8617)
rodboev Jul 16, 2026
792160e
fix(packaging): stop tracking pr-evidence screenshots and exclude fro…
AmethystLiang Jul 16, 2026
1830348
Persist AI Vault view options (sort, group, hidden agents, hide-empty…
AmethystLiang Jul 16, 2026
4c810b7
feat(jira): support self-hosted Jira Server/DC with PAT + username/pa…
nwparker Jul 16, 2026
e84bd66
Update wechat QR codes and add spacing between them in README
AmethystLiang Jul 16, 2026
8c1d13d
cleaning up
AmethystLiang Jul 16, 2026
3874734
Update README WeChat section: single group, new QR image
AmethystLiang Jul 16, 2026
cf02cc4
Add missing WeChat QR image referenced by README
AmethystLiang Jul 16, 2026
377082e
fix(ai-vault): discover Antigravity CLI sessions (#8971)
Jinwoo-H Jul 16, 2026
7e743c4
fix(ssh): reconnect persisted PTYs after shutdown races (#8403)
timsuchanek Jul 16, 2026
ef23b67
Update README downloads badge
github-actions[bot] Jul 16, 2026
92fc79e
release: v1.4.144-rc.0
github-actions[bot] Jul 16, 2026
6be4e29
fix(remote): isolate shared control request timeouts (#9016)
Jinwoo-H Jul 16, 2026
b892565
fix(terminal): release reattach fit on an unchanged stable grid (#9056)
Jinwoo-H Jul 16, 2026
1536171
Add a native macOS menu bar status item with activity indicator (#9042)
AmethystLiang Jul 16, 2026
e8a1674
fix(terminal): keep divider resize active after capture loss (#9063)
Jinwoo-H Jul 16, 2026
9716dbd
release: v1.4.144-rc.1
github-actions[bot] Jul 16, 2026
64181fd
feat(native-chat): native chat view across mobile, desktop, and web (…
gsxdsm Jul 16, 2026
4e232a0
fix(usage): show CLI-owned session recovery steps (#9069)
Jinwoo-H Jul 16, 2026
fc6570d
fix(pi): report completion on agent_settled so intermediate agent_end…
syabro Jul 16, 2026
f102972
fix(emulator): ignore external serve-sim helpers (#9071)
Jinwoo-H Jul 16, 2026
68fca0b
Add safe skill freshness detection and update rail (#8637)
brennanb2025 Jul 16, 2026
09173d0
fix(terminal): restore clickable links after returning to a worktree …
brennanb2025 Jul 16, 2026
0702e3d
Fix paired-host manual project header ordering (#8919)
brennanb2025 Jul 16, 2026
de9e9f8
release: v1.4.144-rc.2
github-actions[bot] Jul 16, 2026
dd0f4c3
fix(pi): stop OMP tab icon flashing to Pi while working (#9077)
brennanb2025 Jul 16, 2026
8461df2
Fix Ctrl+Alt terminal input on Windows by repairing xterm's AltGr mis…
bbingz Jul 16, 2026
88068f5
Preserve native OpenCode session titles (#9080)
Jinwoo-H Jul 16, 2026
5b75a87
feat(native-chat): add per-model session option pickers with verified…
AmethystLiang Jul 17, 2026
3a74721
fix(skills): hide split icon and stop update-terminal respawn on refo…
brennanb2025 Jul 17, 2026
ea3ca54
fix(keybindings): resolve Cmd+Shift+E collision on macOS (#8533) (#9007)
nwparker Jul 17, 2026
6b17756
fix(keybindings): free Mod+0 for zoom reset (#8584) (#9003)
nwparker Jul 17, 2026
a279ece
fix(status-bar): show remaining rate-limit time on chip (#8378) (#9004)
nwparker Jul 17, 2026
655f846
fix(runtime): fail files.open when target path is missing (#9006)
nwparker Jul 17, 2026
1cdc8e8
fix(serve): prefer explicit --port over stale WS fallback (#8535) (#9…
nwparker Jul 17, 2026
2a1aa1d
Update README downloads badge
github-actions[bot] Jul 17, 2026
f8b9c29
fix(watcher): host macOS git-common narrow watch in the watcher child…
brennanb2025 Jul 17, 2026
f10c405
fix(win): set UTF-8 console code page for Git Bash terminals (#9054)
OrcaWin Jul 17, 2026
cdc7a5c
Relay ssh image diff (#9112)
AmethystLiang Jul 17, 2026
a03a3dd
Render png on mobile (#9087)
AmethystLiang Jul 17, 2026
ce910e5
fix(naming): keep the built-in branch-name prompt general (#9088)
brennanb2025 Jul 17, 2026
9003973
fix(settings): show "Up to date" for current skills in settings sideb…
brennanb2025 Jul 17, 2026
f6f2561
ci(release): regenerate skill manifest on version bump (#9117)
brennanb2025 Jul 17, 2026
91ece6c
fix(terminal): tear down runtime-owned headless PTYs on whole-tab clo…
brennanb2025 Jul 17, 2026
3b227d0
release: v1.4.144-rc.4
github-actions[bot] Jul 17, 2026
6e91ca6
fix(browser): local HTTPS Try HTTPS + cert proceed (#8454) (#9104)
nwparker Jul 17, 2026
d363c83
fix(worktrees): force-remove clean worktree with initialised submodul…
nwparker Jul 17, 2026
53af611
fix(settings): keep Shortcuts rows visible on pane-title-only search …
nwparker Jul 17, 2026
a7c40cd
fix(terminal): stop gluing the next line onto a modifier-clicked URL …
nwparker Jul 17, 2026
539e060
fix(github): render GitHub Enterprise PR avatars via API avatar_url (…
nwparker Jul 17, 2026
e01f3f4
fix(sidebar): preserve Project Group members under Hide sleeping (#9101)
nwparker Jul 17, 2026
5ee90c8
fix(agents): recognize OpenCode native OC | tab titles (#9102)
nwparker Jul 17, 2026
cc1ad06
fix(skills): decouple bundled skill artifacts from the release train …
brennanb2025 Jul 17, 2026
1b331f2
feat(editor): bindable keyboard shortcut to add a markdown review not…
ghee-yeh Jul 17, 2026
1284a00
fix(native-chat): don't force a default model/effort on agent spawn (…
brennanb2025 Jul 17, 2026
fa85536
fix(ssh): repair unbuilt relay native deps (#8686)
geelen Jul 17, 2026
8ec050a
fix(i18n): 修复 zh.json 分页翻译错误和 9 处未翻译文案 (#8990)
fsdwen Jul 17, 2026
13c690b
fix(pet): match Codex's per-frame pacing and pointer interactions for…
nasagong Jul 17, 2026
0cd50ee
fix(pet): key sprite keyframes on the resolved track; cap render dura…
nwparker Jul 17, 2026
23368ee
fix(shortcuts): preserve native input-source switching (#9108)
nwparker Jul 17, 2026
d0b090b
fix(main): cancel unread fetch response bodies so a peer socket close…
Jinwoo-H Jul 17, 2026
c5d2275
Add preference to show pinned worktrees in original lists (#6216)
brennanb2025 Jul 17, 2026
44686f3
feat(native-chat): add mobile default-view toggle for native chat (#9…
brennanb2025 Jul 17, 2026
1c54171
Update README downloads badge
github-actions[bot] Jul 17, 2026
b671068
fix(runtime): eliminate agent-send TOCTOU that rejects live agents du…
brennanb2025 Jul 17, 2026
2cb5d4e
fix(agent-status): clear answered Claude question waits at answer tim…
brennanb2025 Jul 17, 2026
5b6cefa
fix(orchestration): emit message timestamps as RFC3339 UTC (#9167)
brennanb2025 Jul 17, 2026
f544820
fix(ssh): require a coherent colocated Node/npm toolchain for the rel…
brennanb2025 Jul 17, 2026
e6933fe
fix(grok): honor zero-usage weekly reset (#9219)
brennanb2025 Jul 17, 2026
e70842f
fix(terminal): recover floating input after app refocus (#9233)
brennanb2025 Jul 17, 2026
ef03a50
fix(github): attribute GitHub API outages instead of blank/"failed" s…
brennanb2025 Jul 17, 2026
3fd73ee
fix(crash-reporting): disambiguate renderer recovery from app relaunc…
brennanb2025 Jul 17, 2026
b259300
perf(worktrees): bound runtime discovery scans (#8915)
rodboev Jul 17, 2026
e719ef1
fix(mobile): survive connection-migration cutovers during worktree cr…
brennanb2025 Jul 17, 2026
ba25e43
Replace assistant-prose heuristic with explicit turn lifecycle marker…
AmethystLiang Jul 17, 2026
14116e3
feat(settings): unify skill card status and add Linear agent-skill se…
brennanb2025 Jul 17, 2026
7c0b84f
fix(terminal): invalidate cached glyphs when WebGL atlas changes (#8899)
brennanb2025 Jul 17, 2026
613dcd8
fix(pr-comments): make the review sidebar legible for structured bot …
tmchow Jul 17, 2026
5907816
feat(keybindings): swap tab-switch chords to the common convention fo…
brennanb2025 Jul 17, 2026
72a5c6f
fix(terminal): paint paired remote terminals on first subscribe (#8954)
rodboev Jul 18, 2026
49e625d
fix(mobile): harden WebSocket accept path against socket overload (#9…
brennanb2025 Jul 18, 2026
546cc82
Improve native chat ui (#9246)
AmethystLiang Jul 18, 2026
803a442
test(e2e): harden terminal restart regressions on Windows (#9064)
slashdevcorpse Jul 18, 2026
2a22dd0
fix(i18n): translate untranslated Korean catalog strings (#9019)
hanjoonchoe Jul 18, 2026
1bd757a
fix(i18n): correct zh translation of "Pin Tab" to 固定标签 (#9157)
weibiansanjue Jul 18, 2026
7c7bf25
fix(i18n): correct Chinese UI terminology (#9154)
ousugo Jul 18, 2026
3f335ef
feat(agents): pi session resume support (#8876)
eisen0419 Jul 18, 2026
212b79a
release: v1.4.145-rc.3
github-actions[bot] Jul 18, 2026
2668af0
Update README downloads badge
github-actions[bot] Jul 18, 2026
24ac5a5
fix(updater): humanize update-error card and hide raw error behind Sh…
brennanb2025 Jul 18, 2026
cbdd750
fix(terminal): keep redraw transcript cursors stable (#9081)
Jinwoo-H Jul 18, 2026
2f5fc65
fix(terminal): don't report agent exit on a degraded foreground scan …
brennanb2025 Jul 18, 2026
360b242
Fix duplicate and lost IME terminal commits (#9235)
Jinwoo-H Jul 18, 2026
ed28dec
feat(new-workspace): always offer "Add a new project" in Create workt…
nwparker Jul 18, 2026
3a27fb5
fix(settings): stop shortcut filter rail overlapping the list below x…
nwparker Jul 18, 2026
ad20602
fix(terminal): replay cold restores at recovered grid (#9043)
slashdevcorpse Jul 18, 2026
64c7f14
fix(codex): clarify account-switch restart card actions (#9254)
brennanb2025 Jul 18, 2026
c436df0
feat(tray): mark dev-instance tray icons with a DEV indicator (#9253)
nwparker Jul 18, 2026
3e276d7
fix(ssh): probe npm via prepended PATH, not colocated with node (#916…
brennanb2025 Jul 18, 2026
d153295
fix(keybindings): AltGr-safe default for Add Review Note (#9257)
brennanb2025 Jul 18, 2026
bd72056
test(pty-connection): drain async confirm reads between tests (#9260)
brennanb2025 Jul 18, 2026
cb9c42d
fix(terminal): filter focus reports after Codex history resume (#9259)
OrcaWin Jul 18, 2026
ab0f220
fix(runtime): return authoritative visible TUI output
Jinwoo-H Jul 15, 2026
0532765
fix(pty): stop daemon reattach/kill race from orphaning restored term…
brennanb2025 Jul 18, 2026
0c73e3c
fix(i18n): use full-sentence keys in RemoveFolderDialog description (…
hanjoonchoe Jul 18, 2026
2783f75
perf(persistence): compact JSON for durable-state save payload (drop …
nwparker Jul 18, 2026
b8502b2
perf(terminal): bound recent-PTY-output with a chunk deque (drop per-…
nwparker Jul 18, 2026
45c4a1f
refs/heads/create-pr-should-handle-sync (#8534)
AmethystLiang Jul 18, 2026
72d0a40
fix(editor): use Monaco's registered proto language id for .proto fil…
nasagong Jul 18, 2026
057a814
fix(sidebar): guard every worktree sort against undefined displayName…
nwparker Jul 18, 2026
d8629c4
Update README downloads badge
github-actions[bot] Jul 18, 2026
bb71a3a
fix(terminal): bypass rejected macOS login sessions (#9301)
brennanb2025 Jul 18, 2026
54cb772
release: v1.4.146-rc.0
github-actions[bot] Jul 18, 2026
5cdf83b
docs: rotate WeChat QR to group 3
AmethystLiang Jul 18, 2026
4ae67e8
Merge branch 'docs/wechat-group-3-qr'
AmethystLiang Jul 18, 2026
b45a222
docs: remove terminal garble investigation notes
AmethystLiang Jul 18, 2026
403d681
fix(terminal): re-linkify streamed URLs so links underline/click on f…
nwparker Jul 18, 2026
4930c87
fix(github): load PR details on fork checkouts by preferring upstream…
nwparker Jul 18, 2026
4905b78
fix(status-bar): show live session reset countdown in collapsed usage…
nwparker Jul 18, 2026
927ca9e
perf(preflight): fs-based PATH resolution for agent detection (no whe…
nwparker Jul 18, 2026
6a573f3
fix(create-worktree): keep composer open when adding a project from t…
nwparker Jul 18, 2026
965a3f9
fix(terminal): keep setup split PTYs distinct
Jinwoo-H Jul 18, 2026
ae1c943
Update README downloads badge
github-actions[bot] Jul 19, 2026
02ff7c7
Preserve agent chats and drafts through reconnects (#9242)
brennanb2025 Jul 19, 2026
f7c2c12
Add review note chord guards (#9412)
AmethystLiang Jul 19, 2026
99b59ad
fix(floating-terminal): position panel at z-45 above notifications (#…
AmethystLiang Jul 19, 2026
8ed8f0d
feat(ssh): download folders from remote explorer (#7793)
mmarabel Jul 19, 2026
e074bc3
Gate certificate trust proceed action on runtime capability (#9070)
AmethystLiang Jul 19, 2026
e885cec
Allow hiding Orca Mobile sidebar button once a device is paired (#5785)
AmethystLiang Jul 19, 2026
8d5c674
fix(win): launch Store-installed PowerShell 7 in terminals (#9437)
OrcaWin Jul 19, 2026
5848550
fix(composer): show full worktree path on hover in Run on dropdown (#…
nwparker Jul 19, 2026
80e6322
Update README downloads badge
github-actions[bot] Jul 19, 2026
0b71f3b
test(e2e): prove the terminal daemon survives a main-process crash on…
OrcaWin Jul 19, 2026
b19dccd
Update README downloads badge
github-actions[bot] Jul 19, 2026
b4e85d9
feat(editor): add Toggle H5 to markdown editor (#9448)
AmethystLiang Jul 19, 2026
500f0c5
Prevent adding the same Claude account twice (#8912)
brennanb2025 Jul 19, 2026
37cd830
Confirm before merging a PR/MR from the sidebar strategy dropdown (#8…
brennanb2025 Jul 19, 2026
a833b5c
Clear a removed remote host's leftover repos and worktrees from the s…
brennanb2025 Jul 19, 2026
37039cd
fix(source-control): bound Create PR eligibility probe so it can't ha…
OrcaWin Jul 19, 2026
fbe7780
Fix diff editor flashing "Loading…" on every save (#9424)
brennanb2025 Jul 19, 2026
ca4003a
Keep Agent Session History from freezing the app on huge OpenCode dat…
brennanb2025 Jul 19, 2026
9d262c9
Bump mobile app.json to 0.0.32 (#9466)
brennanb2025 Jul 19, 2026
764cada
fix(terminal): confirm the agent from ConPTY console presence to avoi…
brennanb2025 Jul 19, 2026
624c8d4
Make plain-text file:// links clickable in the terminal (#9467)
brennanb2025 Jul 19, 2026
08f4461
Standardize per-repo Source Control AI save UX (#9427)
AmethystLiang Jul 19, 2026
3efc930
fix: preserve WSL CWD across daemon sleep wake
Jinwoo-H Jul 17, 2026
01ce6db
test: make WSL cwd fixture cross-platform
Jinwoo-H Jul 17, 2026
8281038
fix: refresh CWD after late WSL context
Jinwoo-H Jul 17, 2026
bbb5406
fix: preserve native PTY context on reattach
Jinwoo-H Jul 19, 2026
1ffe149
chore: keep provider types within lint limit
Jinwoo-H Jul 19, 2026
ca7b9fb
refactor: split PTY spawn result contract
Jinwoo-H Jul 19, 2026
d7dc7e9
test: expect native context from local PTY
Jinwoo-H Jul 19, 2026
c5d4056
Clarify Orca Mobile pairing connection paths (#9425)
AmethystLiang Jul 19, 2026
d67ede1
Implement confirm-only PR panel composer with classified error blocki…
AmethystLiang Jul 19, 2026
098db33
Keep lineage children with their parent when dragging to another stat…
brennanb2025 Jul 19, 2026
85ab729
Persist the AI Vault session parse cache across restarts (#9474)
brennanb2025 Jul 19, 2026
245d79c
Preserve surviving workspace state when removing a runtime host (#9468)
brennanb2025 Jul 19, 2026
b320bcb
fix(gitlab): bound and coalesce auth probes (#9476)
OrcaWin Jul 19, 2026
daf22f0
Make Create PR handle sync by fast-forwarding behind-only branches (#…
AmethystLiang Jul 20, 2026
a6df23c
Tighten orchestration worktree isolation policy (#9482)
AmethystLiang Jul 20, 2026
1def694
Add native chat skill picker with host-aware discovery (#9480)
AmethystLiang Jul 20, 2026
e3721e8
fix(pi): detect ask_user_question and surface as blocked state (#9457)
hu9osaez Jul 20, 2026
808299c
fix(cli): avoid Windows PATH status timeout (#9483)
Jinwoo-H Jul 20, 2026
3a847bf
fix(ssh): clear stamped agent status on disconnect (#9484)
Jinwoo-H Jul 20, 2026
7adda25
fix(daemon): retire empty current-generation daemons (#9277)
Jinwoo-H Jul 20, 2026
d628c93
fix(terminal): harden revealed inline-TUI convergence (#9503)
OrcaWin Jul 20, 2026
c0f0810
Fix native Windows PTY startup query handling (#9500)
Jinwoo-H Jul 20, 2026
7df56ad
fix(ui): restore spaces around orca.yaml in trust dialog (#9511)
nwparker Jul 20, 2026
0d97653
fix(ui): restore missing spaces in i18n JSX fragment copy (#9513)
nwparker Jul 20, 2026
74e2cb7
perf(window): re-enable macOS main-window background throttling (#9395)
nwparker Jul 20, 2026
e90dc38
fix(dev): stabilize macOS safeStorage Keychain key name across dev br…
nwparker Jul 20, 2026
a02389c
Update code comments section in AGENTS.md
nwparker Jul 20, 2026
64dae13
fix(sidebar): stop agent 'working' spinner freezing as a broken ring …
OrcaWin Jul 20, 2026
4d25de3
perf(renderer): stop agent spinners from keeping the frame pipeline a…
nwparker Jul 20, 2026
49149a0
fix(agent-status): stamp renderer SSH ownership (#9505)
OrcaWin Jul 20, 2026
5fcf777
feat(mobile): Quick Commands (terminal + agent-prompt presets) (#9298)
brennanb2025 Jul 20, 2026
936ec06
fix(search): bind content results to runtime owner (#9262)
xianjianlf2 Jul 20, 2026
b3b5031
test(e2e): deliver node burst via temp file so PowerShell quoting can…
OrcaWin Jul 20, 2026
2e67af8
fix(worktree): bound teardown RPCs so Windows workspace deletion can'…
OrcaWin Jul 20, 2026
904762f
Update README downloads badge
github-actions[bot] Jul 20, 2026
4d49b93
fix(wsl): forward ORCA_ROOT_PATH/ORCA_WORKTREE_PATH setup vars across…
OrcaWin Jul 20, 2026
f25fb9f
fix(i18n): 操作按钮/指令的翻译"开放"改为"打开" (#9533) (#9534)
fsdwen Jul 20, 2026
ddb5b93
fix(rate-limits): surface Fable weekly usage when is_active is false …
OrcaWin Jul 20, 2026
257b0b4
fix(new-workspace): ignore IME composition Enter in workspace name fi…
shinju4n Jul 20, 2026
a699434
Direct Windows users to v1.4.147-rc.3 for bug fixes
AmethystLiang Jul 20, 2026
207db02
docs(readme): shorten Windows RC notice under Download Orca
AmethystLiang Jul 20, 2026
7386ef2
perf(renderer): stop full durable-state save on every top-level view …
OrcaWin Jul 20, 2026
24cfb97
fix(readme): stop star/license badges showing 429 from badgen
nwparker Jul 20, 2026
c240271
docs(readme): add French translation and reorder language links
AmethystLiang Jul 20, 2026
f98eaeb
release: v1.4.147-rc.4
github-actions[bot] Jul 20, 2026
53aeeb7
docs(readme): point Windows users to v1.4.147-rc.4
AmethystLiang Jul 20, 2026
98b00d3
refactor(comments): slim verbose comments in main core (runtime/ipc/d…
nwparker Jul 20, 2026
190de82
refactor(comments): slim verbose comments in main integrations (git/p…
nwparker Jul 20, 2026
0f72508
refactor(comments): slim verbose comments in renderer state (store/ho…
nwparker Jul 20, 2026
c6f0ac4
refactor(comments): slim verbose comments in mobile (#9547)
nwparker Jul 20, 2026
0989128
refactor(comments): slim verbose comments in shared/cli/relay/preload…
nwparker Jul 20, 2026
633cad3
refactor(comments): slim verbose comments in renderer components (#9546)
nwparker Jul 20, 2026
d9d939a
Update README downloads badge
github-actions[bot] Jul 20, 2026
ccd72f5
Add unified mobile onboarding for session view and notifications (#9478)
brennanb2025 Jul 20, 2026
99df415
docs(readme): drop Windows RC download notice
AmethystLiang Jul 20, 2026
aca7d50
Stop attaching stale closed PRs/MRs to default-branch checkouts (#9469)
brennanb2025 Jul 20, 2026
4f81dfc
perf(ssh): cut warm high-latency connects from 88.7s to 7.7s (#9015)
nasagong Jul 20, 2026
1d2ba1e
fix: never surface coding-agent scratch worktrees in the sidebar (#9535)
brennanb2025 Jul 20, 2026
f8b430f
feat(skills): ship orca-cli as a first-generation hybrid stub (#9238)
brennanb2025 Jul 20, 2026
e58de71
feat(codex): real-home routing + self-contained multi-account homes (…
brennanb2025 Jul 20, 2026
51aab1c
fix(terminal): harden macOS login-preflight spawn path (#9301 follow-…
brennanb2025 Jul 20, 2026
658532a
Stop the mobile app from running hot during terminal streaming (#9489)
brennanb2025 Jul 20, 2026
e109e78
fix(source-control): keep huge change sets responsive (#9477)
OrcaWin Jul 20, 2026
e218dfb
fix:Keep Jira linked work items attached when the composer project ch…
hoonsbory Jul 20, 2026
d19cb8b
feat(codex): remove "Not now" from account-switch notice (#9613)
brennanb2025 Jul 20, 2026
5829344
perf(status-bar): guard usage-notice anchor against equal-geometry re…
brennanb2025 Jul 20, 2026
03ca73c
merge upstream 58293445e (conflicts)
WrittenByAI Jul 20, 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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@
/config/scripts/verify-cli-bin.mjs text eol=lf
/config/scripts/verify-release-required-assets.mjs text eol=lf
/skill-guides/*.md text eol=lf
/skill-stubs/*.md text eol=lf
/skills/*/SKILL.md text eol=lf
/src/cli/bundled-skill-guides.ts text eol=lf
6 changes: 5 additions & 1 deletion .github/workflows/computer-e2e.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,12 @@ jobs:
npm install -g node-gyp@11.5.0
echo "npm_config_node_gyp=$(npm root -g)/node-gyp/bin/node-gyp.js" >> "$GITHUB_ENV"
- run: pnpm install --frozen-lockfile
# Why: without --config, bare vitest ignores config/vitest.config.ts (there
# is no root config) and falls back to the 5s default timeout with no
# Windows worker cap, so the real csc.exe launcher-compile tests time out
# on hosted Windows. Use the shared config so this job matches pnpm test.
- run: >-
pnpm vitest run
pnpm vitest run --config config/vitest.config.ts
config/scripts/build-windows-cli-launcher.test.mjs
src/main/ssh/ssh-remote-cli-launcher.test.ts
config/scripts/computer-e2e-workflow.test.mjs
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ jobs:
steps:
- 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
persist-credentials: false

- name: Install native build tools
run: sudo apt-get update && sudo apt-get install -y build-essential python3 zlib1g-dev zsh
Expand Down Expand Up @@ -82,6 +87,9 @@ jobs:
- name: Verify bundled skill guides
run: pnpm run verify:bundled-skill-guides

- name: Verify skill freshness manifest
run: pnpm run verify:skill-bundle-manifest

# Why: project-owned type declarations must live in .ts so tsc
# actually checks them. TypeScript's skipLibCheck: true (inherited
# from @electron-toolkit/tsconfig) silently widens unresolved names
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/skill-update-roundtrip.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Skill update round trip

on:
pull_request:
paths:
- 'skills/**'
- 'resources/skills/**'
- 'config/scripts/verify-skill-update-roundtrip.mjs'
- 'src/main/skills/skill-freshness-eligibility.ts'
- 'src/shared/skill-freshness.ts'
- '.github/workflows/skill-update-roundtrip.yml'
merge_group:
push:
branches:
- main

jobs:
roundtrip:
strategy:
fail-fast: false
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
shape: [symlink, copy]
autocrlf: ['false', 'true']
skills-cli: ['1.5.17']
include:
- os: ubuntu-latest
shape: symlink
autocrlf: 'false'
skills-cli: latest
continue-on-error: ${{ matrix.skills-cli == 'latest' }}
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
persist-credentials: false
- uses: actions/setup-node@v6
with:
node-version-file: package.json
- name: Verify targeted update convergence and copy behavior
env:
GITHUB_TOKEN: ${{ github.token }}
SKILL_UPDATE_SOURCE: ${{ github.event.pull_request.head.repo.full_name || github.repository }}
SKILL_UPDATE_REF: ${{ github.head_ref || github.ref_name }}
run: >-
node config/scripts/verify-skill-update-roundtrip.mjs
--cli=${{ matrix.skills-cli }}
--autocrlf=${{ matrix.autocrlf }}
--shape=${{ matrix.shape }}
195 changes: 195 additions & 0 deletions .github/workflows/win-crash-survival-e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
name: Windows Crash-Survival E2E

# Why: proves the detached daemon-host relocation makes terminal sessions SURVIVE
# a CRASH of Orca's main process (GitHub #7742), the companion guarantee to the
# update-survival harness. Builds an (unsigned) installer FROM THIS BRANCH,
# silent-installs it, opens a terminal, force-kills ONLY the app main (no
# tree-kill), and asserts the daemon + shell stay alive, a relaunch adopts the
# same daemon and shell, and post-crash input causes no pwsh FailFast. Targeted
# pull requests keep it as a durable regression gate. A CI runner is the only
# safe place to install — see the relocation post-mortem.

on:
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
paths:
- '.github/workflows/win-crash-survival-e2e.yml'
- 'package.json'
- 'pnpm-lock.yaml'
- 'pnpm-workspace.yaml'
- 'electron.vite.config.ts'
- 'build-plugins/**'
- 'config/electron-builder.config.cjs'
- 'config/patches/**'
- 'config/scripts/ensure-native-runtime.mjs'
- 'config/scripts/rebuild-native-deps.mjs'
- 'native/**'
- 'resources/win32/**'
- 'src/main/daemon/**'
- 'src/main/index.ts'
- 'src/main/ipc/pty*.ts'
- 'src/main/persistence.ts'
- 'src/main/providers/**'
- 'src/main/pty/**'
- 'src/main/startup/first-window-startup-services.ts'
- 'src/main/window/attach-main-window-services.ts'
- 'src/preload/**'
- 'src/renderer/src/App.tsx'
- 'src/renderer/src/components/terminal-pane/**'
- 'src/renderer/src/hooks/useIpcEvents.ts'
- 'src/renderer/src/lib/pane-manager/**'
- 'src/renderer/src/lib/session-write-subscriber.ts'
- 'src/renderer/src/lib/workspace-session-host-persistence.ts'
- 'src/renderer/src/store/slices/terminals.ts'
- 'src/shared/pty-session-id-format.ts'
- 'tools/win-crash-survival-e2e/**'
- 'tools/win-update-e2e/**'
# Why: source tests and benchmarks do not change the packaged artifact;
# their own verify jobs cover them without spending a Windows build slot.
- '!src/**/*.test.*'
- '!src/**/*.bench.*'
workflow_dispatch:
inputs:
expect:
description: Expected outcome profile
required: true
type: choice
default: survival
options:
- survival
- orphaned

permissions:
contents: read

concurrency:
group: win-crash-survival-e2e-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
crash-survival:
name: crash-survival (packaged build)
runs-on: windows-2022
timeout-minutes: 50
env:
EXPECT: ${{ inputs.expect || 'survival' }}

steps:
- name: Checkout
uses: actions/checkout@v6
with:
# This job only builds and runs the harness locally; it never pushes.
persist-credentials: false

# Why: setup-node can restore pnpm's content-addressed store only after
# the pnpm binary exists, avoiding repeat dependency downloads per run.
- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
run_install: false

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

- name: Install dependencies
run: pnpm install --frozen-lockfile

# Why: cache the built installer by production build inputs, excluding
# tests/reliability metadata so harness-only edits skip electron-builder.
# The daemon relocation lives under src/, so product changes still rebuild.
- name: Cache branch installer
id: cache-installer
uses: actions/cache@v4
with:
path: dist/orca-windows-setup.exe
key: >-
crash-survival-installer-${{ hashFiles(
'src/**',
'!src/**/*.test.*',
'!src/**/*.bench.*',
'config/**',
'!config/**/*.test.*',
'!config/reliability-gates.jsonc',
'!config/max-lines-baseline.txt',
'!config/vitest.config.ts',
'build-plugins/**',
'native/**',
'resources/**',
'electron.vite.config.ts',
'tsconfig.json',
'vite.web.config.ts',
'.npmrc',
'package.json',
'pnpm-lock.yaml',
'pnpm-workspace.yaml'
) }}

# Why: production edits miss the installer cache by design, but Electron
# and NSIS downloads are lockfile-owned and need not be fetched again.
- name: Cache electron-builder downloads
if: steps.cache-installer.outputs.cache-hit != 'true'
uses: actions/cache@v5
with:
path: |
~\AppData\Local\electron\Cache
~\AppData\Local\electron-builder\Cache
key: crash-survival-electron-builder-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
crash-survival-electron-builder-

- name: Build Windows installer (unsigned)
if: steps.cache-installer.outputs.cache-hit != 'true'
run: |
node config/scripts/ensure-native-runtime.mjs --runtime=electron
pnpm run build:desktop
pnpm exec electron-builder --config config/electron-builder.config.cjs --win --publish never

# Why: silent-install the branch build so the crash harness has a packaged
# Orca.exe to drive. A clean CI runner installs to the default per-user
# location (%LOCALAPPDATA%\Programs\Orca), which the harness auto-locates.
- name: Silent-install branch build
shell: pwsh
run: |
$exe = "dist/orca-windows-setup.exe"
if (-not (Test-Path $exe)) { throw "Installer not found at $exe" }
Start-Process -FilePath $exe -ArgumentList '/S' -Wait
$installed = Join-Path $env:LOCALAPPDATA 'Programs/Orca/Orca.exe'
if (-not (Test-Path $installed)) {
$installed = Join-Path $env:LOCALAPPDATA 'Programs/orca/Orca.exe'
}
if (-not (Test-Path $installed)) { throw "Installed Orca.exe not found after silent install" }
"ORCA_EXE=$installed" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8

# Why: crash ONLY the app main and assert the relocated daemon + its shell
# survive, then that relaunch adopts them and input causes no pwsh FailFast.
- name: Run crash-survival harness
id: harness
shell: pwsh
env:
ORCA_E2E_DIAG_DIR: artifacts/diag
run: |
New-Item -ItemType Directory -Force artifacts | Out-Null
$log = "artifacts/crash-survival-output.log"
node tools/win-crash-survival-e2e/run.mjs `
--expect "$env:EXPECT" `
--exe-path "$env:ORCA_EXE" `
--soak-seconds 8 2>&1 | Tee-Object -FilePath $log
exit $LASTEXITCODE

- name: Upload crash-survival output
if: always()
uses: actions/upload-artifact@v7
with:
name: win-crash-survival-output
path: |
artifacts/crash-survival-output.log
artifacts/diag/**
retention-days: 7
if-no-files-found: warn
103 changes: 103 additions & 0 deletions .github/workflows/windows-terminal-restart-e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
name: Windows terminal restart E2E

on:
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
paths:
- '.github/workflows/windows-terminal-restart-e2e.yml'
- 'package.json'
- 'pnpm-lock.yaml'
- 'electron.vite.config.ts'
- 'config/patches/**'
- 'config/scripts/ensure-native-runtime.mjs'
- 'config/scripts/rebuild-native-deps.mjs'
- 'tests/playwright.config.ts'
- 'tests/e2e/global-setup.ts'
- 'tests/e2e/global-teardown.ts'
- 'tests/e2e/helpers/**'
- 'tests/e2e/restart-restore-terminal-input.spec.ts'
- 'tests/e2e/restored-terminal-input-readiness.unit.test.ts'
- 'tests/e2e/terminal-probe-input-sequence.ts'
- 'tests/e2e/terminal-probe-input-sequence.unit.test.ts'
- 'tests/e2e/terminal-restart-persistence.spec.ts'
- 'src/main/daemon/**'
- 'src/main/ipc/pty*.ts'
- 'src/main/providers/**'
- 'src/main/pty/**'
- 'src/preload/**'
- 'src/renderer/src/components/terminal-pane/**'
- 'src/renderer/src/lib/pane-manager/**'
- 'src/shared/pty-session-id-format.ts'
workflow_dispatch:
inputs:
ref:
description: Ref to check out
required: false
type: string

permissions:
contents: read

concurrency:
group: windows-terminal-restart-e2e-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
windows-terminal-restart:
name: Windows terminal restart regressions
runs-on: windows-2022
timeout-minutes: 30
env:
NODE_OPTIONS: --max-old-space-size=4096

steps:
- name: Checkout
uses: actions/checkout@v6
with:
ref: ${{ inputs.ref || github.ref }}
persist-credentials: false

# Why: pnpm must exist before setup-node resolves its dependency cache.
- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
run_install: false

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

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Build Electron app for Windows E2E
run: pnpm exec electron-vite build --mode e2e

- name: Run Windows terminal restart regressions
env:
SKIP_BUILD: '1'
ORCA_E2E_FORWARD_APP_LOGS: '1'
ORCA_REQUIRE_WINDOWS_TERMINAL_RESTART_E2E: '1'
# Why: pnpm forwards a literal `--` to Playwright, which makes the
# grep and worker flags positional filters instead of CLI options.
run: >-
pnpm run test:e2e
tests/e2e/restart-restore-terminal-input.spec.ts
tests/e2e/terminal-restart-persistence.spec.ts
--grep "clean restart with a live daemon session|cold-restored pane accepts typing|daemon snapshot relaunch preserves"
--workers=1

- name: Upload Playwright traces
if: failure()
uses: actions/upload-artifact@v7
with:
name: windows-terminal-restart-playwright-traces
path: test-results/
retention-days: 7
if-no-files-found: ignore
Loading
Loading