fix(web): address review on the turn-tail actions gate

Correct the Agent Note's consequence: a running turn withholds the footer
below its own trigger bubble, while every earlier completed turn keeps its
seat — which the package test already asserts.

Give the running-phase barrier an explicit budget: it is armed before the
park and awaited after the stop click, so the 30s replay default left no
headroom for the marker poll, the UI polls, and two aria captures.

Number the running-turn test's boundary seqs like the log does, with each
turn/end strictly after its own nodes.
This commit is contained in:
creatixchu
2026-08-05 16:55:20 +08:00
parent 53e210348d
commit 6902b51fea
5 changed files with 17 additions and 11 deletions

View File

@@ -109,7 +109,11 @@ describe('web e2e: assistant IconActions wait for the turn to end', () => {
return { patches: [{ at: 1, entry: { kind: 'hang', readyFile: marker } }] }
})
onTestFailed(() => saveFailureShot(page, 'web-e2e-turn-tail-actions'))
const { settled } = await sendPrompt()
// The barrier is armed before the park and awaited only after the stop
// click, so its budget must cover the whole parked phase: marker poll,
// three UI polls, and two captures with their stability windows. The
// replay default (30s) leaves no headroom on a slow runner.
const { settled } = await sendPrompt(120_000)
// The marker IS the synchronization: the second call is provably parked,
// so the first step's message and tool result are already durable.
await expect.poll(() => existsSync(marker), { timeout: 20_000 }).toBe(true)