Skip to content

v1.4.217

Latest

Choose a tag to compare

@github-actions github-actions released this 29 Sep 19:40

Thank you so much for using Orca and for your continued support! ❤️

This patch is built from the September 27 daily build plus fixes picked from main. Pull requests that landed on main after that are not in this build.

The short version

Codex: Codex workers start again on current Codex (0.158). Orca had been waiting for a welcome-screen label that Codex 0.158 removed, so every Codex worker timed out; Orca now recognizes Codex's empty input box instead. Starting a Codex worker with a model or reasoning effort no longer hangs either.

Codex tabs run on their own: On Codex 0.157 and newer, every Codex tab in Orca shared one background server started by the first tab, so status and results were credited to the wrong tab and closing the first tab dropped all the others. Each Codex tab in an Orca terminal now runs its own server, so closing one no longer drops the others. New terminals opened after updating get this; terminals already open keep the old behavior until reopened. To keep the shared server, add export ORCA_CODEX_ISOLATE=0 to your shell startup file. The trade-off of the default: Codex "Run in background", codex agents, and opening a session from the Codex desktop app or an IDE won't see sessions started in Orca, and many open tabs use more memory.

Status bar & workspace UI: The status bar fits small screens: extra agents fold into a "+N" badge before status labels shrink to icons. Compact agent rows show unread emphasis, and activity threads from floating terminal agents open the right pane.

Remote & SSH: SSH hosts that ask for a verification code or other multi-factor prompt are supported, remote file access follows repository ownership, and interrupted remote installs recover without deleting files still in use.

Editor & browser: Solidity, Typst, and Twig files are highlighted, Markdown source survives rich-text edits, and browser tools fold into a menu on narrow screens.

Reliability: Orchestration workers whose terminal can no longer be found are stopped properly instead of piling up, and many background tasks clean up after themselves when a window reloads or a request is cancelled.


Product experience

Codex & orchestration

Codex workers start again on Codex 0.158, each Codex tab in an Orca terminal runs on its own, and stopping a worker reliably ends its process.

  • fix(terminal): run Codex in Orca terminals without the shared background server by @Jinwoo-H in #23900
  • fix(daemon): roll Codex no-daemon shell launch into a fresh v37 daemon by @Jinwoo-H in #23907
  • fix(runtime): settle a quiet Codex composer as ready on every version by @Jinwoo-H in #23765
  • fix(runtime): read Codex readiness from the live screen by @Jinwoo-H in #23475
  • fix: await queued Codex trust preflight completion by @nwparker in #23148
  • fix(orchestration): reland process-incarnation reap for stale worker terminal handles by @brennanb2025 in #23583
  • fix(orchestration): deliver dispatch mail and replies to the current lead by @nwparker in #23325

Other agents & native chat

OpenCode, Hermes, Kimi, Grok, and Claude integrations handle edge cases more safely, and long questions in native chat can be expanded.

  • fix: dispose OpenCode 2 hooks after prompt setup and cleanup failures by @nwparker in #23209
  • Respect disabled OpenCode variants and refresh WSL settings safely by @nwparker in #23328
  • Preserve Hermes YAML configuration during hook installation by @nwparker in #23324
  • fix(kimi): don't crash if config.toml is deleted mid-write by @nwparker in #23293
  • fix(grok): show zero usage for an explicit zero quota by @nwparker in #23321
  • fix(native-chat): let the "Asked" row unfold a long question by @brennanb2025 in #22941
  • fix(claude): release permission prompt abort listeners by @OrcaWin in #23195
  • perf(native-chat): release obsolete transcript viewers after reloads by @nwparker in #22982

Status bar, sidebar & activity

The status bar fits small screens, compact agent rows show unread state, and activity threads open floating terminal agents.

  • fix(status-bar): fold agents into +N before status labels go icon-only by @AmethystLiang in #23689
  • fix(sidebar): show unread emphasis in compact agent rows by @nwparker in #23327
  • fix(sidebar): preserve list focus when selecting workspaces by @nwparker in #23320
  • feat(activity): reveal threads in floating terminal workspace by @AmethystLiang in #23239

Terminal

Git Bash is detected by its install layout, Japanese file links stay intact, and Windows terminals are more robust.

  • fix(terminal): recognize a Git Bash launcher by its install layout by @nwparker in #23308
  • fix(terminal): retain Japanese middle dots and tildes in file links by @nwparker in #23322
  • fix(windows): preserve relocated terminals and native process scans by @OrcaWin in #22872
  • fix(windows): synchronize native terminal table lifetime by @OrcaWin in #23257
  • perf: cap shared-path scans and synchronize Windows PTY access by @nwparker in #23194
  • perf: preserve terminal previews across unrelated settings updates by @nwparker in #23099

Editor, search & files

Solidity, Typst, and Twig get syntax highlighting, Markdown source survives rich edits, and grouped search filters keep their commas.

Browser

Browser tools fold into a menu on narrow screens, and addresses with explicit ports open correctly.

Remote, SSH & WSL

