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

Relax encoding on dynamic prerendered routes #14717

Merged
merged 6 commits into from
Jul 13, 2020

Conversation

Janpot
Copy link
Contributor

@Janpot Janpot commented Jun 30, 2020

It should be enough to encode the characters that path-to-regexp uses as path delimiters (/#?).

Fixes #14691

@ijjk
Copy link
Member

ijjk commented Jun 30, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
buildDuration 11.9s 12.3s ⚠️ +309ms
nodeModulesSize 66 MB 66 MB ⚠️ +375 B
Page Load Tests Overall decrease ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
/ failed reqs 0 0
/ total time (seconds) 1.994 2.102 ⚠️ +0.11
/ avg req/sec 1253.9 1189.31 ⚠️ -64.59
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.279 1.304 ⚠️ +0.03
/error-in-render avg req/sec 1954.82 1916.93 ⚠️ -37.89
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.js gzip 6.59 kB 6.59 kB ⚠️ +5 B
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..769f.js gzip 10.7 kB 10.7 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.2 kB ⚠️ +5 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.module.js gzip 5.68 kB 5.68 kB ⚠️ +4 B
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 7.09 kB 7.09 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.7 kB 52.7 kB ⚠️ +4 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js fix-param-encoding Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_buildManifest.js gzip 268 B 268 B
_buildManife..dule.js gzip 272 B 272 B
Overall change 540 B 540 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
index.html gzip 951 B 954 B ⚠️ +3 B
link.html gzip 960 B 960 B
withRouter.html gzip 943 B 945 B ⚠️ +2 B
Overall change 2.85 kB 2.86 kB ⚠️ +5 B

Diffs

Diff for main-HASH.js
@@ -1653,8 +1653,12 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
                       (interpolatedRoute = interpolatedRoute.replace(
                         replaced,
                         repeat
-                          ? value.map(encodeURIComponent).join("/")
-                          : encodeURIComponent(value)
+                          ? value
+                              .map(function(item) {
+                                return decodeURI(encodeURIComponent(item));
+                              })
+                              .join("/")
+                          : decodeURI(encodeURIComponent(value))
                       ))
                     );
                   })
Diff for main-HASH.module.js
@@ -1271,8 +1271,10 @@
                   (interpolatedRoute = interpolatedRoute.replace(
                     replaced,
                     repeat
-                      ? value.map(encodeURIComponent).join("/")
-                      : encodeURIComponent(value)
+                      ? value
+                          .map(item => decodeURI(encodeURIComponent(item)))
+                          .join("/")
+                      : decodeURI(encodeURIComponent(value))
                   ))
                 );
               })
Diff for index.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-6d0e6246d9042c905f7a.module.js"
+      href="/_next/static/runtime/main-9b8bd8e49bfa890afd06.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,13 +81,13 @@
       src="/_next/static/runtime/polyfills-e77205bd3f87781c0279.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-398edecacd4138fbaca6.js"
+      src="/_next/static/runtime/main-381e9b293626ab3ef25b.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-6d0e6246d9042c905f7a.module.js"
+      src="/_next/static/runtime/main-9b8bd8e49bfa890afd06.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-6d0e6246d9042c905f7a.module.js"
+      href="/_next/static/runtime/main-9b8bd8e49bfa890afd06.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -86,13 +86,13 @@
       src="/_next/static/runtime/polyfills-e77205bd3f87781c0279.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-398edecacd4138fbaca6.js"
+      src="/_next/static/runtime/main-381e9b293626ab3ef25b.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-6d0e6246d9042c905f7a.module.js"
+      src="/_next/static/runtime/main-9b8bd8e49bfa890afd06.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-6d0e6246d9042c905f7a.module.js"
+      href="/_next/static/runtime/main-9b8bd8e49bfa890afd06.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,13 +81,13 @@
       src="/_next/static/runtime/polyfills-e77205bd3f87781c0279.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-398edecacd4138fbaca6.js"
