Commit Graph
8125 Commits
Author SHA1 Message Date
OrcaWinandOrcaWin e8a18a03d5 test: remove redundant cases and strengthen persistence, terminal and mobile checks (#33318)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 17:35:35 -07:00
Neil 584f2714b9 fix(terminal): keep Mac trackpad flicks continuous in fullscreen TUIs (#33313)
* fix(terminal): keep Mac trackpad flicks continuous in fullscreen TUIs

Chromium reports wheelDelta = -3 x deltaY for continuous devices, so a fast
trackpad event crossed the 100-unit 'notched wheel' threshold and switched to
the compressed, burst-boosted wheel curve mid-flick (2 -> 6 -> 2 reports per
event). Classify the gesture instead: an off-120-grid wheelDelta marks a
continuous device and the verdict sticks until the gesture goes idle.

* fix(terminal): end a trackpad gesture when a Mac wheel notch arrives

An on-grid event now continues the continuous gesture only with the trackpad's
3x wheelDelta shape and only shortly after off-grid input, so a notched wheel
used right after the trackpad keeps its discrete feel.

* fix(terminal): match wheel notches on the zoomed grid and require the trackpad ratio

Chromium divides both deltaY and wheelDelta by page zoom, so a notch reports
120/zoom; derive the grid from the UI zoom. An on-grid event now continues a
trackpad gesture only when 3 x |deltaY| is close to |wheelDelta|, so a
Windows/Linux notch (100 px per 120) right after trackpad input stays discrete.

* refactor(terminal): classify trackpad gestures without zoom or a notch grid

Keep the base rule (a small wheelDelta is continuous) and extend it across the
gesture: a large event within 300 ms of continuous input stays continuous only
while it keeps Chromium's continuous delta shape (wheelDelta about 3x deltaY on
macOS, 1x on Windows/Linux). Both deltas scale with zoom, so the shape check
needs no zoom factor; notches never match it.

* fix(terminal): only small wheel events extend the trackpad gesture window

A notch that happens to match the continuous delta ratio (40 px per 120 on
macOS) is now captured for at most 300 ms after trackpad input instead of
renewing the window indefinitely.

* fix(terminal): keep the whole trackpad gesture continuous through long momentum

Restore the approved rule where every continuous event extends the gesture
window, so a hard flick whose momentum stays above notch size for over 300 ms
keeps its 1:1 row distance. Pins that with a long-momentum fixture.
2026-10-24 17:33:16 -07:00
OrcaWinandOrcaWin ca3b0fdb02 test: remove redundant cases and strengthen state-transition assertions (#33309)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 17:05:58 -07:00
Neil ba43f8539c fix(runtime): a cold-restored terminal keeps its agent session without showing the old Done (STA-12043) (#33302)
* fix(runtime): a pane's new process does not wear its previous run's Done (STA-12043)

* fix(runtime): keep the superseded turn's segment and date process start at spawn request

* fix(runtime): take the identity row's segment from the turn clients were shown
2026-10-24 17:00:48 -07:00
Hoang Le QuocandNeil c580d7f2d3 fix(terminal): stop "104;255" leaking onto agent prompts after a tab switch (#31411)
A CSI scan now stops at ESC/CAN/SUB (as xterm's parser does), so a hidden-startup carry ending mid-CSI no longer swallows the next OSC's introducer and leaks `104;255` onto the prompt. Fixes #31410.

Co-authored-by: Neil <neil@stably.ai>
2026-10-24 16:59:59 -07:00
OrcaWinandOrcaWin 45bc63a187 test: strengthen persistence, session and failure-result assertions (#33303)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 16:40:41 -07:00
OrcaWinandOrcaWin 2479c5e20f test: consolidate redundant checks and verify behavioral boundaries (#33292)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 16:09:45 -07:00
Pr1p 04e07a6643 fix(opencode): prevent stale credential status after save (#33081)
OpenCode Go credential status: a late initial read can no longer overwrite a save/clear result, and pending/failed reads show Checking…/Status unavailable instead of Not saved. Fixes #33068.

Co-authored-by: Pr1p <48266347+Pr1p@users.noreply.github.com>
2026-10-24 16:08:47 -07:00
Neil 9c8ce8d818 refactor: group repository execution settings (#33261) 2026-10-24 15:46:51 -07:00
OrcaWinandOrcaWin c1a33b7372 test: assert persisted state and observable terminal and mobile behavior (#33282)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 15:30:18 -07:00
OrcaWinandOrcaWin 6b469405ec test: expose masked persistence and send-handler regressions (#33276)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 15:10:18 -07:00
Neil 2679464ead fix: let capable paired hosts plan composer terminal agent launches (#32192)
A workspace created from the composer on a paired host launched its terminal
agent with the desktop's command, arguments and environment. Hosts that
negotiate agent.launch.v2 now get startupAgent (and startupPrompt) and build
the launch through their own planner and settings. Older hosts, failed probes,
hosts that predate the agent's name, linked-item drafts and VM recipes keep the
desktop-built command. When the host planned the launch, the window never runs
the desktop plan or its own agent recovery, and says it couldn't confirm the
agent started if the host reported no agent terminal.
2026-10-24 15:01:29 -07:00
Neil c197b9f3f1 fix(new-workspace): search and offer Linear on the same host in Create worktree (#33270)
* fix(new-workspace): read Linear status on the host the search runs on

Create worktree searched Linear on the selected repo's host but offered the
Linear tab from the focused host's status. With Linear connected only on the
desktop and a project on a paired server, the tab appeared and every search
silently came back empty. The repo-derived Linear source now reads its own
host's status, as explicit sources already did, so the tab and the selected
workspace follow the host that will answer.

* fix(new-workspace): keep Linear status per host while it re-reads, and treat loading as unknown

The host status read is keyed by host, not project scope, and a same-host
re-read (repo switch, workspace change, reconnect) keeps the last status
instead of reading as disconnected, so the Linear tab and the chosen mode no
longer reset. While the first read is pending, a chosen Linear tab stays
selected and a pasted Linear URL keeps blocking Enter. The credential-error
test now stubs the repo host's status read it depends on.
2026-10-24 14:49:24 -07:00
Neil e2b0e9a19e fix(runtime): a host status publication keeps the probed capability readable (STA-11921) (#33263)
* fix(runtime): a status publication that answers a pending probe leaves the capability readable (STA-11921)

* fix(runtime): keep negative-capability re-probe across a published replacement; split the test

* refactor(runtime): one compatibility-entry factory keeps the cache under max-lines
2026-10-24 14:45:31 -07:00
OrcaWinandOrcaWin 621a09def5 test: repair masked assertions and remove eight low-value checks (#33268)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 14:43:09 -07:00
Neil 333be496a4 fix(ssh): Reconnect & Delete only deletes the workspace you selected (STA-11912) (#33253)
* fix(ssh): Reconnect & Delete stays pinned to the workspace the user selected (STA-11912)

* fix(ssh): say the workspace list changed and clear the shared delete state on a send-time refusal
2026-10-24 14:33:56 -07:00
NeilandBearMett 917899bf8d fix(runtime): stop paired desktops republishing mirrored editor tabs (#33259)
* fix(runtime): stop paired desktops republishing mirrored editor tabs

When two desktops pair both ways, B mirrored A's editor tabs and then
published them in its own session inventory as if B had opened them. A
then applied B's copy, which took over A's own tab.

isMobilePublishableOpenFile now skips rows marked
mirroredFromRuntimeSession, the marker is part of the open-files sync
projection so a flip republishes, and the marker is saved with the
session and restored so a relaunched client does not republish its
restored mirrors before the host's first snapshot.

Based on #25877 by BearMett.

Co-authored-by: BearMett <agomdole@gmail.com>

* fix(runtime): keep restored mirrors through unpublished frames and out of headless publication

A restored mirror now carries its marker, so an unpublished host frame
must not cull it (and its recovered draft). The windowless publication
skips persisted mirrored rows for the same reason the window does.

Co-authored-by: BearMett <agomdole@gmail.com>

---------

Co-authored-by: BearMett <agomdole@gmail.com>
2026-10-24 14:28:33 -07:00
Neilandethereal49 976fa11e81 fix(github): send a paired server its own repo id when an SSH row shares the path (#33257)
* fix(github): route runtime repo paths by execution host

When a repo path is registered on both SSH and a paired runtime, path-only lookup could send the SSH-side repo ID to the runtime. Prefer the row owned by the target runtime, then retain the original first-path fallback.

AI-Assisted: OpenAI Codex

Signed-off-by: ethereal49 <hongyeluo49@gmail.com>

* fix(github): resolve the runtime repo on the target host by the caller's repo id

getRuntimeRepoTarget now takes the caller's repo identity and resolves the
row through the repo lookup index, preferring the row on the target runtime
with that id, then the row on that runtime for the path. This keeps the
refresh sweep's repo reads linear (a per-call list scan broke that ratchet).
Legacy rows with no host stamp still fall back to id-or-path lookup.

Removes the test that pinned the off-host fallback; it asserted sending
another host's repo id to the server.

---------

Signed-off-by: ethereal49 <hongyeluo49@gmail.com>
Co-authored-by: ethereal49 <hongyeluo49@gmail.com>
2026-10-24 14:13:50 -07:00
OrcaWinandOrcaWin 5be204618a test: strengthen rejection and callback coverage, remove redundant checks (#33256)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 14:09:35 -07:00
OrcaWinandOrcaWin c90d0f93c0 test: exercise real mobile controller and repair weak assertions (#33248)
* test: exercise mobile controller and strengthen audit assertions

* test: use array syntax required by React Doctor

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 13:54:31 -07:00
OrcaWinandOrcaWin e802f4db7c test: repair behavioral coverage and remove export inventory (#33246)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 13:22:32 -07:00
Neil a1246ea166 refactor: colocate Task Page source availability hook (#33245) 2026-10-24 13:21:58 -07:00
OrcaWinandOrcaWin a8cc0e8992 test: remove ineffective cases and repair persistence and platform coverage (#33243)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 13:04:10 -07:00
Neil e16662104a refactor(tasks): colocate source summary hook (#33242) 2026-10-24 12:48:59 -07:00
OrcaWinandOrcaWin ca310a5288 test: remove shallow checks and repair persistence and mobile oracles (#33239)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 12:31:21 -07:00
OrcaWinandOrcaWin f2446b92d7 test: remove ineffective checks and strengthen settings and notification coverage (#33235)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 12:15:15 -07:00
Jinjing 015fae84cc Keep search highlights visible in long session excerpts (#33220) 2026-10-24 11:35:58 -07:00
Jinjing da180863a9 Fix Resource Manager tab sizing and sort PTYs by workspace activity (#33226)
* Keep PTY resource tab mounted and sort workspaces by activity

* Fix Resource Manager tab sizing and verify PTY list scaling
2026-10-24 11:33:12 -07:00
Jinjing 899cfc6b6e fix: virtualize the quick command dropdown (#33218) 2026-10-24 11:05:09 -07:00
OrcaWinandOrcaWin 265f143ab8 test: strengthen palette and mobile coverage and trim redundant checks (#33214)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 10:59:25 -07:00
Jinjing 42f59f3460 Allow saving quick command lists beyond forty (#32972)
* Allow saving quick command lists beyond forty

Preserve compatibility by limiting older clients to readable commands

* Cover quick command persistence across client capabilities

* Reject edits to hidden quick commands from stale clients
2026-10-24 10:42:55 -07:00
OrcaWinandOrcaWin b24c4f6eb0 test: trim redundant checks and strengthen workspace persistence (#33208)
* test: trim redundant telemetry checks and exercise session producers

* test: include persistence producer in renderer typecheck

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 10:27:59 -07:00
OrcaWinandOrcaWin 5c447fb8af test: remove synthetic compatibility checks and strengthen workspace coverage (#33207)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 10:08:20 -07:00
Neil b7ca9d70ae refactor(persistence): colocate workspace and repository tests (#33203) 2026-10-24 10:05:05 -07:00
OrcaWinandOrcaWin f0ef250b12 test: remove duplicate capability coverage and strengthen boundary assertions (#33197)
* test: remove duplicate capability coverage and strengthen boundary assertions

* test: preserve background task name assertion across mock resets

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 09:49:07 -07:00
OrcaWinandOrcaWin 41d25c074e test: strengthen routing, scheduling, and session assertions (#33189)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 09:03:09 -07:00
OrcaWinandOrcaWin 6f0834212e test: repair benchmark runners and strengthen policy boundaries (#33183)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 08:43:22 -07:00
OrcaWinandOrcaWin 5f3f0097cb test: strengthen transport, status, and permission assertions (#33177)
* test: strengthen transport, status, and permission assertions

* test: avoid preview screenshot after top-frame navigation

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 08:26:05 -07:00
OrcaWinandOrcaWin 35157974b9 test: consolidate duplicate checks and strengthen runtime assertions (#33173)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 07:48:25 -07:00
OrcaWinandOrcaWin e30184fa8d test: consolidate duplicate checks and strengthen runtime assertions (#33171)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 07:17:47 -07:00
Neil b900d9843f refactor(shared): colocate Jira rules and direct imports (#33164) 2026-10-24 06:46:07 -07:00
OrcaWinandOrcaWin 6f36523072 test: consolidate capability inventories and strengthen runtime assertions (#33161)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 06:35:33 -07:00
OrcaWinandOrcaWin 0f91578a9e test: repair GitHub, native preparation, and shared assertions (#33153)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 06:16:45 -07:00
Neil 7d0b3f938a refactor(shared): group native-chat stream and provider rules (#33150) 2026-10-24 05:48:42 -07:00
OrcaWinandOrcaWin 559377dc7d test: strengthen runtime, harness, and mobile review coverage (#33151)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 05:38:41 -07:00
OrcaWinandOrcaWin 5a2d2f49bc test: strengthen RPC cancellation, release rejection, and mobile prompt coverage (#33146)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 05:05:06 -07:00
OrcaWinandOrcaWin 38ffe31706 test: remove redundant cases and strengthen browser and attachment coverage (#33144)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 04:48:15 -07:00
OrcaWinandOrcaWin 9ebe41a763 test: remove duplicate search assertion and strengthen file and image coverage (#33140)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 04:24:49 -07:00
OrcaWinandOrcaWin 6386efa917 test: trim duplicate assertions and repair restore and document coverage (#33133)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 04:02:51 -07:00
OrcaWinandOrcaWin 3ae885be11 test: remove redundant cases and strengthen session boundary coverage (#33129)
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
2026-10-24 03:48:00 -07:00