What's Changed
- Keep the floating workspace above a working native chat pane by @brennanb2025 in #18692
- feat(relay-infra): dynamic NAT ports and alerts for the 2026-09-04 stall signals by @Jinwoo-H in #18693
- fix(orca-profiles): tell the renderer when a cloud session is revoked by @Jinwoo-H in #18694
- feat(relay): tell the phone when its desktop is signed out by @Jinwoo-H in #18698
- perf(orchestration): bound the worker terminal archive in linear time by @nwparker in #18622
- fix(startup): apply the HTTP/1.1 compatibility toggle for migrated profiles, and stop parsing the settings file pre-ready by @nwparker in #18621
- perf(git): overlap the three independent submodule status reads by @nwparker in #18623
- test(renderer): pin the runtime-target selector identity stability that #18685 fixed by @nwparker in #18625
- perf(terminal): stop copying every PTY chunk for two startup-error detectors by @nwparker in #18626
- perf(terminal): gate the Command Code banner scan before building its scan windows by @nwparker in #18628
- perf(editor): build the closing-fence pattern once per fence, not once per line by @nwparker in #18629
- perf(right-sidebar): cache the active checks status instead of rebuilding its cache keys per store write by @nwparker in #18631
- perf(renderer): stop two store selectors allocating on every write by @nwparker in #18632
- perf(source-control): stop reconciling selection on every panel render by @nwparker in #18637
- perf(sidebar): stop building host projections the row model throws away by @nwparker in #18638
- perf(agent-hooks): find spool newlines with Buffer.indexOf, not a per-byte loop by @nwparker in #18639
- perf(claude-usage): reject non-assistant transcript lines before parsing them by @nwparker in #18640
- perf(orchestration): project task columns so task reads hit the statement cache by @nwparker in #18641
- perf(agent-hooks): stop cloning the whole status roster on every hook event by @nwparker in #18642
- perf(sidebar): share one natural-worktree-id scan and drop a redundant row-key join by @nwparker in #18647
- perf(terminal): use real event-loop yields between chunked writes by @nwparker in #18627
- perf(settings): commit free-text account settings on a debounce, not per keystroke by @nwparker in #18651
- feat(relay-infra): cell crash-rate alert and incident dashboard by @Jinwoo-H in #18717
- feat(relay): let cells dial Cloud SQL over private IP by @Jinwoo-H in #18720
- fix(desktop): never replay a refresh token after a timeout; jitter relay lease renewal by @Jinwoo-H in #18719
- perf(ports): serve unchanged macOS listeners from remembered metadata by @nwparker in #18650
- refactor(agent-session-journal): move the session journal onto SQLite by @brennanb2025 in #18652
- fix(relay-ops): a thrown health fetch is not a health reading; auth probe does not require /ready by @Jinwoo-H in #18723
- fix(agents): detect agent CLIs installed outside a version manager by @nwparker in #18336
- perf(relay): per-cell inventory locks, delta counters, and a pool statement timeout by @Jinwoo-H in #18722
- fix(worktrees): stop a failed worktree scan from being recorded as an authoritative empty listing by @nwparker in #18456
- fix(native-chat): clarify active progress by @brennanb2025 in #18705
- fix(browser-pane): stop a dead client-hosted guest from killing the workbench by @nwparker in #18334
- feat(claude): move structured native chat onto the Claude Agent SDK and enable it on macOS and Linux by @brennanb2025 in #18560
- Fix Smart create retaining a task checkout hash with Create more by @nwparker in #18727
- infra(relay): drop the unapplied region label from runtime log metrics by @Jinwoo-H in #18734
- feat(native-chat): expose split and move-to-pane actions in Chat UI mode by @brennanb2025 in #18714
- fix(ui): unmount project selector before Add Project handoff by @Jinwoo-H in #18730
- fix: show agent commands once without startup polling by @nwparker in #18729
- fix(crash-reporting): make the own-Chromium gate a real choke point, and stop a refusal leaking the root by @nwparker in #18459
- chore: update in-app Android APK link to 0.0.47 by @AmethystLiang in #18745
- Answer the structured-session support probe without installing the host by @brennanb2025 in #18695
- fix(native-chat): render Claude structured chat through the same UI as Codex by @brennanb2025 in #18743
- fix(orchestration): fence the dispatch CLI preamble so it stops rendering as headings by @brennanb2025 in #18718
- fix(relay-ops): retry a failed MIG inventory read once before calling a cell's power state unknown by @Jinwoo-H in #18740
- fix(relay-ops): accept monitor evidence from an ancestor commit with identical monitor code by @Jinwoo-H in #18754
- fix(terminal): stop a hidden pane's unmeasured 80x24 from overwriting a live PTY's size on reattach by @Jinwoo-H in #18706
- fix: use fallback shell readiness and assert fish startup timing by @nwparker in #18755
- fix(relay-ops): retry transient admin-endpoint failures in same-cap verify and rehome jobs by @Jinwoo-H in #18769
- fix(native-chat): make document paths and links clickable in chat by @brennanb2025 in #18712
- fix(native-chat): tell old mobile builds why a structured chat is missing by @brennanb2025 in #18756
- fix(relay-ops): retry freshness-only preflight failures on the first same-cap wave too by @Jinwoo-H in #18778
- fix(browser): match loading surfaces to the Orca theme by @Jinwoo-H in #18738
- fix(browser): present Electron's own user agent so Cloudflare Turnstile clears by @Jinwoo-H in #18749
- fix(relay-ops): align the cloud-data freshness bar with Cloud Monitoring publish lag by @Jinwoo-H in #18798
- ci(package): retry apt fetches and docker builds behind the Ubuntu mirror by @nwparker in #18797
- docs(relay): correct why the ConPTY teardown asset diverges from the desktop patch by @nwparker in #18636
- fix: recover from an alternate shell install, and close the relay duplicate-echo gap by @nwparker in #18796
- feat(mobile): port the restructured native-chat turn status and live tool progress by @brennanb2025 in #18761
- perf(persistence): stop the session write re-scanning and rebuilding unchanged state by @nwparker in #18739
- feat(native-chat): render agent file edits as inline diff cards by @brennanb2025 in #18765
- fix(recovery): fail a renderer recovery reload that never loads, instead of leaving a dead window by @nwparker in #18466
- fix(ssh): compile node-pty from the host's own Node headers instead of nodejs.org (STA-6674) by @nwparker in #18774
- Bump mobile app.json to 0.0.48 by @brennanb2025 in #18801
- fix(sidebar): confirm filter reset before revealing active workspace by @nwparker in #18708
- perf(terminals): let idle panes share one process-table capture instead of forking their own by @nwparker in #18742
- perf(native-chat): stop rebuilding every transcript row on every stream frame by @nwparker in #18744
- perf(terminal): skip the partial-escape-tail walk on ESC-free PTY chunks by @nwparker in #18748
- perf(renderer): index four projections that rescanned their inputs per keystroke by @nwparker in #18747
- Show Claude background task status in Native Chat by @brennanb2025 in #18757
- fix(sidebar): stop ⌘⇧↓ worktree navigation jumping to the first row by @nwparker in #18804
- perf(persistence): skip rewriting unchanged terminal scrollback snapshots by @nwparker in #18764
- fix(agent-session): refuse a pre-commit structured create with an envelope by @brennanb2025 in #18697
- perf(relay): bound the symlink directory probes a remote readDir fans out by @nwparker in #18752
- perf(terminal): cheap-tier process inspection for anchored local agent panes by @nwparker in #18780
- fix(ssh): let the host say whether it armed the shell-ready marker by @nwparker in #18802
- fix(native-chat): say when a structured launch fell back to a terminal by @brennanb2025 in #18762
- fix(test): stop detached git maintenance racing the divergence fixture teardown by @nwparker in #18810
- fix(cloud): let the same-cap roll isolate Asia cells by @Jinwoo-H in #18811
- fix(renderer): stop a Node-only process-table module blanking the app at boot by @nwparker in #18814
- feat(i18n): localize onboarding flow to Japanese by @tb-soshiro in #18787
- fix(cloud): validate protocol-0 same-cap cell plans without rehome trust lines by @Jinwoo-H in #18818
- perf(worktree): skip remote probes with no possible result by @nwparker in #18821
- fix(native-chat): stop a settling handoff throwing an unhandled rejection at teardown by @nwparker in #18824
- fix(claude): make the recovery barrier cover an exit still climbing the close ladder by @nwparker in #18826
- Reduce minimum tab width from 88px to 72px by @AmethystLiang in #18871
- perf(automations): reuse collation setup when sorting names by @nwparker in #18823
- fix(relay-ops): per-region cell latency bar and attributable preflight failures by @Jinwoo-H in #18877
- test(e2e): follow current sidebar project and activity actions by @nwparker in #18878
- fix(runtime): bound terminal-wait blocked-prompt rules to the live screen bottom by @Jinwoo-H in #18817
- test(e2e): fence SSH recovery and release exited Electron pipes by @nwparker in #18880
- feat(perf): lint repeated sort setup and schedule regression contracts by @nwparker in #18822
- feat(native-chat): label Codex tool rows by what the command actually did by @brennanb2025 in #18760
- test: preserve Docker context in isolated VM recipes by @nwparker in #18884
- Fix favicon retention across same-origin navigations by @AmethystLiang in #18879
- test: isolate native crash restoration and refresh stale fixtures by @nwparker in #18883
- test: pin worker visibility fixture command and handle by @nwparker in #18897
- feat(cli): report SSH host platforms by @nwparker in #18896
- test: canonicalize setup fixture paths before worktree lookup by @nwparker in #18912
- perf(worktree): remove redundant creation and terminal startup work by @nwparker in #18793
- test: align desktop platform oracles with native behavior by @nwparker in #18915
- test: follow sidebar reveal confirmation with a stable workspace target by @nwparker in #18921
- feat(native-chat): model Codex MCP and web-search items instead of leaking opcodes by @brennanb2025 in #18763
- fix(native-chat): publish structured session status from the host so the sidebar never goes stale by @brennanb2025 in #18776
- feat(native-chat): stop monitored tasks individually by @brennanb2025 in #18807
- fix(native-chat): tell a pre-SQLite chat how to carry on by @brennanb2025 in #18808
- fix(agent-session): never open a sibling terminal on an unproven create by @brennanb2025 in #18735
- refactor(agent-session): consolidate wire type imports below lint limit by @nwparker in #18930
- test(e2e): stabilize terminal launch and rename menu fixtures by @nwparker in #18928
- fix(automation): keep explicit background launches off screen by @nwparker in #18898
- feat(automations): restore column sorting on the list by @nwparker in #18885
- test: pin terminal Codex home to an explicit managed account by @nwparker in #18935
- test: deliver real terminal input and preserve setup reports by @nwparker in #18939
- test: isolate skill cloud fixture ports across workers by @nwparker in #18942
- test: align Source Control AI generation fixtures by @nwparker in #18941
- ci: reduce runner overhead and disposable package compression by @nwparker in #18948
- test: keep artifact share fixtures unexpired across calendar dates by @nwparker in #18955
- docs(relay): 2026-09 reconnect findings, checklist, roadmap, and Roll 2 plan by @Jinwoo-H in #18958
- test: make SSH artifact regression fixtures reliable at narrow widths by @nwparker in #18947
- test: order restart fixture readiness around daemon recovery by @nwparker in #18949
- fix(orchestration): typed error codes for dispatch and worker-start refusals by @Jinwoo-H in #18902
- ci: skip idle Mac allocations and redundant native compiler setup by @nwparker in #18954
- test: isolate Source Control generation from shared repository remotes by @nwparker in #18962
- fix(relay): abandon dead client accepts, jitter and lengthen the control lease, fail direct probes fast by @Jinwoo-H in #18959
- fix(hooks): register the Claude hook script directly on Windows (#18875) by @OrcaWin in #18905
- fix(ci): store vetted refs in a reftable so case-twin branches don't fail the fetch by @nwparker in #18970
- test: drain project menu focus restoration before teardown by @nwparker in #18971
- ci: reduce dependency, checkout, and test deadline overhead by @nwparker in #18968
- ci: preserve case-twin release refs through checkout and verify trust by @nwparker in #18980
- test: honor background mode in paired client window helpers by @nwparker in #18978
- test: bound release checkout fixtures and gate delayed imports by @nwparker in #18981
- fix(native-chat): repair a structured chat tab permanently fenced by an inherited publication epoch by @brennanb2025 in #18906
- ci: expose existing E2E spec selection for manual dispatch by @nwparker in #18987
- test: isolate window mocks from inherited launch flags by @nwparker in #18989
- test: match explorer filenames independently of git badges by @nwparker in #18997
- test: synchronize large repository recovery with Retry request by @nwparker in #18999
- perf(relay): drain fragmented frame buffers in linear time by @nwparker in #18891
- perf(repos): avoid quadratic icon source scans by @nwparker in #18892
- perf(browser): assemble fragmented tunnel frames once by @nwparker in #18893
- perf(editor): reuse Markdown source blocks while positioning review notes by @nwparker in #18895
- perf(editor): reuse live Markdown search matches across unrelated renders by @nwparker in #18903
- perf: decode fragmented CLI replies without repeated scans by @nwparker in #18909
- perf: avoid file-to-file scans when selecting deletion roots by @nwparker in #18913
- perf: find mobile Markdown placeholder prefixes in one scan by @nwparker in #18914
- perf: avoid repeated Quick Open exclusion string allocations by @nwparker in #18916
- perf: skip unrelated shared symlink probes during Git status by @nwparker in #18918
- perf: avoid splitting every path during file autocomplete by @nwparker in #18919
- perf: avoid rescanning emitted source in analysis guards by @nwparker in #18920
- perf(cli): skip feature formatters during help and error startup by @nwparker in #18923
- perf(explorer): remove redundant dotfile path filter allocation by @nwparker in #18929
- perf(watcher): skip remaining filesystem checks after cancellation by @nwparker in #18931
- perf(hooks): use native reverse search for transcript lines by @nwparker in #18936
- perf(skills): skip symlink probes beyond discovery depth by @nwparker in #18937
- perf(mobile): cancel direct probes when their owner stops by @nwparker in #18940
- perf(jira): preserve replacement attachment download singleflight by @nwparker in #18944
- perf(speech): reuse the model download idle timer by @nwparker in #18945
- perf(ssh): reuse and release relay startup buffers by @nwparker in #18953
- perf(ssh): reuse streamed response idle timers by @nwparker in #18956
- perf(browser): reuse decoded single-chunk upload buffers by @nwparker in #18960
- perf(tabs): index saved tab order during hydration repair by @nwparker in #18964
- perf(palette): reuse allowed quality arrays during matching by @nwparker in #18966
- perf: remember equivalent session tab source identities by @nwparker in #18976
- perf(cli): skip impossible typo distance comparisons by @nwparker in #18977
- fix(tests): stabilize divider viewport and pointer-capture event ordering by @nwparker in #19004
- fix(mobile): stop host streams after relay subscription cancellation by @nwparker in #18926
- fix(tests): provide a window manager for Linux Electron CI by @nwparker in #19007
- fix(windows): copy the daemon host exe verbatim instead of renaming it (MDE T1036) by @OrcaWin in #17865
- fix(computer-use): run the Windows runtime as one persistent helper by @OrcaWin in #17858
- fix(windows): drop EDR-flagged -ExecutionPolicy Bypass from encoded PowerShell by @OrcaWin in #17880
- fix(windows): read command lines from the kernel, not each process's PEB by @OrcaWin in #17886
- fix(windows): scan ports natively instead of encoded PowerShell by @OrcaWin in #17861
- fix(security): apply the Windows path-hardening ACL that never ran by @OrcaWin in #17884
- perf: avoid repeated whitespace scans in diagnostic redaction by @nwparker in #18908
- Improve notification view by @AmethystLiang in #18699
- test(child-process): lower DIRECT_IMPORTER_PIN to the ground two PRs took by @OrcaWin in #19009
- fix(windows): resolve npm/pnpm .cmd shims past cmd.exe by @OrcaWin in #17869
- test: lower child-process import pin after ACL migration by @nwparker in #19012
- Open open new link should not navigate away from current link by @AmethystLiang in #18873
- perf(windows): split the process table into two flag sets by @OrcaWin in #17866
- fix(release): stop shipping an unsigned elevate.exe on Windows by @OrcaWin in #18044
- fix(windows): sign the NSIS uninstaller via SignPath by @OrcaWin in #17868
- fix(tests): complete hidden SSH dialog exits during cleanup by @nwparker in #18993
- Support updating existing draft releases when regenerating notes by @AmethystLiang in #19014
- fix(windows): drop no-op -ExecutionPolicy Bypass from -Command spawns by @OrcaWin in #17873
- perf(search): assemble fragmented subprocess lines incrementally by @nwparker in #18973
- test: use a valid repo filter in workspace reveal coverage by @nwparker in #19017
- test: cover native X11 Hangul-plus-digit PTY bytes in CI by @nwparker in #19013
- Stop evicted and expired worktree preparations by @nwparker in #18951
- Let worktree creation proceed during stale preparation reclamation by @nwparker in #18967
- fix(release): revalidate draft state before patching generated notes by @AmethystLiang in #19019
- perf(worktree): overlap base refresh with prepared checkout by @nwparker in #18998
- test: await fresh inventory after headless terminal materialization by @nwparker in #19028
- fix(sidebar): stop a missed pointerup from hiding a remote host section by @nwparker in #19032
- test: wait for board pointer readiness before marquee selection by @nwparker in #19029
- fix(build): pin config/relay-assets LF so one release is one relay hash by @OrcaWin in #19024
- docs(relay): record Roll 2 phase 0/1 (code merge, image, director deploy) by @Jinwoo-H in #18979
- feat(github-projects): render Roadmap project views as a timeline by @NaoyaTatetsu in #17795
- fix(mobile): preserve iPad hardware keyboard focus by @ramarivera in #12772
- test: await reattach replay before checking mouse reset by @nwparker in #19039
- test: require recorded Git activity in polling regression by @nwparker in #19041
- fix(native-chat): resume a structured chat from Agent Session History by @OrcaWin in #18933
- fix(source-control): stack Retry below the too-many-changes message by @nwparker in #19037
- test: preserve Windows golden command failures by @nwparker in #19047
- test: canonicalize Windows fresh-profile fixture path by @nwparker in #19049
- test: repair Windows paste setup and newline expectations by @nwparker in #19050
- fix(source-control): stack the Create PR notice's settings link below its message by @nwparker in #19046
- test: align Windows shell icons with project runtime ownership by @nwparker in #19053
- test: exercise supported ConPTY keyboard protocol reset by @nwparker in #19054
- fix(native-chat): honor structured routing with saved options by @brennanb2025 in #19040
- fix(packaging): ship Claude agent SDK with desktop builds by @brennanb2025 in #19042
- test: reject unsupported app-server in golden agent fixture by @nwparker in #19056
- test: reject unsupported app-server in WSL golden stub by @nwparker in #19062
- test: canonicalize native Windows paths during repository teardown by @nwparker in #19064
- test: run real WSL terminal launch and paste in PR CI by @nwparker in #19072
- test: restore SSH bulk-open freeze coverage in headed CI by @nwparker in #19081
- test: enable direct and client-hosted SSH browser coverage by @nwparker in #19090
- test: reconnect after replacing same-ID runtime pairing by @nwparker in #19094
- test: enable Docker SSH browser network route coverage in CI by @nwparker in #19095
- docs(relay): Roll 2 cell roll record and checklist ticks by @Jinwoo-H in #19096
- test: repair nested SSH fixture after HUB restart by @nwparker in #19098
- test: enable localhost SSH terminal and hook journey in CI by @nwparker in #19097
- Bump mobile Android versionCode to 16 to match the 0.0.48 release by @brennanb2025 in #19101
- test: reuse authoritative SSH connection readiness in localhost fixture by @nwparker in #19102
- test: follow retained Activity sidebar during pane selection by @nwparker in #19107
- test: isolate source-control generation repositories per scenario by @nwparker in #19105
- test: cover SSH reattach replay and enable deterministic Codex CI by @nwparker in #19106
- fix(chat): stop terminal focus recovery from stealing Cmd+C in the Chat UI by @brennanb2025 in #18751
- Add persistent turn-scoped chat activity indicator by @brennanb2025 in #19044
- feat(orchestration): make multi-agent workflows durable by @Jinwoo-H in #16904
- fix(ssh-relay): daemon owns the endpoint credential; a losing start never rotates it by @Jinwoo-H in #19052
- Recover branch compare on visibility change by @AmethystLiang in #19021
- fix(codex): keep large app-server replies alive by @brennanb2025 in #18590
- docs(orchestration): never pick a worker model the user did not name by @Jinwoo-H in #19109
- feat(mobile): structured native Claude chat by @brennanb2025 in #18741
- Seed Cmd-J filter from sidebar scope by @AmethystLiang in #19036
- skills: rewrite and trim the seven non-orchestration guides (do not merge without Jinwoo) by @Jinwoo-H in #18724
- fix(ci): stop Android release notes exceeding the GitHub body limit by @brennanb2025 in #19114
- Update mobile 0.0.48 Android download links by @brennanb2025 in #19117
- fix(orchestration): keep worker lineage across app restart (STA-6366) by @Jinwoo-H in #19121
- fix(browser): select full URL on initial address bar click by @Jinwoo-H in #19118
- fix(windows): unblock structured native chat by exposing process creation time by @brennanb2025 in #18986
- Revert "skills: rewrite the seven non-orchestration guides to one outcome-first standard (#18724)" by @Jinwoo-H in #19126
- perf(store): keep the repo list's identity through workspace hydration by @nwparker in #19057
- perf(tabs): keep tab-model identity when reconciliation changed something else by @nwparker in #19063
- perf(mobile): skip the agent-status projection join when nothing changed by @nwparker in #19115
- perf(worktrees): stop worktree removal from replacing maps it never touched by @nwparker in #19058
- perf(selectors): stop two always-mounted selectors allocating per store write by @nwparker in #19113
- perf(terminals): stop closing a tab from replacing maps it never touched by @nwparker in #19060
- perf(terminals): keep shutdown maps' identity when there is nothing to clear by @nwparker in #19112
- perf(store): detect Zustand rerender churn the current audit cannot see by @nwparker in #19059
- fix(native-chat): stop seeding a stray terminal beside a chat create by @brennanb2025 in #19123
- Improve cmd j ranking by @AmethystLiang in #19005
- feat(native-chat): offer the link-action popover for chat links by @brennanb2025 in #19130
- fix(ui): keep source control headers readable in narrow sidebars by @nwparker in #19146
- fix(gh): log when gh/glab is killed at its deadline by @nwparker in #18555
- fix: restore the full sidebar agent row for structured native chat by @brennanb2025 in #19137
- fix(native-chat): suppress provider user echoes in Claude and Codex by @brennanb2025 in #19136
- fix(native-chat): settle a structured send the provider proves it received after the ack window by @brennanb2025 in #19140
- Show provider activity in chat turn tails by @brennanb2025 in #19055
- fix(ui): ignore the persistent workspace list when detecting overlays by @nwparker in #18881
- fix(windows): reject stale parent PID links in shutdown snapshots by @brennanb2025 in #19149
- fix(native-chat): auto-rename the workspace on a structured chat's first turn by @brennanb2025 in #19138
- Fix native chat completion sorting and restored activity timestamps by @brennanb2025 in #19144
- test: exercise packaged browser compatibility in scheduled CI by @nwparker in #19157
- test: refresh palette identities and structured-session journal fixtures by @nwparker in #19165
- fix(terminal): preserve ordinary foreground command names by @nwparker in #18882
- fix(cmd-j): pass browser tab ownership into palette search by @nwparker in #18925
- fix: keep macOS shell ownership proof within recovery budget by @nwparker in #18932
- fix: open editor rename after context menu releases focus by @nwparker in #18934
- fix: avoid starting browser helpers just to reset absent sessions by @nwparker in #18952
- fix: prefer retained provider snapshots during hidden terminal recovery by @nwparker in #18972
- fix: preserve overlay focus during terminal mounting and layout by @nwparker in #18982
- fix: preserve terminal command probes across control frames by @nwparker in #19006
- fix: preserve paired host sessions during startup residue cleanup by @nwparker in #18922
- fix: preserve renderer browser publication during client-hosted page updates by @nwparker in #18961
- fix: honor remote terminal insertion in the calling client by @nwparker in #18995
- fix: keep paired tab updates live after runtime terminal fallback by @nwparker in #19022
- fix: avoid credit deadlock during large SSH PTY recovery by @nwparker in #19026
- fix: recognize working WSL1 without a WSL2 kernel by @nwparker in #19061
- fix(ports): coalesce advertised URL refresh bursts by @nwparker in #19150
- perf(agent-status): stop no-op retirements rebuilding the retired-pane-key map by @nwparker in #19142
- perf(worktrees): stop worktree teardown replacing arrays and maps it never touched by @nwparker in #19145
- fix(cmd-j): remove duplicate browser ownership inputs by @nwparker in #19172
- fix: recognize the kimi-code process as the kimi agent by @Aladex in #18634
- fix: release floating terminal WebGL contexts while closed by @nwparker in #19000
- fix: fence browser recovery to attach inventory placements by @nwparker in #18910
- test: refresh paired palette host-qualified row locators by @nwparker in #19175
- test: cover native Wayland Hangul in isolated CI by @nwparker in #19174
- test(e2e): scope paired preview link checks to confirmation by @nwparker in #18924
- test: await rendered remote agent placement before checking mirrors by @nwparker in #18983
- test: scope selected runtime project assertions to the sidebar by @nwparker in #19003
- test: confirm running-command prompts when closing tabs by @nwparker in #18965
- Fix MiniMax China usage routing and credential handling by @weekbin in #14929
- fix(rate-limits): stop reporting Grok usage as 0% when the API omits the percent by @TimothyVang in #17936
- test: enable software WebGL for Linux CI headful specs by @nwparker in #19001
- test: restore snapshot path before draining hydration FIFO by @nwparker in #19186
- test: return paired browser state from the successful poll by @nwparker in #19189
- feat: real background push notifications for the mobile app (#8129) by @Jinwoo-H in #18554
- test: align worker recovery fixture with ownership policy by @nwparker in #19190
- feat(orchestration): orchestrate native-born structured chat sessions by @brennanb2025 in #18827
- fix(native-chat): remember structured chat model and effort picks by @brennanb2025 in #19147
- fix(native-chat): list the slash commands and skills a structured Claude session actually loaded by @brennanb2025 in #19127
- skills: rewrite and trim the seven non-orchestration guides by @Jinwoo-H in #19128
- feat(chat): support structured /clear and /compact commands by @brennanb2025 in #19164
- revert: hold mobile push feature for user testing by @Jinwoo-H in #19203
- fix(editor): support Shift+wheel scrolling in combined diffs by @brohoya in #11756
- feat(native-chat): resume an Agent Session History row into a new structured chat by @brennanb2025 in #19176
- fix(mobile): stop double-scaling commit timestamps in history rows by @blade035 in #17731
- fix(runtime): apply the structured-chat setting to every RPC caller by @brennanb2025 in #18700
- fix(native-chat): settle structured chat turns stranded by a restart by @brennanb2025 in #19122
- fix: eliminate quadratic whitespace trimming during fullscreen scrolling by @nwparker in #19214
- Restore independent push gateway deployment by @Jinwoo-H in #19225
- Fix push deployment source archive path by @Jinwoo-H in #19231
- Reorganize MiniMax modules and de-duplicate shared test state by @nwparker in #19197
- fix: repaint hidden output overflow after answered restore deadline by @nwparker in #18904
- fix: retain MSYS shell descendants in their terminal job by @nwparker in #19068
- fix(test): unbreak main — admit the adoption-replay create fixture through the structured-chat gate by @nwparker in #19246
- Fix MiniMax credential-expiry reporting, region sync, and refresh by @nwparker in #19250
- fix(orchestration): recover Codex idle after completion title race by @Jinwoo-H in #19243
- feat(relay): time successful client accepts and control round trips by @Jinwoo-H in #19232
- fix(relay): rehome hosts to their preferred region in either direction by @Jinwoo-H in #19241
- perf(mobile): cut the relay reconnect critical path and admit dead sockets faster by @Jinwoo-H in #19236
- feat(mobile): draw the last known tab strip while a session reconnects by @Jinwoo-H in #19258
- feat(relay): alert on far-cell placement and skewed region hints by @Jinwoo-H in #19253
- fix(test): give federation tests a real read-after-write sync barrier by @Jinwoo-H in #19262
- revert(mobile): hold the relay reconnect path and cache-first reconnect for a separate mobile pass by @Jinwoo-H in #19265
- relay: give the asia-east2 cells the regional rehome identity by @Jinwoo-H in #19239
- fix(relay): emit pending-conn details to hosts that advertise the capability (cell side) by @Jinwoo-H in #19266
- fix(relay): bound control RTT samples per ping and per flush window by @Jinwoo-H in #19268
- fix(relay-ops): let the rehome trust probe approve the asia-east2 cells by @Jinwoo-H in #19275
- fix(codex): distinguish personal and enterprise accounts sharing an email by @nwparker in #19279
- test(relay): prove the pending-conn capability header reaches acceptControl by @Jinwoo-H in #19274
- feat(windows): enable structured Codex chat on native Windows by @brennanb2025 in #18519
- test(ssh): isolate the MFA fixture from the developer's real ~/.ssh by @brennanb2025 in #19300
- Add localization for activity view and sidebar by @OrcaWin in #18589
- fix(native-chat): make structured chat tabs renameable by @brennanb2025 in #19153
- feat(native-chat): show Codex subagent activity instead of opcode rows by @brennanb2025 in #18773
- fix(agent-status): stop a stale self-authored agent title from faking a pending question by @brennanb2025 in #19237
- fix(terminal): remount a pane left unbound by a spawn that returned no PTY id by @brennanb2025 in #19223
- fix(relay): stop rejecting the near region on a cold first probe by @Jinwoo-H in #19233
- perf(mobile): cut the relay reconnect critical path and admit dead sockets faster (mobile pass) by @Jinwoo-H in #19280
- perf(mobile): open a session with parallel startup RPCs and a pre-warmed terminal engine by @Jinwoo-H in #19260
- fix(relay): attach a phone whose accept straddles a control rebind (desktop side) by @Jinwoo-H in #19238
- tools: add a phone-vantage relay connect benchmark by @Jinwoo-H in #19251
- feat(mobile): draw the last known tab strip while a session reconnects (mobile pass) by @Jinwoo-H in #19281
- feat(relay): log the region probe and name the assigned cell by @Jinwoo-H in #19307
- perf(mobile): race the direct and relay dials from t=0 on every reconnect by @Jinwoo-H in #19308
- feat(mobile): time relay dial stages so diagnostics say where a slow connect went by @Jinwoo-H in #19245
- Persist agents sidebar search visibility as pairing-local preference by @AmethystLiang in #19313
- feat(chat): add structured session rewind backend by @brennanb2025 in #19235
- Defer inactive browser pages across worktree switches by @AmethystLiang in #19326
- fix(native-chat): stop an unanswered host from reading as one that refuses structured chat by @brennanb2025 in #19321
- fix(native-chat): scope composer file drops to the pane that received them by @brennanb2025 in #19328
- revert(mobile): pull the relay connect-speed mobile pass pending a smaller, verified re-land by @Jinwoo-H in #19348
- fix(relay): never cache a region hint from a one-region catalog by @Jinwoo-H in #19349
- Show native chat message timestamps on hover by @brennanb2025 in #19218
- feat(native-chat): add execution details and tool row identity by @brennanb2025 in #19226
- chore(mobile): remove stale max-lines exceptions by @nwparker in #19366
- fix(native-chat): render compaction notices, plan documents, and images by @brennanb2025 in #19228
- fix(sidebar): reveal collapsed workspaces without clearing filters by @nwparker in #19398
- fix(orchestration): avoid full message scans on working terminal titles by @brennanb2025 in #19390
- fix(deps): update desktop parsers for security and bounded resource use by @OrcaWin in #19361
- fix(deps): harden cloud HTTP, WebSocket and build dependencies by @OrcaWin in #19362
- chore(mobile): patch XML parser security in plist tooling by @OrcaWin in #19380
- chore(docs): patch brace expansion resource exhaustion fixes by @OrcaWin in #19382
- fix(deps): update react-i18next for TypeScript 7 and translation parsing by @OrcaWin in #19378
- fix(deps): update DOMPurify for sanitizer and document-context fixes by @OrcaWin in #19377
- fix(ci): read the changed-path list past the first pipe buffer by @nwparker in #19409
- fix(xterm): remove scrollback decorations by identity by @bbingz in #13178
- feat(native-chat): read a tool batch as a group by @brennanb2025 in #19372
- fix(deps): upgrade Electron to 43.6 for startup performance and crash fixes by @OrcaWin in #19369
- fix: preserve user input during terminal scrollback replay by @nwparker in #19075
- Unify sidebar create actions into single dropdown menu by @AmethystLiang in #19375
- fix: preserve terminal retirement proof across renderer publications by @nwparker in #19002
- perf(renderer): avoid per-second spinner animation events by @OrcaWin in #19407
- fix(pi): show input modals as waiting instead of working by @mmarabel in #18836
- Fix sidebar create menu E2E races by @AmethystLiang in #19448
- test: cover input in five simultaneously flooding SSH panes by @nwparker in #19071
- fix(runtime): stop a first status publication retiring in-flight worktree scans by @nwparker in #19357
- fix(clipboard): route runtime-owned SSH image paste through the runtime by @nwparker in #19352
- fix(sidebar): label pinned rows with their host on a multi-host sidebar by @nwparker in #19351
- Log error details on session kill failure by @AmethystLiang in #19381
- Stabilize scrollbar gutter to prevent message list layout shift by @AmethystLiang in #19332
- Rank activity status groups by attention level by @AmethystLiang in #19329
- perf: index selected team IDs and choose primary team in one pass by @OrcaWin in #19504
- perf: skip Git-status indexing without eligible editors by @OrcaWin in #19437
- perf: stop filesystem authorization at the first matching root by @OrcaWin in #19438
- perf: index editor ownership and restored workspace projections by @OrcaWin in #19444
- fix: avoid duplicate repository groups during catalog refresh by @kiendle in #19170
- Fix native PTY I/O failures disabling session termination by @AmethystLiang in #19523
- perf: index project table option and iteration order by @OrcaWin in #19476
- perf: stop clone URL discovery at the first usable source by @OrcaWin in #19477
- perf: clone only changed work-item pages by @OrcaWin in #19478
- perf: use counted membership for worker transcript roster twins by @OrcaWin in #19484
- perf: skip sorting when all final automation runs fit by @OrcaWin in #19485
- perf: parse Git history headers without splitting commit bodies by @OrcaWin in #19486
- perf: index forgotten Codex turns for bounded ordinal retention by @OrcaWin in #19488
- perf: cache matched and unmatched Claude usage cwd attribution by @OrcaWin in #19489
- perf: sum omitted workspace sizes without intermediate objects by @OrcaWin in #19491
- fix(activity): show working agents under "unread only" by giving working turns a read receipt by @AmethystLiang in #19535
- test: fix automation and browser reconciliation e2e tests by @AmethystLiang in #19530
- perf: index VM feature restoration and precompute sorting identities by @OrcaWin in #19457
- perf: reuse normalized path matchers for batch deletion by @OrcaWin in #19458
- perf: normalize only retained browser history candidates by @OrcaWin in #19460
- perf: index prior memberships during project identity succession by @OrcaWin in #19463
- perf: precompute Jira priority and timestamp sorting keys by @OrcaWin in #19472
- perf: parse external automation dates once per run by @OrcaWin in #19474
- Verify failure causality in PR checks fix prompt before making changes by @AmethystLiang in #19435
- fix(remote): keep terminal tabs syncing after orphan recovery by @shaharmor in #19065
- perf(native-chat): bound journal reads during paged catch-up by @nwparker in #19360
- perf(native-chat): preserve historical tool rows while streaming by @nwparker in #19364
- perf: memoize ancestry when selecting foreground agents by @OrcaWin in #19502
- fix(terminal): fold-safe CAN/SUB and double-ESC handling in partial-escape tail by @nwparker in #19521
- perf: lazily index case-insensitive Windows environment keys by @OrcaWin in #19483
- perf: select highest usage totals without full sorting by @OrcaWin in #19490
- fix(agent-hooks): guard every Windows missing-target fallback before it reads stdin by @nwparker in #19415
- perf: count GitLab diff line prefixes without splitting all lines by @OrcaWin in #19505
- fix(terminal): remove host-retired ghost panes in paired remote splits (#17770) by @nwparker in #19365
- feat(terminal): make the contrast floor user-configurable (#10754) by @nwparker in #18126
- fix(orchestration): file federated worker mail under the coordinator Run by @Jinwoo-H in #19542
- fix(orchestration): refuse Task re-open under a live worker; allow stop re-issue on a stranded row by @Jinwoo-H in #19551
- fix(i18n): drop orphan TerminalPane.minimumContrast entries that broke main static analysis by @nwparker in #19566
- Remove settled-worker automatic resume and hibernation fences by @Jinwoo-H in #19544
- fix(pi): finish the dialog-wait signal on every surface by @nwparker in #19533
- Organize activity menu into filter and view sections by @AmethystLiang in #19547
- fix(orchestration): own a worker terminal from creation, not after the boot wait by @Jinwoo-H in #19608
- fix(orchestration): fence worker release on mobile keystrokes by @Jinwoo-H in #19337
- fix(native-chat): place effort to the right of model picker by @brennanb2025 in #19617
- Show picker-selected native chat skills as pills by @brennanb2025 in #19616
- fix(native-chat): reveal message chrome on keyboard focus, not any focus by @brennanb2025 in #19426
- Unify native chat and workspace tab command dispatch by @brennanb2025 in #19621
- fix(browser): load newly opened background tabs by @brennanb2025 in #19633
- fix(renderer): align native chat pane layering by @brennanb2025 in #19626
- Summarize turn file changes and preserve resolved prompt receipts by @brennanb2025 in #19229
- perf: track pane alias singleton or ambiguity without copying buckets by @OrcaWin in #19479
- perf: preserve store state on unchanged document titles by @OrcaWin in #19459
- perf: index document history workspace and path identities by @OrcaWin in #19461
- perf: index unified tabs for browser palette entries by @OrcaWin in #19464
- perf: append to owned project source lists without repeated copying by @OrcaWin in #19465
- perf: lazily index workspace tabs during terminal binding replay by @OrcaWin in #19466
- perf: retire exhausted buckets from host-balanced listings by @OrcaWin in #19493
- perf: replay pending chat asks with a FIFO cursor by @OrcaWin in #19496
- perf: cache same-axis pane subtree weights during equalization by @OrcaWin in #19500
- perf: group chat history sequences lazily within result windows by @OrcaWin in #19501
- perf: measure sidebar row geometry once before sorting delete anchors by @OrcaWin in #19503
- perf: concatenate only carried JSONL line prefixes by @OrcaWin in #19506
- perf: index discovered skill IDs and names for batch selection by @OrcaWin in #19507
- perf: skip fuzzy ranking when exact file matches fill the window by @OrcaWin in #19509
- perf: index tab membership when rebasing authoritative sessions by @OrcaWin in #19510
- perf: reuse collators when sorting discovered skills by @OrcaWin in #19440
- perf: reuse collators when scanning Warp themes by @OrcaWin in #19441
- perf: avoid repeated pending SOCKS payload copies by @OrcaWin in #19439
- perf(terminal): avoid quadratic status-marker scans in output bursts by @nwparker in #19373
- perf: index selected-host SSH leases by PTY by @OrcaWin in #19467
- perf: index selected ancestor coverage during sidebar drag by @OrcaWin in #19443
- perf: index Resource Manager labels and accumulated workspace rows by @OrcaWin in #19480
- perf: drop oversized diagnostic records before retaining serialized text by @OrcaWin in #19445
- perf: index selected skills when reporting bundle failures by @OrcaWin in #19481
- perf: bound tool pairing and avoid unused attribution arrays by @OrcaWin in #19468
- perf: scope activation inventory to the owning host and workspace by @OrcaWin in #19447
- perf: index closed browser page IDs during focus cleanup by @OrcaWin in #19449
- perf: prune metadata caches only when an entry can expire by @OrcaWin in #19450
- perf: index observable skill installations by locked name by @OrcaWin in #19451
- perf: skip folder-scope construction for separate repository imports by @OrcaWin in #19452
- perf: validate terminal adoption MRU membership with group sets by @OrcaWin in #19482
- perf: index terminal neighbor order and remaining membership by @OrcaWin in #19453
- perf: index usage session breakdowns during aggregation and merge by @OrcaWin in #19487
- perf: reuse AI-vault path matchers and query and sort keys by @OrcaWin in #19469
- perf: cache AI-vault project attribution by host and cwd by @OrcaWin in #19470
- perf: select checks-panel workspace attribution in one pass by @OrcaWin in #19471
- perf: cache update timestamps for Linear and Jira result sorting by @OrcaWin in #19473
- perf: reuse naturally ordered unique Codex trust ranges by @OrcaWin in #19492
- perf: count command-line escapes without regex match arrays by @OrcaWin in #19499
- perf: check backfill date cardinality before expanding ranges by @OrcaWin in #19456
- perf: reuse normalized task-page repository selection by @OrcaWin in #19454
- fix(native-chat): unify launch routing and support structured worker placement by @brennanb2025 in #19431
- feat(native-chat): show Claude subagent activity on the shared carrier by @brennanb2025 in #18806
- fix(orchestration): unify structured-session status across worktree ps and sidebar by @brennanb2025 in #19217
- fix(native-chat): expand Claude slash commands sent with an attachment by @brennanb2025 in #19654
- fix(native-chat): keep collapsible chevrons beside their header text by @brennanb2025 in #19656
- fix(orchestration): worker-start settles readiness on observed turn start, not write acceptance by @brennanb2025 in #19423
- test(orchestration): pin the Run-required contract for unbound direct mail by @brennanb2025 in #19684
- fix(orchestration): accept a missing Run id from older federation coordinators by @brennanb2025 in #19689
- Render task checklists with update diffs and a composer progress panel by @brennanb2025 in #19230
- fix(lint): preserve deliberate collator benchmark baselines by @brennanb2025 in #19686
- fix(native-chat): merge duplicate native-chat-types import by @Jinwoo-H in #19698
- fix(orchestration): file mail from terminals in no Run under an unbound Run by @Jinwoo-H in #19696
- feat(native-chat): report Codex background tasks in the chat strip by @brennanb2025 in #19346
- Unify tab surface selection across workspace activation by @brennanb2025 in #19635
- refactor(ai-vault): split the session scanner into a transcript reader and consumers by @Jinwoo-H in #19666
- perf: stop queued metadata work after watcher cancellation by @OrcaWin in #19446
- perf(runtime): skip hibernation inventories without completed agents by @nwparker in #19391
- perf(workspaces): skip unchanged heartbeat subscriber work by @nwparker in #19392
- perf: probe requested pane keys instead of enumerating records by @OrcaWin in #19494
- perf: resolve current-workspace document addresses before catalog scans by @OrcaWin in https://github.com/stablyai/orca/pull/19495
- perf: materialize only the requested recent plugin audit lines by @OrcaWin in https://github.com/stablyai/orca/pull/19498
- test(ci): replace fixed teardown waits with bounded polls by @nwparker in https://github.com/stablyai/orca/pull/19720
- perf: stop merging OS-opened files at the pending queue cap by @OrcaWin in https://github.com/stablyai/orca/pull/19508
- perf(terminal): skip plain text between partial escape sequences by @nwparker in https://github.com/stablyai/orca/pull/19393
- perf(terminal): release oversized backing strings behind pending controls by @nwparker in https://github.com/stablyai/orca/pull/19396
- perf(terminal): skip ordinary output in preview control scans by @nwparker in https://github.com/stablyai/orca/pull/19400
- perf(terminal): own retained tail rows so they stop pinning their chunks by @nwparker in https://github.com/stablyai/orca/pull/19528
- perf: check tunnel queue capacity before copying frame payloads by @OrcaWin in https://github.com/stablyai/orca/pull/19497
- Replace the sidebar create dropdown with two direct action buttons by @AmethystLiang in https://github.com/stablyai/orca/pull/19653
- fix(native-chat): keep worktree active during chat creation by @Jinwoo-H in https://github.com/stablyai/orca/pull/19753
- fix(push): isolate deployment and validate candidates before activation by @Jinwoo-H in https://github.com/stablyai/orca/pull/19771
- fix(native-chat): show Claude working from the send, not the provider echo by @brennanb2025 in https://github.com/stablyai/orca/pull/19822
- fix(mobile): enable patch-free iOS text selection in native chat by @brennanb2025 in https://github.com/stablyai/orca/pull/19769
- perf(terminal): resume OSC terminator search past the carried frame by @nwparker in https://github.com/stablyai/orca/pull/19839
- perf(native-chat): bound retained items on the structured session path by @nwparker in https://github.com/stablyai/orca/pull/19841
- perf(terminal): share one ESC dispatch table between the two scanners by @nwparker in https://github.com/stablyai/orca/pull/19842
- fix(native-chat): one
/picker for every agent, anywhere in the prompt by @brennanb2025 in https://github.com/stablyai/orca/pull/19832 - feat(native-chat): the background-tasks strip says what is running by @brennanb2025 in https://github.com/stablyai/orca/pull/19311
- fix(i18n): drop the stale TerminalPane.minimumContrast entries from the runtime catalog (main red again) by @nwparker in https://github.com/stablyai/orca/pull/19575
- fix(native-chat): keep an older page from punching a hole in the transcript by @nwparker in https://github.com/stablyai/orca/pull/19845
- refactor(agent-status): publish structured sessions into the hook server store by @brennanb2025 in https://github.com/stablyai/orca/pull/19683
- fix(orchestration): scope @ group addresses to the sender's Run by @Jinwoo-H in https://github.com/stablyai/orca/pull/19783
- feat(native-chat): show live background work and name each row by kind by @brennanb2025 in https://github.com/stablyai/orca/pull/19705
- feat(sidebar): show native-chat subagents as sidebar child rows, like CLI agents already do by @brennanb2025 in https://github.com/stablyai/orca/pull/19807
- feat(native-chat): focus the message box when a chat appears by @brennanb2025 in https://github.com/stablyai/orca/pull/19868
- fix(relay): keep failed rehome polls out of the durable failure budget by @Jinwoo-H in https://github.com/stablyai/orca/pull/19915
- fix(orchestration): revalidate an attempted Enter instead of resending it by @brennanb2025 in https://github.com/stablyai/orca/pull/19911
- test(native-chat): split structured question fixtures by @brennanb2025 in https://github.com/stablyai/orca/pull/19924
- Make the structured turn lifecycle row durable so completed durations survive by @brennanb2025 in https://github.com/stablyai/orca/pull/19695
- refactor(native-chat): unify agent session launch and open drafts in structured chat by @brennanb2025 in https://github.com/stablyai/orca/pull/19681
- feat(cloud): native push gateway and dedicated infrastructure (1/3) by @Jinwoo-H in https://github.com/stablyai/orca/pull/19912
- fix(browser): restore the Chrome-shaped browser identity (STA-7147) by @brennanb2025 in https://github.com/stablyai/orca/pull/19927
- refactor(mobile): extract settings, diagnostics and editor-document screens from their routes by @Jinwoo-H in https://github.com/stablyai/orca/pull/19675
- fix(native-chat): never adopt an unlisted model as the launch default by @brennanb2025 in https://github.com/stablyai/orca/pull/19854
- fix(native-chat): settle a structured send on admission, not on the provider echo by @brennanb2025 in https://github.com/stablyai/orca/pull/19863
- feat(desktop): native mobile push integration (2/3) by @Jinwoo-H in https://github.com/stablyai/orca/pull/19935
- fix(sidebar): let an agent row show the provider's own session title by @brennanb2025 in https://github.com/stablyai/orca/pull/19936
- fix(editor): make markdown images inline so a paragraph stays schema-valid by @OrcaWin in https://github.com/stablyai/orca/pull/19746
- feat(native-chat): record the provider's name for an agent session by @brennanb2025 in https://github.com/stablyai/orca/pull/19908
- fix(release): port three release-gate fixes to main so cuts stop re-inheriting them by @brennanb2025 in https://github.com/stablyai/orca/pull/19945
- refactor(renderer): share path head elision by @AmethystLiang in https://github.com/stablyai/orca/pull/19938
- feat(cmd-j): compact palette location layout by @AmethystLiang in https://github.com/stablyai/orca/pull/19939
- refactor(mobile): name the RPC acceptance policies call sites hand-rolled by @Jinwoo-H in https://github.com/stablyai/orca/pull/19960
- fix: prompt unexpectedly signed-out Cloud users once per version by @Jinwoo-H in https://github.com/stablyai/orca/pull/19966
- feat(ai-vault-search): session search index as a transcript reader consumer by @Jinwoo-H in https://github.com/stablyai/orca/pull/19687
- fix(native-chat): pass agent-implemented slash commands through to the agent by @brennanb2025 in https://github.com/stablyai/orca/pull/19929
- perf(terminal): stop rebuilding per-workspace collections on a worktree switch by @nwparker in https://github.com/stablyai/orca/pull/19975
- feat(rpc): generate a shared params catalog from the host registry, gated on parse parity by @Jinwoo-H in https://github.com/stablyai/orca/pull/19961
- feat(native-chat): describe slash commands from the provider's own report by @brennanb2025 in https://github.com/stablyai/orca/pull/19928
- perf(terminal): stop spending reveal-restore frames on panes that replay nothing by @nwparker in https://github.com/stablyai/orca/pull/19972
- i18n: Make file reveal labels translatable by @OrcaWin in https://github.com/stablyai/orca/pull/20010
- perf(native-chat): mount only the transcript rows near the viewport by @brennanb2025 in https://github.com/stablyai/orca/pull/19869
- feat(mobile): receive native push notifications from paired desktops by @Jinwoo-H in https://github.com/stablyai/orca/pull/19951
- fix(workspaces): seed shells only for blank selection by @brennanb2025 in https://github.com/stablyai/orca/pull/19940
- Hide desktop theme imports from paired web clients by @OrcaWin in https://github.com/stablyai/orca/pull/20015
- feat(ai-vault-search): session search query engine over the index by @Jinwoo-H in https://github.com/stablyai/orca/pull/19750
- refactor(shared): derive WellKnownAgentType from TuiAgent by @AmethystLiang in https://github.com/stablyai/orca/pull/19645
- Revert "feat(ai-vault-search): session search query engine over the index (#19750)" by @Jinwoo-H in https://github.com/stablyai/orca/pull/20023
- feat(ai-vault-search): session search indexer library owning backfill, reconcile and retention by @Jinwoo-H in https://github.com/stablyai/orca/pull/19751
- refactor(rpc): make defineMethod preserve the method name and handler result by @Jinwoo-H in https://github.com/stablyai/orca/pull/20016
- fix(daemon): pin owner-only modes on persisted terminal history by @nwparker in https://github.com/stablyai/orca/pull/19954
- Revert mobile push rollout pending delivery investigation by @Jinwoo-H in https://github.com/stablyai/orca/pull/20040
- fix(pi): retire stale spinner and prompt timers across reloads by @nwparker in https://github.com/stablyai/orca/pull/20035
- fix(terminal): stop the recovery budget erasing itself during a remount by @OrcaWin in https://github.com/stablyai/orca/pull/19745
- fix(monaco): bound embedded-language recursion in svelte/astro/vue grammars by @OrcaWin in https://github.com/stablyai/orca/pull/19748
- fix(runtime): agent-neutral wait-blocked reasons by @OrcaWin in https://github.com/stablyai/orca/pull/19749
- fix(worktrees): close an idle structured chat on delete instead of refusing by @brennanb2025 in https://github.com/stablyai/orca/pull/19762
- fix(runtime): let connections own host status recovery by @Jinwoo-H in https://github.com/stablyai/orca/pull/20003
- fix(native-chat): show one live-turn indicator, and make Thinking mean reasoning by @brennanb2025 in https://github.com/stablyai/orca/pull/19977
- perf(terminal): mount only the visible pane on a worktree switch by @nwparker in https://github.com/stablyai/orca/pull/20034
- test(monaco): drive the real Monarch tokenizer instead of walking rule tables by @nwparker in https://github.com/stablyai/orca/pull/19981
- test(runtime): capture real Antigravity transcripts — the detector is inverted on live output by @nwparker in https://github.com/stablyai/orca/pull/19983
- fix(pi): claim the status pane when the inherited owner PID is dead (STA-5245) by @brennanb2025 in https://github.com/stablyai/orca/pull/16631
- fix(pi): load extension providers for source control generation by @nwparker in https://github.com/stablyai/orca/pull/20070
- fix(terminal): keep a deliberately slept workspace cold until it is woken by @nwparker in https://github.com/stablyai/orca/pull/20075
- perf(daemon): stop scanning every cell for OSC links that cannot exist by @nwparker in https://github.com/stablyai/orca/pull/20077
- fix(terminal): move the recovery ledger onto the tab row and gate it on observed outcome by @nwparker in https://github.com/stablyai/orca/pull/20025
- fix(push): preserve distinct Android alerts while offline by @Jinwoo-H in https://github.com/stablyai/orca/pull/20066
- feat(native-chat): show when a Codex goal is set, changed, or cleared by @brennanb2025 in https://github.com/stablyai/orca/pull/19923
- Fix remote hosted review browser routing by @Jinwoo-H in https://github.com/stablyai/orca/pull/20030
- fix(mobile): surface host create warnings and terminal-create errors by @brennanb2025 in https://github.com/stablyai/orca/pull/20125
- feat(relay): correct regional placement only when the source is idle by @Jinwoo-H in https://github.com/stablyai/orca/pull/20105
- test(relay): harden regional rehome race coverage by @Jinwoo-H in https://github.com/stablyai/orca/pull/20136
- feat(desktop): measure relay regions and reconnect after idle cutover by @Jinwoo-H in https://github.com/stablyai/orca/pull/20106
- refactor(agent-status): delete the runtime's retained row store (PR 1b) by @brennanb2025 in https://github.com/stablyai/orca/pull/19785
- fix(deps): take Electron 43.7.0 for the glibc environ use-after-free (#20081) by @nwparker in https://github.com/stablyai/orca/pull/20089
- fix(browser): decode Chromium SameSite storage values (135 cookies silently lost per profile) by @brennanb2025 in https://github.com/stablyai/orca/pull/20076
- fix(terminal): re-run deferred tab admission when a plan installs mid-activation by @brennanb2025 in https://github.com/stablyai/orca/pull/20176
- fix(workspaces): complete a worktree create when a post-create step throws by @brennanb2025 in https://github.com/stablyai/orca/pull/20175
- feat(relay): support protocol 3 in cell rollout gates by @Jinwoo-H in https://github.com/stablyai/orca/pull/20174
- fix(e2e): remove four real flake sources and one caret race by @brennanb2025 in https://github.com/stablyai/orca/pull/20169
- fix(source-control): pass the Antigravity prompt to agy --print by @nwparker in https://github.com/stablyai/orca/pull/20147
- fix(e2e): run worktree first-paint probe on a mapped window by @brennanb2025 in https://github.com/stablyai/orca/pull/20197
- fix(relay): bound idle rehome polling and skip disabled scans by @Jinwoo-H in https://github.com/stablyai/orca/pull/20203
- fix(hooks): stop orphaned managed markers from consuming user TOML by @nwparker in https://github.com/stablyai/orca/pull/20148
- fix(codex): reconcile marketplace and plugin tables through the config mirror by @nwparker in https://github.com/stablyai/orca/pull/20150
- fix(relay): reuse canary across completed rollout batches by @Jinwoo-H in https://github.com/stablyai/orca/pull/20214
- Restore mobile push and fix cold-start dismissals by @Jinwoo-H in https://github.com/stablyai/orca/pull/20068
- fix(cloud): tolerate sparse director errors in rollout monitor by @Jinwoo-H in https://github.com/stablyai/orca/pull/20238
- feat(ai-vault-search): session search query engine over the index by @Jinwoo-H in https://github.com/stablyai/orca/pull/20029
- feat(mobile): add typed RPC operations and fence raw requests by @Jinwoo-H in https://github.com/stablyai/orca/pull/20018
- fix(native-chat): shrink skill pill text by @brennanb2025 in https://github.com/stablyai/orca/pull/20254
- fix(claude): refuse a structured model the provider does not list by @brennanb2025 in https://github.com/stablyai/orca/pull/19946
- perf: defer closed menus to speed up cold worktree switching by @nwparker in https://github.com/stablyai/orca/pull/20311
- test: replace fixed UI waits with observable readiness by @nwparker in https://github.com/stablyai/orca/pull/20369
- ci: reuse immutable package setup across shutdown checks by @nwparker in https://github.com/stablyai/orca/pull/20368
- perf: index Hermes session correlation instead of rescanning history by @nwparker in https://github.com/stablyai/orca/pull/20275
- fix: prevent infinite loops in mobile Markdown rendering by @nwparker in https://github.com/stablyai/orca/pull/20313
- perf: eliminate mobile review table delimiter backtracking by @nwparker in https://github.com/stablyai/orca/pull/20317
- perf: eliminate repeated mobile Markdown link suffix scans by @nwparker in https://github.com/stablyai/orca/pull/20322
- ci: narrow pnpm cache keys and shallow development checkouts by @nwparker in https://github.com/stablyai/orca/pull/20370
- perf(browser): fill plain fields in one stdin edit by @nwparker in https://github.com/stablyai/orca/pull/20364
- Fix landing footer menu placement by @nwparker in https://github.com/stablyai/orca/pull/20360
- ci: balance existing unit and E2E shards using recorded timings by @nwparker in https://github.com/stablyai/orca/pull/20367
- fix(cloud): diagnose wrapped relay trust probe failures by @Jinwoo-H in https://github.com/stablyai/orca/pull/20403
- refactor(renderer): improve IPC error handling with clamped and unclamped variants by @AmethystLiang in https://github.com/stablyai/orca/pull/20340
- Make sidebar nesting easier while preserving animated reordering by @nwparker in https://github.com/stablyai/orca/pull/20412
- refactor(preload): drop the unused raw electron IPC bridge by @nwparker in https://github.com/stablyai/orca/pull/20419
- fix(browser): move cookie scoping off psl's stale suffix list by @nwparker in https://github.com/stablyai/orca/pull/20421
- fix(claude-accounts): stop path resolution from creating the config directory by @makoto-developer in https://github.com/stablyai/orca/pull/12309
- perf: normalize title evidence once per label search by @nwparker in https://github.com/stablyai/orca/pull/20331
- fix(runtime): GC expired proven-absent leaf PTY verdicts by @innocarpe in https://github.com/stablyai/orca/pull/12810
- fix(ai-vault): close OpenCode handles when query_only setup fails by @bbingz in https://github.com/stablyai/orca/pull/14134
- perf(wsl): release environment probe deadline timers by @OrcaWin in https://github.com/stablyai/orca/pull/20207
- perf(daemon): bound immediate flush queue scans by @OrcaWin in https://github.com/stablyai/orca/pull/20209
- perf(mobile): normalize history scope paths once per candidate by @nwparker in https://github.com/stablyai/orca/pull/20210
- perf(automations): skip sorting count-only Hermes history by @OrcaWin in https://github.com/stablyai/orca/pull/20213
- perf(chat): reuse streamed delta byte lengths by @OrcaWin in https://github.com/stablyai/orca/pull/20215
- perf(files): skip unused Quick Open byte accounting by @OrcaWin in https://github.com/stablyai/orca/pull/20216
- perf(relay): reuse host data attachment owner without inventory copies by @nwparker in https://github.com/stablyai/orca/pull/20219
- perf(mobile): avoid materializing input characters on backspace by @OrcaWin in https://github.com/stablyai/orca/pull/20220
- perf(browser): skip unneeded inventory compaction planning by @OrcaWin in https://github.com/stablyai/orca/pull/20221
- perf(usage): skip session scans for empty breakdowns by @OrcaWin in https://github.com/stablyai/orca/pull/20222
- perf(session): reuse persisted tab membership set by @OrcaWin in https://github.com/stablyai/orca/pull/20223
- perf(diff): skip unused extension extraction during search by @OrcaWin in https://github.com/stablyai/orca/pull/20225
- perf(mobile): bound autocomplete substring retention by @OrcaWin in https://github.com/stablyai/orca/pull/20226
- perf: index pending terminal reconnect tab lookups by @OrcaWin in https://github.com/stablyai/orca/pull/20229
- perf: skip ordinary strings in JSON structure checks by @OrcaWin in https://github.com/stablyai/orca/pull/20232
- perf: avoid rescanning partial browser sidecar responses by @OrcaWin in https://github.com/stablyai/orca/pull/20242
- perf: count local RPC request bytes incrementally by @OrcaWin in https://github.com/stablyai/orca/pull/20243
- perf(history): cache numeric transcript timeline bounds by @OrcaWin in https://github.com/stablyai/orca/pull/20244
- perf: stop heading lookup at the requested occurrence by @OrcaWin in https://github.com/stablyai/orca/pull/20246
- perf: defer browser search row formatting until matched by @OrcaWin in https://github.com/stablyai/orca/pull/20248
- perf: stop preparing over-limit palette queries by @OrcaWin in https://github.com/stablyai/orca/pull/20250
- perf: avoid duplicate repository directory probes by @OrcaWin in https://github.com/stablyai/orca/pull/20253
- perf: compile nested repository ignore patterns once by @OrcaWin in https://github.com/stablyai/orca/pull/20256
- perf: avoid repeated model pricing name normalization by @OrcaWin in https://github.com/stablyai/orca/pull/20257
- perf(skills): index source ownership counts per discovery by @OrcaWin in https://github.com/stablyai/orca/pull/20259
- perf(plugins): stop collection traversal at message size limit by @nwparker in https://github.com/stablyai/orca/pull/20260
- perf(history): scan legacy alternate-screen markers linearly by @OrcaWin in https://github.com/stablyai/orca/pull/20267
- perf: reuse skill file digest when normalized bytes match by @OrcaWin in https://github.com/stablyai/orca/pull/20268
- perf(native): avoid sanitizing snapshot values twice by @nwparker in https://github.com/stablyai/orca/pull/20271
- perf: encode skill Git tree sort keys once by @OrcaWin in https://github.com/stablyai/orca/pull/20272
- perf: skip decoding discarded diagnostic error bodies by @OrcaWin in https://github.com/stablyai/orca/pull/20276
- perf: avoid flattening tabs for smart-sort liveness check by @OrcaWin in https://github.com/stablyai/orca/pull/20279
- perf: accept UTF-8 text that fits the worst-case byte bound by @OrcaWin in https://github.com/stablyai/orca/pull/20286
- perf: bound rich Markdown comment detection and preservation scans by @nwparker in https://github.com/stablyai/orca/pull/20287
- perf(ipc): bound SSH ACK batch selection scans by @nwparker in https://github.com/stablyai/orca/pull/20288
- perf: avoid copying completed terminal source ranges by @OrcaWin in https://github.com/stablyai/orca/pull/20289
- perf(ssh): skip terminal source spans awaiting ACK publication by @OrcaWin in https://github.com/stablyai/orca/pull/20290
- perf: reuse diagnostic bundle byte count by @OrcaWin in https://github.com/stablyai/orca/pull/20292
- perf: normalize manifest text files once by @OrcaWin in https://github.com/stablyai/orca/pull/20294
- perf: reuse formatter within reset timestamp conversion by @OrcaWin in https://github.com/stablyai/orca/pull/20295
- perf: defer scrollback pruning indexes until needed by @OrcaWin in https://github.com/stablyai/orca/pull/20297
- perf(daemon): reuse encoded unsplit NDJSON frames by @nwparker in https://github.com/stablyai/orca/pull/20298
- perf(browser): index iframe session refs for snapshot lookup by @nwparker in https://github.com/stablyai/orca/pull/20300
- perf: reuse computed project identity in projection by @OrcaWin in https://github.com/stablyai/orca/pull/20303
- perf: stop archive size scan once over budget by @OrcaWin in https://github.com/stablyai/orca/pull/20304
- perf: avoid per-item arrays in journal projection by @OrcaWin in https://github.com/stablyai/orca/pull/20305
- perf: reuse Windows PATH normalization within merges by @OrcaWin in https://github.com/stablyai/orca/pull/20309
- perf: find path basename without splitting all segments by @OrcaWin in https://github.com/stablyai/orca/pull/20312
- perf(ssh): copy cleanup tab map only once by @OrcaWin in https://github.com/stablyai/orca/pull/20315
- perf: fast-path Windows arguments without escapes by @OrcaWin in https://github.com/stablyai/orca/pull/20318
- perf(checks): bound log excerpt byte-limit checks by @OrcaWin in https://github.com/stablyai/orca/pull/20319
- perf: use native newline search in rich Markdown code stripping by @nwparker in https://github.com/stablyai/orca/pull/20320
- perf: stop building chat diff sections beyond preview limit by @OrcaWin in https://github.com/stablyai/orca/pull/20321
- perf: count chat tool calls without a filtered array by @OrcaWin in https://github.com/stablyai/orca/pull/20328
- perf: reject file-count labels before parsing edit patches by @OrcaWin in https://github.com/stablyai/orca/pull/20330
- perf(terminal): reuse bounded native snapshot byte checks by @OrcaWin in https://github.com/stablyai/orca/pull/20333
- perf: select matching model IDs without sorting by @OrcaWin in https://github.com/stablyai/orca/pull/20334
- perf: remove duplicate empty-file filtering from search finalization by @OrcaWin in https://github.com/stablyai/orca/pull/20335
- perf: avoid repeated history page byte serialization by @nwparker in https://github.com/stablyai/orca/pull/20337
- perf: collect terminal snapshot replay without wrapper arrays by @OrcaWin in https://github.com/stablyai/orca/pull/20338
- perf: reuse accepted project group IDs for parent validation by @OrcaWin in https://github.com/stablyai/orca/pull/20341
- perf: compute check severity once per sort by @OrcaWin in https://github.com/stablyai/orca/pull/20342
- perf: count bot comments without a filtered array by @OrcaWin in https://github.com/stablyai/orca/pull/20343
- perf: index relay drain migration inventories once by @nwparker in https://github.com/stablyai/orca/pull/20344
- perf: avoid typed-array iteration in shared SHA-256 blocks by @OrcaWin in https://github.com/stablyai/orca/pull/20346
- perf: reuse shared SHA-256 for renderer fallback by @OrcaWin in https://github.com/stablyai/orca/pull/20347
- perf(computer): avoid rescanning fragmented native provider replies by @OrcaWin in https://github.com/stablyai/orca/pull/20348
- perf: skip nonmatching spans in Quick Open scoring by @nwparker in https://github.com/stablyai/orca/pull/20349
- perf: skip dominated quick command search fields by @nwparker in https://github.com/stablyai/orca/pull/20352
- perf: reuse normalized executable during agent recognition by @OrcaWin in https://github.com/stablyai/orca/pull/20353
- perf(localization): prefilter absent brands before regex matching by @OrcaWin in https://github.com/stablyai/orca/pull/20354
- perf: avoid copying single-chunk process output by @OrcaWin in https://github.com/stablyai/orca/pull/20355
- perf: scan chat activity text from its last line by @nwparker in https://github.com/stablyai/orca/pull/20356
- perf(mobile): reuse UTF-8 prefix truncation for diagnostics by @OrcaWin in https://github.com/stablyai/orca/pull/20358
- perf(checks): bound earlier error context collection by @OrcaWin in https://github.com/stablyai/orca/pull/20211
- perf(mobile): reuse numeric collators across source control sorts by @nwparker in https://github.com/stablyai/orca/pull/20224
- perf(mobile): precompute task sort keys and reuse repository collation by @nwparker in https://github.com/stablyai/orca/pull/20233
- perf(agents): avoid cloning lineage ancestor sets by @OrcaWin in https://github.com/stablyai/orca/pull/20236
- perf(plugins): reconcile shortcut conflicts once per owner by @nwparker in https://github.com/stablyai/orca/pull/20237
- perf: avoid rescanning partial transcript records by @OrcaWin in https://github.com/stablyai/orca/pull/20239
- perf: use native newline search for Markdown review excerpts by @nwparker in https://github.com/stablyai/orca/pull/20245
- perf(ai-vault): deduplicate session scan batches incrementally by @OrcaWin in https://github.com/stablyai/orca/pull/20255
- perf: stop review acknowledgement summaries at the first readable line by @nwparker in https://github.com/stablyai/orca/pull/20263
- perf(git): classify bulk discard paths once by @nwparker in https://github.com/stablyai/orca/pull/20274
- perf: eliminate quadratic palette phrase placement scans by @nwparker in https://github.com/stablyai/orca/pull/20306
- perf: avoid repeated unclosed-tag scans in mobile reviews by @nwparker in https://github.com/stablyai/orca/pull/20329
- perf(plugins): index contributed keybindings by command by @nwparker in https://github.com/stablyai/orca/pull/20241
- perf(mobile): precompute Linear issue sort keys by @nwparker in https://github.com/stablyai/orca/pull/20249
- perf(chat): join transcript line fragments at record boundaries by @OrcaWin in https://github.com/stablyai/orca/pull/20278
- perf(cmd-j): scan phrase word boundaries monotonically by @nwparker in https://github.com/stablyai/orca/pull/20282
- perf(ai-vault): count recent sessions for scan cutoffs by @OrcaWin in https://github.com/stablyai/orca/pull/20301
- perf: remove repeated sibling scans from cyclic agent lineage cleanup by @nwparker in https://github.com/stablyai/orca/pull/20302
- perf: reuse pending filesystem watcher debounce timers by @OrcaWin in https://github.com/stablyai/orca/pull/20264
- fix(editor): eliminate multi-second Markdown blank-run scans by @nwparker in https://github.com/stablyai/orca/pull/20231
- perf: avoid rescanning partial Windows desktop responses by @OrcaWin in https://github.com/stablyai/orca/pull/20235
- fix(chat): bound journal replay memory by live history by @nwparker in https://github.com/stablyai/orca/pull/20247
- perf(android): queue fragmented scrcpy video packets by @OrcaWin in https://github.com/stablyai/orca/pull/20230
- perf(mobile): skip successful duplicate connection log saves by @nwparker in https://github.com/stablyai/orca/pull/20252
- perf: skip impossible inline HTML comment matches during encoding by @nwparker in https://github.com/stablyai/orca/pull/20293
- chore: remove 20.7 MiB of duplicate and unused media by @nwparker in https://github.com/stablyai/orca/pull/20416
- perf: bound whitespace normalization for tool previews by @nwparker in https://github.com/stablyai/orca/pull/20332
- fix(tabs): cancel split drags when the window loses focus by @OrcaWin in https://github.com/stablyai/orca/pull/20323
- fix(updater): open background check errors from the status bar by @OrcaWin in https://github.com/stablyai/orca/pull/20270
- perf(relay): sort latency samples once per percentile pair by @nwparker in https://github.com/stablyai/orca/pull/20427
- perf(skills): test agent ownership without building a deduped list by @nwparker in https://github.com/stablyai/orca/pull/20428
- perf(git): reject non-HEAD refs before sorting remotes by @nwparker in https://github.com/stablyai/orca/pull/20429
- perf(mobile): release consumed terminal write-queue slots by @nwparker in https://github.com/stablyai/orca/pull/20430
- perf(git): normalize tracked discard paths once per operation by @nwparker in https://github.com/stablyai/orca/pull/20299
- refactor(windows): vendor the registry addon as @orca/windows-registry by @nwparker in https://github.com/stablyai/orca/pull/20438
- fix(resource-manager): show saved folder workspace names and groups by @OrcaWin in https://github.com/stablyai/orca/pull/20324
- test(relay): differential coverage for the single-pass host-data owner lookup by @nwparker in https://github.com/stablyai/orca/pull/20426
- perf(mobile): reuse Linear grouping between list and board by @nwparker in https://github.com/stablyai/orca/pull/20431
- chore(deps): pin serve-sim to an exact version by @nwparker in https://github.com/stablyai/orca/pull/20446
- Add code quality lint for type assertions by @AmethystLiang in https://github.com/stablyai/orca/pull/19462
- fix(ci): cache the vendored addon where node-gyp actually writes it by @nwparker in https://github.com/stablyai/orca/pull/20445
- perf: accelerate cancellable remote transcript line scanning by @OrcaWin in https://github.com/stablyai/orca/pull/20351
- fix(ci): match the truncated windows-process-tree virtual store dir by @nwparker in https://github.com/stablyai/orca/pull/20447
- build(macos): parallelize native helpers with complete cancellation by @espetro in https://github.com/stablyai/orca/pull/19651
- perf: skip WSL discovery when filtering native-only paths by @OrcaWin in https://github.com/stablyai/orca/pull/20266
- perf(mobile): reuse Linear ordering for list and board grouping by @nwparker in https://github.com/stablyai/orca/pull/20314
- Reduce native dependency installs to the host platform by @nwparker in https://github.com/stablyai/orca/pull/20420
- perf(ai-vault): bound per-row bookkeeping in unlimited session scans by @nwparker in https://github.com/stablyai/orca/pull/20291
- perf(tooling): reuse directory entry types in source scans by @OrcaWin in https://github.com/stablyai/orca/pull/20212
- fix(skills): evict removed runtime discovery cache by @bbingz in https://github.com/stablyai/orca/pull/11489
- fix(automations): isolate the scheduler tick and refuse oversized cron steps by @nwparker in https://github.com/stablyai/orca/pull/20152
- fix(runtime): stop a name-only agent title from satisfying tui-idle by @nwparker in https://github.com/stablyai/orca/pull/20155
- fix(agent-hooks): stop navigation Escape from inferring completion by @nwparker in https://github.com/stablyai/orca/pull/20149
- fix(mobile): reuse current workspace on notification taps by @Jinwoo-H in https://github.com/stablyai/orca/pull/20310
- fix(ai-vault): re-read a transcript rewritten to its previous size by @Jinwoo-H in https://github.com/stablyai/orca/pull/20261
- fix(sidebar): show agent activity before workspace activation by @Jinwoo-H in https://github.com/stablyai/orca/pull/20398
- test(rpc): add a compile-time params catalog parity gate by @Jinwoo-H in https://github.com/stablyai/orca/pull/20281
- test(scripts): widen the Windows shim ratchet to catch package bin spawns by @Jinwoo-H in https://github.com/stablyai/orca/pull/20285
- refactor(native-chat): give each structured dispatch state exactly one meaning by @brennanb2025 in https://github.com/stablyai/orca/pull/20133
- feat(native-chat): decide a restart-stranded send against provider history by @brennanb2025 in https://github.com/stablyai/orca/pull/20139
- fix(native-chat): wait for the runtime capability probe before resolving the creation launch route by @brennanb2025 in https://github.com/stablyai/orca/pull/19819
- fix(worktrees): retire the chat tab of a chat with no child when its workspace goes by @brennanb2025 in https://github.com/stablyai/orca/pull/19970
- feat(ai-vault-search): public session search contract and transports by @Jinwoo-H in https://github.com/stablyai/orca/pull/20277
- refactor(mobile): migrate settings reads to RpcOperation by @Jinwoo-H in https://github.com/stablyai/orca/pull/20499
- fix(mobile): give native chat one tail-follow owner so streaming stops jumping by @brennanb2025 in https://github.com/stablyai/orca/pull/20493
- fix(mobile): preserve delivery ambiguity across transport cutover by @Jinwoo-H in https://github.com/stablyai/orca/pull/20280
- fix(runtime): reject malformed file Base64 padding by @Jinwoo-H in https://github.com/stablyai/orca/pull/20283
- fix(tasks): preserve repository results under GitHub search quota by @OrcaWin in https://github.com/stablyai/orca/pull/20460
- fix(ai-vault): stream oversized remote session transcripts by @OrcaWin in https://github.com/stablyai/orca/pull/20455
- fix(grok): stop replayed Claude/Cursor hooks reporting Grok panes as Claude by @brennanb2025 in https://github.com/stablyai/orca/pull/20507
- fix(browser): press keys through a US-layout CDP key table instead of a subprocess per keystroke by @atreidesend in https://github.com/stablyai/orca/pull/15310
- fix(rpc): validate provider-specific fields in TaskProviderIdentity by @Jinwoo-H in https://github.com/stablyai/orca/pull/20284
- perf(terminal): batch file-link checks on their owning host by @OrcaWin in https://github.com/stablyai/orca/pull/20463
- feat(native-chat): support file drag and drop by @brennanb2025 in https://github.com/stablyai/orca/pull/20494
New Contributors
- @tb-soshiro made their first contribution in #18787
- @NaoyaTatetsu made their first contribution in #17795
- @ramarivera made their first contribution in #12772
- @Aladex made their first contribution in #18634
- @weekbin made their first contribution in #14929
- @TimothyVang made their first contribution in #17936
- @brohoya made their first contribution in #11756
- @blade035 made their first contribution in #17731
- @kiendle made their first contribution in #19170
- @espetro made their first contribution in https://github.com/stablyai/orca/pull/19651
- @atreidesend made their first contribution in https://github.com/stablyai/orca/pull/15310
Full Changelog: mobile-android-v0.0.48...mobile-android-v0.0.50