Skip to content
New issue

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

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

Already on GitHub? # 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

huozhi added 4 commits April 27, 2024 02:09
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
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants