Repository navigation
test(app): update timeline e2e tests for always-background subagents - #63430
opencodejr[bot] wants to merge 1 commit into
Conversation
Subagents no longer block the run, carry a "(background)" subtitle, or reveal their starting call from the activity pill. Show the background hint with a running shell instead, drop the removed subtitle, follow the session order in the activity menu, and remove the tests for the deleted pill reveal path.
|
This PR doesn't fully meet our contributing guidelines and PR template. What needs to be fixed:
Please edit this PR description to address the above within 72 hours, or it will be automatically closed. If you believe this was flagged incorrectly, please let a maintainer know. |
There was a problem hiding this comment.
The updated tests match the behaviour after #63382 and #63391, and I found no problems in them. On the base branch, the selected background shortcut and scrolls the timeline behind e2e tests reproduce the CI failures: the geometry tests with a pointer and with touch, the stale-call test, the two-rows test, and the three revealed-call tests. With this PR, all 10 remaining tests pass in Chromium, run twice with no retries. typecheck:e2e reports the same 185 errors as the base, and none are on the changed lines.
The new background-subagent fixture uses the same shape as the existing call_backgrounded fixture. Deleting the revealed-call tests is reasonable now that their pill entry point is gone.
The public API is unchanged; this PR only edits e2e tests.
What failed
check-test / e2e (linux|windows, app-2)failed ondevin these tests:timeline-geometry.spec.ts› with a pointer / with touch › scrolls the timeline behind the composer region… (session-background-hint-rownever appears)timeline-stream.spec.ts› background shortcut › counts a backgrounded subagent… (expectsStale task (background))timeline-stream.spec.ts› background shortcut › separates blocking and already-backgrounded work into two rows (the background hint button never appears)timeline-stream.spec.ts› background shortcut › holds a revealed call … just under its stuck group header (×3, timing out on the1 subagentpill)On Windows, the extra 60-second timeouts and retries also pushed the job past its 15-minute limit.
Root cause
#63382 made subagents always run in the background:
subagentcall is no longer blocking work, so it no longer shows the "move running work to the background" hint.(background)subtitle suffix.#63391 then removed the pill's "reveal a starting subagent call in the timeline" path (
onReveal/setRevealPart). These e2e tests still asserted the old behaviour.Fix (tests only)
1 subagentpill, plus a running shell, which shows the hint row. The geometry expectations are unchanged.Stale taskwithout the removed suffix. The pill-count checks are unchanged.holds a revealed call … under its stuck group headertests. They clicked a pill row that refactor(app): remove leftover foreground subagent UI #63391 removed along with its code path. The scroll-to-call logic they covered is still in the timeline code, but nothing in the app triggers it any more. If e2e coverage is wanted, it needs a new way in.Verification
bunx playwright test e2e/regression/timeline-stream.spec.ts e2e/regression/timeline-geometry.spec.ts --project chromium -g "background shortcut|scrolls the timeline behind"→ 7 failed, 6 passed, the same failures as CI.timeline-stream,timeline-geometryandsubagent-child-navigationspecs → 89 passed, 1 failed. The failure isrenders current protocol notices in CLI order; it fails the same way without this change and isn't among the CI failures.prettier --checkpasses. The e2e typecheck reports no new errors in the changed lines.CI failure:
check-test / e2e (windows, app-2) / [chromium] e2e\regression\timeline-geometry.spec.ts › with a pointer › scrolls the timeline behind the composer region, fading at the card, and keeps its end above the region,check-test / e2e (windows, app-2) / [chromium] e2e\regression\timeline-stream.spec.ts › background shortcut › counts a backgrounded subagent while its session runs, not while its call still reads running,check-test / e2e (windows, app-2) / [chromium] e2e\regression\timeline-geometry.spec.ts › with touch › scrolls the timeline behind the composer region, fading at the card, and keeps its end above the region,check-test / e2e (windows, app-2) / [chromium] e2e\regression\timeline-stream.spec.ts › background shortcut › separates blocking and already-backgrounded work into two rows,check-test / e2e (windows, app-2) / [chromium] e2e\regression\timeline-stream.spec.ts › background shortcut › holds a revealed call from far below just under its stuck group header,check-test / e2e (linux, app-2) / [chromium] e2e/regression/timeline-geometry.spec.ts › with a pointer › scrolls the timeline behind the composer region, fading at the card, and keeps its end above the region,check-test / e2e (linux, app-2) / [chromium] e2e/regression/timeline-geometry.spec.ts › with touch › scrolls the timeline behind the composer region, fading at the card, and keeps its end above the region,check-test / e2e (linux, app-2) / [chromium] e2e/regression/timeline-stream.spec.ts › background shortcut › counts a backgrounded subagent while its session runs, not while its call still reads running,check-test / e2e (linux, app-2) / [chromium] e2e/regression/timeline-stream.spec.ts › background shortcut › separates blocking and already-backgrounded work into two rows,check-test / e2e (linux, app-2) / [chromium] e2e/regression/timeline-stream.spec.ts › background shortcut › holds a revealed call from far below just under its stuck group header,check-test / e2e (linux, app-2) / [chromium] e2e/regression/timeline-stream.spec.ts › background shortcut › holds a revealed call that opens the last row just under its stuck group headerfailed 3 runs in a row ondev.6c34e24(first failing: run 7363)6eac53766e2fb9"feat(core): always run subagents in the background (feat(core): always run subagents in the background #63382)" (feat(core): always run subagents in the background #63382) by @jlongsterOpened by the CI fix job: it does not merge or push to
dev.