+      src="/_next/static/runtime/main-381e9b293626ab3ef25b.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-6d0e6246d9042c905f7a.module.js"
+      src="/_next/static/runtime/main-9b8bd8e49bfa890afd06.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
buildDuration 12.7s 13.6s ⚠️ +956ms
nodeModulesSize 66 MB 66 MB ⚠️ +375 B
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.js gzip 6.59 kB 6.59 kB ⚠️ +5 B
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..769f.js gzip 10.7 kB 10.7 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.2 kB ⚠️ +5 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.module.js gzip 5.68 kB 5.68 kB ⚠️ +4 B
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 7.09 kB 7.09 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.7 kB 52.7 kB ⚠️ +4 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js fix-param-encoding Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_buildManifest.js gzip 268 B 268 B
_buildManife..dule.js gzip 272 B 272 B
Overall change 540 B 540 B
Serverless bundles
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_error.js 875 kB 875 kB
404.html 4.17 kB 4.17 kB
hooks.html 3.79 kB 3.79 kB
index.js 876 kB 876 kB
link.js 915 kB 915 kB
routerDirect.js 907 kB 907 kB
withRouter.js 907 kB 907 kB
Overall change 4.49 MB 4.49 MB
Commit: 3116a99

@ijjk
Copy link
Member

ijjk commented Jun 30, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
buildDuration 12.3s 12.5s ⚠️ +245ms
nodeModulesSize 66 MB 66 MB ⚠️ +375 B
Page Load Tests Overall decrease ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
/ failed reqs 0 0
/ total time (seconds) 1.982 2.006 ⚠️ +0.02
/ avg req/sec 1261.29 1246.4 ⚠️ -14.89
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.196 1.24 ⚠️ +0.04
/error-in-render avg req/sec 2091.05 2016.12 ⚠️ -74.93
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.js gzip 6.59 kB 6.59 kB ⚠️ +5 B
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..769f.js gzip 10.7 kB 10.7 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.2 kB ⚠️ +5 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.module.js gzip 5.68 kB 5.68 kB ⚠️ +4 B
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 7.09 kB 7.09 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.7 kB 52.7 kB ⚠️ +4 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js fix-param-encoding Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_buildManifest.js gzip 268 B 268 B
_buildManife..dule.js gzip 272 B 272 B
Overall change 540 B 540 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
index.html gzip 951 B 954 B ⚠️ +3 B
link.html gzip 960 B 960 B
withRouter.html gzip 943 B 945 B ⚠️ +2 B
Overall change 2.85 kB 2.86 kB ⚠️ +5 B

Diffs

Diff for main-HASH.js
@@ -1653,8 +1653,12 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
                       (interpolatedRoute = interpolatedRoute.replace(
                         replaced,
                         repeat
-                          ? value.map(encodeURIComponent).join("/")
-                          : encodeURIComponent(value)
+                          ? value
+                              .map(function(item) {
+                                return decodeURI(encodeURIComponent(item));
+                              })
+                              .join("/")
+                          : decodeURI(encodeURIComponent(value))
                       ))
                     );
                   })
Diff for main-HASH.module.js
@@ -1271,8 +1271,10 @@
                   (interpolatedRoute = interpolatedRoute.replace(
                     replaced,
                     repeat
-                      ? value.map(encodeURIComponent).join("/")
-                      : encodeURIComponent(value)
+                      ? value
+                          .map(item => decodeURI(encodeURIComponent(item)))
+                          .join("/")
+                      : decodeURI(encodeURIComponent(value))
                   ))
                 );
               })
Diff for index.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-6d0e6246d9042c905f7a.module.js"
+      href="/_next/static/runtime/main-9b8bd8e49bfa890afd06.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,13 +81,13 @@
       src="/_next/static/runtime/polyfills-e77205bd3f87781c0279.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-398edecacd4138fbaca6.js"
+      src="/_next/static/runtime/main-381e9b293626ab3ef25b.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-6d0e6246d9042c905f7a.module.js"
+      src="/_next/static/runtime/main-9b8bd8e49bfa890afd06.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-6d0e6246d9042c905f7a.module.js"
+      href="/_next/static/runtime/main-9b8bd8e49bfa890afd06.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -86,13 +86,13 @@
       src="/_next/static/runtime/polyfills-e77205bd3f87781c0279.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-398edecacd4138fbaca6.js"
+      src="/_next/static/runtime/main-381e9b293626ab3ef25b.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-6d0e6246d9042c905f7a.module.js"
+      src="/_next/static/runtime/main-9b8bd8e49bfa890afd06.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-6d0e6246d9042c905f7a.module.js"
+      href="/_next/static/runtime/main-9b8bd8e49bfa890afd06.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,13 +81,13 @@
       src="/_next/static/runtime/polyfills-e77205bd3f87781c0279.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-398edecacd4138fbaca6.js"
