Skip to content

flaky(e2e): streaming-remount:142 bubble mounts as historical without maka-bubble-streaming while the Turn is live #4664

Open

Description

@me2seeks

Symptom

e2e/streaming-remount.spec.ts:142 › keeps a completed reply after an interrupted turn and conversation remount intermittently times out (20s) waiting for:

await expect(page.locator('.maka-bubble-streaming')).toContainText('Fake backend waiting', ...)

element(s) not found — but the Playwright error-context snapshot shows the text is rendered (log > paragraph: "Fake backend waiting for the test to stop the Turn."). The answer bubble mounts with phase: 'historical' instead of the live streaming phase, so it never carries the maka-bubble-streaming class even though the sidebar shows the turn as 正在响应 (running).

So the race is in live-turn arming/projection: the new turn's first content lands through the historical transcript path while the Turn is actually live.

Reproduction (local, xvfb-run -a, --workers=1, --repeat-each=6)

Tree Result
main @ 91624f1 1 fail / 6 runs
feat/4364-runtime-form-interactions @ b65d7ff 3 fail / 6 runs
feat/4364-desktop-form-interactions @ e8b22e8 1 fail / 3 runs

The flake exists on plain main; the #4364 stack may raise the rate but does not introduce it.

CI sightings

Related history

The 142 case looks like a cousin of #3177: the bubble loses the live classification on a freshly started Turn in a fresh conversation (the preceding step parks a draft in another session and clicks 新任务). Hypothesis: the first content event for the new Turn arrives before the renderer arms its live-turn projection for that session, so it is absorbed into the historical transcript and never re-classified.

Activity

  1. DaBestCode commented on Sep 3, 2026

    @DaBestCode
    Contributor

    take

  2. DaBestCode commented on Sep 3, 2026

    @DaBestCode
    Contributor

    I’m investigating this issue. 42 macOS and 18 Linux ARM64/Xvfb runs passed, including six on 91624f1. x86-64 emulation crashes Electron before reaching the test. Could you share your exact Linux image, Node version, whether CI was set, and a failing Playwright trace with renderer/main logs? I haven’t confirmed the root cause yet.

  3. Astro-Han commented on Sep 17, 2026

    @Astro-Han
    Contributor

    Two things have changed since this was filed: the investigation above did not reproduce it in roughly 60 macOS and Linux runs, and #5217 (f4148595d) moved Desktop conversation execution onto Host-owned snapshots and edited this spec. That is the live-versus-historical phase authority this report points at, so the race may no longer exist. Could you re-run streaming-remount.spec.ts with --repeat-each on current main and report the rate? If it comes back green we will close this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions