github stablyai/orca mobile-android-v0.0.47
Orca Mobile Android mobile-android-v0.0.47

pre-release4 hours ago

What's Changed

  • Update Android download links to 0.0.44 by @AmethystLiang in #15898
  • fix(win32): hide the console window for agent-browser and git helpers by @nwparker in #15887
  • Revert premature Android link update merge by @AmethystLiang in #15899
  • fix(ports): report a Stop as succeeded when the listener already exited by @nwparker in #15888
  • Reland Android download links for 0.0.44 by @AmethystLiang in #15905
  • fix(skills): normalize contributor-facing paths in the skill guide generator by @nwparker in #15861
  • fix(cli): allow an empty --value for storage set commands by @nwparker in #15863
  • fix(i18n): correct five Korean strings that changed meaning in machine translation by @nwparker in #15875
  • feat(wsl): one runner for every wsl.exe invocation by @nwparker in #15903
  • fix(wsl): migrate 21 call sites onto the WSL runner by @nwparker in #15923
  • fix(mobile): remove close tabs to the right action by @AmethystLiang in #15894
  • Move worktree palette search to top of sidebar nav by @AmethystLiang in #15854
  • feat(automations): navigate table search results with arrows by @OrcaWin in #15805
  • fix(automations): localize schedule weekday names and labels by @nwparker in #15884
  • Fix Cmd+J Enter for worktree creation by @AmethystLiang in #15970
  • Add Artifacts and Skills pages to navigation history by @AmethystLiang in #15969
  • test(automations): assert in-place language switch on mounted picker by @AmethystLiang in #15977
  • Retry transient ripgrep spawn failures instead of demanding install by @AmethystLiang in #15983
  • UX: compact native density for context + dropdown menus by @nwparker in #15924
  • test(e2e): extract paired client window reveal into helper by @AmethystLiang in #15991
  • refactor(host): route secret storage through a SecretStore port by @nwparker in #15916
  • fix(ui): clear agent attention icon when Floating Workspace tab activated via keyboard by @buf0-bot[bot] in #15745
  • fix(i18n): match CheckRunJobs succeeded to its sibling count-label register by @erishforG in #16013
  • refactor(wsl): delete the environment-policy layer the reviews kept failing on by @nwparker in #16007
  • refactor(host): route app paths and version through an AppEnvironment port by @nwparker in #16019
  • test(runtime): use the platform submit delay in the cancellation-during-verification test by @nwparker in #15870
  • test(orchestration): distinguish the heartbeat straggler guard from the row's initial null by @nwparker in #15869
  • fix(pty): wrap codex without expanding or destroying a user alias by @nwparker in #15873
  • fix(project-groups): route rename and delete to the group's owning host by @nwparker in #15889
  • build(runtime): gate new Electron imports reachable from the Orca runtime by @nwparker in #15919
  • fix(rate-limits): stop showing Gemini failures as Antigravity "Refresh failed" by @nwparker in #15876
  • fix(terminal): drop conda's orphaned CONDA_SHLVL sentinel by @nwparker in #15885
  • fix(agent-resume): restore Copilot sessions after restart by @nwparker in #15879
  • fix(composer): close the Create Workspace dialog on the first Escape by @nwparker in #16027
  • refactor(ipc): split preflight and SSH registry out of the ipcMain modules by @nwparker in #15927
  • feat(dictation): add sound-reactive grape visualizer by @nwparker in #16017
  • feat(orcad): boot the Orca runtime on plain Node by @nwparker in #15968
  • fix(terminal): arm the restore baseline only on a snapshot that painted content by @AmethystLiang in #16009
  • fix(github): add GHES avatar fallback to PR and task views by @erishforG in #13981
  • fix(secrets): tell Linux users when their secrets are only obfuscated by @nwparker in #16033
  • fix(dictation): address visualizer review feedback by @nwparker in #16035
  • fix(remote): keep editor focus after unfocused HTML side preview (STA-5001) by @brennanb2025 in #15716
  • fix(skills): discover Hermes home skills by @nwparker in #15862
  • fix(worktree): stop warning about a stale local base branch that does not exist yet (#15331) by @nwparker in #15871
  • fix(git): enable Windows long paths for worktree creation (local, sparse, and SSH hosts) by @nwparker in #15866
  • fix(secrets): report the protection gap on change, not on every launch by @nwparker in #16044
  • fix(secrets): probe the Linux-only storage backend defensively by @nwparker in #16046
  • fix(settings): an empty agent detection must not erase the saved default by @nwparker in #16043
  • fix(preflight): do not count a Windows binary reached through interop as a WSL install by @nwparker in #16028
  • fix(wsl): budget the whole command line, not just the script by @nwparker in #16032
  • Fix Windows Git Bash console-capacity failures by @OrcaWin in #16045
  • fix(agent-resume): restore Kimi Code sessions after restart by @nwparker in #15883
  • perf(preflight): read the WSL mount table once, and make launch agree with detection by @nwparker in #16053
  • fix(runtime): prevent restored workers from appearing idle while busy by @AmethystLiang in #15998
  • fix(status-bar): remove pet menu reserved space by @coelho-doti in #13067
  • fix(agent-hooks): revive a retired pane on each provider's own new-turn event by @brennanb2025 in #15344
  • fix(codex): stop rebuilding shared Codex state from a read that failed (STA-4823) by @brennanb2025 in #15417
  • Split pty-connection.ts into focused modules under 400 lines by @AmethystLiang in #15166
  • Preserve code editor selections across tab switches by @nwparker in #16132
  • fix(agent-status): stop an Antigravity pane reading as Gemini CLI by @brennanb2025 in #15535
  • refactor(mobile): reuse repository color helper by @nwparker in #16131
  • refactor(skills): centralize observation matching by @nwparker in #16134
  • refactor(renderer): use canonical attachment labels by @nwparker in #16135
  • Fix renderer starvation blocking settings and worktree switching by @nwparker in #16138
  • Fix Ubuntu release dependency lockfile gate (STA-5109) by @Jinwoo-H in #16055
  • reland(opencode): session continuity without the command-finished deferral (STA-4557) by @brennanb2025 in #15350
  • style(secrets): trim backend probe comments by @nwparker in #16136
  • refactor: reuse canonical regex escaping by @nwparker in #16150
  • fix(crash-reporting): stamp React #185 boundary attribution as unreliable by @nwparker in #16153
  • fix(skills): recover upload admission lifecycle by @Jinwoo-H in #16057
  • test(remote): preserve HTML inventory RPC failures (STA-5210) by @Jinwoo-H in #16056
  • test(e2e): stabilize paired Quick Open large-tree coverage by @Jinwoo-H in #16058
  • docs(cli): document worktree rm branch cleanup by @erishforG in #16167
  • fix(workspace-cleanup): name the local context instead of totalling it by @brennanb2025 in #15070
  • fix(workspace-cleanup): stop pre-selecting workspaces for deletion by @brennanb2025 in #15152
  • fix(runtime): retire terminal snapshot probes before waiter timeout by @nwparker in #16149
  • fix(workspace-cleanup): stop a wheel tick setting a filter, and land every filter patch by @brennanb2025 in #15298
  • test(agent-status): characterize title-derived agent identity before the resolver change by @brennanb2025 in #16144
  • fix(automations): reveal full prompt from detail view by @Jinwoo-H in #16067
  • Fix stale task-source flashes in new workspace input by @nwparker in #16145
  • fix(terminal): preserve synchronized frames on reveal by @nwparker in #16026
  • test(e2e): cover tab-bar agent launches on Windows and WSL by @AmethystLiang in #16110
  • test(reliability): protect recent P0 regression invariants by @Jinwoo-H in #16163
  • Add keyboard shortcut for workspace deletion by @AmethystLiang in #16271
  • fix(workspace-cleanup): read git for a pinned workspace before deleting it by @brennanb2025 in #15370
  • fix(codex): stop an unreadable legacy hooks.json from clearing managed trust by @brennanb2025 in #16147
  • fix(agent-status): retire panes whose agent process is gone (STA-4612) by @brennanb2025 in #15212
  • Improve cmd j ranking with recency by @AmethystLiang in #16281
  • feat(workspace-cleanup): name every applied filter in the bar and make it removable by @brennanb2025 in #15300
  • Fix rebase race by fetching to private ref before rebasing by @AmethystLiang in #15990
  • fix(ai-vault): replace scanner internals with actionable panel copy by @brennanb2025 in #16229
  • Fix mail pointer repoint scheduler tests with pending count getter by @AmethystLiang in #16292
  • fix(agent-status): clear the pane when a Claude compact finishes (STA-2915, STA-4613) by @brennanb2025 in #15202
  • feat(agent-status): add an order-independent title evidence parser by @brennanb2025 in #16148
  • fix(workspace-cleanup): stop a sync broadcast reverting a filter you just set by @brennanb2025 in #15369
  • fix(popover): wheel-scroll a popover whose scroller is nested, not the content by @brennanb2025 in #16206
  • Restore previously-active tab when closing a browser tab by @AmethystLiang in #16306
  • feat(agents): distinguish Claude background monitoring (takes over #14205) by @brennanb2025 in #16201
  • Sta 5355 automations failed due to orca product issue by @AmethystLiang in #16310
  • Split monolithic PTY IPC module into organized submodules by @AmethystLiang in #15172
  • perf(renderer): project terminal topology consumers by @nwparker in #16171
  • perf(renderer): incrementally index terminal tab owners by @nwparker in #16172
  • perf(renderer): gate runtime store projections by @nwparker in #16173
  • build(windows): refuse a node-pty that cannot own a PTY tree by @nwparker in #16064
  • ci(windows): run the PTY IPC suites on the Windows runner by @nwparker in #16068
  • feat(agent-status): add the pane agent identity resolver by @brennanb2025 in #16157
  • feat(workspace-cleanup): blockers become labels, not refusals by @brennanb2025 in #16282
  • fix(sidebar): stop reporting an interrupted agent as done (STA-5357) by @brennanb2025 in #16312
  • fix(crash-reporting): scope renderer crash evidence by @Jinwoo-H in #16313
  • fix(popover): use non-passive wheel listener by @brennanb2025 in #16309
  • perf(renderer): narrow appearance store subscriptions by @nwparker in #16322
  • fix(relay): gate relay control work on proven broker liveness by @nwparker in #16021
  • fix(windows): attach interactive login children to the console input device by @brennanb2025 in #15822
  • Keep sidebar position when deleting active worktree by @nwparker in #16040
  • fix(rate-limits): safely surface Codex RPC exit reasons by @nwparker in #16023
  • Fix deleted remote worktree reappearing due to host ID mismatch by @OrcaWin in #16039
  • fix(terminal): stop stale multiplex stream handles from swallowing input by @AmethystLiang in #16325
  • fix(agent-resume): stop ghost resume tabs after finished turns by @Jinwoo-H in #16308
  • test(pty): pin the renderer-liveness guard STA-2373 relies on (STA-5373) by @nwparker in #16345
  • fix(startup): stop the PATH seed pinning nvm to its newest install by @nwparker in #16314
  • refactor(cli): split orchestration handlers by domain by @nwparker in #16139
  • refactor provider clients into domain modules by @nwparker in #16168
  • Refactor GitHub store slice into cohesive modules by @nwparker in #16183
  • Refactor terminal RPC methods into cohesive modules by @nwparker in #16188
  • refactor(relay): split relay entrypoints by @nwparker in #16151
  • refactor Git repository host boundaries by @nwparker in #16177
  • refactor(renderer): split web preload API by @nwparker in #16181
  • Refactor terminal store slice into cohesive modules by @nwparker in #16184
  • refactor(renderer): split IPC event bridges by @nwparker in #16185
  • Refactor agent hook listener into cohesive modules by @nwparker in #16187
  • Refactor loading Store into cohesive domains by @nwparker in #16192
  • refactor GitHub backend modules by @nwparker in #16194
  • refactor(feature-wall): split animated browser and terminal stories by @nwparker in #16142
  • refactor settings maintenance modules by @nwparker in #16169
  • refactor Linear workspace surfaces by @nwparker in #16332
  • fix(crash-reporting): stop destroying user crash notes by @nwparker in #15252
  • feat(orcad): add headless browser providers by @nwparker in #16193
  • fix(mobile): preserve relay close recovery codes by @Jinwoo-H in #16293
  • refactor(daemon): split oversized PTY services by @nwparker in #16160
  • Refactor GitHub Project surfaces and mutations by @nwparker in #16166
  • Refactor worktrees IPC into cohesive modules by @nwparker in #16190
  • build(windows): drop the packaged node-pty prebuild that can silently replace the patch by @nwparker in #16350
  • fix(terminal): stop OMP tab title flapping between OMP and Pi by @nwparker in #16373
  • build(orcad): gate orcad's own graph, and prove it loads under plain Node by @nwparker in #16368
  • fix(terminal): give OMP Pi's Windows Shift+Enter encoding by @nwparker in #16376
  • fix(cli): spawn a version-manager CLI with its own node runtime by @nwparker in #16365
  • Add workspace search and improve installation target UI by @AmethystLiang in #16380
  • Add background color to search button in sidebar by @AmethystLiang in #16130
  • fix(lint): exempt verbatim-moved code from the changed-lines quality gate by @nwparker in #16359
  • test(linear): pin project out of the hydration-preserved field set by @nwparker in #16364
  • refactor workspace lifecycle modules by @nwparker in #16334
  • fix(i18n): localize the keep-awake corner chip by @innocarpe in #14775
  • fix(orcad): answer host paths honestly and ship the watcher child by @nwparker in #16369
  • fix(cli): pair every resolved CLI with its runtime, and ratchet it by @nwparker in #16383
  • refactor(renderer): split composer state by @nwparker in #16182
  • refactor agent config and auth services by @nwparker in #16195
  • fix(lint): match moved code by ordered near-match, not strict contiguity by @nwparker in #16385
  • fix(orchestration): derive inject's agent guidance from the recognized-agent roster by @nwparker in #15874
  • test(cli): ratchet the exec/fork family, not just spawn by @nwparker in #16390
  • refactor workspace composer and Jira state modules by @nwparker in #16196
  • fix(ssh): restore the reconnect model-paint gate dropped by #15166 by @brennanb2025 in #16361
  • Refactor mobile home, worktree modal, and RPC client by @nwparker in #16165
  • fix(daemon): let PTY inventory recover from a dead terminal host by @nwparker in #16363
  • fix(linear): make new-issue dialog popovers scrollable by @GagaKor in #16382
  • fix(crash-reporting): correlate concurrent process deaths instead of blaming the renderer by @nwparker in #15251
  • refactor(editor): split notebook, editor, and external-watch surfaces by @nwparker in #16143
  • refactor source-control AI modules by @nwparker in #16179
  • refactor Electron facilities modules by @nwparker in #16333
  • refactor(checks): split panel responsibilities by @nwparker in #16186
  • refactor(renderer): split repos store slice by @nwparker in #16191
  • refactor(rate-limits): split Codex and Claude fetchers by @nwparker in #16140
  • refactor terminal coordination modules by @nwparker in #16335
  • refactor runtime Git bridges by @nwparker in #16189
  • refactor runtime contracts and web transports by @nwparker in #16197
  • perf(git): make local Git metadata observation event-driven (no scheduler) by @nwparker in #16404
  • refactor(ipc): split repos.ts into focused modules by @nwparker in #16392
  • refactor(git): split status.ts into focused source-control modules by @nwparker in #16393
  • fix(terminal): stop Orca mangling the OMP/Pi title it writes itself by @nwparker in #16381
  • refactor(ipc): split ssh.ts into focused modules by @nwparker in #16394
  • refactor(git): split runner.ts into focused command-runner modules by @nwparker in #16395
  • fix(cli): seed nvm's default version, not the newest install by @nwparker in #16420
  • Deleting skill by @AmethystLiang in #16357
  • fix(browser): focus unified tab on browser page palette activation by @AmethystLiang in #16366
  • docs(AGENTS): add code-reuse guidance and verification commands by @AmethystLiang in #16451
  • fix(remote): stop an empty host inventory settling the mirror by @brennanb2025 in #16414
  • fix(native-chat): stop the spinner on a not-yet-flushed transcript by @brennanb2025 in #16493
  • STA-4150: client-hosted remote browser (consolidated) by @Jinwoo-H in #15448
  • test(perf): warm palette matcher before timing by @brennanb2025 in #16500
  • fix(native-chat): retire chat echoes whose transcript row carries the TUI clear byte by @brennanb2025 in #15656
  • fix(mobile): recover Relay connections after resume by @Jinwoo-H in #16498
  • fix(sidebar): preserve hidden rows in manual order by @Jinwoo-H in #16488
  • fix(mobile): avoid unsupported Hermes array sorting by @brennanb2025 in #16506
  • perf(github): stop re-spawning the repo-identity probe every 30 seconds by @nwparker in #16450
  • fix(sleep): restore agent auto-hibernation for non-Pi agents by @brennanb2025 in #16430
  • style(github): trim repo identity cache comments by @nwparker in #16517
  • fix(crash-reporting): see the renderer memory the heap counters never report by @nwparker in #16449
  • perf(git): only schedule the upstream-ref poll for the repo that has one by @nwparker in #16443
  • Add clickable See more button to palette section overflow hints by @AmethystLiang in #16533
  • fix(windows): revalidate PTY liveness from the job object, not a forked helper by @nwparker in #16419
  • ci: rename cross-platform adhoc workflow by @nwparker in #16536
  • fix(updater): surface and degrade renderer shutdown checkpoint failures (STA-5505) by @brennanb2025 in #16497
  • refactor(task-page): split task page into focused modules by @AmethystLiang in #15163
  • fix(ssh): stop claiming a host was removed before its tombstone label arrives by @nwparker in #16452
  • fix: sync tab-cycle shortcuts with rendered group order by @AmethystLiang in #16549
  • Route terminal file links to sibling workspace tabs by @AmethystLiang in #16544
  • Clarify upstream divergence stats for rebased branches by @AmethystLiang in #16358
  • fix(mobile): retain relay during brief backgrounding by @Jinwoo-H in #16543
  • fix(contextual-tours): stop measuring 60 times a second while nothing moves by @nwparker in #16453
  • fix(windows): restore a CIM fallback for relay hosts with no native binding by @AmethystLiang in #16550
  • fix(worktrees): refresh paired clients after external discovery by @Jinwoo-H in #16557
  • fix(automations): scope project refs to destination host by @Jinwoo-H in #16552
  • fix(ui): restore the light-mode dropdown shadow by @nwparker in #16570
  • fix(worktree): stop push-target rollback deleting a sibling's remote by @nwparker in #16569
  • test: pin cross-version browser placement test to explicit baseline by @AmethystLiang in #16554
  • fix(windows): let a build with no job exports still retire a dead agent by @nwparker in #16563
  • fix(terminal): stop detached exit observers pinning evicted panes' xterm buffers by @nwparker in #16551
  • fix(settings): use Workspace Directory for the Create-project default path (#14767) by @nwparker in #16583
  • docs(windows): correct why the process-tree addon is not installed on relay hosts by @nwparker in #16565
  • perf(terminal): stop rebuilding parked-watcher keys on every overlay render by @nwparker in #16596
  • perf(sleep): park idle agents in the worktree you are working in (#16211) by @nwparker in #16591
  • fix(terminal): blur every suspended pane, not just the retained ones by @nwparker in #16592
  • perf(windows): ship the native process table to Windows relay hosts by @nwparker in #16598
  • test(git): isolate worktree-shared-directories git config portably (#15409) by @nwparker in #16582
  • fix(terminal): stop routing unowned workspaces to the focused runtime environment by @nwparker in #16584
  • Show all automations by @AmethystLiang in #16532
  • docs: remove tracked design plans by @AmethystLiang in #16663
  • feat(i18n): localize CLI-created workspace labels to Korean by @hwantage in #16212
  • fix(native-chat): stop rendering a tool result whose call is outside the window by @brennanb2025 in #15653
  • fix(grok): stop Orca's Grok hooks from costing anything outside Orca by @brennanb2025 in #16666
  • fix(orchestration): enforce nested worker depth instead of an accidental fence by @brennanb2025 in #16668
  • fix(relay): survivable mobile pairing recovery + desktop assign rate gate by @Jinwoo-H in #16659
  • Improve automations table layout and column sizing by @AmethystLiang in #16667
  • fix(agent-hooks): stop the Windows hook launcher spelling the AV-denied flag triple by @nwparker in #16576
  • Shift+Tab to unindent lists and code blocks by @AmethystLiang in #16677
  • Show all automation destination hosts, disable ineligible ones by @AmethystLiang in #16665
  • test(agent-status): inventory legacy pane identity surfaces by @brennanb2025 in #16575
  • fix(codex): preserve WSL account home trust by @brennanb2025 in #16496
  • fix(pty): match the echo shapes a real tty actually produces by @nwparker in #16542
  • fix(git): chunk bulk pathspec operations by command-line length, not file count by @nwparker in #16634
  • i18n: Make skill install dialogs and errors translatable by @OrcaWin in #16682
  • fix(browser): retire helpers with page owners by @Jinwoo-H in #16564
  • fix(runtime): cancel pending driver timers on desktop reclaim by @brennanb2025 in #16337
  • fix(terminal): bound WebGL context-loss retries on tab reveal by @brennanb2025 in #16338
  • fix(cmd+j): always enable See more for soft preview hints by @AmethystLiang in #16661
  • fix(codex): stop re-scanning all Codex session history on every launch (#16251) by @nwparker in #16593
  • fix(memory): report the Windows number that predicts paging, not just resident pages (#16211) by @nwparker in #16589
  • perf(source-control): stop re-running every git read on each file selection (#15036) by @nwparker in #16600
  • fix(windows): keep windows-process-tree gyp paths absolute under pnpm by @nwparker in #16688
  • feat(orchestration): surface nested worker depth and propagate it across hosts by @brennanb2025 in #16669
  • fix(terminal): size the pre-Enter wait to what the host actually ingests (#15925) by @nwparker in #16586
  • fix(agent-prompt): stop reporting delivered prompts as stalled (#16095) by @nwparker in #16590
  • fix(codex): stop blocking the main thread on trust grants (#16441) by @nwparker in #16594
  • fix(browser): bound the agent-browser daemon's life instead of hoping teardown runs (#16367) by @nwparker in #16588
  • refactor(codex): make WSL account surfaces direct-home aware by @brennanb2025 in #16499
  • fix(native-chat): anchor an unmatched chat echo where it was sent by @brennanb2025 in #16117
  • fix(workspace-cleanup): show git status for every row by @brennanb2025 in #16690
  • fix(mobile): reset recycled paragraph layout before reuse by @brennanb2025 in #16692
  • Reset stale terminal modes after dead TUI replay by @Jinwoo-H in #16379
  • fix(codex): launch WSL accounts from direct homes by @brennanb2025 in #16504
  • Prevent duplicate file renames when input unmounts after Enter by @AmethystLiang in #16719
  • refactor(codex): remove WSL runtime mirror machinery by @brennanb2025 in #16505
  • fix(remote): gate empty session inventory on host authority by @Jinwoo-H in #16546
  • fix(crash-reporting): stop discarding the whole module list on POSIX dumps by @nwparker in #16687
  • fix(agents): submit-retry Enter for codex composer by @AmethystLiang in #16689
  • fix(editor): constrain image previews before load instead of laying out at natural size by @nwparker in #16686
  • Revert "fix(codex): launch WSL accounts from direct homes" and "refactor(codex): remove WSL runtime mirror machinery" (#16504, #16505) by @AmethystLiang in #16722
  • fix(agent-hooks): deliver hook events that fire while Orca is restarting (STA-5329) by @brennanb2025 in #16685
  • fix(terminal): route Enter to focused split pane by @brennanb2025 in #16705
  • fix(worktrees): resolve id: worktree selectors by path equivalence (#16243) by @LesleyMurfin in #16494
  • fix(ai-vault): stop a whole opencode.db failure reading as one skipped transcript by @nwparker in #16587
  • feat(orcad): items 2–7 — degradation, natives, daemon, ops, deploy by @nwparker in #16398
  • fix(cursor): emit Cursor-contract JSON from managed hooks by @brennanb2025 in #15651
  • Suppress default quit on window-all-closed in DNS probe by @AmethystLiang in #16683
  • Open target=_blank links and unnamed popups in new Orca tabs by @AmethystLiang in #16720
  • Add terminal unavailability exports to parity test by @AmethystLiang in #16810
  • feat(diagnostics): name the code driving a React commit cascade by @AmethystLiang in #16730
  • fix(workspace-cleanup): color review pills by PR/MR state by @brennanb2025 in #16726
  • fix(agent-hooks): stop the Windows hook launcher spelling the AV-denied flag pair (STA-5237) by @brennanb2025 in #16739
  • fix(windows): stop a wedged process-table reader retaining a callback per cooldown by @brennanb2025 in #16696
  • Fix concurrent daemon spawn recovery after disconnect by @brennanb2025 in #16818
  • fix(agent-hooks): post posix payloads as json by @xianjianlf2 in #11292
  • Normalize project catalog rows defensively by @AmethystLiang in #16826
  • fix(codex): heal WSL hooks before typed launches by @brennanb2025 in #16535
  • Always enable Tasks button and provider shortcuts by @AmethystLiang in #16838
  • Allow select-all shortcuts in quick command dialogs by @AmethystLiang in #16851
  • Allow drag to reorder tabs on floating workspace by @AmethystLiang in #16828
  • fix(macos): opt out of press-and-hold so held keys repeat (#14746) by @nwparker in #15589
  • feat(browser-preview): render remote HTML docs locally over an orca-preview scheme (STA-5557) by @Jinwoo-H in #16679
  • fix(routing): resolve unstamped local worktrees to the local host (STA-5683) by @brennanb2025 in #16841
  • test(pty): pin terminal query-reply order; align one renderer call site by @brennanb2025 in #16862
  • Fix STA-5661: prevent rolldown const-folding of bridged exports by @AmethystLiang in #16869
  • fix(mobile): report composing state from accessory backspace by @nwparker in #16757
  • Fix worktree identity collisions across hosts by @nwparker in #16691
  • fix(orchestration): prevent slow worker-start stalls by @brennanb2025 in #16300
  • fix(native-chat): separate image attachment paths from following prompt text (STA-4993) by @brennanb2025 in #15820
  • Fix terminal reads that flatten composer drafts into output by @brennanb2025 in #16711
  • fix(ai-vault): index Cline sessions by @brennanb2025 in #16814
  • test(main): isolate deferred worktree watcher setup by @brennanb2025 in #16836
  • fix(source-control): allow an empty AI-generated PR description in Create PR by @nwparker in #16873
  • feat(settings): name the agents the Chat UI supports by @brennanb2025 in #16830
  • fix(orchestration): route @agent messages by resolved identity, not terminal title by @brennanb2025 in #16237
  • fix(mobile): honor host worktree create retention by @brennanb2025 in #16342
  • test(terminal): pin that Hangul is two cells under every unicode provider by @nwparker in #15477
  • fix(terminal): compose iPadOS Hangul by holding the syllable in the renderer (#13345) by @nwparker in #15480
  • Speed up PR CI with path skips, native caches, and fewer shards by @nwparker in #16863
  • Add coverage for skill lock release and fix WebRTC test flakiness by @AmethystLiang in #16846
  • Refactor lower max-lines modules by @nwparker in #16760
  • Split port scanning and terminal helpers by @nwparker in #16765
  • revert: feat(browser-preview): render remote HTML docs locally over an orca-preview scheme (#16679) by @AmethystLiang in #16892
  • Split Hermes cron run history by @nwparker in #16766
  • fix(orchestration): settle worker release without web layout state by @brennanb2025 in #16842
  • Extract speech lifecycle and editor animation modules by @nwparker in #16767
  • Split Jira issue workspace presentation by @nwparker in #16769
  • Support nested toggles as editable blocks with recursion guards by @AmethystLiang in #16861
  • Add copy buttons to check run details sections by @AmethystLiang in #16884
  • Split Linear issue service by operation by @nwparker in #16770
  • Update Android download links to 0.0.46 by @AmethystLiang in #16899
  • Split onboarding flow controller by @nwparker in #16774
  • Extract terminal output scheduler subsystems by @nwparker in #16775
  • Extract daemon launch path helpers by @nwparker in #16777
  • Extract local PTY launch helpers by @nwparker in #16778
  • Extract mobile host and browser helpers by @nwparker in #16779
  • Extract GitLab dialog presentation parts by @nwparker in #16780
  • fix(fork-sync): address runtime repos by main worktree id, not repo id by @nwparker in #16876
  • Extract CDP auxiliary commands by @nwparker in #16781
  • Prime native caches before PR test fanout by @nwparker in #16918
  • test(editor): cover check run details copy actions by @AmethystLiang in #16925
  • fix(mobile): stop held accessory keys after release under latency by @brennanb2025 in #14219
  • Add parent worktree selection when creating workspace by @AmethystLiang in #15420
  • ci(e2e): trigger the Docker-SSH lane from SSH source and forbid unclaimed specs by @nwparker in #16746
  • fix(remote-workspace): restore a wire field the snapshot normalizer silently dropped by @nwparker in #16747
  • fix(remote-workspace): host silence must not delete a local row it was never told about by @nwparker in #16748
  • fix(terminal): don't seed or resume while the execution host hasn't answered by @nwparker in #16750
  • fix(ssh): a reattach may bind a pane but never create one by @nwparker in #16751
  • fix(terminal): a close the host never heard must survive the reconnect by @nwparker in #16752
  • fix(ssh): a relay that reports a PTY absent must authorise a fresh spawn by @nwparker in #16763
  • fix(terminal): stop declaring direct-SSH hidden output lost when the host is merely slow by @nwparker in #16941
  • fix(remote): re-probe host status after a shared-control reconnect by @nwparker in #16942
  • Display host on automation details and dialog by @AmethystLiang in #16823
  • fix(claude-usage): bill 1-hour cache writes at 2x base input by @nwparker in #16878
  • Run Node 26 compatibility daily instead of per PR by @nwparker in #16946
  • fix(i18n): use 工作树 consistently for parent worktree strings in zh locale by @AmethystLiang in #16954
  • fix(window): stop will-navigate from blocking the lazy-chunk recovery reload by @nwparker in #16944
  • fix(react): break three drivers of the React #185 commit cascade by @nwparker in #16940
  • feat(browser-preview): reland remote HTML document previews (STA-5758) by @Jinwoo-H in #16920
  • fix(browser-preview): require explicit preview capabilities (STA-5758) by @Jinwoo-H in #16921
  • feat(mobile): add causal network diagnostics by @Jinwoo-H in #16837
  • fix(release): stabilize native builds across CI platforms by @Jinwoo-H in #16947
  • fix(github): bound PR-refresh alias fan-out and hosted-review cache growth by @nwparker in #16943
  • fix(ssh): never claim authority over host tabs this client could not place by @nwparker in #16956
  • refactor(runtime-status): fold the reconnect re-probe into the refresh action by @nwparker in #16968
  • refactor(terminal): collapse the five inline remote-execution-host PTY idioms into isRemoteExecutionHostPtyId by @nwparker in #16967
  • Rename orphan task action by @AmethystLiang in #16976
  • fix(terminal): a restarted relay must not hand a new tab a dead PTY's exit by @nwparker in #16970
  • fix(session): defer session writes suppressed by a direct-SSH apply instead of dropping them by @nwparker in #16969
  • fix(browser-preview): enforce canonical runtime grants by @Jinwoo-H in #16975
  • feat(terminal): weight-layer forensics for the bold-collapse bug (STA-4042) by @brennanb2025 in #16868
  • fix(release): recover immutable patch validation gates by @Jinwoo-H in #16984
  • style: format codebase by @AmethystLiang in #16935
  • fix(release): trust Linux floor workspace by @Jinwoo-H in #16988
  • test(release): bound Windows skill budget fixture by @Jinwoo-H in #16992
  • fix(pty): stop fish printing a test error when codex is absent (#16893) by @erishforG in #16923
  • fix(gitlab): paginate TaskPage issues beyond 50 by @bbingz in #13538
  • docs(headless-server): fix package list, extraction perms, and ldd command by @nwparker in #17002
  • docs(env-recipes): warn that snapshotting a started runtime bakes its identity by @nwparker in #17001
  • feat(editor): add "Open anyway" for oversized rich Markdown files (#16964) by @nwparker in #16971
  • fix(terminal): stop park-verdict oscillation remounting a pane at commit cadence (#15136) by @nwparker in #17009
  • fix(ssh): replay an undelivered remote PTY stop on the next handshake (#12447 item 1) by @nwparker in #17011
  • fix(pty): key buffered pre-attach PTY exits on the incarnation, not a sequence fence by @nwparker in #17010
  • fix(relay): stop advertising an agent session for a pane whose tab is gone (#12447) by @nwparker in #17012
  • Change artifact link button wording by @AmethystLiang in #17037
  • fix(agent-hooks): stop test runs and secondary profiles deleting the user's agent hooks (STA-5679) by @brennanb2025 in #16980
  • Show ready and close actions for draft reviews by @brennanb2025 in #16889
  • fix(e2e): drop the pi-title spec's stale private Docker-SSH connect fork by @brennanb2025 in #17017
  • Fix GitLab MR management menu in Checks sidebar by @brennanb2025 in #16906
  • fix(remote): stop painting a disconnected host as connected by @brennanb2025 in #17050
  • Fix lost session-tab changes during initial census by @Jinwoo-H in #17064
  • Stop the OS keyring probe from gating the first window on Linux by @brennanb2025 in #16912
  • fix(sta-5781): stop cross-client resets of workspace view preferences by @Jinwoo-H in #17057
  • fix(ui): label agent state glyphs and swap monitoring to a heartbeat by @brennanb2025 in #16981
  • fix(mobile): create-worktree sheet dies after picking a source and loses the picked PR by @brennanb2025 in #16917
  • Fix Windows daemon host pruning on unverifiable liveness by @brennanb2025 in #16908
  • Never let a non-owning provider answer a PTY presence question false during the daemon swap window by @brennanb2025 in #16953
  • feat(native-chat): Codex structured native chat restructure by @brennanb2025 in #16729

New Contributors

Full Changelog: mobile-android-v0.0.44...mobile-android-v0.0.47

Don't miss a new orca release

NewReleases is sending notifications on new releases.