Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix: strip _rsc query for client navigation rsc request #65084

Merged
merged 4 commits into from
Apr 28, 2024
Merged

Conversation

huozhi
Copy link
Member

@huozhi huozhi commented Apr 26, 2024

When you do client navigation to a dynamic page with call like headers(), it wil send RSC request for that page. We want to skip the _rsc query in the logging as it's disruptive.

Closes NEXT-3077
Closes #64355

@huozhi huozhi marked this pull request as ready for review April 26, 2024 11:47
@ijjk
Copy link
Member

ijjk commented Apr 26, 2024

Failing test suites

Commit: c96af4b

TURBOPACK=1 pnpm test-dev test/e2e/app-dir/asset-prefix/asset-prefix.test.ts (turbopack)

Expand output

● Test suite failed to run

FetchError: request to http://localhost:45745/custom-asset-prefix/_next/static/chunks/_b251f9._.js failed, reason: socket hang up

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

● Test suite failed to run

FetchError: request to http://localhost:45745/custom-asset-prefix/_next/static/chunks/62f90_next_dist_compiled_react_e69e4a._.js failed, reason: socket hang up

  at ClientRequest.<anonymous> (../node_modules/.pnpm/node-fetch@2.6.7/node_modules/node-fetch/lib/index.js:1491:11)

Read more about building and testing Next.js in contributing.md.

__NEXT_EXPERIMENTAL_PPR=true pnpm test-dev test/e2e/app-dir/logging/fetch-logging.test.ts (PPR)

  • app-dir - logging > with fetches default logging > should not log _rsc query for client navigation RSC request
  • app-dir - logging > with fetches verbose logging > should not log _rsc query for client navigation RSC request
Expand output

● app-dir - logging › with fetches verbose logging › should not log _rsc query for client navigation RSC request

