What happened
The Desktop E2E test following the tail does not ask for the history above it (apps/desktop/e2e/transcript-scroll.spec.ts:712) intermittently loads an earlier transcript range after its readiness check has already declared the pinned tail settled.
Observed in PR #4649 CI run 33827319970, attempt 1:
Expected: "turn-fixture-1"
Received: "turn-prompt-rail-111"
at apps/desktop/e2e/transcript-scroll.spec.ts:746
The test records the first loaded Turn, resizes the viewport, polls until the transcript is both at the tail and inside the earlier-history load band, waits 12 painted frames, and then expects the first loaded Turn to remain unchanged. Under the four-worker Linux/Xvfb CI load, the first Turn changed anyway. That means an earlier-range request was either already admitted before the geometry poll returned or was admitted after the state the poll observed.
This failure is unrelated to the PR under test: #4649 does not change transcript scrolling, paging, or this E2E spec. The other 105 E2E tests passed. Rerunning the failed CI job was requested separately.
Expected behavior: while the transcript is following its tail, entering the geometric load band because of viewport/layout changes must not be interpreted as reader intent to load earlier history.
How to reproduce
Intermittent under CI load:
- Run the Desktop E2E suite on Linux/Xvfb with four workers.
- Observe
following the tail does not ask for the history above it after the prompt-rail fixture viewport grows to 900×1500.
The failure was observed once in 110 tests on the run linked above. A deterministic reproduction has not yet been established.
Environment
Logs, screenshots, or additional context
This is not covered by the nearby open timing reports:
The test's current geometry poll was added in #4386. It proves one sampled state is at the tail and in the load band, but it does not prove that no earlier-range request is already admitted or becomes admitted by the subsequent scroll/resize delivery. Investigation should observe the actual transcript-page request boundary, rather than add another fixed frame delay. If a request is emitted while the scroll authority is still pinned, fix the product ordering; if the request predates the stable state legitimately, make the test synchronize with that admitted work before recording its baseline.
What happened
The Desktop E2E test
following the tail does not ask for the history above it(apps/desktop/e2e/transcript-scroll.spec.ts:712) intermittently loads an earlier transcript range after its readiness check has already declared the pinned tail settled.Observed in PR #4649 CI run 33827319970, attempt 1:
The test records the first loaded Turn, resizes the viewport, polls until the transcript is both at the tail and inside the earlier-history load band, waits 12 painted frames, and then expects the first loaded Turn to remain unchanged. Under the four-worker Linux/Xvfb CI load, the first Turn changed anyway. That means an earlier-range request was either already admitted before the geometry poll returned or was admitted after the state the poll observed.
This failure is unrelated to the PR under test: #4649 does not change transcript scrolling, paging, or this E2E spec. The other 105 E2E tests passed. Rerunning the failed CI job was requested separately.
Expected behavior: while the transcript is following its tail, entering the geometric load band because of viewport/layout changes must not be interpreted as reader intent to load earlier history.
How to reproduce
Intermittent under CI load:
following the tail does not ask for the history above itafter the prompt-rail fixture viewport grows to 900×1500.The failure was observed once in 110 tests on the run linked above. A deterministic reproduction has not yet been established.
Environment
fbbc141be(PR fix(desktop): restore retained shared sessions #4649; based onb39e8d36e)Logs, screenshots, or additional context
This is not covered by the nearby open timing reports:
The test's current geometry poll was added in #4386. It proves one sampled state is at the tail and in the load band, but it does not prove that no earlier-range request is already admitted or becomes admitted by the subsequent scroll/resize delivery. Investigation should observe the actual transcript-page request boundary, rather than add another fixed frame delay. If a request is emitted while the scroll authority is still pinned, fix the product ordering; if the request predates the stable state legitimately, make the test synchronize with that admitted work before recording its baseline.