Commit Graph
16002 Commits
Author SHA1 Message Date
Neil 8d0e7a1bc6 refactor: organize markdown and editor document owners (#38037) 2026-11-03 22:27:47 -08:00
NeilandCopilot e0714aebca feat(onboarding): theme step with color mode + optional theme carousel (#38021)
* feat(onboarding): studio theme picker with plugin themes and Match Terminal palettes

Replace the three System/Light/Dark tiles with a live look picker: big
preview, bundled GitHub/VS Code app themes, curated terminal palettes that
recolor Orca via Match Terminal, and per-slot dark/light looks under System.
Picks repaint the app live and never change the mode; skip restores the full
arrival look.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(onboarding): simple theme tiles with optional look carousel

Restore the original System/Dark/Light tiles and move theme looks into an
optional carousel beneath them. Add a theme-plugin directory link that opens
the system browser at onorca.dev/plugins?kind=themes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* feat(onboarding): label color mode and theme sections on theme step

Add Color mode / Theme section headings and replace the step subtitle with
guidance on what to pick.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fix(onboarding): preserve arrival look across Ghostty import

* fix(onboarding): follow moved terminal theme modules

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-03 22:20:13 -08:00
Brennan Benson 20ff137504 fix: suspend orchestration panel and remove its setting (#38045) 2026-11-03 21:59:19 -08:00
Brennan Benson 163c5de81e Add Ultracode to Claude chat effort (#38010)
* Add Ultracode to Claude chat effort

* Correct Ultracode test type annotations

* Keep Claude workflow effort observations consistent

* Make effort picker test follow async option contract

* Keep effort coverage at its owning behavior layer

* Exercise workflow readback with recorded native settings

* Preserve configured workflow during effort reapplication
2026-11-03 21:57:07 -08:00
Jinjing ee6a248ec9 Remove the New divider from Chat UI (#38044) 2026-11-03 21:49:09 -08:00
OrcaWinandOrcaWin e98c6a439a test: remove 2816 low-value test declarations (#38030)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-03 21:45:29 -08:00
Brennan Benson c3212f0377 Preserve chat HTML appearance in file previews (#37890)
* Preserve chat visual appearance in file previews

* Deliver visual theme once and retain updates through canceled navigation

* Assert visual guest subscriptions stay bounded on repeated loads

* Bundle sandboxed file guest preloads independently

* Match preview media theme and keep build validation import safe

* Cover preview media handoff and retirement contracts

* Apply saved visual appearance before document scripts
2026-11-03 21:36:33 -08:00
Jinwoo Hong e3b2e9c2bd fix(orchestration): a worktree a paired client starts on a remote server is that client's (#38034)
A remote worker-start created its worktree without the caller's identity, so the server stamped itself as the creator and the client that asked hid it under "Hide other-client workspaces". Stamp the authenticated paired device, as worktree.create does.
2026-11-04 00:24:01 -05:00
295b828bd1 fix: respect manual workspace order around primary checkouts (#37557)
* fix: respect manual workspace order around primary checkouts

* test: consolidate manual primary-order coverage

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test: name twin-reorder cases after the dragged linked worktree

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test: read worktree ID from mobile workspace row

* test: exercise primary checkout drops in reorder cases

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
2026-11-04 05:16:15 +00:00
Neil 4451166b9d refactor: organize notebook, diff and check detail owners (#38033) 2026-11-03 21:04:34 -08:00
Neil f33197523d refactor: group Codex transport trust and journal owners (#38023) 2026-11-03 20:45:04 -08:00
Neil d09519f0f1 refactor: group workspace and runtime contracts by defining owner (#38018) 2026-11-03 20:19:21 -08:00
Kelvin AmoabaandPr1p 2e3c8fb530 fix(notifications): clear acknowledged desktop alerts (#37974)
Explicit worktree reads and session acknowledgements share the existing desktop dismissal authority. Desktop and phone copies preserve transport, physical workspace and session/cursor identity; Linux retains dismissible notification handles after banners expire.

Mailbox consumption keeps its existing semantics.

Fixes #37328
STA-13409

Co-authored-by: Pr1p <zwq19980411@gmail.com>
2026-11-04 04:03:39 +00:00
Neil 926f8bad13 refactor: organize terminal and runtime contract owners (#38011) 2026-11-03 19:56:34 -08:00
OrcaWinandOrcaWin d5f2d9269f test: remove 454 low-value test declarations and copied benchmarks (#38014)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-03 19:32:19 -08:00
Neil da96fadec3 refactor: organize source-control contract owners (#37990) 2026-11-03 19:12:25 -08:00
Jinwoo Hong 89631f430b fix(automations): refresh automation lists when projects change (#37964)
Fixes STA-12812
2026-11-03 21:58:03 -05:00
Jinwoo Hong 3d24e9b357 fix(automations): record interrupted terminal automation runs as failed (#37962)
Fixes STA-12638
2026-11-03 21:57:59 -05:00
Jinwoo Hong f138493be3 fix(browser): a split tab create joins a browser pane already beside the caller (#38006)
* fix(browser): a split tab create joins a browser pane already beside the caller

* fix(browser): the joined page is the pane's visible tab

* fix(browser): a split with an unknown caller still splits beside the active pane
2026-11-03 21:30:03 -05:00
Jinwoo Hong 3c3eaf6986 fix(browser): an agent-set viewport wider than the pane scrolls instead of being cut off (#38005)
* fix(browser): size the pane to an agent-set viewport so wider pages scroll instead of being cut off

* fix(browser): an agent's viewport survives a pane remount and pans with the wheel

* test(browser): drive the wheel without casts
2026-11-03 21:29:36 -05:00
Brennan Benson a9676ea6eb Distinguish cancelled PR checks from failures (#37789)
Show cancelled PR checks as Cancelled with separate counts on desktop and mobile, preserving genuine failures, pending checks, existing action permissions and older-client fallback. Carry complete provider summaries through caches and presentation; preserve Azure source completeness, folder attention priority and muted cancellation details.

Tracked in #15847 and STA-5102.
2026-11-03 18:23:26 -08:00
Jinjing 63df66d9b6 Use neutral styling for terminal resource limits (#37999)
* Render isolated terminal resource-limit errors with neutral styling

* Preserve PTY resource-limit styling after error truncation
2026-11-03 18:13:20 -08:00
Brennan Benson 56f73b6893 Make links in chat questions clickable (#37992)
* Make links in chat questions clickable

* Keep question link wiring within component lint limits

* Reuse the question link handler across chat surfaces

* Keep paste routing tests compatible with shared question Markdown

* Keep question links available in expanded chat history

* Use standard chat code rendering and verify question disclosures

* Align short-question history test with expandable links
2026-11-03 18:02:03 -08:00
OrcaWinandOrcaWin e1edc018f2 test: remove 228 low-value test declarations (#38004)
* test: remove 228 low-value test declarations

* test: brace retained phone fixture branch

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-03 17:59:29 -08:00
Brennan Benson bafe4146a4 Increase Orchestration panel and tab contrast (#37994)
* Increase orchestration panel and tab contrast

* Define orchestration tab contrast in its button variant
2026-11-03 17:44:02 -08:00
OrcaWinandOrcaWin a905a311c5 test: remove 72 low-value test declarations (#38002)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-03 17:38:41 -08:00
OrcaWinandOrcaWin 68ba160c12 test: reconcile low-value test removals with current main (#37997)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-03 17:23:03 -08:00
OrcaWinandOrcaWin c3c24a5784 test: reconcile low-value test removals with current main (#37991)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-03 17:04:15 -08:00
Brennan BensonandVyacheslav Scherbinin ecaa271009 Keep orchestration notices in one-line expandable cards (#37968)
Keep orchestration start, handoff and mail notices in one-line bordered cards on desktop and phone. Expand each card to read the original message and attachments, while Copy and sender navigation remain independent.

Credit to Vyacheslav Scherbinin (@gentslava) for the community contribution in #33403.

Co-authored-by: Vyacheslav Scherbinin <gentslava@mail.ru>
2026-11-03 17:01:27 -08:00
OrcaWinandOrcaWin 249faa46c3 test: remove 145 low-value tests and nine suites (#37982)
* test: remove 145 low-value test declarations

* test: clean up remaining type-only relay imports

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-03 16:59:13 -08:00
Jinjing c332002953 fix(i18n): correct Portuguese and Turkish copy (#37988) 2026-11-03 16:55:30 -08:00
Neil 2c03c4b989 refactor: organize agent status and lifecycle owners (#37961) 2026-11-03 16:36:54 -08:00
Jinjing 4f75f5739f fix(i18n): translate recent desktop and mobile copy (#37976)
* fix(i18n): translate recent desktop and mobile copy

* fix(i18n): preserve tested German fallback
2026-11-03 16:29:53 -08:00
OrcaWinandOrcaWin f22231dc29 test: remove 28 low-value test declarations (#37972)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-03 16:01:49 -08:00
Brennan Benson 1b696e4b90 Fix OpenCode effort selection for the selected model (#37950)
* Fix OpenCode model-specific effort discovery

* Consolidate effort discovery imports

* Complete phone model selection test response

* Preserve OpenCode discovery through slow startup and cancellation

* Align catalog tests with observed OpenCode menus

* Share OpenCode startups across waiting model menus
2026-11-03 15:59:49 -08:00
OrcaWinandOrcaWin d4e6e464ab test: remove 44 low-value test declarations (#37969)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-03 15:39:24 -08:00
Jinwoo Hong 7b45308ee8 fix(mobile): type desktop replies from shared contracts and keep phone list facts beside the desktop row (#37917)
* refactor(mobile): keep phone list facts beside the desktop's worktree row

The phone wrote its own list facts (lineage depth, host labels, list keys
and so on) onto the worktree.ps row object it got from the desktop, so a
desktop field with one of those names would be read as the phone's own.

List items are now { row, view }: the row is the desktop's, typed from the
shared RuntimeWorktreePsSummary contract, and view holds what the phone
works out. Host labels are a lookup beside the rows instead of fields on
them. A type test fails if the desktop row gains a view field's name or a
type the phone row would not accept, and a contract test feeds rows from
the desktop's own worktree.ps builder through the phone list.

* fix(mobile): type desktop replies from shared contracts and reject unchecked rows (#37923)

* wip: contract guards

* fix(mobile): type desktop replies from the shared contracts and ban unchecked z.custom

Session tabs, the createSupport reply and native-chat frames were typed by
hand on the phone, so a desktop change could leave the phone compiling
against a stale shape. They are now Pick/Partial of shared types; the
createSupport reply and native-chat transcript frames gain shared types the
desktop uses too, which also gives the phone the 'chat-program' reason it
was missing. Type tests fail when a desktop tab gains a phone-only name or
a field type the phone would not accept.

Catalog rows were admitted with z.custom<Worktree>() and no check. They now
need a string worktreeId, and an ast-grep rule rejects a z.custom with no
check anywhere in mobile/src.

* test(mobile): the desktop contract check also catches a null the phone would not accept
2026-11-03 18:33:05 -05:00
OrcaWinandOrcaWin b1b97e742f test: remove 30 low-value test declarations (#37963)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-03 15:18:38 -08:00
Brennan Benson b9a22101da Keep question answers visible until delivery completes (#37883)
* Keep async question answers stable until delivery

* Cover pending answers with recorded question input

* Cancel delayed answers when question controls disable

* Scope pending question answers to their form and journal order

* Verify revised questions and handover ordering through production sources

* Use typed phone answer fixtures

* Reuse answer delivery evidence and skip unquoted queue matching

* Supply derived journal scope in the translator regression

* Use named type imports for mobile question contracts

* Exercise canonical pending rows and buffered phone read coverage

* Align phone controller assertions with optional send intent

* Supply transcript metadata for phone question test fixtures

* Fix question prompt test literal typing
2026-11-03 15:16:53 -08:00
Kelvin AmoabaandVyacheslav Scherbinin ac6fa4ef46 fix(claude): reflect fallback without changing saved models (#37958)
* fix(claude): reflect model fallback in chat and composer

* test(claude): reproduce fallback display before and after

* fix(i18n): ship the model fallback notice in the runtime catalog

* fix(mobile): ship the model fallback notice in the runtime catalog

* fix(claude): accept unnamed init models in response observations

* fix(claude): keep fallback observations display-only

Response model metadata must not satisfy delayed input evidence or
change saved launch preferences.

* test(claude): type fallback regression fixtures

* test(claude): expect init model display reports

---------

Co-authored-by: Vyacheslav Scherbinin <gentslava@mail.ru>
2026-11-03 23:15:51 +00:00
Neil 612909ada1 fix(terminal): a local file link opens in the workspace it was clicked in (#37953)
* fix(terminal): a local file link opens in the workspace it was clicked in

Clicking a terminal link to a file inside another local workspace switched to
that workspace: the editor loader moved the absolute-path tab to the workspace
containing the path (#11369), and link routing jumped to a sibling tab already
showing the file (#16544). This computer reads absolute paths directly, so
local tabs now stay where they were opened, editable. SSH and server hosts,
which read only workspace-relative paths, keep moving to the owner.

Refs #32158, #25838

* fix: merge duplicate editor store import
2026-11-03 23:01:27 +00:00
Kelvin Amoabaandzhangxaochen 93b599463d fix(agent-hooks): preserve Antigravity ownership across nested hooks (#37955)
Capture Antigravity process ownership before managed hook shells and preserve it through HTTP, startup replay and host relays. Reuse host admission for desktop and mobile, including foreground recovery.

Fixes #37505

Co-authored-by: zhangxaochen <3416677+zhangxaochen@users.noreply.github.com>
2026-11-03 22:57:50 +00:00
OrcaWinandOrcaWin eadb98fb62 test: remove 35 low-value test declarations (#37956)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-03 14:55:35 -08:00
Brennan Benson 25c67577a3 revert(native-chat): remove blocking live history cleanup (#37873)
Revert the live-history compaction and incremental vacuum added by #36053 to remove their serving-thread stall risk for the release. Preserve retired-history cleanup, saved formats/readers/writers and already-compacted sparse histories; add sparse reopen/write/reopen coverage.

Temporary: redundant live history can grow until the separate repair tracked in #37802 is ready. Older synchronous saves remain.

Tracked in STA-13374 and STA-13375. Six focused suites / 40 tests, independent correctness/architecture/final comparison and final-head CI passed.
2026-11-03 14:54:57 -08:00
OrcaWinandOrcaWin 3052dd7911 fix(sidebar): stop the resize handle from covering the workspace list scrollbar (#37948)
* fix(sidebar): stop the resize handle from covering the workspace list scrollbar

The sidebar's overflow-hidden clipped the outer half of the straddling
resize handle, so the remaining half sat on top of the 10px list
scrollbar and left only 3px of it clickable. Render the handle outside
the clipped box and bias it toward the terminal side.

* fix(sidebar): keep resize grab room under drawers and keep thumb visible on handle hover

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-03 14:46:33 -08:00
Neil d5f2a17cd2 refactor: group agent launch contracts under concrete owners (#37915) 2026-11-03 14:45:49 -08:00
OrcaWinandOrcaWin ad5657a57f test: remove 31 low-value test declarations (#37947)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-03 14:38:05 -08:00
Brennan Benson 0883af2d18 Avoid copying chat history on preview-only updates (#37922)
* Avoid copying chat history on preview-only updates

* Use fixed timestamps in preview input regression test
2026-11-03 14:25:27 -08:00
OrcaWinandOrcaWin b10e0bde3b test: remove 11 low-value declarations and batch historical checkout fetches (#37894)
* test: remove 11 low-value test declarations

* ci: serialize historical compatibility checkouts

* test: batch missing historical blobs before checkout extraction

* test: keep release checkout extraction modules within file limits

* test: keep release checkout extraction modules within file limits

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-11-03 14:20:08 -08:00
Jinjing ab6f6a7880 update chat ui intro (#37924)
* Remove live switching demo dialog

* Fix corner-card rollout imports and version experiment telemetry
2026-11-03 14:02:38 -08:00