Skip to content

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

Merged
k-taro56 merged 3 commits into
mainfrom
docs/deploy-tests-client-cache-reading
Nov 3, 2026
Merged

k-taro56 merged 3 commits into
mainfrom
docs/deploy-tests-client-cache-reading

Conversation

@k-taro56

@k-taro56 k-taro56 commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

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. test: de-flake client-cache deployment tests 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.
  • test: de-flake client-cache deployment tests 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.

Written for commit 6cce0ba. Summary will update on new commits.

View guided diff Turn on auto-fix

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.

"should refetch the full page after 5 mins" of client-cache.original
failed once on cloudflare under Node.js 26 in the night's run of 2026-11-02
(run 41491299214): `#loading` never showed after the second click.

The test waits for the links' new prefetches with `waitForIdleNetwork()`,
which is the document's own network idle and returns at once. A click
while a prefetch is still out navigates with one dynamic request and no
loading state. vercel/next.js#87412 names the race, and the test's own
steps on `next start` 16.4.3 failed 3 of 20 runs with no adapter. The
judge reads only the second wait (line 386). The suite is the same at
16.4.4.
@arkor-deploy

arkor-deploy Bot commented Nov 3, 2026

Copy link
Copy Markdown

Arkor — Preview deployments for arkorlab-upwind

Use the checkbox below to choose whether this pull request gets preview deployments.

  • Build and deploy previews for this pull request

Checking this builds the latest commit and future pushes. Unchecking stops queued and future builds; a running build can finish and an existing preview stays available.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-03T09:30:31.783792Z 6cce0ba Manual request
🔒 Security Review ⚠️ Failed 2026-11-03T08:32:27.294374Z
We couldn’t complete this review. Comment @codex security review to try again.
6cce0ba New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@chatgpt-codex-connector

Copy link
Copy Markdown

The account paying for this security review has reached its Codex usage limits. The payer can check the Codex usage dashboard. For personal accounts, using credits requires enabling “Use credits for security reviews” in Code review settings. If you do not manage the paying account, contact this repository's admins.

@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 39 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: da0a907f-49a6-4069-92f2-bddb35e65a6f
Commits

Reviewing files that changed from the base of the PR and between ca8f182 and 6cce0ba.

Files selected for processing: 2
  • tools/deploy-tests/REVIEWED.md
  • tools/deploy-tests/src/reviewed.ts
Walkthrough

Adds an upstream failure reading for an app-client-cache test in Next.js 16.4.3. The reading matches the reported #loading timeout at client-cache.original.test.ts:386. The change also records the timeout in the judge test data and documents the observed conditions.

Changes: App-client-cache failure record

Layer / File(s) Summary
Match and document the upstream failure
tools/deploy-tests/src/reviewed.ts, tools/deploy-tests/test/judge.test.ts, tools/deploy-tests/REVIEWED.md
Adds a matcher for the reported #loading timeout, includes the failure in the judge’s recorded failures, and documents the observed prefetch and network-idle conditions.

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Possibly related PRs

  • arkorlab/upwind#436: Derives the Next.js 16.4.4 reviewed groups from the 16.4.3 groups that this change updates.

Suggested reviewers: soleil-colza

Merge Risk: Moderate · previous review ca8f1

An adapter failure could be counted as an upstream test failure and let the deployment test pass. Resolve that classification risk before merging.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title describes a docs-type change that records the client-cache prefetch race as an upstream issue, which matches the changeset (REVIEWED.md, reviewed.ts, and judge.test.ts all record that readin…
Docstring Coverage Passed No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title describes a docs-type change that records the client-cache prefetch race as an upstream issue, which matches the changeset (REVIEWED.md, reviewed.ts, and judge.test.ts all record that reading of the client-cache.original failure). It is specific and names the main point. The title does not mention the Node.js 26 or Cloudflare context, but it does not need to cover every detail.

Full details: Docstring Coverage

Explanation

No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 2 files. (1 skipped: 1 unsupported.)

Finishing Touches
Generate docstrings
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.
Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: e533100b-01d7-41fe-ab94-17cd795db62e
Commits

Reviewing files that changed from the base of the PR and between 6ad11a5 and ca8f182.

Files selected for processing: 3
  • tools/deploy-tests/REVIEWED.md
  • tools/deploy-tests/src/reviewed.ts
  • tools/deploy-tests/test/judge.test.ts

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

@greptile-apps

greptile-apps Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Low impact] The PR appears safe to merge.

