Orca Mobile Android mobile-android-v0.0.47
Pre-release
Pre-release
·
380 commits
to main
since this release
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
- @coelho-doti made their first contribution in #13067
- @GagaKor made their first contribution in #16382
Full Changelog: mobile-android-v0.0.44...mobile-android-v0.0.47