-
Notifications
You must be signed in to change notification settings - Fork 27k
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
Use Lax Cookie for Preview Mode #11495
Conversation
Stats from current PRDefault Server Mode (Decrease detected ✓)General Overall decrease ✓
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 Mode (Increase detected
|
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
buildDuration | 11.1s | 11.3s | |
nodeModulesSize | 52.8 MB | 52.8 MB | -24 B |
Client Bundles (main, webpack, commons)
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
main-HASH.js gzip | 6.24 kB | 6.24 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..c6c1.js gzip | 10.1 kB | 10.1 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 56.2 kB | 56.2 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.78 kB | 4.78 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..dule.js gzip | 6.71 kB | 6.71 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 51.4 kB | 51.4 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 26.3 kB | 26.3 kB | ✓ |
Overall change | 26.3 kB | 26.3 kB | ✓ |
Client Pages
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
_app.js gzip | 1.24 kB | 1.24 kB | ✓ |
_error.js gzip | 3.15 kB | 3.15 kB | ✓ |
hooks.js gzip | 664 B | 664 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.03 kB | 2.03 kB | ✓ |
routerDirect.js gzip | 279 B | 279 B | ✓ |
withRouter.js gzip | 278 B | 278 B | ✓ |
Overall change | 7.86 kB | 7.86 kB | ✓ |
Client Pages Modern
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
_app.module.js gzip | 594 B | 594 B | ✓ |
_error.module.js gzip | 2.08 kB | 2.08 kB | ✓ |
hooks.module.js gzip | 370 B | 370 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 1.48 kB | 1.48 kB | ✓ |
routerDirect..dule.js gzip | 271 B | 271 B | ✓ |
withRouter.m..dule.js gzip | 270 B | 270 B | ✓ |
Overall change | 5.28 kB | 5.28 kB | ✓ |
Client Build Manifests
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
_error.js gzip | 294 kB | 294 kB | |
404.html gzip | 1.32 kB | 1.32 kB | ✓ |
hooks.html gzip | 957 B | 957 B | ✓ |
index.js gzip | 294 kB | 294 kB | -185 B |
link.js gzip | 301 kB | 302 kB | |
routerDirect.js gzip | 300 kB | 300 kB | -640 B |
withRouter.js gzip | 300 kB | 300 kB | |
Overall change | 1.49 MB | 1.49 MB |
Failing test suitestest/integration/prerender-preview/test/index.test.js
Expand output● Prerender Preview Mode › Development Mode › should return cookies to be expired after dev server reboot
● Prerender Preview Mode › Server Mode › should return cookies to be expired on reset request
● Prerender Preview Mode › Serverless Mode › should return cookies to be expired on reset request
● Prerender Preview Mode › Emulated Serverless Mode › should return cookies to be expired on reset request
test/integration/getserversideprops-preview/test/index.test.js
Expand output● ServerSide Props Preview Mode › Development Mode › should return cookies to be expired after dev server reboot
● ServerSide Props Preview Mode › Server Mode › should return cookies to be expired on reset request
● ServerSide Props Preview Mode › Serverless Mode › should return cookies to be expired on reset request
● ServerSide Props Preview Mode › Emulated Serverless Mode › should return cookies to be expired on reset request
|
Stats from current PRDefault Server Mode (Decrease detected ✓)General Overall decrease ✓
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 Mode (Increase detected
|
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
buildDuration | 10.7s | 10.6s | -96ms |
nodeModulesSize | 52.8 MB | 52.8 MB | -24 B |
Client Bundles (main, webpack, commons)
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
main-HASH.js gzip | 6.24 kB | 6.24 kB | ✓ |
webpack-HASH.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..c6c1.js gzip | 10.1 kB | 10.1 kB | ✓ |
framework.HASH.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 56.2 kB | 56.2 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
main-HASH.module.js gzip | 4.78 kB | 4.78 kB | ✓ |
webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
de003c3a9d30..dule.js gzip | 6.71 kB | 6.71 kB | ✓ |
framework.HA..dule.js gzip | 39.1 kB | 39.1 kB | ✓ |
Overall change | 51.4 kB | 51.4 kB | ✓ |
Legacy Client Bundles (polyfills)
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 26.3 kB | 26.3 kB | ✓ |
Overall change | 26.3 kB | 26.3 kB | ✓ |
Client Pages
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
_app.js gzip | 1.24 kB | 1.24 kB | ✓ |
_error.js gzip | 3.15 kB | 3.15 kB | ✓ |
hooks.js gzip | 664 B | 664 B | ✓ |
index.js gzip | 222 B | 222 B | ✓ |
link.js gzip | 2.03 kB | 2.03 kB | ✓ |
routerDirect.js gzip | 279 B | 279 B | ✓ |
withRouter.js gzip | 278 B | 278 B | ✓ |
Overall change | 7.86 kB | 7.86 kB | ✓ |
Client Pages Modern
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
_app.module.js gzip | 594 B | 594 B | ✓ |
_error.module.js gzip | 2.08 kB | 2.08 kB | ✓ |
hooks.module.js gzip | 370 B | 370 B | ✓ |
index.module.js gzip | 212 B | 212 B | ✓ |
link.module.js gzip | 1.48 kB | 1.48 kB | ✓ |
routerDirect..dule.js gzip | 271 B | 271 B | ✓ |
withRouter.m..dule.js gzip | 270 B | 270 B | ✓ |
Overall change | 5.28 kB | 5.28 kB | ✓ |
Client Build Manifests
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
_buildManifest.js gzip | 61 B | 61 B | ✓ |
_buildManife..dule.js gzip | 61 B | 61 B | ✓ |
Overall change | 122 B | 122 B | ✓ |
Serverless bundles Overall increase ⚠️
zeit/next.js canary | Timer/next.js NEXT-154 | Change | |
---|---|---|---|
_error.js gzip | 293 kB | 294 kB | |
404.html gzip | 1.32 kB | 1.32 kB | ✓ |
hooks.html gzip | 957 B | 957 B | ✓ |
index.js gzip | 294 kB | 294 kB | |
link.js gzip | 301 kB | 302 kB | |
routerDirect.js gzip | 300 kB | 300 kB | -103 B |
withRouter.js gzip | 300 kB | 300 kB | |
Overall change | 1.49 MB | 1.49 MB |
We currently use
Strict
SameSite cookies for Preview Mode. The reason for this pick was arbitrary, as we were erring to the least privileged option.This pull request updates our Preview Mode cookie behavior to be
Lax
, which allows the following workflows:<iframe>
)We are comfortable with
Lax
as Chrome is moving to make this the default option for all cookies:https://chromestatus.com/feature/5088147346030592
Using a
Lax
cookie is more secure than most browsers' current default: no same site requirement (Lax
is more secure than browsers' current default:None
).Fixes #10881