docs(deploy-tests): read client-cache's prefetch race as upstream

Merged
K-
6h ago
+44-0

Summary

This adds an upstream reading for one case of client-cache.original: "should refetch the full page after 5 mins". It failed once on cloudflare under Node.js 26 in the night's run of 2026-11-02 (run 41491299214), when #loading never showed after the second click.

  • The race. The test moves the clock on, goes back to /, and waits for the links' new prefetches with waitForIdleNetwork() before it clicks.
    • That wait is the document's own network idle, which the document reached when it first loaded, so it returns at once.
    • A click while the link's prefetch is still out finds the route pending. The router then navigates with one dynamic request and no loading state.
  • Upstream. vercel/next.js#87412 names the race and added the waits.
  • Reproduction. On next start 16.4.3 with no adapter, the test's own steps failed 3 of 20 runs.
  • What the judge reads. Only the second wait for #loading (line 386, after the clock moves on).
  • Releases. The suite is the same at 16.4.4, so the reading holds at both releases.

Changes

  • src/reviewed.ts: the reading.
  • REVIEWED.md: its record, under Upstream.
  • test/judge.test.ts: the recorded failure message.

Verification

The tools/deploy-tests tests (198), typecheck, lint, format and the vocabulary check pass.


Summary by cubic

Reads client-cache.original's "should refetch the full page after 5 mins" failure as an upstream race in deploy-tests, so the suite no longer flags it as a regression.

  • The test's waitForIdleNetwork() is answered by the document's own network idle, so a click while the link's prefetch is still out navigates with no loading state.
  • vercel/next.js#87412 names the race, and the test's own steps failed 3 of 20 runs on next start 16.4.3.
  • The judge reads only the second wait for #loading (line 386), after the clock moves on; the reading holds at 16.4.3 (29bbeab) and 16.4.4.
  • The race is the test's and the client router's, so the reading holds on both targets and under both Node.js versions; a failed prefetch of the link looks the same, so the reading applies only where the suite's respective prefetch cases passed in the same run.

Summary by CodeRabbit

  • Tests
    • Updated deployment test records to recognize a known timeout in an app-client-cache check on Cloudflare with Node.js 26. The record notes that the second loading-state wait fails; no user-facing functionality changes are included.