github stablyai/orca v1.4.246

one hour ago

What's Changed

  • fix(mobile): name task checkboxes from their current task text by @OrcaWin in #35081
  • Leave the Plugins shortcut to focused browser pages by @AmethystLiang in #36176
  • fix(windows): start the WSL holder outside Orca's jobs so a crash doesn't take it down by @nwparker in #36178
  • fix(pi): the thinking menu before the first message matches the chat's by @brennanb2025 in #34592
  • fix(mobile): preserve empty tasks through save and reload by @OrcaWin in #35085
  • fix(mobile): preserve blocks and images when formatting inline code by @OrcaWin in #35110
  • fix(mobile): align task checkboxes with their first text line by @OrcaWin in #35157
  • fix(mobile): retain editor styling when switching color schemes by @OrcaWin in #35171
  • test: remove low-value copy, layout, and equivalence checks by @OrcaWin in #36192
  • fix(explorer): open folder links that lead outside the project again by @nwparker in #36191
  • fix(source-control): resolve delete/modify conflicts and complete merges from the panel by @AmoabaKelvin in #35347
  • fix(mobile): restore alerts without native push by @AmoabaKelvin in #36125
  • Settings: choose Chat or CLI in each agent's row; remove Chat → Providers by @brennanb2025 in #36185
  • Warn macOS 12 users about upcoming support changes by @nwparker in #36182
  • Let sidebar card properties hide agent model badges by @brennanb2025 in #36026
  • fix(native-chat): agent message cards no longer reserve a row for the copy button by @brennanb2025 in #36189
  • Choose an agent setup from the new tab menu by @brennanb2025 in #34728
  • test: remove low-value wrapper, copy, and theme checks by @OrcaWin in #36202
  • feat(source-control): resolve merge conflicts and complete merges from the phone by @AmoabaKelvin in #36160
  • Revert "Warn macOS 12 users about upcoming support changes" by @nwparker in #36209
  • fix(browser): keep an agent on its own tab when the user picks or opens another by @AmoabaKelvin in #36108
  • Show a card in the coordinator's chat when it starts a worker by @brennanb2025 in #35263
  • Sanitize Git remote errors before credential redaction by @AmethystLiang in #36205
  • fix(agent-status): keep mobile chat attached to idle Claude panes after slash commands by @AmoabaKelvin in #36208
  • Warn before trusting non-official plugins; review access-growing updates one by one by @nwparker in #36218
  • perf(relay): pause drained settled-credential reaps for 5 minutes by @nwparker in #36144
  • feat(telemetry): stop reporting plugin uninstalls (install counts are cumulative) by @nwparker in #36214
  • Translate the new plugin list, filter and access strings in every language by @nwparker in #36215
  • Keep unrelated agent status updates from redrawing every native chat by @brennanb2025 in #34596
  • test(computer): measure independently verified tasks by @AmoabaKelvin in #36216
  • fix(plugins): keep trust dialogs, typed pairs and plugin names safe from data plugins by @nwparker in #36220
  • Restore OMP thinking choices for non-running models by @brennanb2025 in #36158
  • fix(cli): give the Windows user-PATH write 15 s and one retry by @nwparker in #36224
  • Keep zoomed PDF detail text sharp by @brennanb2025 in #36173
  • Clarify when to run handoff checks by @AmethystLiang in #36231
  • fix(runtime): delegated devices follow the device file, and quarantine keeps external adds by @nwparker in #36222
  • test: remove 28 low-value test suites by @OrcaWin in #36226
  • feat(mobile): match every text input to the chat composer and rebuild the terminal dock by @AmoabaKelvin in #36166
  • fix(chat): keep unconfirmed effort menus for agents other than Pi (fixes main OMP tests) by @nwparker in #36242
  • refactor(cli): keep the retrying PATH command private to the idempotent write by @nwparker in #36237
  • test(computer): verify task event payloads by @AmoabaKelvin in #36239
  • fix(computer): verify Linux window restoration by @AmoabaKelvin in #36234
  • fix(computer): preserve Unicode in Windows typing by @AmoabaKelvin in #36244
  • ci(windows): install Electron once before the Windows boundary tests by @nwparker in #36248
  • fix(browser): stop agent tabs in background worktrees reloading every ~10 s by @AmoabaKelvin in #36245
  • feat(wsl): let an idle WSL host's orcad exit after 5 minutes by @nwparker in #36243
  • fix(browser): save agent downloads to the requested --path and fail fast when none starts by @AmoabaKelvin in #36240
  • Keep async question controls available after agent notices by @brennanb2025 in #35758
  • fix(editor): scroll combined diffs with keyboard navigation by @brennanb2025 in #35004
  • fix(browser): fail with browser_stale_ref when a ref from another tab's snapshot is used after a tab switch by @AmoabaKelvin in #36251
  • fix(wsl-cli): removing the WSL command from a deleted distro forgets its registration by @nwparker in #36227
  • test(acp): await the escalation's first check and delivery instead of fixed event-loop turns by @nwparker in #36238
  • fix(wsl): name the stopped distro, in the user's language, when main holds a terminal start by @nwparker in #36228
  • test(e2e): retry a WSL terminate that never took, once, when Orca launched nothing by @nwparker in #36256
  • fix(wsl): user clicks on cwd-less gh may start the stopped default distro by @nwparker in #36230
  • fix(ui): notification cards lift above a chat composer they would cover by @nwparker in #36233
  • fix(cli): preserve runtime access across Linux PID namespaces by @brennanb2025 in #35769
  • test(windows): reap every process the isolated-spawner suite starts, including skipped paths by @nwparker in #36249
  • Keep existing Continue actions reliable after agent exit and failed starts by @brennanb2025 in #36074
  • docs(wsl): say what keeps a WSL distro up besides the holder by @nwparker in #36241
  • fix(wsl): re-read a distro's automount root after Orca wakes it, at most every 5 min by @nwparker in #36225
  • fix(agent-session): report an ACP or Pi CLI the supervisor could not spawn as missing by @nwparker in #36229
  • docs: prefer focused validation in agent instructions by @AmethystLiang in #36264
  • fix(e2e): return from every path of the WSL boot guard so main's e2e typecheck ratchet is green again by @AmoabaKelvin in #36261
  • fix(browser): agent fill, select, upload and type change the page or fail with a reason by @AmoabaKelvin in #36263
  • fix(browser): keep SSH workspace browser pages from reloading when you switch back by @AmoabaKelvin in #36266
  • plugins: open only the install-source repository link and render only host-served plugin images by @nwparker in #36270
  • docs(plugins): add plugin listing policy by @nwparker in #36275
  • fix(browser): snapshot refs work on server browsers that use an external Chromium by @AmoabaKelvin in #36276
  • fix(pi): use discovery for shared model menus and defaults by @brennanb2025 in #36194
  • fix(plugins): re-verify installed plugin content on every load by @nwparker in #36277
  • Keep cancelled async questions hidden and show new ones by @brennanb2025 in #35870
  • plugins: require an explicit approve fingerprint for RPC plugin grants by @nwparker in #36279
  • fix(browser): let agents and users answer page alert, confirm and prompt dialogs on their page by @AmoabaKelvin in #36268
  • plugins: derive the publisher from the repository owner, like a Go module path by @nwparker in #36281
  • refactor(jira): group saved-filter picker owners by @nwparker in #36203
  • cli: add orca plugin create, validate and inspect by @nwparker in #36280
  • docs(plugins): drop the donation-link and description-URL listing rule by @nwparker in #36291
  • Allow conflict-safe private storage from plugin panels by @AmethystLiang in #36273
  • Reorder same-ID worktrees independently by host by @AmethystLiang in #36269
  • perf(terminal): bound the in-process macOS process table's blocking calls and ps fallbacks (#31783) by @nwparker in #36282
  • cli: fix orca plugin validate for manifests without a publisher by @nwparker in #36296
  • plugins: show the community catalog by default by @nwparker in #36294
  • cli: add orca plugin dev load/unload/reload, list, logs, enable and disable by @nwparker in #36288
  • Keep worktree branches unless CLI deletion is requested by @brennanb2025 in #35948
  • fix(git): read diff blobs without revision path fallback by @OrcaWin in #34778
  • fix(browser): find a hidden tab on the first agent command after a window reload by @AmoabaKelvin in #36307
  • fix(git): resolve current branches without tag ambiguity by @OrcaWin in #35040
  • Revert "Allow conflict-safe private storage from plugin panels" by @AmethystLiang in #36316
  • fix(git): preserve commas in legacy history decorations by @OrcaWin in #35658
  • chore(deps): update Electron to 43.8.4 by @nwparker in #36323
  • fix(git): omit commit subjects from branch-cleanup cherry check by @OrcaWin in #35390
  • fix(mobile): fully unstage renamed files by @OrcaWin in #34955
  • fix(git): stop stale conflict batches after hide or cleanup by @OrcaWin in #35682
  • fix(git): preserve exact local branch names in pickers by @OrcaWin in #34997
  • fix(git): parse submodule paths that contain spaces by @OrcaWin in #35012
  • perf(git): batch username config reads per resolution by @OrcaWin in #34765
  • fix(git): read literal submodule gitlink paths by @OrcaWin in #35283
  • fix(source-control): hide discard for present submodule gitlinks by @OrcaWin in #34991
  • fix(editor): bound inactive combined diff body retention by @OrcaWin in #34768
  • fix(git): fence WSL login-shell stdout for all buffered git reads by @OrcaWin in #35053
  • fix(git): preserve rename sources in staged diff reviews by @OrcaWin in #34779
  • fix(editor): retain combined diff drafts beyond view history limit by @OrcaWin in #34791
  • test: remove 40 low-value test suites by @OrcaWin in #36336
  • fix(git): recognize local SHA-256 workspace bases by @OrcaWin in #35010
  • perf(git): request only cherry-marks from the upstream patch-equivalence probe by @OrcaWin in #35350
  • fix(browser): return every step of an exec batch instead of "Unknown browser error" by @AmoabaKelvin in #36246
  • fix(git): preserve foreign ref locks during maintenance by @OrcaWin in #35042
  • feat(browser): agent browser actions report what they changed: navigation, tabs, dialogs, downloads, console errors and page lines by @AmoabaKelvin in #36278
  • feat(browser): typed snapshot flags, screenshots saved as files, and a guide that keeps browser work in Orca by @AmoabaKelvin in #36257
  • fix(computer): initialize Windows control proxies by @AmoabaKelvin in #36383
  • feat(browser): let agents drive sign-in and payment popups as pages by @AmoabaKelvin in #36253
  • fix(computer): retain wrappers during Linux focus search by @AmoabaKelvin in #36388
  • test: remove 39 low-value test suites by @OrcaWin in #36389
  • feat(browser): upload through file-picker buttons in any frame, including cross-origin iframes by @AmoabaKelvin in #36390
  • test: remove 45 low-value suites (audit 843) by @OrcaWin in #36396
  • feat(mobile): iPhone Duo key rail with D-pad, split terminal panes and half-fold layout by @AmoabaKelvin in #35177
  • fix(computer): preserve synthetic Unicode typing on Linux by @AmoabaKelvin in #36382
  • chore(mobile): bump to 0.0.61 and Android versionCode 25 by @AmoabaKelvin in #36402
  • fix(browser): orca download saves new-tab and popup-page downloads to --path by @AmoabaKelvin in #36397
  • fix(browser): list browser tabs restored after a restart in tab list and load them on switch by @AmoabaKelvin in #35563
  • test: remove 46 low-value test suites by @OrcaWin in #36403
  • Keep unrelated fork PRs off workspace branches by @brennanb2025 in #36299
  • fix(native-chat): right-click Copy no longer offers a selection the click missed by @AmoabaKelvin in #36405
  • fix(sidebar): don't scroll to the last child when revealing a parent with expanded children by @GoyoBjS in #35917
  • Refresh phone tab streams when capabilities change by @brennanb2025 in #36321
  • Show effective agent shortcuts in the new tab menu by @brennanb2025 in #36318
  • Search connected Linear workspaces from Create-worktree by @brennanb2025 in #36314
  • Highlight the active committed file in Source Control by @brennanb2025 in #36301
  • feat(cli): open a browser tab in a split pane with tab create --split by @AmoabaKelvin in #35665
  • fix(plugins): clarify selected themes and confirm other-mode picks by @vale-c in #35926
  • Keep pending questions through agent notices and undelivered replies by @brennanb2025 in #36306
  • Let automations run in Chat by @brennanb2025 in #34332
  • Keep Copilot helper IDs out of terminal recovery by @brennanb2025 in #36324
  • Reduce whole-app hitches when many chats are running by @brennanb2025 in #35624
  • Orchestration v3: coordinators end their turn and Orca wakes them by @Jinwoo-H in #36137
  • Keep unsent hand-off messages after restarting Orca by @brennanb2025 in #34933
  • Keep Hermes and Antigravity helper IDs out of terminal recovery by @brennanb2025 in #36349
  • Fix macOS daemon PTY kqueue descriptor leak by @brennanb2025 in #16870
  • fix(native-chat): keep model picker choices stable during discovery by @brennanb2025 in #36113
  • fix(github): honor the saved project account for PR requests by @brennanb2025 in #35023
  • test: remove 46 low-value suites (audit 845) by @OrcaWin in #36407
  • Keep refreshed Linear Tasks rows current by @brennanb2025 in #34591
  • refactor(source-control): move the changed-file tree builder to src/shared by @AmoabaKelvin in #36433
  • Keep tab right-click menus open through the opening release by @brennanb2025 in #36308
  • fix(cli): choose OpenCode 2 for managed account login by @brennanb2025 in #36292
  • fix(plugins): show icon-theme SVGs that omit xmlns (Minimal Icons showed nothing) by @nwparker in #36436
  • test: remove 25 low-value suites (audit 846) by @OrcaWin in #36434
  • feat(mobile): tap the session title to see its full name, path and host by @brennanb2025 in #30389
  • fix(agent-status): settle killed Claude background helpers by @brennanb2025 in #35930
  • fix(updater): keep status current after reopening the window by @brennanb2025 in #34104
  • test: remove 29 low-value suites (audit 847) by @OrcaWin in #36446
  • refactor(jira): colocate row interaction tests by @nwparker in #36362
  • fix(browser): stop a two-way paired desktop sending your browser tab back as its own by @AmoabaKelvin in #36447
  • fix(editor): reopen Markdown Find on Cmd/Ctrl+F right after closing it by @AmoabaKelvin in #36456
  • fix(native-chat): stop a cancelled image leaving an extra space in a hidden chat's message by @AmoabaKelvin in #36448
  • Let a coordinator give follow-up work to a finished chat worker by @Jinwoo-H in #36445
  • fix(source-control): say "lookup failed" instead of "not ready" on a disabled Create PR/MR by @AmoabaKelvin in #36458
  • feat(mobile): unify corner radii across the app by @AmoabaKelvin in #36437
  • test: remove 17 low-value suites from audit batch 848 by @OrcaWin in #36461
  • fix(persistence): keep profile backup temp names within eCryptfs's 143-byte limit by @bbingz in #33984
  • fix(sidebar): stop clipping the child workspaces chip in classic cards by @nwparker in #36460
  • plugins: show a catalog entry's own publisher, not the catalog owner by @nwparker in #36466
  • fix(plugins): let an enabled plugin syntax beat Orca's guessed language by @nwparker in #36468
  • test(windows): give the credential fixture's cold Python start 30s by @OrcaWin in #36465
  • plugins: tell once when an automatic update waits for your review by @nwparker in #36462
  • fix(mobile): lead workspace-list agent rows with the conversation name by @AmoabaKelvin in #36464
  • fix(terminal): stop terminal text turning bold after a restart (STA-4042) by @nwparker in #36463
  • A dropped screenshot is written once, straight into the chat's attachment store by @brennanb2025 in #31779
  • fix(plugins): stop painting a disabled plugin's terminal theme by @nwparker in #36471
  • Choose default models and effort for agents by @brennanb2025 in #36210
  • test(plugins): follow per-plugin review for access-growing updates in update e2e by @nwparker in #36473
  • fix(native-chat): stop a finished turn announcing "responding" to screen readers by @AmoabaKelvin in #36474
  • ci(e2e): route plugin system sources to the plugin e2e specs by @nwparker in #36477
  • fix(status-bar): toggle Plugins settings closed on a second click by @nwparker in #36479
  • fix(terminal): link a URL wrapped inside a table cell on every row by @AmoabaKelvin in #36482
  • docs(orchestration): explain recovery after repeated worker startup failures by @brennanb2025 in #36335
  • Show each chat’s account in Session History details by @brennanb2025 in #35392
  • fix(ai-vault): clear the Session History search when you switch workspace by @AmoabaKelvin in #36472
  • Fail readiness promptly when the terminal exits by @brennanb2025 in #36457
  • plugins: add Try it samples for the new official syntax plugins by @nwparker in #36486
  • fix(agents): bundle the CodeBuddy icon instead of the Google favicon fallback by @qiuziz in #36265
  • fix(rate-limits): show Cursor usage for team-limited accounts by @david-arcade-dev in #36394
  • fix(azure-devops): negotiate API version down for older Azure DevOps Server by @vherrera1991 in #36424
  • fix(i18n): translate recent desktop and mobile copy by @AmethystLiang in #36489
  • fix(settings): keep the agent environment editor reachable when empty by @ggbdpq in #36034
  • fix(readme-links): check mixed-case src/href/srcset attributes in README link check by @blueDaydreaming725 in #36213
  • fix(windows): skip the ConPTY input-reader check on WinPTY panes by @nwparker in #36490
  • Explain Git Bash console exhaustion when terminal startup fails by @brennanb2025 in #36422
  • Reserve the Git Bash capacity overlay for untouched Windows startup failures by @brennanb2025 in #16991
  • fix(worktrees): rewrite a trailing .lock in derived branch names by @bercedev in #36435
  • Keep concurrent title edits when marking GitLab MRs ready by @brennanb2025 in #19646
  • fix(wsl): keep the server's idle window out of user shells; require the agent for discovered effort menus by @nwparker in #36492
  • fix(text-generation): discover nvm/version-manager CLIs for chat naming and one-shot generators by @gentslava in #35954
  • fix(editor): apply file icon themes to editor tabs by @Pr1p in #36345
  • fix(agents): accept launch-time --model and --effort for grok by @nwparker in #36480
  • A chat rename also renames the agent's own conversation by @brennanb2025 in #34192
  • feat(wsl): prefetch the pinned Node archive when WSL hosts turn on by @nwparker in #36500
  • fix(agent-status): stop showing Claude as Working after a hook blocks the prompt by @AmoabaKelvin in #36495
  • fix(terminal): hold a phone send until a new Claude tab's composer is up by @AmoabaKelvin in #36494
  • fix(web): show every session when History is set to Unlimited by @AmoabaKelvin in #36507
  • test: remove 39 low-value suites from audit batch 849 by @OrcaWin in #36491
  • Chat UI leaves Experimental: each agent's Chat or CLI choice decides what opens by @brennanb2025 in #36110
  • fix(mobile): keep Markdown editor selection visible deep in long files by @AmoabaKelvin in #36505
  • Add Chat UI upgrade tip and Chat/Terminal default tiles by @brennanb2025 in #36171
  • Show a details card when tapping phone session tabs by @brennanb2025 in #36395
  • fix(wsl): re-check WSL hosts before the delayed Node prefetch runs by @nwparker in #36514
  • test: remove 31 low-value suites from audit batch 850 by @OrcaWin in #36512
  • fix(mobile): draw Claude Code's ⏵⏵ mode marker in the Android terminal by @AmoabaKelvin in #36516
  • fix(codex): keep a hook-blocked prompt's Worked for line after reopen by @AmoabaKelvin in #36515
  • Keep declared default effort visible for every chat agent by @brennanb2025 in #36455
  • fix(browser): let Grab and Annotate pick elements in modal dialogs and popovers by @AmoabaKelvin in #36518
  • feat(plugins): link plugin pages to the README at the pinned release by @nwparker in #36527
  • fix(browser): present Electron's own user agent on Google sign-in pages by @AmoabaKelvin in #36519
  • fix(plugins): accept plain repo, release and tag page URLs in Git install by @nwparker in #36525
  • chore(scripts): reclaim historical test caches from idle worktrees without --tests-stopped by @nwparker in #36532
  • fix(native-chat): keep chat image thumbnails square while scrolled away or loading by @AmoabaKelvin in #36488
  • fix(process-host): never kill an isolated child whose exit it cannot watch by @nwparker in #36521
  • test: remove 30 low-value test suites by @OrcaWin in #36528
  • fix(plugins): protect every security and destructive string from language packs by @nwparker in #36219
  • perf(notifications): scope card layout vars to their readers instead of :root by @nwparker in #36531
  • feat(mobile): compact top bar, bottom search and filter chips by @AmoabaKelvin in #36535
  • feat(mobile): rebuild Home around what needs you, with actions pinned at the bottom by @AmoabaKelvin in #36520
  • feat(plugins): show public install counts in the plugin catalog by @nwparker in #36537
  • feat: add Slatewave terminal theme by @kevinlangleyjr in #9059
  • Print concise orchestration CLI output for agents, with --full for the full record by @Jinwoo-H in #36498
  • test: remove 17 low-value mock and forwarding suites by @OrcaWin in #36549
  • test(wsl): track reopening Orca after orcad's idle exit in the lane receipt by @nwparker in #36523
  • Support automations in Orca Mobile by @brennanb2025 in #31617
  • fix(updater): skip apt's _apt sandbox notice in the Linux .deb install command by @SandeepSAulakh in #35643
  • fix(dashboard): open OSC 8 hyperlinks on Mod+click in Agent Dashboard terminal previews by @alpenshtokk in #36483
  • fix(cloud): patch relay, push and connector images to Node 24.22.2 and current Alpine fixes by @nwparker in #36560
  • Stop attributing recovered ACP replies to outside activity by @brennanb2025 in #36302
  • Let phone users choose the next message’s model during a structured reply by @brennanb2025 in #36451
  • fix(relay): cap HTTP request bodies before they are buffered, including chunked ones by @nwparker in #36562
  • test: remove 16 low-value forwarding and identity suites by @OrcaWin in #36566
  • test(windows): close the Chat UI tip before creating a workspace by @brennanb2025 in #36547
  • Stabilize the Git watcher upgrade fanout test by @brennanb2025 in #36517
  • Keep settled permission notices compact on desktop and phone by @brennanb2025 in #36304
  • perf(worktree): check out new worktrees with all cores by @AmoabaKelvin in #36559
  • feat(mobile): redesign sheets, pickers and list screens by @AmoabaKelvin in #36585
  • test: remove 13 low-value forwarding and presentation suites by @OrcaWin in #36584
  • fix(tasks): remove IPC wrappers from GitLab list errors by @brennanb2025 in #36506
  • feat(worktree): open the native chat while its worktree is still being created by @AmoabaKelvin in #36556
  • test: remove 14 low-value mocked forwarding suites by @OrcaWin in #36592
  • test(terminal): add unifiedTabsByWorktree to the fish color-scheme test's store fixture by @brennanb2025 in #36586
  • Always submit an orchestration wake once it has been typed by @Jinwoo-H in #36511
  • Add --spec-file and one keep-open name to orchestration worker commands by @Jinwoo-H in #36545
  • Soften dark mode app text contrast by @AmethystLiang in #36595
  • Name worker-keep-open in the orchestration recovery reference by @Jinwoo-H in #36599
  • test: remove 24 low-value fixture and forwarding suites by @OrcaWin in #36600
  • test(wsl): time the lane's first output without the agent-paste Enter settle by @nwparker in #36598
  • ci: remove dependency review Slack notification job by @nwparker in #36611
  • Render CodeRabbit review icons in git comments by @AmethystLiang in #36198
  • Let send talk to a worker in any state, reopening closed workers for follow-ups by @Jinwoo-H in #36533
  • Share chat options read ownership across desktop and phone by @brennanb2025 in #36582
  • Expire unclaimed chat uploads after seven days by @brennanb2025 in #36597
  • Keep orchestration list output short by @Jinwoo-H in #36622
  • test: remove 14 low-value suites and 119 individual cases by @OrcaWin in #36617
  • ci: drop the removed notify job from the release-cut permissions test by @brennanb2025 in #36621
  • perf(terminal): submit at once to a shell idle at its prompt by @nwparker in #36614
  • feat(wsl): offer a \wsl.localhost project's distro as a host; explain WSL 1 and empty distro lists by @nwparker in #36615
  • fix(wsl): find distros when wsl.exe drops its redirected list output by @nwparker in #36616
  • fix(native-chat): save each chat change as keyed records and reopen from the newest by @brennanb2025 in #36024
  • Guard concise orchestration list output against long text by @Jinwoo-H in #36625
  • feat(markdown): expand Mermaid diagrams into the pan and zoom viewer everywhere by @nwparker in #36575
  • plugins: ask "Make sure you trust " before installing any non-official plugin by @nwparker in #36271
  • Make explicit hosted review refresh fetch current provider state by @brennanb2025 in #36522
  • test: remove nine low-value suites and 147 individual cases by @OrcaWin in #36629
  • fix(plugins): refresh dev-folder icon themes when SVGs change in place by @nwparker in #36636
  • ci(e2e): route feature-area sources to their nightly-only e2e specs by @nwparker in #36639
  • plugins: Try it on a syntax plugin opens a blank untitled file by @nwparker in #36637
  • i18n(plugins): translate missing plugin strings in all locales by @nwparker in #36642
  • fix(plugins): link community plugins to the author's repository, not the mirror by @nwparker in #36638
  • Release idle renderer completion feed owners by @brennanb2025 in #34987
  • Share chat option writes across desktop and phone by @brennanb2025 in #36624
  • Native chat: queue messages sent while the agent works (on by default, Settings toggle, Cmd/Ctrl+Enter to send one now) by @brennanb2025 in #36588
  • fix(windows): stop each WSL host's server on uninstall so its distro can stop by @nwparker in #36612
  • fix(test): keep unit-test tooling inside the repo root in nested checkouts by @nwparker in #36657
  • test: remove eight low-value suites and 198 individual cases by @OrcaWin in #36650
  • fix(checks): accept intentionally empty oxlint selections by @nwparker in #36664
  • refactor(cloud): group relay assignment headroom modules by @nwparker in #36665
  • feat(themes): per-folder-name icons in plugin icon themes by @nwparker in #36565
  • Open chats move to the account you switch to, before their next message by @brennanb2025 in #30955
  • refactor(cloud): group relay assignment locking tests by @nwparker in #36671
  • test: remove 10 low-value suites and 130 individual cases by @OrcaWin in #36672
  • refactor(renderer): group Jira sorting tests by @nwparker in #36677
  • refactor: group journal body-admission and producer tests by @nwparker in #36682
  • fix(wsl): startup CLI reconciliation never inspects distros Orca has no record of by @nwparker in #36683
  • test: remove 19 low-value suites and 200 individual cases by @OrcaWin in #36681
  • fix(runtime-host): Explorer and Source Control load again once a runtime host answers by @nwparker in #36684
  • refactor(mobile): colocate chat pinch gesture hook and tests by @nwparker in #36690
  • test: remove 14 low-value suites and 241 individual cases by @OrcaWin in #36693
  • refactor(mobile): colocate native chat readability hook and tests by @nwparker in #36699
  • test: remove 17 low-value suites and 133 individual cases by @OrcaWin in #36700
  • refactor(mobile): colocate chat pair-window regression test by @nwparker in #36702
  • test: remove 11 low-value suites and 157 individual cases by @OrcaWin in #36703
  • refactor(shared): colocate structured session event coalescer by @nwparker in #36708
  • test: remove 16 low-value suites and 138 individual cases by @OrcaWin in #36710
  • refactor(shared): colocate legacy session child-work projection by @nwparker in #36711
  • Let workers follow up with their own finished helpers by @brennanb2025 in #36663
  • test: remove 266 low-value tests by @OrcaWin in #36717
  • fix(native-chat): new chats' model picker opens with the full list instead of a partial one by @brennanb2025 in #36646
  • Native chat: Stop turns into Send while you type a follow-up, with a shortcut hint by @brennanb2025 in #36655
  • Preserve queued command and card order through recovery by @brennanb2025 in #36430
  • refactor(shared): colocate session thread-goal contracts by @nwparker in #36720
  • test: remove 187 low-value tests by @OrcaWin in #36724
  • refactor(shared): colocate session failure detail readers by @nwparker in #36727
  • fix(github): make Checks refresh start a new PR read by @brennanb2025 in #36651
  • test: remove 226 low-value tests by @OrcaWin in #36737
  • fix(shortcuts): avoid Plugins strikethrough shortcut conflict by @AmethystLiang in #36741
  • test: remove 272 low-value tests by @OrcaWin in #36750
  • Adjust default dark theme text to midpoint gray by @AmethystLiang in #36756
  • fix(ui): widen quick commands dropdown by @AmethystLiang in #36757
  • fix(terminal): scope terminal color overrides to their light/dark theme slot by @nwparker in #36581
  • test: remove 206 low-value tests by @OrcaWin in #36759
  • fix(wsl): restoring or switching to a WSL host workspace never boots its stopped distro by @nwparker in #36688
  • fix(menu): restore native DevTools routing outside managed pages by @AmethystLiang in #36763
  • refactor(shared): colocate compaction and command entry owners by @nwparker in #36738
  • Orchestration guide: keep open workers the user will keep using by @Jinwoo-H in #36764
  • test: remove 287 low-value tests by @OrcaWin in #36766
  • docs: clarify low-value test removal guidance by @OrcaWin in #36768
  • refactor: colocate structured session tool-call projection by @nwparker in #36770
  • fix(windows): stop WSL host servers before releasing holders, in a fixed budget by @nwparker in #36769
  • fix(wsl-host): keep a host's launch markers out of its shells; a corrupt WSL store hides only WSL hosts by @nwparker in #36772
  • fix(wsl): Stage 1 is opt-in: the offer moves only its project, and D1c Git follows the setting by @nwparker in #36773
  • feat: make the workspace name emoji picker discoverable by @AmethystLiang in #36761
  • test: remove 246 low-value tests by @OrcaWin in #36780
  • fix(wsl): keep WSL exec checks off the main thread and share running-list reads by @nwparker in #36777
  • Orchestration: keep open workers started in a new workspace by @Jinwoo-H in #36782
  • Keep orchestration inbox output short by @Jinwoo-H in #36626
  • refactor: import Codex session types from defining owner by @nwparker in #36785
  • fix(wsl): offer Start wherever a stopped WSL host leaves the workspace stuck by @nwparker in #36786
  • feat(wsl): a WSL hosts block learned mid-run stops new work at once by @nwparker in #36776
  • refactor: colocate background-task session contracts by @nwparker in #36798
  • test: remove 512 low-value tests by @OrcaWin in #36794
  • fix(markdown): keep the Mermaid expand button out of PDF and HTML exports by @nwparker in #36631
  • fix(wsl): a restored chat or a web hooks check never starts a stopped distro (E9) by @nwparker in #36779
  • refactor: colocate structured session live reads and reconnect scheduling by @nwparker in #36807
  • fix(wsl): hide the D1c Settings rows whenever WSL hosts take no new work by @nwparker in #36808
  • fix(wsl): retry the setup-runner .git link read and fall back to the distro's Git by @nwparker in #36792
  • feat(editor): SVG preview + source, and a drag-to-pan image viewer by @nwparker in #36576
  • feat(wsl): an automatic release path that never boots a distro or sleeps a terminal (bring-back 2/4) by @nwparker in #36809
  • fix(wsl): fail closed on an unknown default distro, stop no-start connects on a stop, and say unknown when WSL can't answer (E9) by @nwparker in #36797
  • refactor: colocate native-chat agent support by @nwparker in #36816
  • feat(mobile): draw SVG files and pinch-zoom every image preview, Android included by @nwparker in #36608
  • Check only orchestration mailboxes with mail on input edges by @Jinwoo-H in #36644
  • fix(ssh): prune superseded staged server builds when an update defers by @nwparker in #35881
  • Start worker follow-ups with a short task and deliver mail normally by @Jinwoo-H in #36774
  • Stop blaming a chat worker's follow-up for the turn that reported by @Jinwoo-H in #36811
  • feat(mobile): pinch-zoom Mermaid diagrams, and zoom images without zooming the page by @nwparker in #36648
  • Avoid blank PDF pages from Mermaid Preview’s code wrapper by @nwparker in #25621
  • fix(editor): render formatted Mermaid labels safely by @nwparker in #25554
  • End multiple PTYs without blocking the Resource Manager by @AmethystLiang in #36753
  • fix(serve): a service installed from the AppImage keeps its launch out of PATH by @nwparker in #36819
  • refactor: colocate native-chat agent profiles by @nwparker in #36820
  • fix(editor): copy SVG images with HTML labels as PNG by @nwparker in #36823
  • fix(wsl): a stopped distro's messages say Start or a new terminal starts it, not switching projects by @nwparker in #36771
  • fix(sidebar): resolve a header's create host and host label from the header itself by @nwparker in #36826
  • docs(plugins): theme and syntax entries take title, not label by @ggbdpq in #36706
  • test(automations): pin the Q→S operation bounds at 20 and 100 prior turns instead of 1000 by @nwparker in #36829
  • perf(mobile): send worktree catalog polls as row deltas by @nwparker in #36799
  • refactor: colocate native-chat noise filtering by @nwparker in #36824
  • fix(theme): built-in color pairs meet WCAG AA and dark-mode surfaces stay themed by @nwparker in #36561
  • fix(files): keep staged saves reserved through commit by @nwparker in #36832
  • fix(terminal): respawn restored local panes silently when the daemon reports their session gone by @Pr1p in #36620
  • Orchestration guide: hand off when nothing needs to come back by @Jinwoo-H in #36833
  • fix(orcad): remove the browser sidecar profile a crashed orcad left behind by @nwparker in #36834
  • refactor: colocate native-chat reasoning-order contract spec by @nwparker in #36837
  • fix(plugins): wire the plugin service on a headless serve, and turn plugins on from the CLI by @nwparker in #36838
  • fix(git): match numstat rename detection to status so moved files get line counts by @bbingz in #36698
  • Close the terminal before continuing its conversation in chat by @brennanb2025 in #36732
  • perf(mobile): read home worktree counts through catalog deltas by @nwparker in #36800
  • test: remove 174 low-value tests, including 23 suites by @OrcaWin in #36844
  • Open native chats on the phone in place by @brennanb2025 in #36315
  • perf(mobile): gzip large frames for phones that read them by @nwparker in #36801
  • Continue a usage-limited chat with another account or agent by @brennanb2025 in #31241
  • New tab menu: agents keep their usual order whether set to Chat or CLI by @brennanb2025 in #36840
  • fix(runtime): bring runtime-identity-state back under the size cap by @nwparker in #36852
  • feat(editor): one typography resolver for every Monaco surface + opt-in weight, line height, ligatures, size and macOS smoothing by @nwparker in #36577
  • feat(themes): public tokens for diffs, git status, tabs, dividers, rows, links by @nwparker in #36578
  • refactor(mobile): move the bridge connection snapshot into its own module by @nwparker in #36818
  • fix(ui): make dark-mode checkbox borders visible by @AmethystLiang in #36867
  • Show agent message cards in phone chats by @brennanb2025 in #36162
  • fix(mobile): stop calling a host Disconnected while a dial is in progress by @nwparker in #36802
  • Orchestration: fix agent instructions that misdirect workers and coordinators by @Jinwoo-H in #36803
  • Agent message cards keep their sender's agent icon when the agent can't be found by @brennanb2025 in #36653
  • feat(mobile): polish press feedback, sheet motion, states, spacing and layout jumps by @AmoabaKelvin in #36713
  • feat(themes): background images for app themes by @nwparker in #36589
  • test: remove 247 low-value tests, including 22 suites by @OrcaWin in #36857
  • fix(orchestration): bring federated-worker-start back under the size cap by @nwparker in #36875
  • perf(mobile): send paired-server workspace polls as row deltas by @nwparker in #36859
  • Agent setup panel no longer renders behind the new tab menu by @brennanb2025 in #36839
  • feat(mobile): put Settings, Source Control and remaining lists on the shared rows and top bar by @AmoabaKelvin in #36719
  • refactor: group shared native-chat model and transcript owners by @nwparker in #36843
  • perf(mobile): answer the host screen's repo poll unchanged when repos stay the same by @nwparker in #36860
  • refactor: group shared agent-session options and catalogs by @nwparker in #36878
  • perf(mobile): open the page on the status its shell already proved by @nwparker in #36861
  • perf(mobile): draw a host's first rows while its full catalog arrives by @nwparker in #36862
  • fix(mobile): keep a first open checking while its dial is still retrying by @nwparker in #36863
  • test: remove 317 low-value tests, including 31 suites by @OrcaWin in #36877
  • fix(mobile): give a direct handshake as long as the desktop allows it by @nwparker in #36864
  • feat(mobile): press feedback everywhere, smoother motion, and Reduce Motion for sheets by @AmoabaKelvin in #36885
  • fix(wsl-host): a pane parked by a stopped host reopens once Start brings the host back by @nwparker in #36784
  • fix(native-chat): keep line breaks in question card text by @AmoabaKelvin in #36893
  • fix(terminal): apply padding to both edges of each axis by @anmol0b in #36789
  • test: remove 326 low-value tests, including 16 suites by @OrcaWin in #36894
  • fix(emulator): send Android input through the scrcpy control socket by @Moran45 in #36530
  • fix(pi): preserve session titles after turns by @bbingz in #36822
  • fix(new-workspace): offer project switch for cross-repo GitHub links from upstream-only projects by @nwparker in #36896
  • Simplify workspace loading status in sidebar by @AmethystLiang in #36899
  • fix(emulator): show iOS simulators upright using serve-sim's reported orientation by @AmoabaKelvin in #36900
  • feat(editor): click-to-zoom image viewer like Chromium, Alt-drag to pan by @nwparker in #36898
  • test: remove 262 low-value test cases, including 39 suites by @OrcaWin in #36901
  • refactor: group shared journal and request contracts by @nwparker in #36882
  • fix(mobile): guard catalog snapshots against late replies and trim the snapshot paths by @nwparker in #36902
  • perf(mobile): lighter liveness probes, preview-free terminal lists, cheaper terminal gzip by @nwparker in #36903
  • refactor(github): share the inline PR comment line rule with mobile by @AmoabaKelvin in #36904
  • fix(mobile): run the repo's archive hook when deleting a workspace from the phone by @AmoabaKelvin in #36481
  • refactor(agent-session): group failure modules and use direct owner imports by @nwparker in #36906
  • test: remove 253 low-value test cases, including 28 suites by @OrcaWin in #36907
  • feat(editor): choose a code editor theme independently of the app theme by @nwparker in #36570
  • Chat UI launch by @nwparker in #36891
  • fix(ci): include cloud configs in Windows SSH checkout by @nwparker in #36912
  • perf(diff): stop combined diff sections re-rendering on unrelated settings writes by @nwparker in #36921
  • Refuse main-window permission requests from plugin frames by @nwparker in #36812
  • feat(skills): silently update unedited Orca skills per skill; prompt only for the rest by @nwparker in #36889
  • fix(mobile): keep Attach Photos working while desktop requests are stalled by @AmoabaKelvin in #36922
  • fix(wsl): turning the WSL hosts setting off keeps saved hosts serving; it stops only new hosts and moves by @nwparker in #36783
  • Reuse existing tab groups for link opens by @AmethystLiang in #36915
  • fix(accounts): restart running Claude sessions when the account is switched from the phone by @AmoabaKelvin in #36933
  • Show child activity counts inside the children toggle by @nwparker in #36951
  • Isolated plugin frames, off by default by @nwparker in #36813
  • fix(agents): open a shell, not an unrequested chat, in empty workspaces when the default agent is Auto by @AmoabaKelvin in #36927
  • test: remove 411 low-value test cases, including 30 suites by @OrcaWin in #36916
  • test(mobile): fix dictation bridge-budget test failing on main under Bun by @nwparker in #36938
  • fix(wsl): host-row Start follows the same precedence as the other surfaces; Start's reload doesn't wake by @nwparker in #36934
  • feat(mobile): collapse sub-agent lists by default and group idle sub-agents by @nwparker in #36939
  • feat(git): git.history pages a branch's own commits with pushed state by @AmoabaKelvin in #36962
  • feat(themes): Match Terminal becomes a real app theme for the whole window by @nwparker in #36567
  • Update WeChat community QR code for group 14 by @AmethystLiang in #36943
  • feat(themes): show the theme background image through native chat by @nwparker in #36796
  • docs: clarify scoped validation before handoff by @AmethystLiang in #36940
  • refactor(agent-session): group lifecycle contracts and records by @nwparker in #36909
  • docs: make scoped validation example portable by @AmethystLiang in #36946
  • Keep a kept-open worker open across follow-ups by @Jinwoo-H in #36954
  • feat(file-explorer): add Open in submenu to explorer row context menu by @allangnutzmans in #36895
  • Build-less TS/TSX plugins, typings and authoring tools by @nwparker in #36918
  • Components (TSX) plugin panels by @nwparker in #36814
  • Refactor AGENTS.md for clarity and importance by @nwparker in #36971
  • Fix typo and enhance clarity in AGENTS.md by @nwparker in #36972
  • feat(sidebar): collapse sub-agent lists by default and group idle sub-agents by @nwparker in #36936
  • fix(mobile): stop the unfolded iPhone Duo crashing when the split keyboard opens by @AmoabaKelvin in #36948
  • Improve agent picker updates and menu pointer handoffs by @AmethystLiang in #36874
  • fix(mobile): stop the chat jumping up when history draws during an Android scroll by @AmoabaKelvin in #36949
  • feat(window): working background opacity and blur on macOS, Windows and Linux by @nwparker in #36580
  • fix(native-chat): steer async question answers instead of queuing duplicates by @OrcaWin in #36917
  • Turn isolated plugin frames on by default by @nwparker in #36821
  • fix(ui): toasts sit behind a modal's backdrop until pressed, instead of looking live but dead by @nwparker in #36888
  • Reland title-sized tabs as an experiment that holds widths through agent renames by @AmethystLiang in #34527
  • docs: restore the blank line after the AGENTS.md heading by @nwparker in #36985
  • fix(mobile): render inline HTML cards and previews on iOS by @AmoabaKelvin in #36986
  • fix(runtime): headless hosts record terminal activity so the phone's Recent sort moves by @AmoabaKelvin in #36974
  • fix(wsl): an automation wake no longer boots a host for a run it already ran by @nwparker in #36981
  • fix(mobile): send iPhone library photos as JPEG named .jpg, not HEIC named .png by @AmoabaKelvin in #36989
  • Plugin test kit: orca/testing, orca plugin test and orca plugin check by @nwparker in #36969
  • fix(wsl): shared background passes don't inherit a WSL user act by @nwparker in #36993
  • test: remove 205 low-value test declarations, including 30 suites by @OrcaWin in #36975
  • refactor(shared): organize session contracts and projections by @nwparker in #36979
  • Plugin dev loop: TS workers, hot reload with state, orca plugin dev watch, authoring skill by @nwparker in #36982
  • Remove 699 low-value test declarations and 116 suites by @OrcaWin in #37002
  • refactor(renderer): colocate Jira board and list owners by @nwparker in #37006
  • fix(notifications): leave orchestration workers' finished turns to their coordinator by @AmoabaKelvin in #36968
  • fix(readme-links): keep commas inside srcset URLs when checking README links by @blueDaydreaming725 in #36957
  • test: remove 278 low-value declarations and 31 suites by @OrcaWin in #37007
  • Plugin panels talk to their worker; panel storage, settings and agent events by @nwparker in #37013
  • refactor: group renderer session launch owners by @nwparker in #37018
  • Plugin dev loop: orca plugin open/shot, dev emit, and dogfood fixes by @nwparker in #37008
  • test: remove 181 low-value tests and 2 suites by @OrcaWin in #37024
  • Components catalog 2 and worker tests: forms, tabs, table, tree, markdown, code, images by @nwparker in #36997
  • Plugin dev emit reaches panels; trim the plugin authoring skill by @nwparker in #37026
  • test: remove 157 low-value tests and route-contract suite by @OrcaWin in #37038
  • refactor: group Claude structured session owners by @nwparker in #37036
  • Plugin check runs the worker; check scenarios; RelativeTime by @nwparker in #37047
  • test: remove 167 low-value tests and two CI tooling suites by @OrcaWin in #37053
  • fix(mobile): show workspace images in session Markdown tabs by @AmoabaKelvin in #36970
  • fix(mobile): keep the app's state and layout when entering split screen on Android by @AmoabaKelvin in #36977
  • Plugin dev loop: dev request, shot --act, worker-panel template, output polish by @nwparker in #37049
  • refactor(mobile): organize native chat view and transcript modules by @nwparker in #37054
  • fix(mobile): keep the cursor and keyboard when tapping an autocorrected word on Android by @AmoabaKelvin in #36947
  • fix(mobile): scroll wide tables sideways in the rich Markdown editor by @AmoabaKelvin in #36966
  • fix(mobile): build iOS from checkout paths with spaces by @AmoabaKelvin in #37058
  • Plugins: workspace.changed tells each new listener the current workspace by @nwparker in #37044
  • feat(notifications): separate needs-input alerts from finished alerts on desktop and phone by @AmoabaKelvin in #36941
  • fix(native-chat): show screenshots agents read, and inline markdown images on mobile by @AmoabaKelvin in #36953
  • fix(mobile): queued-message panel fits its rows and Save/Cancel fit their labels by @AmoabaKelvin in #36928
  • fix(native-chat): keep Claude's reply visible when a Stop hook sends it back by @AmoabaKelvin in #36944
  • test: remove 56 low-value tests and two suites by @OrcaWin in #37057
  • fix(notifications): hold "finished" until background subagents and worker waits are done by @AmoabaKelvin in #36992
  • fix(browser): keep an agent's page drawing in a hidden worktree while it drives it by @AmoabaKelvin in https://github.com/stablyai/orca/pull/37076
  • refactor: organize runtime session records and lifecycle owners by @nwparker in https://github.com/stablyai/orca/pull/37070
  • Plugin check shows what drew; responsive Table columns; quieter Table and Stack by @nwparker in https://github.com/stablyai/orca/pull/37062
  • fix(browser): agent fill, select, type and select-all on external-Chromium server browsers fail instead of faking success by @AmoabaKelvin in https://github.com/stablyai/orca/pull/37080
  • Keep pending chat visible until the worktree chat opens by @AmethystLiang in https://github.com/stablyai/orca/pull/36920
  • fix(floating-workspace): focus the browser page when the panel opens with it in front by @AmoabaKelvin in https://github.com/stablyai/orca/pull/37079
  • Show tab previews only when titles are clipped by @AmethystLiang in https://github.com/stablyai/orca/pull/37085
  • test: remove 240 low-value tests by @OrcaWin in https://github.com/stablyai/orca/pull/37077
  • Plugin shots wait for the worker and restore after --act; terminal approval prompt by @nwparker in https://github.com/stablyai/orca/pull/37066
  • fix(test): correct structured session lifecycle imports by @AmethystLiang in https://github.com/stablyai/orca/pull/37088
  • refactor(persistence): replace forwarding entry with concrete owner imports by @nwparker in https://github.com/stablyai/orca/pull/37081
  • build(mobile): raise the page bundle's code fence from 9 to 9.5 MiB by @AmoabaKelvin in https://github.com/stablyai/orca/pull/37014
  • feat(github): let paired phones turn a pull request back into a draft by @AmoabaKelvin in https://github.com/stablyai/orca/pull/37000
  • docs: check CI at seven-minute intervals by @AmethystLiang in https://github.com/stablyai/orca/pull/37094
  • feat(mobile): open every changed file on the diff screen by @AmoabaKelvin in https://github.com/stablyai/orca/pull/36937
  • fix(browser): let heavy pages open all their connections through the paired tunnel by @AmoabaKelvin in https://github.com/stablyai/orca/pull/37087
  • Make agent activity card timestamps easier to scan by @AmethystLiang in https://github.com/stablyai/orca/pull/37096

New Contributors

Full Changelog: v1.4.245...v1.4.246

Don't miss a new orca release

NewReleases is sending notifications on new releases.