+      src="/_next/static/runtime/main-381e9b293626ab3ef25b.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-6d0e6246d9042c905f7a.module.js"
+      src="/_next/static/runtime/main-9b8bd8e49bfa890afd06.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
buildDuration 13.3s 13.3s ⚠️ +78ms
nodeModulesSize 66 MB 66 MB ⚠️ +375 B
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.js gzip 6.59 kB 6.59 kB ⚠️ +5 B
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..769f.js gzip 10.7 kB 10.7 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.2 kB ⚠️ +5 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.module.js gzip 5.68 kB 5.68 kB ⚠️ +4 B
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 7.09 kB 7.09 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.7 kB 52.7 kB ⚠️ +4 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js fix-param-encoding Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_buildManifest.js gzip 268 B 268 B
_buildManife..dule.js gzip 272 B 272 B
Overall change 540 B 540 B
Serverless bundles
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_error.js 875 kB 875 kB
404.html 4.17 kB 4.17 kB
hooks.html 3.79 kB 3.79 kB
index.js 876 kB 876 kB
link.js 915 kB 915 kB
routerDirect.js 907 kB 907 kB
withRouter.js 907 kB 907 kB
Overall change 4.49 MB 4.49 MB
Commit: 73fd605

@ijjk
Copy link
Member

ijjk commented Jul 2, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
buildDuration 11.9s 11.6s -248ms
nodeModulesSize 66 MB 66 MB ⚠️ +375 B
Page Load Tests Overall increase ✓
vercel/next.js canary Janpot/next.js fix-param-encoding Change
/ failed reqs 0 0
/ total time (seconds) 1.893 1.877 -0.02
/ avg req/sec 1320.52 1332.25 +11.73
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.151 1.137 -0.01
/error-in-render avg req/sec 2171.58 2198.6 +27.02
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.js gzip 6.63 kB 6.63 kB ⚠️ +5 B
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..18e4.js gzip 10.7 kB 10.7 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.2 kB ⚠️ +5 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.module.js gzip 5.71 kB 5.72 kB ⚠️ +5 B
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 7.09 kB 7.09 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.7 kB 52.7 kB ⚠️ +5 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js fix-param-encoding Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_buildManifest.js gzip 268 B 268 B
_buildManife..dule.js gzip 272 B 272 B
Overall change 540 B 540 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary Janpot/next.js fix-param-encoding Change
index.html gzip 953 B 953 B
link.html gzip 959 B 957 B -2 B
withRouter.html gzip 946 B 946 B
Overall change 2.86 kB 2.86 kB -2 B

Diffs

Diff for main-HASH.js
@@ -1665,8 +1665,12 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
                       (interpolatedRoute = interpolatedRoute.replace(
                         replaced,
                         repeat
-                          ? value.map(encodeURIComponent).join("/")
-                          : encodeURIComponent(value)
+                          ? value
+                              .map(function(item) {
+                                return decodeURI(encodeURIComponent(item));
+                              })
+                              .join("/")
+                          : decodeURI(encodeURIComponent(value))
                       ))
                     );
                   })
Diff for main-HASH.module.js
@@ -1283,8 +1283,10 @@
                   (interpolatedRoute = interpolatedRoute.replace(
                     replaced,
                     repeat
-                      ? value.map(encodeURIComponent).join("/")
-                      : encodeURIComponent(value)
+                      ? value
+                          .map(item => decodeURI(encodeURIComponent(item)))
+                          .join("/")
+                      : decodeURI(encodeURIComponent(value))
                   ))
                 );
               })
Diff for index.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      href="/_next/static/runtime/main-25cccdbeb479c095c16c.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,13 +81,13 @@
       src="/_next/static/runtime/polyfills-e77205bd3f87781c0279.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-ba5b6ced9961fae765a4.js"
+      src="/_next/static/runtime/main-1f29a140141eed47b1bd.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      src="/_next/static/runtime/main-25cccdbeb479c095c16c.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      href="/_next/static/runtime/main-25cccdbeb479c095c16c.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -86,13 +86,13 @@
       src="/_next/static/runtime/polyfills-e77205bd3f87781c0279.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-ba5b6ced9961fae765a4.js"
+      src="/_next/static/runtime/main-1f29a140141eed47b1bd.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      src="/_next/static/runtime/main-25cccdbeb479c095c16c.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      href="/_next/static/runtime/main-25cccdbeb479c095c16c.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,13 +81,13 @@
       src="/_next/static/runtime/polyfills-e77205bd3f87781c0279.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-ba5b6ced9961fae765a4.js"
+      src="/_next/static/runtime/main-1f29a140141eed47b1bd.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      src="/_next/static/runtime/main-25cccdbeb479c095c16c.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode
General Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
buildDuration 12.6s 12.6s ⚠️ +37ms
nodeModulesSize 66 MB 66 MB ⚠️ +375 B
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.js gzip 6.63 kB 6.63 kB ⚠️ +5 B
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..18e4.js gzip 10.7 kB 10.7 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.2 kB ⚠️ +5 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.module.js gzip 5.71 kB 5.72 kB ⚠️ +5 B
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 7.09 kB 7.09 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.7 kB 52.7 kB ⚠️ +5 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js fix-param-encoding Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_buildManifest.js gzip 268 B 268 B
_buildManife..dule.js gzip 272 B 272 B
Overall change 540 B 540 B
Serverless bundles
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_error.js 876 kB 876 kB
404.html 4.17 kB 4.17 kB
hooks.html 3.79 kB 3.79 kB
index.js 876 kB 876 kB
link.js 914 kB 914 kB
routerDirect.js 908 kB 908 kB
withRouter.js 908 kB 908 kB
Overall change 4.49 MB 4.49 MB
Commit: 42ebd9b

@ijjk
Copy link
Member

ijjk commented Jul 2, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
buildDuration 13.1s 12.9s -214ms
nodeModulesSize 66 MB 66 MB ⚠️ +1.39 kB
Page Load Tests Overall increase ✓
vercel/next.js canary Janpot/next.js fix-param-encoding Change
/ failed reqs 0 0
/ total time (seconds) 2.385 2.243 -0.14
/ avg req/sec 1048.4 1114.77 +66.37
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.53 1.47 -0.06
/error-in-render avg req/sec 1633.58 1700.38 +66.8
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.js gzip 6.63 kB 6.68 kB ⚠️ +47 B
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..18e4.js gzip 10.7 kB 10.7 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.3 kB ⚠️ +47 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.module.js gzip 5.71 kB 5.75 kB ⚠️ +38 B
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 7.09 kB 7.09 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.7 kB 52.7 kB ⚠️ +38 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js fix-param-encoding Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_buildManifest.js gzip 268 B 268 B
_buildManife..dule.js gzip 272 B 272 B
Overall change 540 B 540 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary Janpot/next.js fix-param-encoding Change
index.html gzip 953 B 954 B ⚠️ +1 B
link.html gzip 959 B 957 B -2 B
withRouter.html gzip 946 B 946 B
Overall change 2.86 kB 2.86 kB -1 B

Diffs

Diff for main-HASH.js
@@ -1161,6 +1161,21 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
+    /***/ kcxq: /***/ function(module, exports, __webpack_require__) {
+      "use strict";
+
+      exports.__esModule = true;
+      exports["default"] = escapePathDelimiter; // escape delimiters used by path-to-regexp
+
+      function escapePathDelimiter(segment) {
+        return segment.replace(/[/#?]/g, function(_char) {
+          return encodeURIComponent(_char);
+        });
+      }
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -1477,6 +1492,10 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
       var _routeRegex = __webpack_require__("YTqd");
 
+      var _escapePathDelimiter = _interopRequireDefault(
+        __webpack_require__("kcxq")
+      );
+
       var _getAssetPathFromRoute = _interopRequireDefault(
         __webpack_require__("Lab5")
       );
@@ -1665,8 +1684,8 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
                       (interpolatedRoute = interpolatedRoute.replace(
                         replaced,
                         repeat
-                          ? value.map(encodeURIComponent).join("/")
-                          : encodeURIComponent(value)
+                          ? value.map(_escapePathDelimiter["default"]).join("/")
+                          : (0, _escapePathDelimiter["default"])(value)
                       ))
                     );
                   })
Diff for main-HASH.module.js
@@ -806,6 +806,19 @@
       /***/
     },
 