page.waitForSelector: Timeout 60000ms exceeded.
Call log:
  - waiting for locator('a#nav-headers')

  421 |     return this.chain(() => {
  422 |       return page
> 423 |         .waitForSelector(selector, { timeout, state: 'attached' })
      |          ^
  424 |         .then(async (el) => {
  425 |           // it seems selenium waits longer and tests rely on this behavior
  426 |           // so we wait for the load event fire before returning

  at waitForSelector (lib/browsers/playwright.ts:423:10)

● app-dir - logging › with fetches default logging › should not log _rsc query for client navigation RSC request

page.waitForSelector: Timeout 60000ms exceeded.
Call log:
  - waiting for locator('a#nav-headers')

  421 |     return this.chain(() => {
  422 |       return page
> 423 |         .waitForSelector(selector, { timeout, state: 'attached' })
      |          ^
  424 |         .then(async (el) => {
  425 |           // it seems selenium waits longer and tests rely on this behavior
  426 |           // so we wait for the load event fire before returning

  at waitForSelector (lib/browsers/playwright.ts:423:10)

Read more about building and testing Next.js in contributing.md.

@ijjk
Copy link
Member

ijjk commented Apr 26, 2024

Stats from current PR

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary vercel/next.js fix/logging-rsc Change
buildDuration 29.7s 28.1s N/A
buildDurationCached 14.4s 14.2s N/A
nodeModulesSize 359 MB 360 MB ⚠️ +21.9 kB
nextStartRea..uration (ms) 748ms 764ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js fix/logging-rsc Change
1103-HASH.js gzip 31.8 kB 31.9 kB N/A
1a9f679d-HASH.js gzip 53.5 kB 53.5 kB N/A
335-HASH.js gzip 5.09 kB 5.09 kB N/A
7953.HASH.js gzip 169 B 169 B
framework-HASH.js gzip 45.2 kB 45.2 kB
main-app-HASH.js gzip 231 B 229 B N/A
main-HASH.js gzip 31.5 kB 31.5 kB N/A
webpack-HASH.js gzip 1.65 kB 1.65 kB N/A
Overall change 45.4 kB 45.4 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js fix/logging-rsc Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages
vercel/next.js canary vercel/next.js fix/logging-rsc Change
_app-HASH.js gzip 192 B 193 B N/A
_error-HASH.js gzip 192 B 193 B N/A
amp-HASH.js gzip 507 B 511 B N/A
css-HASH.js gzip 341 B 343 B N/A
dynamic-HASH.js gzip 2.52 kB 2.52 kB
edge-ssr-HASH.js gzip 266 B 265 B N/A
head-HASH.js gzip 362 B 365 B N/A
hooks-HASH.js gzip 392 B 392 B
image-HASH.js gzip 4.32 kB 4.32 kB N/A
index-HASH.js gzip 268 B 268 B
link-HASH.js gzip 2.69 kB 2.7 kB N/A
routerDirect..HASH.js gzip 329 B 328 B N/A
script-HASH.js gzip 397 B 397 B
withRouter-HASH.js gzip 324 B 324 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 4 kB 4 kB
Client Build Manifests
vercel/next.js canary vercel/next.js fix/logging-rsc Change
_buildManifest.js gzip 483 B 484 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js fix/logging-rsc Change
index.html gzip 528 B 528 B
link.html gzip 542 B 540 B N/A
withRouter.html gzip 523 B 523 B
Overall change 1.05 kB 1.05 kB
Edge SSR bundle Size
vercel/next.js canary vercel/next.js fix/logging-rsc Change
edge-ssr.js gzip 94.7 kB 94.7 kB N/A
page.js gzip 182 kB 182 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js fix/logging-rsc Change
middleware-b..fest.js gzip 621 B 623 B N/A
middleware-r..fest.js gzip 156 B 156 B
middleware.js gzip 27.9 kB 27.9 kB N/A
edge-runtime..pack.js gzip 839 B 839 B
Overall change 995 B 995 B
Next Runtimes
vercel/next.js canary vercel/next.js fix/logging-rsc Change
app-page-exp...dev.js gzip 171 kB 171 kB
app-page-exp..prod.js gzip 98.5 kB 98.5 kB
app-page-tur..prod.js gzip 100 kB 100 kB
app-page-tur..prod.js gzip 94.3 kB 94.3 kB
app-page.run...dev.js gzip 157 kB 157 kB
app-page.run..prod.js gzip 93 kB 93 kB
app-route-ex...dev.js gzip 21.5 kB 21.5 kB
app-route-ex..prod.js gzip 15.2 kB 15.2 kB
app-route-tu..prod.js gzip 15.2 kB 15.2 kB
app-route-tu..prod.js gzip 15 kB 15 kB
app-route.ru...dev.js gzip 21.3 kB 21.3 kB
app-route.ru..prod.js gzip 15 kB 15 kB
pages-api-tu..prod.js gzip 9.55 kB 9.55 kB
pages-api.ru...dev.js gzip 9.82 kB 9.82 kB
pages-api.ru..prod.js gzip 9.55 kB 9.55 kB
pages-turbo...prod.js gzip 21.5 kB 21.5 kB
pages.runtim...dev.js gzip 22.1 kB 22.1 kB
pages.runtim..prod.js gzip 21.5 kB 21.5 kB
server.runti..prod.js gzip 51.6 kB 51.6 kB N/A
Overall change 910 kB 910 kB
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js fix/logging-rsc Change
0.pack gzip 1.62 MB 1.62 MB ⚠️ +1.8 kB
index.pack gzip 112 kB 113 kB ⚠️ +117 B
Overall change 1.73 MB 1.73 MB ⚠️ +1.92 kB
Diff details
Diff for edge-ssr.js

Diff too large to display

Diff for 1103-HASH.js

Diff too large to display

Diff for server.runtime.prod.js

Diff too large to display

Commit: de5e5f9

Fix: strip _rsc query for client navigation rsc request

rm log
@huozhi huozhi requested a review from a team as a code owner April 27, 2024 00:09
@huozhi huozhi enabled auto-merge (squash) April 27, 2024 00:10
@huozhi huozhi disabled auto-merge April 27, 2024 00:26
@huozhi huozhi enabled auto-merge (squash) April 28, 2024 20:06
@huozhi huozhi merged commit b9c98a8 into canary Apr 28, 2024
80 checks passed
@huozhi huozhi deleted the fix/logging-rsc branch April 28, 2024 20:15
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 13, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants