Skip to content

test(app): update e2e specs for always-background subagents - #63538

Merged
jlongster merged 1 commit into
devfrom
fix-subagent-e2e
Nov 12, 2026
Merged

jlongster merged 1 commit into
devfrom
fix-subagent-e2e

Conversation

@jlongster

Copy link
Copy Markdown
Contributor

Fixes the app e2e specs that fail on dev since subagents always run in the background (#63382, #63391). Seven cases fail on both Linux and Windows e2e (…, app-2), e.g. run 43205730927. Test-only change.

Spec Was Now
timeline-geometry.spec.ts "scrolls the timeline behind the composer region…" (pointer, touch) Used a blocking subagent to get the background hint row, which subagents no longer have A blocking shell supplies the hint row. A busy child session supplies the 1 subagent pill. Same geometry checks.
timeline-stream.spec.ts "counts a backgrounded subagent…" Expected the removed (background) subtitle and sent background: true Checks the exact task description. The launch keeps status: "running" while the child's idle → busy → idle drives the count.
timeline-stream.spec.ts "separates blocking and already-backgrounded work…" Used a blocking subagent as blocking work A blocking shell, a background shell and a running child. Checks the hint, the 1 subagent · 1 shell menu, interrupt, shell output and kill.
timeline-stream.spec.ts "holds a revealed call … under its stuck group header" (3 variants) Revealed a starting subagent's call from its chip, which #63391 removed Reveal from a finished shell's notice, a live path (session-timeline-row.tsx → virtualizer.tsx revealPart). The standalone "jumps from a finished shell's notice to its call" case is folded into these, keeping its assertions.

The describe block is renamed "background work". No product code changes.

🚩 Flag: none (test).

📊 Proof (production build, 5 workers, fully parallel, no retries)

  • Both full specs: 78/78 pass.
  • The seven affected cases with --repeat-each=10: 70/70 pass.
  • typecheck:tsc passes in app. typecheck:e2e has 1 fewer error than base and no new ones. Prettier and oxlint are clean.

User decisions:
- Fix the tests that fail because subagents now always run in the background

@opencodejr opencodejr Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test-only change looks sound. On the base, the seven affected app e2e cases fail as described. With this pull request, all of them pass in a local Playwright run (76 of 78 in the two specs). The two failures are in static projection tests that this pull request doesn't touch: one also fails on the base here, and the other passed on the base, so it looks environment-dependent rather than caused by this change. typecheck:e2e has one fewer error than the base and no new ones in these specs.

Public API: unchanged. Only e2e specs are modified.

The new fixtures are simpler than before. Using shellCommands replaces the hand-sent shell.created event, and status("idle", …) replaces the as never transport cast. I have no concerns.

@jlongster
jlongster merged commit 98def2f into dev Nov 12, 2026
26 checks passed
@jlongster
jlongster deleted the fix-subagent-e2e branch November 12, 2026 14:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant