-
Notifications
You must be signed in to change notification settings - Fork 28.3k
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