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 client chunk loading encoding for dynamic route #57960

Merged
merged 1 commit into from
Nov 2, 2023

Conversation

huozhi
Copy link
Member

@huozhi huozhi commented Nov 2, 2023

We had added encoding the client component assets loaded from RSC manifest that we need to encode them to make sure when they're loaded on server and sent to client, the client will receive the encoded one. But the override of the webpack chunk loading method could be loaded later than react related chunks, that when client component is loaded first (e.g. next/script) and it triggers react loaded ealier than the overriding. Then the chunk could be encoded incorrectly.

Discussed with @gnoff and put this out as the 1st step solution to ensure the order. in the future we can try to get rid of the encoding by providing safer url

Fixes #57829

@huozhi huozhi force-pushed the fix/nav-chunk-loading branch from 75786a3 to bb74c2d Compare November 2, 2023 21:53
@ijjk
Copy link
Member

ijjk commented Nov 2, 2023

Stats from current PR

Default Build
General
vercel/next.js canary vercel/next.js fix/nav-chunk-loading Change
buildDuration 10.5s 10.5s N/A
buildDurationCached 5.8s 6.6s ⚠️ +804ms
nodeModulesSize 175 MB 175 MB N/A
nextStartRea..uration (ms) 420ms 417ms N/A
Client Bundles (main, webpack)
vercel/next.js canary vercel/next.js fix/nav-chunk-loading Change
199-HASH.js gzip 30.5 kB 30.5 kB N/A
3f784ff6-HASH.js gzip 53.2 kB 53.2 kB
494.HASH.js gzip 182 B 182 B
framework-HASH.js gzip 45.5 kB 45.5 kB
main-app-HASH.js gzip 254 B 252 B N/A
main-HASH.js gzip 33.1 kB 33.1 kB N/A
webpack-HASH.js gzip 1.75 kB 1.75 kB N/A
Overall change 98.9 kB 98.9 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js fix/nav-chunk-loading 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/nav-chunk-loading Change
_app-HASH.js gzip 205 B 205 B
_error-HASH.js gzip 182 B 181 B N/A
amp-HASH.js gzip 505 B 507 B N/A
css-HASH.js gzip 322 B 323 B N/A
dynamic-HASH.js gzip 2.59 kB 2.59 kB N/A
edge-ssr-HASH.js gzip 258 B 259 B N/A
head-HASH.js gzip 348 B 347 B N/A
hooks-HASH.js gzip 369 B 368 B N/A
image-HASH.js gzip 4.38 kB 4.38 kB N/A
index-HASH.js gzip 256 B 256 B
link-HASH.js gzip 2.71 kB 2.7 kB N/A
routerDirect..HASH.js gzip 318 B 318 B
script-HASH.js gzip 384 B 383 B N/A
withRouter-HASH.js gzip 319 B 320 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 885 B 885 B
Client Build Manifests
vercel/next.js canary vercel/next.js fix/nav-chunk-loading 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/nav-chunk-loading Change
index.html gzip 527 B 527 B
link.html gzip 541 B 539 B N/A
withRouter.html gzip 524 B 521 B N/A
Overall change 527 B 527 B
Edge SSR bundle Size
vercel/next.js canary vercel/next.js fix/nav-chunk-loading Change
edge-ssr.js gzip 96.4 kB 96.4 kB N/A
page.js gzip 141 kB 141 kB N/A
Overall change 0 B 0 B
Middleware size
vercel/next.js canary vercel/next.js fix/nav-chunk-loading Change
middleware-b..fest.js gzip 625 B 628 B N/A
middleware-r..fest.js gzip 148 B 151 B N/A
middleware.js gzip 24.8 kB 24.8 kB N/A
edge-runtime..pack.js gzip 1.92 kB 1.92 kB
Overall change 1.92 kB 1.92 kB
Diff details
Diff for 199-HASH.js

Diff too large to display

Commit: bb74c2d

@huozhi huozhi marked this pull request as ready for review November 2, 2023 22:19
@kodiakhq kodiakhq bot merged commit 9af75d4 into canary Nov 2, 2023
60 checks passed
@kodiakhq kodiakhq bot deleted the fix/nav-chunk-loading branch November 2, 2023 23:09
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 17, 2023
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.

Unexpected Behavior with Monkey Patch from PR #54752 causing Double Encoding of Dynamic Segments
3 participants