orca/tests/e2e
Neil 97cb32c1cc
fix(terminal): release an abandoned synchronized-output frame on reveal (STA-2694) (#10907)
* fix(terminal): release an abandoned synchronized-output frame on reveal

Alt-screen agent TUIs (OpenCode/OpenTUI, Codex, grok) bracket every repaint
in `?2026h … ?2026l`. Hiding a pane mid-bracket — which a worktree switch or
cold-park lands on routinely, since these brackets are written many times a
second — leaves xterm's `decPrivateModes.synchronizedOutput` latched.

RenderService.refreshRows checks that latch *before* rendering, so while it
holds, every repaint Orca owns is a no-op: the forced render-pause repaint,
the plain `refresh()` fallback, and the shared glyph-atlas rebuild all render
zero rows while the xterm buffer is perfectly correct. Release the latch at
the two reveal repaint entry points so those repaints actually paint.

Also adds an OpenCode-shaped alt-screen e2e fixture and spec. The existing
inline-TUI convergence spec covers the normal-buffer shape (live block glued
to the bottom, history scrolling into scrollback); this covers the
full-screen alternate-buffer shape, where nothing scrolls and so no row ever
self-heals through the scroll path.

Scope note: xterm arms a 1s watchdog that clears this latch on its own, so
this closes a bounded window rather than the whole STA-2694 report. The e2e
spec passes with and without the production change for that reason; the unit
tests are what pin the behavior. Refs STA-2694.

* fix(terminal): clear the render model on the plain-refocus repaint path

`schedulePaneRevealPresent` — the atlas-preserving path a plain window
refocus takes — only called `terminal.refresh()`. xterm's renderers are
diff-based: `_updateModel` early-continues on any cell whose code/fg/bg/ext
still match the cached model, so a refresh repaints nothing for a pane whose
buffer never changed. When an occluded window loses its canvas contents while
that model stays populated, the refresh skips exactly the cells that went
stale and the pane keeps compositing pre-hide pixels — until a window resize
reallocates the model, which is the repair users find by hand.

Clear the model first (`RenderService.clear()` → renderer `clear()` →
`_clearModel(true)`) so the refresh becomes a guaranteed full repaint. That
drops cached cells and glyph vertices but NOT the texture atlas, which is
shared by every same-config terminal and whose mid-stream wipe re-arms xterm's
page-merge garble race (xterm.js #4480) — the reason this path is
atlas-preserving in the first place.

Also covers the DOM-renderer fallback in `resetWebglTextureAtlas`:
`clearTextureAtlas()` is what invalidated the model on the WebGL path, so a
pane without an addon had nothing invalidate it and hit the same skip.

Scope note: the e2e spec guards buffer/geometry convergence across the
hide/reveal boundaries and adds idle-agent and headful desktop-hide cases, but
it cannot observe a stale canvas — both oracles built for that (canvas-vs-buffer
ink sampling, screenshot-vs-forced-repaint) were proven blind by injecting the
defect, and the spec header documents why. The unit tests pin the ordering and
the atlas-preservation invariant. Refs STA-2694.

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

* docs(terminal): hand off the STA-2694 reveal-artifact investigation

Records both fixed defects with their xterm mechanisms, the reveal/wake call
graph, why every e2e oracle for a stale canvas was proven blind, how to arm the
in-app render-desync sentinel on real hardware, and the one unverified lead
(dimension staleness) that would explain why a window resize specifically is
the repair users find. Refs STA-2694.

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

* Revert "fix(terminal): clear the render model on the plain-refocus repaint path"

This reverts commit 0f7ec4458d37010338f16e70ff06957cb335e074.

* test(terminal): add a draw-command oracle for reveal repaints, and correct the STA-2694 scope

Every pixel oracle tried for STA-2694 was blind: `drawImage` on a
non-preserveDrawingBuffer WebGL canvas returns a re-rendered copy, and
Playwright's screenshot drives a fresh compositor frame that heals a stale paint
before capture. Reading pixels is self-defeating here — the read triggers the
repaint that hides the bug.

Count the WebGL draw commands instead, by wrapping GlyphRenderer.updateCell and
gl.drawElementsInstanced on the live pane. A draw command cannot be healed after
the fact, so "did the reveal actually repaint?" becomes directly observable.
Teeth-verified: removing releaseAbandonedSynchronizedOutput from
schedulePaneRevealPresent fails the stranded-latch test.

Two findings, both of which change previously-committed claims:

1. The 1s watchdog does NOT bound the synchronized-output defect. It is armed
   only inside `bufferRows`, and `refreshRows` returns at its `_isPaused` check
   first — so while a pane is occluded nothing reaches `bufferRows` and no timer
   is ever pending. A pane hidden mid-`?2026h` holds the latch with no watchdog
   behind it, indefinitely. ed1eaf55f1's "closes a bounded window" scope note was
   wrong; this is the unbounded garble the report describes, and the fix closes
   it. Corrected in the module doc comment.

2. It refutes the diff-based-staleness hypothesis behind 0f7ec4458d (reverted in
   8d5eacecb4). `_updateModel` does early-continue per unchanged cell, but
   `GlyphRenderer.render` then copies vertices for EVERY row up to
   `lineLengths[y]` and issues ONE full-viewport draw — measured identical
   instance counts (562) for a diff-skipped and a model-cleared refresh, with
   updateCell at 0 vs 561. The DOM renderer likewise replaceChildren()s every
   row unconditionally. Clearing the model could not change what reached the
   screen, and `_clearModel(true)` zeroes every glyph vertex while
   `RenderService.clear()` fires no repaint of its own — so it opened a
   blank-viewport window (also asserted here) for no benefit.

Also keeps the idle-agent and headful desktop-hide cases from the reverted
commit, since those were independent of the refuted production change, and
rewrites the alt-screen spec header to point paint questions at this oracle.
Refs STA-2694.

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

* docs(terminal): rewrite the STA-2694 handoff after the refutation

Records that the garble window is unbounded (the 1s watchdog never arms for an
occluded pane), that the diff-based-staleness hypothesis was refuted by
measurement and reverted, why pixel oracles are structurally blind here, and the
two leads now closed by measurement (dimension staleness, lazy atlas bindings).
Refs STA-2694.

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

* test(terminal): capture visual proof of the STA-2694 stale paint

The earlier screenshot oracles were blind because they compared a revealed pane
against a repaired one and both ran the same repaint code. Capturing the defect
directly works instead, because the mechanism is self-preserving: while
synchronizedOutput is latched, refreshRows returns before reaching the renderer,
so a compositor frame just re-composites the existing canvas texture and the
stale pixels survive the screenshot rather than being healed by it.

Latch a frame, write a full new frame the pane cannot paint, and capture. The
screenshot comes back byte-identical to the pre-hide one while the buffer holds
the new frame — the buffer/screen divergence users report — and differs after
the reveal repaint runs. Asserts both halves, so it fails if either the defect
stops reproducing or the fix stops repairing it.

Refs STA-2694.

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

* test(terminal): note where the xterm gate-order double is pinned for real

The unit double encodes RenderService's paused-then-latch gate order, which can
drift on an xterm upgrade. Point at the e2e oracle that pins the same order
against the real renderer, so a future upgrade has a trail to the authoritative
check. Refs STA-2694.

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

* test(terminal): add a perf budget for the synchronized-output release

releaseAbandonedSynchronizedOutput runs inside resetWebglTextureAtlas, which a
streaming alt-screen TUI can reach through the terminal-output atlas recovery
path — not only on reveal. Measure rather than assert that this costs nothing.

Steady state (a TUI that closes every frame it opens): 200 bracketed frames
produce zero releases, zero extra draw calls, and an unmeasurable early-out
cost. Worst case (every reveal finds a latched frame): 50 latched atlas resets
at 0.08ms each. Both are asserted with headroom, so the guard catches a future
change that makes this scan the buffer per pane rather than flaking on machine
speed. Refs STA-2694.

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

* test(terminal): address review — drive real code paths, close vacuity gaps

CodeRabbit caught a genuine tautology in the perf budget: it timed a
hand-copied mirror of the early-out rather than the shipped function, so the
assertion would have held even if the real code grew a buffer scan. Driving
resetWebglTextureAtlases instead moved the measured cost from ~0 to ~0.03ms per
call, which is the honest number for the whole recovery; bound re-set to 0.4ms
(10x measured).

Other review fixes:
- Assert the draw counts both perf tests were measuring and logging but never
  checking, so the 'no extra draws' titles now mean something.
- Fail fast when decPrivateModes is unavailable; previously the latched test
  would pass without ever exercising the fix.
- Re-check the latch right after the worktree switch in the mid-frame test: the
  pane is visible until then, so the 1s watchdog can arm and clear it before the
  hide, making the run vacuous.
- Count scheduleRevealPresent invocations instead of returning a literal true,
  so a missing test hook no longer masquerades as a production failure.
- Assert the latch clears on every reveal iteration, not just the last.
- Make the fixture heartbeat write atomic (tmp + rename); writeFileSync
  truncates first, so a reader could see '' and read it as frame 0.
- Relabel assertRevealPixelsNeedNoRepair as the weak secondary check it is; it
  contradicted the file header by calling itself 'the decisive paint assertion'.

Refs STA-2694.

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

---------

Co-authored-by: Orca <help@stably.ai>
2026-07-27 16:32:24 -07:00
..
fixtures fix(terminal): release an abandoned synchronized-output frame on reveal (STA-2694) (#10907) 2026-07-27 16:32:24 -07:00
helpers fix(terminals): negotiate explicit close intent for paired runtimes (#10129) 2026-07-27 15:22:55 -07:00
AGENTS.md Expose E2E store via build mode 2026-06-10 17:23:12 -07:00
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(agents): pi session resume support (#8876) 2026-07-17 17:29:04 -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 chore(lint): upgrade oxlint to 1.71 + enable 7 new rules (autofixed backlog) (#6841) 2026-06-29 22:38:29 -07:00
app-menu-paste-ownership.spec.ts Fix paste ownership, input bounds, and IPC validation 2026-06-19 17:14:55 -07:00
artificial-opencode-active-terminal-scroll.ts test: stabilize release e2e checks (#5212) 2026-06-11 12:46:43 -07:00
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-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 Click a link in orca browser should not open a new tab (#8782) 2026-07-15 21:37:32 -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 Improve release validation reliability (#5643) 2026-06-17 20:05:55 -07:00
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 Fix paste ownership, input bounds, and IPC validation 2026-06-19 17:14:55 -07:00
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-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 Suspend floating workspace terminal WebGL while the panel is closed (#5073) 2026-06-09 20:57:43 -07:00
floating-workspace-shared-glyph-atlas.spec.ts Reset WebGL glyph atlases globally to stop cross-terminal glyph corruption (#5122) 2026-06-10 13:41:05 -07:00
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 fix:Keep Jira linked work items attached when the composer project changes (#7770) 2026-07-20 15:05:23 -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
plugin-demo.spec.ts feat(plugins): Orca plugin system — kernel, content packs, panels, workers, marketplace v0 (experimental) (#8549) 2026-07-27 01:14:33 -07:00
plugin-marketplace-content.spec.ts feat(plugins): Orca plugin system — kernel, content packs, panels, workers, marketplace v0 (experimental) (#8549) 2026-07-27 01:14:33 -07:00
plugin-panel-containment.spec.ts feat(plugins): Orca plugin system — kernel, content packs, panels, workers, marketplace v0 (experimental) (#8549) 2026-07-27 01:14:33 -07:00
plugin-startup-budget.spec.ts feat(plugins): Orca plugin system — kernel, content packs, panels, workers, marketplace v0 (experimental) (#8549) 2026-07-27 01:14:33 -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 fix(resource-manager): never destroy a session Orca cannot prove is idle (#8459) (#10893) 2026-07-27 11:52:55 -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
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 Default agent launches to yolo permissions mode (#5145) 2026-06-10 21:14:53 -07:00
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 Unify pull request draft title resolution (#5943) 2026-06-20 18:47:39 -07:00
source-control-discard-confirmation.spec.ts Refactor Source Control header toolbar (#5553) 2026-06-16 18:56:52 -07:00
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 Ssh watcher isolation e2e (#8494) 2026-07-12 23:50:00 -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-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 Fix paste ownership, input bounds, and IPC validation 2026-06-19 17:14:55 -07:00
tab-rename.spec.ts Default agent launches to yolo permissions mode (#5145) 2026-06-10 21:14:53 -07:00
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 Fix flaky e2e tests (#5680) 2026-06-18 00:11:32 -07:00
terminal-attention.spec.ts Fix flaky e2e tests (#5680) 2026-06-18 00:11:32 -07:00
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(terminal): make viewport ownership transactional across output, replay, and reflow (#8674) 2026-07-15 20:28:39 -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 Fix Windows ConPTY probe failures by removing startup control bytes (#5893) 2026-06-20 02:03:24 -07:00
terminal-cursor-inactive-style.spec.ts Default agent launches to yolo permissions mode (#5145) 2026-06-10 21:14:53 -07:00
terminal-cursor-raster-probe.ts fix: stabilize release terminal e2e (#5869) 2026-06-19 19:43:42 -07:00
terminal-document-visibility-webgl-recovery.spec.ts Keep terminal text painted after app resume (#5565) 2026-06-17 10:49:41 -07:00
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 Fix paste ownership, input bounds, and IPC validation 2026-06-19 17:14:55 -07:00
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 Use runner Node executable and platform quoting in terminal E2E tests (#5890) 2026-06-20 01:27:41 -07:00
terminal-opencode-altscreen-reveal-artifacts.spec.ts fix(terminal): release an abandoned synchronized-output frame on reveal (STA-2694) (#10907) 2026-07-27 16:32:24 -07:00
terminal-opencode-emoji-table-rendering.spec.ts Use runner Node executable and platform quoting in terminal E2E tests (#5890) 2026-06-20 01:27:41 -07:00
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 perf(terminal): tune cold-park keep-warm so common rotation never remounts (#8262) 2026-07-12 11:48:17 -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 Fix Windows ConPTY probe failures by removing startup control bytes (#5893) 2026-06-20 02:03:24 -07:00
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-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 Fix paste ownership, input bounds, and IPC validation 2026-06-19 17:14:55 -07:00
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 Fix 6 e2e test flakes: worktree teardown, window focus, and terminal cleanup (#9625) 2026-07-20 18:18:11 -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 fix: replace per-5s full-buffer terminal checkpoints with an incremental log (#5292) 2026-06-12 16:31:24 -07:00
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 Fix paste ownership, input bounds, and IPC validation 2026-06-19 17:14:55 -07:00
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 Fix flaky e2e tests (#5680) 2026-06-18 00:11:32 -07:00
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 Fix flaky e2e tests (#5680) 2026-06-18 00:11:32 -07:00
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 Fix flaky e2e tests (#5680) 2026-06-18 00:11:32 -07:00
worktree-switch-responsiveness.spec.ts Revert centered sidebar jump behavior (#8019) 2026-07-10 03:00:51 -07:00
worktree.spec.ts Fix stale and race-prone E2E test failures (#7468) 2026-07-05 19:46:49 -07:00