orca/tests/e2e
Jinjing a7c8b8e071
fix(terminal): bound SSH & remote hidden-worktree terminal retention (C1) (#10625)
* fix(terminal): park SSH worktrees like local ones (C1 retention, slice A)

SSH ptys were blanket-excluded from hidden-view parking, so a hidden SSH
worktree retained every pane forever (C1: renderer heap climbs to the V8
ceiling). SSH bytes transit local main — fact-mode watchers already cover
them, and main keeps a headless model served over pty:getMainBufferSnapshot
that the SSH reattach path never consulted.

- isParkRestorableTerminalPty: snapshot-backed OR (SSH + policy); threaded
  through both park verdicts, both selectors, watcher coverage, and the
  watcher start guard. Remote-runtime/fail-open/foreign/null unchanged.
- Parked-SSH reveal paints from main's headless model (dimension-matched,
  ~5k rows) and degrades to the relay 100KiB replay unless the snapshot is a
  non-empty source==='headless' payload — never a blank/stale paint.
- Kill switch: settings.terminalSshViewParking (default on).

DESIGN.md records the approved plan and the H1 magnitude non-claim.

Co-authored-by: Orca <help@stably.ai>

* fix(terminal): bound hidden-worktree retention with a force-park budget (C1, slice B)

Un-parkable worktrees (remote-runtime ptys, uncoverable tabs, SSH with the
slice-A switch off) had unlimited retention: the parking cap/TTL only ever
saw eligibility-passing worktrees, so one bad tab pinned a whole worktree's
panes forever. Retention is now memory-bounded, not eligibility-bounded.

- terminal-hidden-worktree-retention.ts: retention budget (12 hidden / 45min
  TTL, sized from the measured 2.5-19MB per-pane V8 cost, DESIGN.md §2) over
  hidden worktrees ordinary parking can never evict; reuses the hot-retain
  ranking so last-active exemption, deterministic ties, and deadline-driven
  rechecks hold. Fail-open/foreign-pty tabs are eviction-exempt (a remount
  would fresh-spawn and orphan the live shell).
- Terminal.tsx: force-parked ids join the parked set AFTER the coverage veto
  (darkness for uncoverable tabs is the accepted cost); buffers captured via
  the sleep-flow registry before the unmount render; retention TTL added to
  the recheck deadlines for budget candidates only.
- Verdict stays out of its own effect deps; policy test asserts idempotence
  and time-monotone membership (flip-loop dwell regression).
- Kill switch: settings.terminalHiddenWorktreeRetentionBudget (default on).

Co-authored-by: Orca <help@stably.ai>

* fix(terminal): demote hidden scrollback for eviction-exempt worktrees (C1, slice C)

The retention budget (slice B) must exempt worktrees holding fail-open or
foreign-worktree ptys — a remount would fresh-spawn and orphan the live
shell — which would leave that class unbounded again. Instead, past the same
45min retention TTL their hidden panes drop to the minimum scrollback tier
(measured: ~19MB -> ~1.3MB V8 heap per 50k-row pane; trimmed history is
gone by design, reveal restores the configured cap for future output).

- terminal-hidden-scrollback-demotion.ts: module-state verdict registry
  (parked-watcher pattern) with content-equality notify damping; applied in
  the existing scrollback-rows effect in use-terminal-pane-lifecycle.
- selectScrollbackDemotedTerminalWorktrees: pure, TTL-gated, time-monotone.
- Retention TTL wakeups now also cover exempt worktrees so demotion fires.
- Kill switch: settings.terminalHiddenScrollbackDemotion (default on).

Co-authored-by: Orca <help@stably.ai>

* fix(terminal): paint the SSH model snapshot inline, not via nested coordinator (C1 slice A fix)

applyMainBufferSnapshot runs its own structuralReplayCoordinator.run; calling
it from applyReattachPayload (already inside the coordinator when a relay
replay exists) deadlocks on the coordinator's tail chain. The model paint now
mirrors the daemon-snapshot branch inline (folded scrollback + rehydrate +
screen, dimension-matched, escape tail last) and arms the restored-snapshot
seq baseline so deferred/live chunks the snapshot covers dedupe instead of
double-painting. Also falls through (no early return) so reattachPayloadApplied
still latches. Adds the folder-workspace id parity unit case.

Co-authored-by: Orca <help@stably.ai>

* test(terminal): SSH park+reveal e2e round-trip + as-built design notes (C1)

Docker-gated (ORCA_E2E_SSH_DOCKER=1) spec: SSH tab parks behind a decoy and
reveal restores marker content at multi-viewport scrollback depth. DESIGN.md
records the as-built deltas (inline paint, force-park shape, last-active
floor) and the residuals so follow-ups aren't lost.

Co-authored-by: Orca <help@stably.ai>

* fix(terminal): paint SSH reveal from main's model even when the relay replay is empty (C1 review #1)

A relay restart empties the replay buffer; the reveal previously painted
nothing even when main's headless model held the session. The reattach now
prefetches the model snapshot when no structural replay exists (SSH-shaped
ptys only) and paints it inside the coordinator; emptiness is judged on the
composed payload (scrollbackAnsi + data + pendingEscapeTailAnsi) so an
alt-screen snapshot with an empty screen frame still paints.

Co-authored-by: Orca <help@stably.ai>

