-
Notifications
You must be signed in to change notification settings - Fork 29.7k
fix: fix hashing algo and locale value hydration #16692
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
Conversation
|
|
||
| const nonce = crypto.randomBytes(20).toString('hex'); | ||
| (req as any).nonce = nonce; | ||
| // TODO: This will blow up other next inline JS but next.js should prob fix this |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@timneutkens @lfades I think u guys should support nonce it's a pretty big security safeguard against extension malwares
| @@ -0,0 +1,46 @@ | |||
| import Document, { | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure if I'm doing this correctly w/ next.js. I'm trying to hydrate a static config-like databag from server to client (in this case, locale). Doing it in _app doesn't seem to work for client-side navigation since req is undefined after the initial load
|
cc @simontaisne |
Stats from current PRDefault Server ModeGeneral
Page Load Tests Overall increase ✓
Client Bundles (main, webpack, commons)
Client Bundles (main, webpack, commons) Modern
Legacy Client Bundles (polyfills)
Client Pages
Client Pages Modern
Client Build Manifests
Rendered Page Sizes
Serverless ModeGeneral
Client Bundles (main, webpack, commons)
Client Bundles (main, webpack, commons) Modern
Legacy Client Bundles (polyfills)
Client Pages
Client Pages Modern
Client Build Manifests
Serverless bundles
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@longlho LGTM. Thank you!
Stats from current PRDefault Server Mode (Increase detected
|
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| buildDuration | 10.5s | 10.4s | -108ms |
| nodeModulesSize | 56.8 MB | 56.8 MB | ✓ |
Page Load Tests Overall increase ✓
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| / failed reqs | 0 | 0 | ✓ |
| / total time (seconds) | 1.926 | 1.964 | |
| / avg req/sec | 1298.31 | 1272.98 | |
| /error-in-render failed reqs | 0 | 0 | ✓ |
| /error-in-render total time (seconds) | 1.205 | 1.182 | -0.02 |
| /error-in-render avg req/sec | 2075.02 | 2115.67 | +40.65 |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| 677f882d2ed8..f20b.js gzip | 10.3 kB | 10.3 kB | ✓ |
| framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
| main-49b1fd5..c64c.js gzip | 7.35 kB | 7.35 kB | ✓ |
| webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
| Overall change | 57.3 kB | 57.3 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| 677f882d2ed8..dule.js gzip | 6.13 kB | 6.13 kB | ✓ |
| framework.HA..dule.js gzip | 39 kB | 39 kB | ✓ |
| main-99715b4..dule.js gzip | 6.4 kB | 6.4 kB | ✓ |
| webpack-07c5..dule.js gzip | 751 B | 751 B | ✓ |
| Overall change | 52.2 kB | 52.2 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
| Overall change | 31 kB | 31 kB | ✓ |
Client Pages
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| _app-9a0b9e1..b37e.js gzip | 1.28 kB | 1.28 kB | ✓ |
| _error-28298..e0c9.js gzip | 3.44 kB | 3.44 kB | ✓ |
| hooks-89731c..c609.js gzip | 887 B | 887 B | ✓ |
| index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
| link-000f151..65d4.js gzip | 1.29 kB | 1.29 kB | ✓ |
| routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
| withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
| Overall change | 7.69 kB | 7.69 kB | ✓ |
Client Pages Modern
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| _app-75d3a82..dule.js gzip | 625 B | 625 B | ✓ |
| _error-65c8a..dule.js gzip | 2.29 kB | 2.29 kB | ✓ |
| hooks-cbf13f..dule.js gzip | 387 B | 387 B | ✓ |
| index-b9a643..dule.js gzip | 226 B | 226 B | ✓ |
| link-4cfda7a..dule.js gzip | 1.26 kB | 1.26 kB | ✓ |
| routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
| withRouter-f..dule.js gzip | 282 B | 282 B | ✓ |
| Overall change | 5.35 kB | 5.35 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 322 B | 322 B | ✓ |
| _buildManife..dule.js gzip | 330 B | 330 B | ✓ |
| Overall change | 652 B | 652 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| index.html gzip | 971 B | 971 B | ✓ |
| link.html gzip | 977 B | 977 B | ✓ |
| withRouter.html gzip | 964 B | 964 B | ✓ |
| Overall change | 2.91 kB | 2.91 kB | ✓ |
Serverless Mode
General
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| buildDuration | 11.6s | 11.6s | -12ms |
| nodeModulesSize | 56.8 MB | 56.8 MB | ✓ |
Client Bundles (main, webpack, commons)
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| 677f882d2ed8..f20b.js gzip | 10.3 kB | 10.3 kB | ✓ |
| framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
| main-49b1fd5..c64c.js gzip | 7.35 kB | 7.35 kB | ✓ |
| webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
| Overall change | 57.3 kB | 57.3 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| 677f882d2ed8..dule.js gzip | 6.13 kB | 6.13 kB | ✓ |
| framework.HA..dule.js gzip | 39 kB | 39 kB | ✓ |
| main-99715b4..dule.js gzip | 6.4 kB | 6.4 kB | ✓ |
| webpack-07c5..dule.js gzip | 751 B | 751 B | ✓ |
| Overall change | 52.2 kB | 52.2 kB | ✓ |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
| Overall change | 31 kB | 31 kB | ✓ |
Client Pages
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| _app-9a0b9e1..b37e.js gzip | 1.28 kB | 1.28 kB | ✓ |
| _error-28298..e0c9.js gzip | 3.44 kB | 3.44 kB | ✓ |
| hooks-89731c..c609.js gzip | 887 B | 887 B | ✓ |
| index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
| link-000f151..65d4.js gzip | 1.29 kB | 1.29 kB | ✓ |
| routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
| withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
| Overall change | 7.69 kB | 7.69 kB | ✓ |
Client Pages Modern
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| _app-75d3a82..dule.js gzip | 625 B | 625 B | ✓ |
| _error-65c8a..dule.js gzip | 2.29 kB | 2.29 kB | ✓ |
| hooks-cbf13f..dule.js gzip | 387 B | 387 B | ✓ |
| index-b9a643..dule.js gzip | 226 B | 226 B | ✓ |
| link-4cfda7a..dule.js gzip | 1.26 kB | 1.26 kB | ✓ |
| routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
| withRouter-f..dule.js gzip | 282 B | 282 B | ✓ |
| Overall change | 5.35 kB | 5.35 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 322 B | 322 B | ✓ |
| _buildManife..dule.js gzip | 330 B | 330 B | ✓ |
| Overall change | 652 B | 652 B | ✓ |
Serverless bundles
| vercel/next.js canary | longlho/next.js intl | Change | |
|---|---|---|---|
| _error.js | 1.03 MB | 1.03 MB | ✓ |
| 404.html | 4.22 kB | 4.22 kB | ✓ |
| hooks.html | 3.86 kB | 3.86 kB | ✓ |
| index.js | 1.03 MB | 1.03 MB | ✓ |
| link.js | 1.07 MB | 1.07 MB | ✓ |
| routerDirect.js | 1.07 MB | 1.07 MB | ✓ |
| withRouter.js | 1.07 MB | 1.07 MB | ✓ |
| Overall change | 5.28 MB | 5.28 MB | ✓ |
fix [Example] Fix latest with-react-intl #16689