SSH supports multi-factor (keyboard-interactive) sign-in, remote file access respects repository ownership, and remote installs recover cleanly.

  • feat(ssh): support keyboard-interactive authentication (MFA) by @Chihen-Tai in #15588
  • Keep SSH terminals parked after their own workspace updates by @OrcaWin in #23193
  • fix: exclude canonical SSH roots from local file access by @nwparker in #23196
  • fix: honor canonical SSH ownership in worktree listings by @nwparker in #23198
  • fix: bind filesystem root grants to their repository owner by @nwparker in #23206
  • fix(ssh): preserve interrupted installation outcomes through retries by @OrcaWin in #23273
  • fix(ssh): recover abandoned caches without deleting live dependencies by @OrcaWin in #23281
  • fix(ssh): name the missing unzip when Bun archive extraction cannot start by @nwparker in #23298
  • Avoid store updates for unchanged SSH repository catalogs by @nwparker in #23034
  • fix(worktrees): clear orphan cleanup on BusyBox WSL distros by @nwparker in #23296
  • fix(projects): enrich git remote identity for runtime-addressed repo rows by @nwparker in #23300
  • fix(persistence): report a discarded cross-host repo update instead of failing silently by @nwparker in #23379

Source control & code review

Pull request and review lookups keep the newest result, and Gitea lookups refresh correctly.

  • fix: refresh strict Gitea lookups and synchronize Windows PTY access by @nwparker in #23162
  • perf(github): coalesce stronger refreshes after pending requests by @nwparker in #22970
  • fix: preserve newer pull request lookup ownership by @nwparker in #23119
  • fix: preserve newer hosted review lookup ownership by @nwparker in #23126
  • fix: observe linked-issue failures during review generation by @nwparker in #23166
  • fix: retire stale review lookups after cache invalidation by @nwparker in #23182

Reliability & performance

Orca releases abandoned work, listeners, and streams after reloads or cancellations, and skips redundant scans and updates.

  • perf(emulator): stop obsolete video streams after renderer reloads by @nwparker in #22967
  • perf(mobile): coalesce stalled connection log persistence by @nwparker in #22973
  • Cancel abandoned relay search work by @nwparker in #22997
  • perf(push): keep retention sweeps from overlapping without slowing the drain by @nwparker in #23001
  • perf(relay): release rejected first-frame connections [trade-off] by @nwparker in #23011
  • perf(relay): release canceled AI Vault startup requests by @nwparker in #23027
  • perf(history): coalesce tombstone directory rescans by @nwparker in #23031
  • Scope relay capacity checks to the requested cell by @nwparker in #23036
  • perf: avoid repeatedly encoding retained VM recipe output by @nwparker in #23048
  • fix: close abandoned PDF.js development asset streams by @nwparker in #23054
  • fix: release file watches when their renderer document ends by @nwparker in #23055
  • fix: close abandoned static web asset readers by @nwparker in #23062
  • fix: stop stale runtime event work after renderer cleanup by @nwparker in #23066
  • fix: release dictation session listeners when speech workers exit by @nwparker in #23077
  • perf: skip unused Linux accessibility child enumeration by @nwparker in #23085
  • perf: skip store notifications for unchanged project and folder catalogs by @nwparker in #23104
  • perf: skip macOS DNS probes for unrelated errors by @nwparker in #23121
  • perf: share pending plugin translation startup requests by @nwparker in #23133
  • perf: bound wildcard segment work in nested repository scans by @nwparker in #23149
  • fix(relay): release capacity wait abort listeners by @OrcaWin in #23188
  • fix(daemon): release terminal attach cancellation listeners by @OrcaWin in #23191

Internationalization (i18n)

Diff note wording is clearer.

  • fix(i18n): clarify the recipient of diff notes by @OrcaWin in #23256

Tests, CI & maintenance

CI runs faster and more in parallel, formatting and packaging are tidied up, and a short-lived mouse Back/Forward shortcut change was reverted.

  • Support mouse Back/Forward buttons in shortcuts by @nwparker in #23287
  • Revert "Support mouse Back/Forward buttons in shortcuts" by @AmethystLiang in #23350
  • fix(design-system): replace hand-rolled diff draft-card shadow with shadow-xs by @nwparker in #23307
  • fix(packaging): exclude root notes from app files by @nwparker in #23326
  • fix(homebrew): remove deprecated URL verification parameter by @nwparker in #23365
  • style: settle oxfmt 0.70 drift and stop formatting vendored licences by @nwparker in #23377
  • test: target writer timeouts and diagnose Bun startup stalls by @OrcaWin in #23267
  • fix(ci): preserve focused Playwright file selection by @OrcaWin in #23270
  • ci: shard SSH tests, remove duplicate runs, and warm Windows caches by @OrcaWin in #23286
  • ci: reuse test fixtures, native builds, and package images by @OrcaWin in #23291
  • ci: scope orcad smoke and parallelize Linux packages by @OrcaWin in #23314
  • ci: reuse mobile web route analysis and skip unrelated mobile tests by @OrcaWin in #23329
  • Reuse mobile recording compilation and refresh desktop CI timings by @OrcaWin in #23343
  • Run independent CI checks with native parallel Actions steps by @OrcaWin in #23351
  • ci: overlap package and security preparation and share localization parsing by @OrcaWin in #23364
  • ci: overlap shell, localization, and mobile route preparation by @OrcaWin in #23368
  • ci: use ARM unit runners, overlap web builds, and reuse verifier fixtures by @OrcaWin in #23376
  • ci: build independent Electron targets together for E2E by @OrcaWin in #23378
  • ci: compile the E2E CLI once for all consumers by @OrcaWin in #23384

New Contributors


Full Changelog: v1.4.216...v1.4.217