+    /***/ kcxq: /***/ function(module, exports, __webpack_require__) {
+      "use strict";
+
+      exports.__esModule = true;
+      exports.default = escapePathDelimiter; // escape delimiters used by path-to-regexp
+
+      function escapePathDelimiter(segment) {
+        return segment.replace(/[/#?]/g, char => encodeURIComponent(char));
+      }
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -1118,6 +1131,10 @@
 
       var _routeRegex = __webpack_require__("YTqd");
 
+      var _escapePathDelimiter = _interopRequireDefault(
+        __webpack_require__("kcxq")
+      );
+
       var _getAssetPathFromRoute = _interopRequireDefault(
         __webpack_require__("Lab5")
       );
@@ -1283,8 +1300,8 @@
                   (interpolatedRoute = interpolatedRoute.replace(
                     replaced,
                     repeat
-                      ? value.map(encodeURIComponent).join("/")
-                      : encodeURIComponent(value)
+                      ? value.map(_escapePathDelimiter.default).join("/")
+                      : (0, _escapePathDelimiter.default)(value)
                   ))
                 );
               })
Diff for index.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      href="/_next/static/runtime/main-60312a6470b49437d9f6.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,13 +81,13 @@
       src="/_next/static/runtime/polyfills-e77205bd3f87781c0279.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-ba5b6ced9961fae765a4.js"
+      src="/_next/static/runtime/main-17c7e48ffb420f330c80.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      src="/_next/static/runtime/main-60312a6470b49437d9f6.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      href="/_next/static/runtime/main-60312a6470b49437d9f6.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -86,13 +86,13 @@
       src="/_next/static/runtime/polyfills-e77205bd3f87781c0279.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-ba5b6ced9961fae765a4.js"
+      src="/_next/static/runtime/main-17c7e48ffb420f330c80.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      src="/_next/static/runtime/main-60312a6470b49437d9f6.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      href="/_next/static/runtime/main-60312a6470b49437d9f6.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,13 +81,13 @@
       src="/_next/static/runtime/polyfills-e77205bd3f87781c0279.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-ba5b6ced9961fae765a4.js"
+      src="/_next/static/runtime/main-17c7e48ffb420f330c80.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      src="/_next/static/runtime/main-60312a6470b49437d9f6.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
buildDuration 14s 14.1s ⚠️ +173ms
nodeModulesSize 66 MB 66 MB ⚠️ +1.39 kB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.js gzip 6.63 kB 6.68 kB ⚠️ +47 B
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..18e4.js gzip 10.7 kB 10.7 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.3 kB ⚠️ +47 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.module.js gzip 5.71 kB 5.75 kB ⚠️ +38 B
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 7.09 kB 7.09 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.7 kB 52.7 kB ⚠️ +38 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js fix-param-encoding Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_buildManifest.js gzip 268 B 268 B
_buildManife..dule.js gzip 272 B 272 B
Overall change 540 B 540 B
Serverless bundles
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_error.js 876 kB 876 kB
404.html 4.17 kB 4.17 kB
hooks.html 3.79 kB 3.79 kB
index.js 876 kB 876 kB
link.js 914 kB 914 kB
routerDirect.js 908 kB 908 kB
withRouter.js 908 kB 908 kB
Overall change 4.49 MB 4.49 MB
Commit: 44e55af

@ijjk
Copy link
Member

ijjk commented Jul 2, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
buildDuration 14.3s 14.2s -134ms
nodeModulesSize 66 MB 66 MB ⚠️ +1.41 kB
Page Load Tests Overall increase ✓
vercel/next.js canary Janpot/next.js fix-param-encoding Change
/ failed reqs 0 0
/ total time (seconds) 2.478 2.336 -0.14
/ avg req/sec 1008.92 1070.04 +61.12
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.613 1.532 -0.08
/error-in-render avg req/sec 1549.8 1631.87 +82.07
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.js gzip 6.63 kB 6.67 kB ⚠️ +46 B
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..18e4.js gzip 10.7 kB 10.7 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.3 kB ⚠️ +46 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.module.js gzip 5.71 kB 5.75 kB ⚠️ +38 B
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 7.09 kB 7.09 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.7 kB 52.7 kB ⚠️ +38 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js fix-param-encoding Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_buildManifest.js gzip 268 B 268 B
_buildManife..dule.js gzip 272 B 272 B
Overall change 540 B 540 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary Janpot/next.js fix-param-encoding Change
index.html gzip 953 B 953 B
link.html gzip 959 B 958 B -1 B
withRouter.html gzip 946 B 946 B
Overall change 2.86 kB 2.86 kB -1 B

Diffs

Diff for main-HASH.js
@@ -1161,6 +1161,21 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
+    /***/ fcRV: /***/ function(module, exports, __webpack_require__) {
+      "use strict";
+
+      exports.__esModule = true;
+      exports["default"] = escapePathDelimiters; // escape delimiters used by path-to-regexp
+
+      function escapePathDelimiters(segment) {
+        return segment.replace(/[/#?]/g, function(_char) {
+          return encodeURIComponent(_char);
+        });
+      }
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -1477,6 +1492,10 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
       var _routeRegex = __webpack_require__("YTqd");
 
+      var _escapePathDelimiters = _interopRequireDefault(
+        __webpack_require__("fcRV")
+      );
+
       var _getAssetPathFromRoute = _interopRequireDefault(
         __webpack_require__("Lab5")
       );
@@ -1665,8 +1684,10 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
                       (interpolatedRoute = interpolatedRoute.replace(
                         replaced,
                         repeat
-                          ? value.map(encodeURIComponent).join("/")
-                          : encodeURIComponent(value)
+                          ? value
+                              .map(_escapePathDelimiters["default"])
+                              .join("/")
+                          : (0, _escapePathDelimiters["default"])(value)
                       ))
                     );
                   })
Diff for main-HASH.module.js
@@ -806,6 +806,19 @@
       /***/
     },
 
+    /***/ fcRV: /***/ function(module, exports, __webpack_require__) {
+      "use strict";
+
+      exports.__esModule = true;
+      exports.default = escapePathDelimiters; // escape delimiters used by path-to-regexp
+
+      function escapePathDelimiters(segment) {
+        return segment.replace(/[/#?]/g, char => encodeURIComponent(char));
+      }
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -1118,6 +1131,10 @@
 
       var _routeRegex = __webpack_require__("YTqd");
 
+      var _escapePathDelimiters = _interopRequireDefault(
+        __webpack_require__("fcRV")
+      );
+
       var _getAssetPathFromRoute = _interopRequireDefault(
         __webpack_require__("Lab5")
       );
@@ -1283,8 +1300,8 @@
                   (interpolatedRoute = interpolatedRoute.replace(
                     replaced,
                     repeat
-                      ? value.map(encodeURIComponent).join("/")
-                      : encodeURIComponent(value)
+                      ? value.map(_escapePathDelimiters.default).join("/")
+                      : (0, _escapePathDelimiters.default)(value)
                   ))
                 );
               })
Diff for index.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      href="/_next/static/runtime/main-8d424a9b22e5dcb98200.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,13 +81,13 @@
       src="/_next/static/runtime/polyfills-e77205bd3f87781c0279.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-ba5b6ced9961fae765a4.js"
+      src="/_next/static/runtime/main-5e0791a30b83c18580d8.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      src="/_next/static/runtime/main-8d424a9b22e5dcb98200.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      href="/_next/static/runtime/main-8d424a9b22e5dcb98200.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -86,13 +86,13 @@
       src="/_next/static/runtime/polyfills-e77205bd3f87781c0279.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-ba5b6ced9961fae765a4.js"
+      src="/_next/static/runtime/main-5e0791a30b83c18580d8.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      src="/_next/static/runtime/main-8d424a9b22e5dcb98200.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      href="/_next/static/runtime/main-8d424a9b22e5dcb98200.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,13 +81,13 @@
       src="/_next/static/runtime/polyfills-e77205bd3f87781c0279.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-ba5b6ced9961fae765a4.js"
+      src="/_next/static/runtime/main-5e0791a30b83c18580d8.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-3ded133333b846351ff5.module.js"
+      src="/_next/static/runtime/main-8d424a9b22e5dcb98200.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
buildDuration 15.7s 14.9s -855ms
nodeModulesSize 66 MB 66 MB ⚠️ +1.41 kB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.js gzip 6.63 kB 6.67 kB ⚠️ +46 B
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..18e4.js gzip 10.7 kB 10.7 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.3 kB ⚠️ +46 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.module.js gzip 5.71 kB 5.75 kB ⚠️ +38 B
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 7.09 kB 7.09 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.7 kB 52.7 kB ⚠️ +38 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js fix-param-encoding Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_buildManifest.js gzip 268 B 268 B
_buildManife..dule.js gzip 272 B 272 B
Overall change 540 B 540 B
Serverless bundles
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_error.js 876 kB 876 kB
404.html 4.17 kB 4.17 kB
hooks.html 3.79 kB 3.79 kB
index.js 876 kB 876 kB
link.js 914 kB 914 kB
routerDirect.js 908 kB 908 kB
withRouter.js 908 kB 908 kB
Overall change 4.49 MB 4.49 MB
Commit: fd4f8a3