* fix(terminal): decouple scrollback demotion (slice C) from the retention-budget switch (C1 review #2)

Per the approved contract each slice reverts behind its own switch: slice C
now requires only the master terminalHiddenViewParking plus its own
terminalHiddenScrollbackDemotion flag. The TTL wakeup timer fires for
demotion candidates even with the budget switch off. No DEFAULT_SETTINGS
entries exist for sibling flags (defaults are the '!== false' optional
pattern), so no explicit defaults are added.

Co-authored-by: Orca <help@stably.ai>

* fix(terminal): scope eviction exemption to the tab, not the worktree (C1 review #3)

One eviction-exempt tab (fail-open/foreign pty) previously vetoed force-park
for its whole worktree, pinning co-located remote-runtime tabs forever. The
worktree now force-parks while exempt tabs keep their mounted panes via a
per-tab exclusion mirroring the Activity-portal pattern (legacy watcher sync,
legacy render, and the overlay cold-parking hook). Ordinary parking is
untouched — a worktree with an exempt tab still cannot ordinary-park.
Slice C now also demotes exempt tabs' panes as soon as their worktree
force-parks under the count budget (they are the only panes left mounted).

Co-authored-by: Orca <help@stably.ai>

* fix(terminal): demote un-parkable worktrees the force-park lever spared (C1 review #4)

The last-active exemption means a single hidden un-parkable worktree never
force-parks — and slice C previously only targeted exempt-tab worktrees, so
its panes held full scrollback forever. Demotion now also covers un-parkable
non-exempt worktrees past the retention TTL that are absent from the
force-parked set (last-active spared, or slice B switched off). Membership
stays time-monotone for fixed inputs; covered by new idempotence/monotone
selector tests.

Co-authored-by: Orca <help@stably.ai>

* fix(terminal): keep the hidden clock running through transient background-measure windows (C1 review #5)

Whole-worktree background mounts (browser-automation bootstrap lease, mobile
mounts, agent wakes) open a ~3s self-clearing measure window that previously
deleted hiddenSince — every remount restarted the 30s hysteresis and the
45min retention TTL, so a periodically re-mounted force-parked worktree
never re-parked. The measure window still pauses parking/eviction verdicts
(all selectors skip measuring candidates); only the clock survives, so the
prior verdict resumes as soon as the window closes. Visible and
portal-holding worktrees still reset the clock.

Co-authored-by: Orca <help@stably.ai>

* test(terminal): make the SSH park+reveal depth assertion prove the model paint (C1 review #6a)

Pad the session with ~180KB of output after the numbered markers so the
earliest marker falls outside the relay's 100KiB rolling replay buffer while
staying inside main's ~5k-row headless model; asserting marker_1 after
reveal now proves the headless-model paint rather than passing under the
relay fallback.

Co-authored-by: Orca <help@stably.ai>

* docs(terminal): rewrite DESIGN.md as the single as-built C1 contract (review #7)

One contract matching the code: status IMPLEMENTED around force-park (not
the unmount proposal), real kill-switch names with coupling + revert
matrices, the true retention-floor formula with measured per-pane and
demotion numbers, an explicit when-OOM-is-still-possible paragraph naming
the H2 pendingSideEffects residual, the applyMainBufferSnapshot deadlock
constraint inside the slice-A section, stable-signal phrasing instead of a
capability latch, fail-open AND foreign-worktree exemption class, verified
cites, and a planned/landed/follow-up test matrix.

Co-authored-by: Orca <help@stably.ai>

* fix(terminal): resolve the eviction exemption per pane, not per tab (C1 review #8)

isEvictionExemptTerminalTab read only tab.ptyId — the FIRST leaf's pty —
while the coverage veto that makes a worktree a retention candidate walks
every pane. A split tab whose second leaf held an unrestorable pty therefore
failed coverage (→ force-park target) yet looked exempt-free, so force-park
unmounted it and orphaned the live shell. The exemption now resolves panes
through the same resolveParkedTerminalPaneCandidates, keeping tab.ptyId in
the union for the no-layout/no-capture case.

Also from the same review round:
- force-park's capture passes includeLocalBuffers:false like every other
  shutdownBufferCaptures caller; it was serializing up to 512KB/pane of
  scrollback into the store inside a fix meant to bound renderer heap.
- Terminal.tsx unmount resets the scrollback-demotion registry — module
  state with no reset path, read by a pane effect that runs before the host
  effect that would clear it, so a stale verdict trimmed restore replays.
- memoize watcher coverage per tab within the parking pass; the retention
  candidates re-asked it for every mounted worktree, not just the parked few.

* docs(terminal): drop DESIGN.md — the as-built C1 contract moves to the PR body

Co-authored-by: Orca <help@stably.ai>

* fix(terminal): cap the deferred PTY side-effect queue (C1 residual H2)

pendingSideEffects grew without bound under background timer throttling
(~64 drained/s vs hundreds queued/s overnight). Cap at 512 entries with
oldest-first eviction: titles drop (last-wins), a pending bell latches
onto the next survivor, agent-status payloads collapse onto the survivor
keeping the newest 16 (last-wins store state, KB-scale strings).

Co-authored-by: Orca <help@stably.ai>

* fix(terminal): carry command-lifecycle facts through parked watchers (C1 follow-up)

Parked fact-mode watchers omitted onCommandFinished/onCommandCode*, so
OSC 133;D and Command Code scrape signals went dark while parked. New
parked-terminal-command-status.ts ports the store-level subset: git-UI
nudge on every command finish, same-turn status-row drop for SSH PTYs
(exact mounted-path parity — the foreground tracker refuses SSH ids),
and the Command Code working seed / 1500ms done settle. Byte mode scans
the same shared parsers for authority-off parity. Local-PTY status drops
stay with the mounted pane: they need pty-connection's process-confirm
ladder to tell a leaked nested-shell 133;D from a real agent exit.

Co-authored-by: Orca <help@stably.ai>

* test(terminal): retention-budget force-park e2e with a retentionLimit override (C1 6b)

ORCA_E2E_TERMINAL_RETENTION_LIMIT flows preload → e2e-config →
getTerminalParkingPolicyOverrides (exposeStore-gated, positive-integer
only) so a spec can shrink the force-park budget to 1. The Docker-gated
spec opens two remote worktrees on one relay target (second pre-seeded
remote repo), disables terminalSshViewParking to make both un-parkable,
hides both behind the local context, and proves the older one force-parks
while the last-active exemption spares the newest; re-activating the
evicted worktree restores the marker tail via relay replay.

Co-authored-by: Orca <help@stably.ai>

* test(terminal): retention-budget e2e via same-repo remote worktrees (passes docker lane)

The first draft added a second remote repo mid-session, whose pane pty
spawn misroutes to the local daemon with the remote cwd (pre-existing
multi-repo issue, reproducible without any retention override — a seeded
local repo plus one remote repo shows the same misroute). The spec now
budgets across three worktrees of the ONE connected repo, created through
the product createWorktree path (an external git-worktree-add only lands
as a detected worktree needing adoption) and polled through the relay's
transient post-connect reconnect window. Verified green on the local
Docker lane in 20.8s.

Co-authored-by: Orca <help@stably.ai>

* fix(terminal): prevent remount thrashing during post-measure cool-down (

Implements the C1 retention contract: preserve worktree `hiddenSinceMs` through a
background-measure window (so TTL/ranking stay honest), but re-park waits for a
full `coldParkDelayMs` cool-down after the measure ends. Without the cool-down,
every ~3s measure lease on a past-deadline worktree thrashes remount/reattach.

Core changes:
- Terminal.tsx: add measure clock (measuringTerminalWorktreeIdsRef) and post-measure
  cool-down tracking (terminalWorktreeParkCooldownUntilRef); gate parking candidates
  until cool-down expires.
- Extract snapshot replay choreography to shared terminal-snapshot-replay-paint.ts
  (used by SSH reattach + daemon restore paths).
- Add SSH model snapshot timeout (750ms) with fallback to relay replay.
- Move cold-park recheck deadline logic to terminal-cold-park-recheck-deadlines.ts;
  add cool-down deadline to scheduling.
- useTerminalTabColdParking: implement matching measure-clock contract with per-tab
  cool-down gate to keep tab deadlines synced with worktree retention clock.
- Add resolveTerminalMountScrollbackRows() to demote new xterms under demoted
  worktrees (pane births during demotion must take the demoted tier at create).
- Add kill switches: terminalSshViewParking, terminalHiddenWorktreeRetentionBudget,
  terminalHiddenScrollbackDemotion.

* fix(terminal): detect Command Code completion in parked mid-turn panes

Seed the byte watcher with in-flight turn state from agent status: the
watcher is recreated per park cycle with no startup command to arm it,
and the banner scrolled away before parking. Also memoize
eviction-exempt checks and use SSH PTY ID builder in tests.

* fix(terminal): flush pending command-code settles on reveal remount

When a parked pane reveals mid-Command Code turn, the new detector
cannot re-observe the already-passed idle composer. Cancelling the settle
leaves the row stranded at 'working', so dispose now flushes the pending
settle instead.

Extract readInFlightCommandCodeTurn to shared space and seed detectors
with in-flight turns so remounts complete mid-flight commands. Also
memoize SSH model probes to prevent double timeouts on reattach.

* fix(terminal): remove scrollback demotion (C1 slice C)

The scrollback demotion feature for eviction-exempt hidden worktrees is no longer needed. Retention budget limits are now sufficient without this additional bound. Remove the terminal-hidden-scrollback-demotion module, the selectScrollbackDemotedTerminalWorktrees function, and related per-pane demotion logic.

* test(terminal): assert bounded probe during stalled reveal

Add assertion to verify that a stalled reveal operation makes exactly one
`getMainBufferSnapshot` call, ensuring retry logic doesn't introduce
redundant probes that would extend the timeout window before relay fallback.

* fix(terminal): implement C1 retention budget for hidden parked worktrees

Addresses OOM regressions in hidden parked terminals by force-evicting
worktrees past a retention budget: at most 12 mounted while hidden, none
past 45 minutes (absolute, not exempted by last-active). Eviction is
least-recently-hidden-first. Exempt tabs (unrestorable local PTYs) keep
their panes to avoid orphaning shells; worktrees are force-parked even
if they contain exempts, and their buffers released elsewhere. SSH/remote
worktrees serialize buffers pre-eviction for reveal; local worktrees keep
daemon snapshots. Command Code's done-settle window is transferred across
park/reveal boundaries so the row cannot strand at 'working'. Model probe
on SSH reattach is scoped to park-reveal only, not ordinary reconnects.
Includes new E2E suite proving the budget actually releases memory.

* memoize eviction-exempt terminal tabs to avoid redundant store reads

Each tab's exemption check re-reads the store and walks the layout tree.
Introduce selectEvictionExemptTerminalTabIds() to resolve all exempt tabs
for a worktree in a single pass, then memoize the result in Terminal.tsx
and useTerminalTabColdParking. This prevents O(n) store reads when checking
exemptions across multiple tabs and ensures the set remains stable across
unrelated re-renders.

* refactor: reformat hidden-worktree retention comments

Reflow to 80-character lines and remove internal ticket references
(C1, C1 slice C).

* fix(lint): split overlay slot and eviction-exempt tabs under max-lines

Static analysis failed because TerminalPaneOverlayLayer (401) and
terminal-parked-tab-watchers (304) exceeded oxlint max-lines. Extract the
slot component and eviction-exempt helpers into dedicated modules.

* test(terminal): stabilize retention budget e2e control arm

Stage un-parkable remote pty ids only after both worktrees are hidden, and
keep re-staging during the control-arm poll so a late updateTabPtyId cannot
flip the decoy back to park-restorable and ordinary-park it before budget
engages.

* test(terminal): pin retention e2e decoy to a mounted pane snapshot

Use the active pane-identity snapshot for the decoy tab instead of all
worktree tabs, and re-assert un-parkable ids after the control-arm hold so
a deferred/empty tab id cannot fail the budget-off mounted-count check.

* fix: memoize terminal eviction exemptions on layout leaf PTYs

Splits add leaf panes to the layout store without changing the tabs
array. A memo keyed only on tabs misses this change, leaving new panes
unexempted for unmount. Include layout leaf PTYs in the exemption memo
key so it recalculates when splits occur or PTYs are re-minted.

---------

Co-authored-by: Orca <help@stably.ai>
2026-07-29 00:47:18 -07:00
..
fixtures fix(quality): enforce performance-safe lint baseline (#11074) 2026-07-27 20:54:02 -07:00
helpers fix(terminal): bound SSH & remote hidden-worktree terminal retention (C1) (#10625) 2026-07-29 00:47:18 -07:00
AGENTS.md
active-view-restart-restore.spec.ts perf(renderer): stop full durable-state save on every top-level view switch (#9002) (#9393) 2026-07-20 01:14:17 -07:00
activity-agent-pane-isolation.spec.ts Remove stale max-lines lint disables from files under the limit (#7548) 2026-07-06 02:12:32 -07:00
add-project-default-checkout.spec.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
agent-descendant-process-kill.spec.ts fix(terminal): kill agent descendant processes on session teardown (STA-1800) (#8706) 2026-07-15 13:25:24 -07:00
agent-session-live-force-exit-resume.spec.ts feat: bound direct SSH reconnect fan-out and recovery (#11003) 2026-07-28 12:33:17 -07:00
agent-session-log-tail-stability.spec.ts P2 live log undo memory (#8644) 2026-07-13 19:13:19 -07:00
agent-session-quit-resume.spec.ts feat: bound direct SSH reconnect fan-out and recovery (#11003) 2026-07-28 12:33:17 -07:00
app-menu-paste-ownership.spec.ts
artificial-opencode-active-terminal-scroll.ts
artificial-opencode-hidden-pressure-scenario.ts Fix e2e tests (#8495) 2026-07-13 00:48:51 -07:00
artificial-opencode-hidden-pressure-script.ts Terminal performance initiative: pipeline fixes + term-speed-2 revival + PTY flow control (integration branch) (#7214) 2026-07-10 17:27:47 -07:00
artificial-opencode-main-pressure-scenario.ts Terminal performance initiative: pipeline fixes + term-speed-2 revival + PTY flow control (integration branch) (#7214) 2026-07-10 17:27:47 -07:00
artificial-opencode-pane-interactions.ts Terminal performance initiative: pipeline fixes + term-speed-2 revival + PTY flow control (integration branch) (#7214) 2026-07-10 17:27:47 -07:00
artificial-opencode-revisit-pressure-scenario.ts fix(e2e): repair release e2e suite (parking regression tests, stale/flaky specs, profile switcher gate) (#8486) 2026-07-12 22:40:57 -07:00
artificial-opencode-scroll-measurement.ts
artificial-opencode-scroll-scenario.ts test(e2e): deliver node burst via temp file so PowerShell quoting can't break OSC title (#8521) (#9391) 2026-07-20 03:04:28 -04:00
artificial-opencode-synthetic-injection.ts
artificial-opencode-terminal-load.spec.ts Fix e2e tests (#8495) 2026-07-13 00:48:51 -07:00
automation-hidden-terminal-first-mount.spec.ts fix: background-mount hidden automation worktrees before launch (#6568) 2026-06-28 23:13:03 -07:00
browser-address-bar-narrow-toolbar.spec.ts fix(browser): keep the address bar editable in a narrow toolbar (#11098) 2026-07-28 00:22:22 -07:00
browser-embedded-owner-routing.spec.ts Keep embedded browser commands on the registered Orca target (#9633) 2026-07-20 22:04:01 -04:00
browser-local-https-certificate-trust.spec.ts fix(browser): local HTTPS Try HTTPS + cert proceed (#8454) (#9104) 2026-07-16 19:11:34 -07:00
browser-tab.spec.ts fix(browser): restore configured zoom after page reload (#10800) 2026-07-27 18:42:51 -07:00
capture-opencode-tui-repro.mjs chore(lint): adopt unicorn/prefer-import-meta-properties (error) (#6847) 2026-06-29 23:37:30 -07:00
chinese-ime-chat-input-repro.spec.ts fix(terminal): handle Linux IME candidate digits without composition events (#8241) 2026-07-12 16:30:44 -07:00
codex-composer-echo-latency-probe.ts test(e2e): make Codex typing-latency harness measure real echo latency (#10660) 2026-07-25 20:06:19 -07:00
combined-diff-scroll-restore.spec.ts Fix 6 e2e test flakes: worktree teardown, window focus, and terminal cleanup (#9625) 2026-07-20 18:18:11 -07:00
computer-linux.e2e.ts
computer-mac-safari.e2e.ts
computer-mac.e2e.ts
computer-windows-store.e2e.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
computer-windows.e2e.ts
daemon-generation-legacy-close-safety.spec.ts fix(terminals): negotiate explicit close intent for paired runtimes (#10129) 2026-07-27 15:22:55 -07:00
daemon-generation-reconnect-safety.spec.ts fix(terminal): make remote agent sessions host-authoritative (#9687) 2026-07-21 20:51:28 -07:00
daemon-lifecycle-retirement.spec.ts fix(daemon): retire empty current-generation daemons (#9277) 2026-07-19 19:38:44 -07:00
daemon-live-session-preservation.spec.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
daemon-slow-health-check-preservation.spec.ts Observe daemon health failures and fix e2e test races (#10595) 2026-07-25 13:42:28 -07:00
daemon-slow-init-pty-gate.spec.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
dead-terminal-repro.spec.ts
dead-terminal-stress.spec.ts
diff-note-delete.spec.ts
diff-note-edit.spec.ts
diff-note-layout.spec.ts Fix diff notes overlapping following lines (#7803) 2026-07-26 23:48:20 -07:00
droid-notification.spec.ts Remove stale max-lines lint disables from files under the limit (#7548) 2026-07-06 02:12:32 -07:00
editable-context-paste-ownership.spec.ts
electron-home-isolation.spec.ts feat(codex): real-home routing + self-contained multi-account homes (#9501) 2026-07-20 14:34:53 -07:00
feature-wall.spec.ts
file-explorer-watch-refresh.spec.ts fix(explorer): refresh tree on create/rename with case-tolerant cache keys (#10392) 2026-07-28 20:52:09 -07:00
file-open.spec.ts
floating-mobile-emulator-tab.spec.ts Fix blank/unclosable mobile emulator tab in floating workspace (#6042) 2026-06-22 16:27:33 -07:00
floating-workspace-reopen-webgl-recovery.spec.ts
floating-workspace-shared-glyph-atlas.spec.ts
folder-setup-shallow-priority.spec.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
folder-setup.spec.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
git-no-upstream-polling-churn.spec.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
github-cli-stall-repro.spec.ts Fix stale and race-prone E2E test failures (#7468) 2026-07-05 19:46:49 -07:00
github-created-issue-start-prefill.spec.ts test(e2e): verify Claude is prefilled with issue URL on start (#9980) 2026-07-22 15:10:29 -07:00
global-setup.ts Fix diff notes overlapping following lines (#7803) 2026-07-26 23:48:20 -07:00
global-teardown.ts Terminal performance initiative: pipeline fixes + term-speed-2 revival + PTY flow control (integration branch) (#7214) 2026-07-10 17:27:47 -07:00
golden-core-flows.spec.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
headless-serve-desktop-activation.spec.ts Fix 6 e2e test flakes: worktree teardown, window focus, and terminal cleanup (#9625) 2026-07-20 18:18:11 -07:00
large-diff-freeze-repro.spec.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
large-diff-repro-fixtures.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
large-file-count-fixtures.ts fix(source-control): keep huge change sets responsive (#9477) 2026-07-20 14:50:12 -07:00
local-worktree-visibility-runtime-active.spec.ts fix(worktrees): show CLI-created local worktrees in the sidebar while a remote runtime is active (#6628) 2026-07-22 16:10:53 -07:00
markdown-add-review-note-shortcut.spec.ts fix(keybindings): AltGr-safe default for Add Review Note (#9257) 2026-07-17 18:57:26 -07:00
markdown-explorer-find-focus.spec.ts fix(editor): focus Explorer-opened Markdown for find (#8083) 2026-07-23 23:18:03 -07:00
markdown-ordered-list-exit.spec.ts
markdown-prose-reflow.spec.ts Reflow and edit hard-wrapped prose within single paragraph blocks (#7407) 2026-07-04 23:29:05 -07:00
mobile-banner.spec.ts fix: refit after single terminal restore (#6089) 2026-06-22 12:29:18 -07:00
multi-client-navigation-isolation.spec.ts fix(runtime): isolate navigation across paired clients (#9664) 2026-07-20 21:36:15 -07:00
native-chat-first-flush-race.spec.ts fix(native-chat): retry not-yet-flushed transcripts instead of settling into a permanent error (#8418) 2026-07-13 12:45:46 -07:00
nested-runtime-ssh-lifecycle.spec.ts fix(runtime): route HUB-owned SSH worktrees through owning runtime (#9994) 2026-07-22 18:25:05 -07:00
nested-runtime-ssh-routing.spec.ts fix(runtime): route HUB-owned SSH worktrees through owning runtime (#9994) 2026-07-22 18:25:05 -07:00
new-workspace-linked-item-project-switch.spec.ts feat: bound direct SSH reconnect fan-out and recovery (#11003) 2026-07-28 12:33:17 -07:00
notification-settings.spec.ts
onboarding.spec.ts test(e2e): fix two stale E2E specs failing on main (runtime host seeding, alt-screen snapshot) (#10614) 2026-07-25 15:58:40 -07:00
orca-profiles.spec.ts Add optional Orca account sign-in (#7515) 2026-07-09 02:13:13 -07:00
orca-restart-navigation.unit.test.ts test(e2e): prove the terminal daemon survives a main-process crash on Windows (#7742) (#9311) 2026-07-19 11:27:29 -07:00
orchestration-worker-terminal-visibility.spec.ts feat: bound direct SSH reconnect fan-out and recovery (#11003) 2026-07-28 12:33:17 -07:00
plugin-demo.spec.ts fix(e2e): launch plugins with real app identity (#11024) 2026-07-27 17:56:07 -07:00
plugin-marketplace-content.spec.ts fix(e2e): launch plugins with real app identity (#11024) 2026-07-27 17:56:07 -07:00
plugin-panel-containment.spec.ts feat: bound direct SSH reconnect fan-out and recovery (#11003) 2026-07-28 12:33:17 -07:00
plugin-startup-budget.spec.ts fix(e2e): launch plugins with real app identity (#11024) 2026-07-27 17:56:07 -07:00
pr-comments-sidebar-cards.spec.ts Fix stale and race-prone E2E test failures (#7468) 2026-07-05 19:46:49 -07:00
project-group-manual-sort.spec.ts fix(sidebar): map header drags to the nearest boundary slot instead of a dead zone (#8891) 2026-07-15 17:14:10 -07:00
remote-agent-completion-authority.unit.test.ts fix(remote): don't classify a stale/gone remote handle as agent completion (#9263) 2026-07-23 01:45:24 -07:00
remote-agent-session-focus-authority.spec.ts fix(remote): create paired agent sessions without host focus (#10193) 2026-07-23 20:20:00 -07:00
remote-terminal-tab-retirement.unit.test.ts test(runtime): cover remote terminal retirement across paired viewers (#10053) 2026-07-22 21:44:30 -07:00
renderer-crash-recovery-terminal-input.spec.ts fix(e2e): repair release e2e suite (parking regression tests, stale/flaky specs, profile switcher gate) (#8486) 2026-07-12 22:40:57 -07:00
resource-manager-unbound-session-safety.spec.ts test(e2e): harden release latch and teardown coverage (#11036) 2026-07-27 19:04:56 -07:00
resource-usage-warm-reattach.spec.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
restart-restore-terminal-input.spec.ts test(e2e): harden terminal restart regressions on Windows (#9064) 2026-07-17 17:18:36 -07:00
restored-terminal-input-readiness.unit.test.ts test(e2e): harden terminal restart regressions on Windows (#9064) 2026-07-17 17:18:36 -07:00
rich-markdown-link-bubble-stacking.spec.ts fix(e2e): repair release e2e suite (parking regression tests, stale/flaky specs, profile switcher gate) (#8486) 2026-07-12 22:40:57 -07:00
right-sidebar-windows-titlebar.spec.ts
runtime-file-browser-windows-drives.spec.ts Support Windows drives in the remote host filesystem picker (#7439) 2026-07-28 20:51:14 -07:00
settings-agent-awake.spec.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
settings-display-name-ime.spec.ts Fix stale and race-prone E2E test failures (#7468) 2026-07-05 19:46:49 -07:00
settings-search-responsiveness.spec.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
settings-search-shortcuts-pane.spec.ts fix(settings): keep Shortcuts rows visible on pane-title-only search (#9097) 2026-07-16 19:20:05 -07:00
settings-skill-detection.spec.ts
setup-guide-sidebar.spec.ts Remove stale max-lines lint disables from files under the limit (#7548) 2026-07-06 02:12:32 -07:00
setup-script-import.spec.ts
source-control-commit-draft-persistence.spec.ts Fix stale and race-prone E2E test failures (#7468) 2026-07-05 19:46:49 -07:00
source-control-commit-message-ai.spec.ts Add {linkedIssue} template variable for commit and PR generation (#10640) 2026-07-25 19:31:44 -07:00
source-control-create-pr.spec.ts
source-control-discard-confirmation.spec.ts
source-control-large-file-count.spec.ts fix(source-control): keep huge change sets responsive (#9477) 2026-07-20 14:50:12 -07:00
source-control-pr-generation-switch.spec.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
source-control-pr-linked-issue-ai.spec.ts Add {linkedIssue} template variable for commit and PR generation (#10640) 2026-07-25 19:31:44 -07:00
ssh-ai-vault-session-history.spec.ts fix(ai-vault): make SSH session history host-aware (#7367) 2026-07-04 22:56:55 -07:00
ssh-codex-display-artifacts-repro.spec.ts Fix SSH terminal replay artifacts 2026-06-22 16:42:20 -07:00
ssh-codex-real-remote.ts Fix SSH terminal replay artifacts 2026-06-22 16:42:20 -07:00
ssh-codex-reconnect-replay-driver.ts fix: reconcile SSH repo rows after host re-add (#8201) 2026-07-11 03:20:55 -07:00
ssh-codex-repro-remote-fixtures.ts Fix SSH terminal replay artifacts 2026-06-22 16:42:20 -07:00
ssh-codex-terminal-observers.ts Fix SSH terminal replay artifacts 2026-06-22 16:42:20 -07:00
ssh-cold-activation-restore.spec.ts perf(terminal): defer cold worktree activation tab mounts until first reveal (#8597) 2026-07-14 02:58:34 -07:00
ssh-docker-relay-perf.spec.ts feat: bound direct SSH reconnect fan-out and recovery (#11003) 2026-07-28 12:33:17 -07:00
ssh-docker-watcher-isolation.spec.ts Ssh watcher isolation e2e (#8494) 2026-07-12 23:50:00 -07:00
ssh-external-image-preview.spec.ts fix(ssh): open external host images from terminal links (#10323) 2026-07-24 12:05:38 -07:00
ssh-localhost.spec.ts fix: reconcile SSH repo rows after host re-add (#8201) 2026-07-11 03:20:55 -07:00
ssh-pi-compatible-agent-title.spec.ts fix: reconcile SSH repo rows after host re-add (#8201) 2026-07-11 03:20:55 -07:00
ssh-terminal-parking.spec.ts fix(terminal): bound SSH & remote hidden-worktree terminal retention (C1) (#10625) 2026-07-29 00:47:18 -07:00
ssh-terminal-stale-grid-probe.ts fix(terminal): heal stale PTY grids on window wake (#9626) 2026-07-20 18:54:44 -07:00
ssh-terminal-window-wake-stale-grid-repro.spec.ts fix(terminal): heal stale PTY grids on window wake (#9626) 2026-07-20 18:54:44 -07:00
sustained-agent-typing-load-scripts.ts Terminal performance initiative: pipeline fixes + term-speed-2 revival + PTY flow control (integration branch) (#7214) 2026-07-10 17:27:47 -07:00
tab-close-navigation.spec.ts test(e2e): stabilize chronically-failing e2e suite (#7470) 2026-07-05 21:51:32 -07:00
tab-rename-paste-ownership.spec.ts
tab-rename.spec.ts
tab-sidebar-closed-overlap.spec.ts
tabs.spec.ts Fix tab switching after terminal tab reorder (#6395) 2026-06-25 18:36:11 -07:00
tasks-page.spec.ts
terminal-attention.spec.ts
terminal-codex-cursor-jitter-repro.spec.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
terminal-codex-hidden-startup-background.spec.ts test(e2e): deliver node burst via temp file so PowerShell quoting can't break OSC title (#8521) (#9391) 2026-07-20 03:04:28 -04:00
terminal-codex-home.spec.ts
terminal-codex-local-typing-latency.spec.ts test(e2e): make Codex typing-latency harness measure real echo latency (#10660) 2026-07-25 20:06:19 -07:00
terminal-codex-skill-preview-artifact-repro.spec.ts fix(quality): enforce performance-safe lint baseline (#11074) 2026-07-27 20:54:02 -07:00
terminal-cold-activation-deferral.spec.ts perf(terminal): defer cold worktree activation tab mounts until first reveal (#8597) 2026-07-14 02:58:34 -07:00
terminal-column-desync-repro.spec.ts test(e2e): stabilize chronically-failing e2e suite (#7470) 2026-07-05 21:51:32 -07:00
terminal-column-probes.ts
terminal-cursor-inactive-style.spec.ts
terminal-cursor-raster-probe.ts
terminal-document-visibility-webgl-recovery.spec.ts
terminal-foreground-confirmation.unit.test.ts fix(terminal): send CSI-u Shift+Enter to Droid on Windows (#7620) (#7668) 2026-07-10 21:00:31 -07:00
terminal-foreground-redraw-freeze.spec.ts Reduce terminal redraw CPU on active TUIs (#8178) 2026-07-10 19:50:44 -07:00
terminal-hidden-tui-visual-restore.spec.ts test(e2e): deliver node burst via temp file so PowerShell quoting can't break OSC title (#8521) (#9391) 2026-07-20 03:04:28 -04:00
terminal-hidden-view-parking.spec.ts fix(terminal): avoid flash while restoring parked terminals (#10871) 2026-07-26 23:46:39 -07:00
terminal-history-size-typing-latency.spec.ts fix(e2e): repair release e2e suite (parking regression tests, stale/flaky specs, profile switcher gate) (#8486) 2026-07-12 22:40:57 -07:00
terminal-image-paste-webgl-recovery.spec.ts
terminal-inline-tui-reveal-convergence.spec.ts fix(terminal): harden revealed inline-TUI convergence (#9503) 2026-07-19 22:54:39 -04:00
terminal-large-paste-responsiveness.spec.ts
terminal-link-hover-after-worktree-return.spec.ts fix(terminal): restore link hover after mouseleave (#10903) 2026-07-27 03:29:35 -07:00
terminal-long-table-fixtures.ts Fix terminal scroll intent across workspace switches (#6319) 2026-06-24 20:16:14 -07:00
terminal-long-table-scroll-restore.spec.ts Terminal performance initiative: pipeline fixes + term-speed-2 revival + PTY flow control (integration branch) (#7214) 2026-07-10 17:27:47 -07:00
terminal-multi-workspace-typing-latency.spec.ts Terminal performance initiative: pipeline fixes + term-speed-2 revival + PTY flow control (integration branch) (#7214) 2026-07-10 17:27:47 -07:00
terminal-node-command.ts
terminal-opencode-altscreen-reveal-artifacts.spec.ts feat: bound direct SSH reconnect fan-out and recovery (#11003) 2026-07-28 12:33:17 -07:00
terminal-opencode-emoji-table-rendering.spec.ts
terminal-osc-color-queries.spec.ts fix(renderer): answer OSC color queries from active terminal theme (#6502) 2026-06-27 09:30:29 -07:00
terminal-output-scheduler.spec.ts Remove stale max-lines lint disables from files under the limit (#7548) 2026-07-06 02:12:32 -07:00
terminal-pane-close-layout-consistency.spec.ts fix(e2e): repair release e2e suite (parking regression tests, stale/flaky specs, profile switcher gate) (#8486) 2026-07-12 22:40:57 -07:00
terminal-pane-divider-capture-loss.spec.ts fix(terminal): keep divider resize active after capture loss (#9063) 2026-07-16 13:07:44 -07:00
terminal-panes.spec.ts feat(tabs): redesign tab splits and terminal pane discoverability (#5927) 2026-06-21 23:09:01 -07:00
terminal-parked-close-retirement.spec.ts fix(terminal): retire sessions when tabs close (#8628) 2026-07-14 00:15:34 -07:00
terminal-parked-memory.spec.ts fix(terminal): bound SSH & remote hidden-worktree terminal retention (C1) (#10625) 2026-07-29 00:47:18 -07:00
terminal-paste-ownership.spec.ts fix(terminal): prevent Windows multiline paste submission (#8688) 2026-07-14 14:40:40 -07:00
terminal-pinned-viewport-streaming-switch.spec.ts fix(terminal): make viewport ownership transactional across output, replay, and reflow (#8674) 2026-07-15 20:28:39 -07:00
terminal-pinned-viewport-worktree-switch.spec.ts Fix terminal scroll intent across workspace switches (#6319) 2026-06-24 20:16:14 -07:00
terminal-probe-input-sequence.ts test(e2e): harden terminal restart regressions on Windows (#9064) 2026-07-17 17:18:36 -07:00
terminal-probe-input-sequence.unit.test.ts test(e2e): harden terminal restart regressions on Windows (#9064) 2026-07-17 17:18:36 -07:00
terminal-pty-readiness.ts
terminal-push-delivery-loss-recovery.spec.ts feat(native-chat): native chat view across mobile, desktop, and web (#5824) 2026-07-16 13:26:15 -07:00
terminal-raster-artifact-analysis.ts Fix SSH terminal replay artifacts 2026-06-22 16:42:20 -07:00
terminal-raw-emoji-table-scroll-restore.spec.ts Terminal performance initiative: pipeline fixes + term-speed-2 revival + PTY flow control (integration branch) (#7214) 2026-07-10 17:27:47 -07:00
terminal-reattach-mouse-mode-leak.spec.ts Fix e2e tests (#8495) 2026-07-13 00:48:51 -07:00
terminal-repro-evidence.ts Fix SSH terminal replay artifacts 2026-06-22 16:42:20 -07:00
terminal-restart-persistence.spec.ts test(e2e): harden terminal restart regressions on Windows (#9064) 2026-07-17 17:18:36 -07:00
terminal-retention-budget.spec.ts fix(terminal): bound SSH & remote hidden-worktree terminal retention (C1) (#10625) 2026-07-29 00:47:18 -07:00
terminal-reveal-draw-command-probe.spec.ts fix(terminal): release an abandoned synchronized-output frame on reveal (STA-2694) (#10907) 2026-07-27 16:32:24 -07:00
terminal-reveal-latch-visual-evidence.spec.ts fix(terminal): release an abandoned synchronized-output frame on reveal (STA-2694) (#10907) 2026-07-27 16:32:24 -07:00
terminal-reveal-paused-render-repro.spec.ts fix(terminal): repaint revealed panes stuck behind xterm's paused-render gate (#7614) 2026-07-06 20:17:35 -07:00
terminal-reveal-stale-pty-resize-repro.spec.ts fix(terminal): stop stale PTY resize after worktree reveal (#8502) 2026-07-13 14:17:49 -07:00
terminal-screenshot-diff.ts Fix terminal tab switch resume rendering (#6041) 2026-06-23 00:23:34 -07:00
terminal-scroll-intent-follow.spec.ts fix(terminal): make viewport ownership transactional across output, replay, and reflow (#8674) 2026-07-15 20:28:39 -07:00
terminal-shortcuts.spec.ts Fix Ctrl+Alt terminal input on Windows by repairing xterm's AltGr misclassification (#8810) 2026-07-16 16:38:20 -07:00
terminal-sleep-wake-restore.spec.ts fix(terminal): make remote workspace sleep converge (#9874) 2026-07-22 00:22:36 -07:00
terminal-split-pane-paste-ownership.spec.ts
terminal-stuck-occlusion-recovery.spec.ts Terminal performance initiative: pipeline fixes + term-speed-2 revival + PTY flow control (integration branch) (#7214) 2026-07-10 17:27:47 -07:00
terminal-synchronized-output-release-perf.spec.ts fix(terminal): release an abandoned synchronized-output frame on reveal (STA-2694) (#10907) 2026-07-27 16:32:24 -07:00
terminal-tab-close-restart-persistence.spec.ts feat: bound direct SSH reconnect fan-out and recovery (#11003) 2026-07-28 12:33:17 -07:00
terminal-tab-screenshot.ts Fix terminal tab switch resume rendering (#6041) 2026-06-23 00:23:34 -07:00
terminal-tab-switch-sigwinch-restore.spec.ts test(e2e): deliver node burst via temp file so PowerShell quoting can't break OSC title (#8521) (#9391) 2026-07-20 03:04:28 -04:00
terminal-tab-switch-visual-restore.spec.ts test(e2e): fix two stale E2E specs failing on main (runtime host seeding, alt-screen snapshot) (#10614) 2026-07-25 15:58:40 -07:00
terminal-tui-wheel-drain.spec.ts test(e2e): stabilize chronically-failing e2e suite (#7470) 2026-07-05 21:51:32 -07:00
terminal-tui-wheel-reports.spec.ts test(e2e): stabilize chronically-failing e2e suite (#7470) 2026-07-05 21:51:32 -07:00
terminal-typing-latency.spec.ts
terminal-warm-reattach-split-live-output.spec.ts fix(terminal): release reattach fit on an unchanged stable grid (#9056) 2026-07-16 12:38:31 -07:00
terminal-webgl-atlas-budget.spec.ts fix(terminal): invalidate cached glyphs when WebGL atlas changes (#8899) 2026-07-17 16:16:17 -07:00
terminal-webgl-reset-capture.ts Fix SSH terminal replay artifacts 2026-06-22 16:42:20 -07:00
terminal-wedged-write-pipeline-recovery.spec.ts fix(terminal): self-heal panes whose renderer dies while the PTY stays alive (#8630) 2026-07-13 21:30:10 -07:00
terminal-window-wake-stale-grid-repro.spec.ts fix(terminal): heal stale PTY grids on window wake (#9626) 2026-07-20 18:54:44 -07:00
terminal-windows-codex-multiline-paste.spec.ts fix(terminal): prevent Windows multiline paste submission (#8688) 2026-07-14 14:40:40 -07:00
terminal-windows-shell-paste-ownership.spec.ts
usage-overview.spec.ts
vitest.config.ts
windows-project-runtime-smoke.spec.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
windows-terminal-env-icons.spec.ts
workspace-back-forward-navigation.spec.ts
workspace-space-git-status.spec.ts Fix stale and race-prone E2E test failures (#7468) 2026-07-05 19:46:49 -07:00
worktree-lifecycle.spec.ts
worktree-lineage-agent-expansion.spec.ts fix(sidebar): decouple agent-list expansion from the child-worktrees toggle (#8527) 2026-07-13 16:15:44 -07:00
worktree-lineage-state.ts Fix legacy worktree lineage projection after stable updates (#9913) 2026-07-22 15:52:42 -07:00
worktree-lineage.spec.ts Fix legacy worktree lineage projection after stable updates (#9913) 2026-07-22 15:52:42 -07:00
worktree-recent-sort.spec.ts chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
worktree-row-locators.ts
worktree-scroll-to-current.spec.ts Revert centered sidebar jump behavior (#8019) 2026-07-10 03:00:51 -07:00
worktree-smart-sort.spec.ts
worktree-switch-responsiveness.spec.ts Revert centered sidebar jump behavior (#8019) 2026-07-10 03:00:51 -07:00
worktree.spec.ts feat(workspaces): add emoji shortcode picker 2026-07-27 22:13:30 -07:00