Regression from #4838 perf(chat) series: first-run-local and session-full-history-on-open journeys red on dev
Summary
Two E2E journeys that were green in the last four nightlies are deterministically red on dev since #4838 perf(chat): prioritize visible thread history and preserve scroll (4462762b4), with the follow-ups #4844 / #4845 / #4846 in the same series.
| journey | signature | bisect |
|---|---|---|
first-run-local ("Your workspace is ready…") |
times out after 180 s; the first prompt ends in CancelledError, text stays in the composer |
e4e316d41 (commit before #4838) green 2/2 → 4462762b4 (#4838) red 2/2; still red at 9a60a4b59, e8bc90f9f and post-revert 858414c41 (3/3). Not #4747 (reverted as #4870, verified), not #4777 (its parent is already red). |
session-full-history-on-open |
Branch in new chat control is located but visible=false (spec line ~100) |
green in baseline 2fcbae60e and the morning run; red 2/2 on 9a60a4b59 and post-revert 858414c41 (run 34542632151). Only the perf(chat) series touches this path in that range. |
Runs: baseline 34512822810, post-Phase-1 34529322422, post-revert 34542686302 / 34542632151, rerun 34535757879.
Likely mechanism
#4838 reads the newest 24 messages first and starts the uncapped full-history read after a paint opportunity ("never treat the preview as complete history"). On a first run the transcript-scoped Suspense boundary / preview path appears to cancel the first prompt's request; on open the Branch in new chat action is mounted while history is still incomplete and never becomes visible.
Also affected
Three open PRs written against the previous loading model are being re-validated against this series and may be closed as redundant: #4742 (PageUp history), #4780 (Find reading anchor), #4792 (cold-reload history tail).
Ask
@reachjalil — could you confirm and fix on the #4838 series? Repro: pnpm evals:e2e first-run-local --daytona and pnpm evals:e2e session-full-history-on-open --daytona at origin/dev. Full gate report with attribution is kept locally by the merge-train gate; happy to share the tables.
Source: different-ai/openwork