@Janpot Janpot marked this pull request as ready for review July 2, 2020 16:14
Copy link
Member

@Timer Timer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@ijjk
Copy link
Member

ijjk commented Jul 13, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
buildDuration 13.1s 13.1s ⚠️ +34ms
nodeModulesSize 66.4 MB 66.4 MB ⚠️ +1.41 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
/ failed reqs 0 0
/ total time (seconds) 2.246 2.259 ⚠️ +0.01
/ avg req/sec 1112.97 1106.74 ⚠️ -6.23
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.51 1.555 ⚠️ +0.04
/error-in-render avg req/sec 1655.75 1607.48 ⚠️ -48.27
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.js gzip 6.63 kB 6.67 kB ⚠️ +45 B
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..e4a8.js gzip 10.7 kB 10.7 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.3 kB ⚠️ +45 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.module.js gzip 5.72 kB 5.75 kB ⚠️ +37 B
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 7.1 kB 7.1 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.7 kB 52.7 kB ⚠️ +37 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js fix-param-encoding Change
polyfills-HASH.js gzip 26.4 kB 26.4 kB
Overall change 26.4 kB 26.4 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_buildManifest.js gzip 267 B 267 B
_buildManife..dule.js gzip 272 B 272 B
Overall change 539 B 539 B
Rendered Page Sizes Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
index.html gzip 953 B 955 B ⚠️ +2 B
link.html gzip 961 B 962 B ⚠️ +1 B
withRouter.html gzip 945 B 946 B ⚠️ +1 B
Overall change 2.86 kB 2.86 kB ⚠️ +4 B

Diffs

Diff for main-HASH.js
@@ -1161,6 +1161,21 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
       /***/
     },
 
+    /***/ fcRV: /***/ function(module, exports, __webpack_require__) {
+      "use strict";
+
+      exports.__esModule = true;
+      exports["default"] = escapePathDelimiters; // escape delimiters used by path-to-regexp
+
+      function escapePathDelimiters(segment) {
+        return segment.replace(/[/#?]/g, function(_char) {
+          return encodeURIComponent(_char);
+        });
+      }
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -1477,6 +1492,10 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
 
       var _routeRegex = __webpack_require__("YTqd");
 
+      var _escapePathDelimiters = _interopRequireDefault(
+        __webpack_require__("fcRV")
+      );
+
       var _getAssetPathFromRoute = _interopRequireDefault(
         __webpack_require__("Lab5")
       );
@@ -1665,8 +1684,10 @@ _N_E = (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([
                       (interpolatedRoute = interpolatedRoute.replace(
                         replaced,
                         repeat
-                          ? value.map(encodeURIComponent).join("/")
-                          : encodeURIComponent(value)
+                          ? value
+                              .map(_escapePathDelimiters["default"])
+                              .join("/")
+                          : (0, _escapePathDelimiters["default"])(value)
                       ))
                     );
                   })
Diff for main-HASH.module.js
@@ -806,6 +806,19 @@
       /***/
     },
 
+    /***/ fcRV: /***/ function(module, exports, __webpack_require__) {
+      "use strict";
+
+      exports.__esModule = true;
+      exports.default = escapePathDelimiters; // escape delimiters used by path-to-regexp
+
+      function escapePathDelimiters(segment) {
+        return segment.replace(/[/#?]/g, char => encodeURIComponent(char));
+      }
+
+      /***/
+    },
+
     /***/ pVnL: /***/ function(module, exports) {
       function _extends() {
         module.exports = _extends =
@@ -1118,6 +1131,10 @@
 
       var _routeRegex = __webpack_require__("YTqd");
 
+      var _escapePathDelimiters = _interopRequireDefault(
+        __webpack_require__("fcRV")
+      );
+
       var _getAssetPathFromRoute = _interopRequireDefault(
         __webpack_require__("Lab5")
       );
@@ -1283,8 +1300,8 @@
                   (interpolatedRoute = interpolatedRoute.replace(
                     replaced,
                     repeat
-                      ? value.map(encodeURIComponent).join("/")
-                      : encodeURIComponent(value)
+                      ? value.map(_escapePathDelimiters.default).join("/")
+                      : (0, _escapePathDelimiters.default)(value)
                   ))
                 );
               })
Diff for index.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-d9a3ec854854c174b592.module.js"
+      href="/_next/static/runtime/main-cfa55ab2fa44e022ecbb.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,13 +81,13 @@
       src="/_next/static/runtime/polyfills-fa968511391ff096b874.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-64fd39eecd782af2bcd5.js"
+      src="/_next/static/runtime/main-f521002dc4f0d8e5f7f2.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-d9a3ec854854c174b592.module.js"
+      src="/_next/static/runtime/main-cfa55ab2fa44e022ecbb.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for link.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-d9a3ec854854c174b592.module.js"
+      href="/_next/static/runtime/main-cfa55ab2fa44e022ecbb.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -86,13 +86,13 @@
       src="/_next/static/runtime/polyfills-fa968511391ff096b874.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-64fd39eecd782af2bcd5.js"
+      src="/_next/static/runtime/main-f521002dc4f0d8e5f7f2.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-d9a3ec854854c174b592.module.js"
+      src="/_next/static/runtime/main-cfa55ab2fa44e022ecbb.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
Diff for withRouter.html
@@ -6,7 +6,7 @@
     <meta name="next-head-count" content="2" />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-d9a3ec854854c174b592.module.js"
+      href="/_next/static/runtime/main-cfa55ab2fa44e022ecbb.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -81,13 +81,13 @@
       src="/_next/static/runtime/polyfills-fa968511391ff096b874.js"
     ></script>
     <script
-      src="/_next/static/runtime/main-64fd39eecd782af2bcd5.js"
+      src="/_next/static/runtime/main-f521002dc4f0d8e5f7f2.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script>
     <script
-      src="/_next/static/runtime/main-d9a3ec854854c174b592.module.js"
+      src="/_next/static/runtime/main-cfa55ab2fa44e022ecbb.module.js"
       async=""
       crossorigin="anonymous"
       type="module"

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
buildDuration 14.9s 14.2s -630ms
nodeModulesSize 66.4 MB 66.4 MB ⚠️ +1.41 kB
Client Bundles (main, webpack, commons) Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.js gzip 6.63 kB 6.67 kB ⚠️ +45 B
webpack-HASH.js gzip 751 B 751 B
19b7e98f51cc..e4a8.js gzip 10.7 kB 10.7 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57.2 kB 57.3 kB ⚠️ +45 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
vercel/next.js canary Janpot/next.js fix-param-encoding Change
main-HASH.module.js gzip 5.72 kB 5.75 kB ⚠️ +37 B
webpack-HASH..dule.js gzip 751 B 751 B
19b7e98f51cc..dule.js gzip 7.1 kB 7.1 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.7 kB 52.7 kB ⚠️ +37 B
Legacy Client Bundles (polyfills)
vercel/next.js canary Janpot/next.js fix-param-encoding Change
polyfills-HASH.js gzip 26.4 kB 26.4 kB
Overall change 26.4 kB 26.4 kB
Client Build Manifests
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_buildManifest.js gzip 267 B 267 B
_buildManife..dule.js gzip 272 B 272 B
Overall change 539 B 539 B
Serverless bundles
vercel/next.js canary Janpot/next.js fix-param-encoding Change
_error.js 878 kB 878 kB
404.html 4.17 kB 4.17 kB
hooks.html 3.79 kB 3.79 kB
index.js 878 kB 878 kB
link.js 918 kB 918 kB
routerDirect.js 911 kB 911 kB
withRouter.js 911 kB 911 kB
Overall change 4.5 MB 4.5 MB
Commit: fe465f6

@kodiakhq kodiakhq bot merged commit c9492a8 into vercel:canary Jul 13, 2020
@Janpot Janpot deleted the fix-param-encoding branch July 13, 2020 14:42
kodiakhq bot pushed a commit that referenced this pull request Dec 28, 2020
…19135)

This ensures we handle encoding/decoding for SSG prerendered/fallback pages correctly. Since we only encode path delimiters when outputting to the disk we need to match this encoding when building the `ssgCacheKey` to look-up the prerendered pages. This also fixes non-ascii prerendered paths (e.g. 商業日語) not matching correctly. 

This does not resolve 👉  #10084 and further investigation will be needed before addressing non-ascii paths for non-SSG pages. 

The encoding output was tested against https://tst-encoding-l7amu5b9c.vercel.app/ to ensure the values will match correctly on Vercel. 

Closes: #17582
Closes: #17642
x-ref: #14717
@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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Show a little error message when trying to send brackets as params
3 participants