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: fix hashing algo and locale value hydration #16692

Merged
merged 2 commits into from
Sep 1, 2020
Merged

fix: fix hashing algo and locale value hydration #16692

merged 2 commits into from
Sep 1, 2020

Conversation

longlho
Copy link
Contributor

@longlho longlho commented Aug 30, 2020

- Fix hashing algo for extraction so it's the same as babel config
- Fix locale persistence issue
@ijjk ijjk added the examples Issue/PR related to examples label Aug 30, 2020

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
Copy link
Contributor Author

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, {
Copy link
Contributor Author

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

@longlho
Copy link
Contributor Author

longlho commented Aug 30, 2020

cc @simontaisne

@longlho longlho changed the title fix: fix #16689 fix: fix hashing algo and locale value hydration Aug 30, 2020
@ijjk
Copy link
Member

ijjk commented Aug 30, 2020

Stats from current PR

Default Server Mode
General
vercel/next.js canary longlho/next.js intl Change
buildDuration 12.1s 12.3s ⚠️ +171ms
nodeModulesSize 57.4 MB 57.4 MB
Page Load Tests Overall increase ✓
vercel/next.js canary longlho/next.js intl Change
/ failed reqs 0 0
/ total time (seconds) 2.404 2.336 -0.07
/ avg req/sec 1040.08 1070.38 +30.3
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.369 1.392 ⚠️ +0.02
/error-in-render avg req/sec 1825.92 1796.36 ⚠️ -29.56
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 13.9s 13.6s -326ms
nodeModulesSize 57.4 MB 57.4 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
Commit: 25d1422

Copy link
Member

@lfades lfades left a 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!

@ijjk
Copy link
Member

ijjk commented Sep 1, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General
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 ⚠️ +0.04
/ avg req/sec 1298.31 1272.98 ⚠️ -25.33
/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
Commit: 8e08120

@vercel vercel locked as resolved and limited conversation to collaborators Jan 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
examples Issue/PR related to examples
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Example] Fix latest with-react-intl
4 participants