Summary

The PR records a known app-client-cache race as an upstream failure.

  • The judge recognizes one client-cache prefetch race as upstream.

Reviews (3) · Last reviewed commit: "docs(deploy-tests): say plainly why clie..." · Reviewed by Greptile

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 3 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="tools/deploy-tests/src/reviewed.ts">

<violation number="1" location="tools/deploy-tests/src/reviewed.ts:330">
P2: This record applies to every target and Node.js lane, although the evidence only covers `cloudflare` under Node.js 26. Restrict the group to `targets: ['cloudflare']` and `nodes: ON_NODE_26` so matching failures in unverified lanes still fail the shard.</violation>
</file>

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread tools/deploy-tests/REVIEWED.md Resolved
},
{
reading: 'upstream',
record: 'app-client-cache',

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: This record applies to every target and Node.js lane, although the evidence only covers cloudflare under Node.js 26. Restrict the group to targets: ['cloudflare'] and nodes: ON_NODE_26 so matching failures in unverified lanes still fail the shard.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At tools/deploy-tests/src/reviewed.ts, line 330:

<comment>This record applies to every target and Node.js lane, although the evidence only covers `cloudflare` under Node.js 26. Restrict the group to `targets: ['cloudflare']` and `nodes: ON_NODE_26` so matching failures in unverified lanes still fail the shard.</comment>

<file context>
@@ -325,6 +325,21 @@ const AT_16_4_3: readonly Group[] = [
   },
+  {
+    reading: 'upstream',
+    record: 'app-client-cache',
+    // The second wait for the loading state, after the clock moves on: the first follows a wait the
+    // document's own load answers, which leaves no prefetch out.
</file context>
Suggested change
record: 'app-client-cache',
record: 'app-client-cache',
targets: ['cloudflare'],
nodes: ON_NODE_26,

@coderabbitai coderabbitai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Fix comments: Fix CodeRabbit comments on this PR

Comment thread tools/deploy-tests/src/reviewed.ts Resolved
…prefetches

- A prefetch of the adapter's that failed would skip the loading state as
  well (CodeRabbit). The reading now holds only where the suite's cases
  that prefetch again after five minutes, and prefetch a dynamic page in
  part, passed in the same run (`beside`). In the runs that failed it,
  both passed.
- The record names its release and commit, 16.4.3 at 29bbeab (cubic).
- The record says why it holds on both targets and under both Node.js
  versions: the race is the test's and the client router's, and it fails
  on `next start` with no adapter (cubic).
@chatgpt-codex-connector

Copy link
Copy Markdown

The account paying for this security review has reached its Codex usage limits. The payer can check the Codex usage dashboard. For personal accounts, using credits requires enabling “Use credits for security reviews” in Code review settings. If you do not manage the paying account, contact this repository's admins.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 2 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread tools/deploy-tests/src/reviewed.ts Resolved
…ts prefetch cases

The comment and the record said "a prefetch of the adapter's" with no noun after it (cubic). They now say that a failed prefetch of the link skips the loading state too, so a failure is read only where the suite's cases that prefetch again after five minutes, and that prefetch a dynamic page in part, passed in the same run.
@chatgpt-codex-connector

Copy link
Copy Markdown

The account paying for this security review has reached its Codex usage limits. The payer can check the Codex usage dashboard. For personal accounts, using credits requires enabling “Use credits for security reviews” in Code review settings. If you do not manage the paying account, contact this repository's admins.

@soleil-colza

Copy link
Copy Markdown
Contributor

@codex

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Bravo.

Reviewed commit: 6cce0ba4ef

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@k-taro56
k-taro56 merged commit 08d693b into main Nov 3, 2026
118 checks passed
@k-taro56
k-taro56 deleted the docs/deploy-tests-client-cache-reading branch November 3, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants