[test] Don't use `request.allHeaders()` in sync `page.on()` callbacks
Alternative for #86740.
This should avoid running into these issues:
request.allHeaders: Target page, context or browser has been closed
The sync headers() method is sufficient for these use cases:
Note that this method does not return security-related headers, including cookie-related ones. You can use
request.allHeaders()for complete list of headers that include cookie information.
Note: The other occurrences of request.allHeaders() we have are fine because they're used in page.route() which does handle asynchronous callbacks.
Tests Passed
This seems to have uncovered either a bug or a wrong expectation with cacheComponents enabled. There are actually two RSC requests with different refetch markers in the router state tree being sent:
["",{"children":["refresh",{"children":["__PAGE__",{},null,"refetch"]},null,null]},null,null]["",{"children":["refresh",{"children":["__PAGE__",{},null,null]},null,null]},null,"refetch",true]
@ztanner Is this expected?
Repro:
__NEXT_CACHE_COMPONENTS=true NEXT_SKIP_ISOLATE=1 pnpm test-start test/e2e/app-dir/app-basepath/index.test.ts -t 'foo=bar'
@unstubbable that looks suspiciously like the lazy fetch we do in layout-router when something about the tree mismatches and we don't have anything to render. If that's the case, I think all cases of the lazy fetch occurring is technically a bug (especially in cache components) so we'd need to figure out what's wrong there.
When I tried it, .headers() didn't include the custom RSC headers.
When I tried it,
.headers()didn't include the custom RSC headers.
Hm, worked just fine here.
Stats from current PR
Default Build (Increase detected ⚠️)
General
| vercel/next.js canary | vercel/next.js hl/avoid-request-all-headers | Change | |
|---|---|---|---|
| buildDuration | 18.1s | 14.8s | N/A |
| buildDurationCached | 13.8s | 10.8s | N/A |
| nodeModulesSize | 456 MB | 456 MB | ✓ |
| nextStartRea..uration (ms) | 712ms | 717ms | N/A |
Client Bundles (main, webpack) Overall increase ⚠️
| vercel/next.js canary | vercel/next.js hl/avoid-request-all-headers | Change | |
|---|---|---|---|
| 4765.HASH.js gzip | 169 B | 169 B | ✓ |
| 6566-HASH.js gzip | 5.4 kB | 5.38 kB | N/A |
| 7740-HASH.js gzip | 51.2 kB | 50.9 kB | N/A |
| 8258-HASH.js gzip | 4.47 kB | 4.48 kB | N/A |
| b0b1acf2-HASH.js gzip | 62.3 kB | 62.3 kB | N/A |
| framework-HASH.js gzip | 59.7 kB | 59.7 kB | N/A |
| main-app-HASH.js gzip | 254 B | 252 B | N/A |
| main-HASH.js gzip | 38.5 kB | 38.8 kB | ⚠️ +259 B |
| webpack-HASH.js gzip | 1.69 kB | 1.69 kB | ✓ |
| Overall change | 40.4 kB | 40.6 kB | ⚠️ +259 B |
Legacy Client Bundles (polyfills)
| vercel/next.js canary | vercel/next.js hl/avoid-request-all-headers | Change | |
|---|---|---|---|
| polyfills-HASH.js gzip | 39.4 kB | 39.4 kB | ✓ |
| Overall change | 39.4 kB | 39.4 kB | ✓ |
Client Pages
| vercel/next.js canary | vercel/next.js hl/avoid-request-all-headers | Change | |
|---|---|---|---|
| _app-HASH.js gzip | 193 B | 192 B | N/A |
| _error-HASH.js gzip | 181 B | 182 B | N/A |
| css-HASH.js gzip | 335 B | 336 B | N/A |
| dynamic-HASH.js gzip | 1.81 kB | 1.8 kB | N/A |
| edge-ssr-HASH.js gzip | 254 B | 256 B | N/A |
| head-HASH.js gzip | 350 B | 350 B | ✓ |
| hooks-HASH.js gzip | 385 B | 383 B | N/A |
| image-HASH.js gzip | 580 B | 580 B | ✓ |
| index-HASH.js gzip | 259 B | 259 B | ✓ |
| link-HASH.js gzip | 2.5 kB | 2.5 kB | N/A |
| routerDirect..HASH.js gzip | 320 B | 317 B | N/A |
| script-HASH.js gzip | 386 B | 384 B | N/A |
| withRouter-HASH.js gzip | 315 B | 314 B | N/A |
| 1afbb74e6ecf..834.css gzip | 106 B | 106 B | ✓ |
| Overall change | 1.29 kB | 1.29 kB | ✓ |
Client Build Manifests
| vercel/next.js canary | vercel/next.js hl/avoid-request-all-headers | Change | |
|---|---|---|---|
| _buildManifest.js gzip | 737 B | 735 B | N/A |
| Overall change | 0 B | 0 B | ✓ |
Rendered Page Sizes
| vercel/next.js canary | vercel/next.js hl/avoid-request-all-headers | Change | |
|---|---|---|---|
| index.html gzip | 523 B | 524 B | N/A |
| link.html gzip | 538 B | 538 B | ✓ |
| withRouter.html gzip | 520 B | 520 B | ✓ |
| Overall change | 1.06 kB | 1.06 kB | ✓ |
Edge SSR bundle Size Overall increase ⚠️
| vercel/next.js canary | vercel/next.js hl/avoid-request-all-headers | Change | |
|---|---|---|---|
| edge-ssr.js gzip | 124 kB | 125 kB | ⚠️ +384 B |
| page.js gzip | 237 kB | 237 kB | ⚠️ +193 B |
| Overall change | 361 kB | 362 kB | ⚠️ +577 B |
Middleware size
| vercel/next.js canary | vercel/next.js hl/avoid-request-all-headers | Change | |
|---|---|---|---|
| middleware-b..fest.js gzip | 656 B | 657 B | N/A |
| middleware-r..fest.js gzip | 155 B | 156 B | N/A |
| middleware.js gzip | 32.9 kB | 33 kB | N/A |
| edge-runtime..pack.js gzip | 846 B | 846 B | ✓ |
| Overall change | 846 B | 846 B | ✓ |
Next Runtimes
| vercel/next.js canary | vercel/next.js hl/avoid-request-all-headers | Change | |
|---|---|---|---|
| app-page-exp...dev.js gzip | 301 kB | 301 kB | N/A |
| app-page-exp..prod.js gzip | 156 kB | 156 kB | ✓ |
| app-page-tur...dev.js gzip | 301 kB | 301 kB | ✓ |
| app-page-tur..prod.js gzip | 156 kB | 156 kB | ✓ |
| app-page-tur...dev.js gzip | 298 kB | 298 kB | N/A |
| app-page-tur..prod.js gzip | 154 kB | 154 kB | ✓ |
| app-page.run...dev.js gzip | 298 kB | 298 kB | N/A |
| app-page.run..prod.js gzip | 154 kB | 154 kB | ✓ |
| app-route-ex...dev.js gzip | 68.6 kB | 68.6 kB | ✓ |
| app-route-ex..prod.js gzip | 47.4 kB | 47.4 kB | ✓ |
| app-route-tu...dev.js gzip | 68.6 kB | 68.6 kB | ✓ |
| app-route-tu..prod.js gzip | 47.5 kB | 47.5 kB | ✓ |
| app-route-tu...dev.js gzip | 68.2 kB | 68.2 kB | ✓ |
| app-route-tu..prod.js gzip | 47.2 kB | 47.2 kB | ✓ |
| app-route.ru...dev.js gzip | 68.2 kB | 68.2 kB | ✓ |
| app-route.ru..prod.js gzip | 47.2 kB | 47.2 kB | ✓ |
| dist_client_...dev.js gzip | 324 B | 324 B | ✓ |
| dist_client_...dev.js gzip | 326 B | 326 B | ✓ |
| dist_client_...dev.js gzip | 318 B | 318 B | ✓ |
| dist_client_...dev.js gzip | 317 B | 317 B | ✓ |
| pages-api-tu...dev.js gzip | 41 kB | 41 kB | ✓ |
| pages-api-tu..prod.js gzip | 31.1 kB | 31.1 kB | ✓ |
| pages-api.ru...dev.js gzip | 41 kB | 41 kB | ✓ |
| pages-api.ru..prod.js gzip | 31.1 kB | 31.1 kB | ✓ |
| pages-turbo....dev.js gzip | 50.5 kB | 50.5 kB | ✓ |
| pages-turbo...prod.js gzip | 38 kB | 38 kB | ✓ |
| pages.runtim...dev.js gzip | 50.4 kB | 50.4 kB | ✓ |
| pages.runtim..prod.js gzip | 38 kB | 38 kB | ✓ |
| server.runti..prod.js gzip | 59.8 kB | 59.8 kB | ✓ |
| Overall change | 1.77 MB | 1.77 MB | ✓ |
build cache Overall increase ⚠️
| vercel/next.js canary | vercel/next.js hl/avoid-request-all-headers | Change | |
|---|---|---|---|
| 0.pack gzip | 3.61 MB | 3.62 MB | ⚠️ +6.81 kB |
| index.pack gzip | 100 kB | 97.9 kB | N/A |
| Overall change | 3.61 MB | 3.62 MB | ⚠️ +6.81 kB |
Diff details
Diff for page.js
Diff too large to display
Diff for middleware.js
Diff too large to display
Diff for edge-ssr.js
Diff too large to display
Diff for _buildManifest.js
@@ -611,35 +611,35 @@ self.__BUILD_MANIFEST = (function (a, b, c) {
numHashes: NaN,
bitArray: [],
},
- "/": ["static\u002Fchunks\u002Fpages\u002Findex-8312816003c836ca.js"],
+ "/": ["static\u002Fchunks\u002Fpages\u002Findex-0eb0f30aae464b15.js"],
"/_error": [
- "static\u002Fchunks\u002Fpages\u002F_error-108d239ccbd01df3.js",
+ "static\u002Fchunks\u002Fpages\u002F_error-7503b65793aeda9f.js",
],
"/css": [
"static\u002Fcss\u002Fded6b86ab9cc0a1f.css",
- "static\u002Fchunks\u002Fpages\u002Fcss-c7999ca7b397642c.js",
+ "static\u002Fchunks\u002Fpages\u002Fcss-14b4ec2febaa617d.js",
],
"/dynamic": [
- "static\u002Fchunks\u002Fpages\u002Fdynamic-1bf1b522b071e22a.js",
+ "static\u002Fchunks\u002Fpages\u002Fdynamic-24891a28ecfaf61d.js",
],
"/edge-ssr": [
- "static\u002Fchunks\u002Fpages\u002Fedge-ssr-9f01876339e3437b.js",
+ "static\u002Fchunks\u002Fpages\u002Fedge-ssr-f68757662e8cc4b5.js",
],
- "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-edae0400cfdbe933.js"],
- "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-c11320a657ec666d.js"],
+ "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-25d6de8fe25c2526.js"],
+ "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-34de3af84d413de3.js"],
"/image": [
- "static\u002Fchunks\u002F8258-9768ab794e68b1dc.js",
- "static\u002Fchunks\u002Fpages\u002Fimage-174112e04c93dfd7.js",
+ "static\u002Fchunks\u002F6316-07d5277e1ed2f1f9.js",
+ "static\u002Fchunks\u002Fpages\u002Fimage-7218f8bad067d350.js",
],
- "/link": ["static\u002Fchunks\u002Fpages\u002Flink-69a06d3260afde67.js"],
+ "/link": ["static\u002Fchunks\u002Fpages\u002Flink-fb9703d62b3bdf85.js"],
"/routerDirect": [
- "static\u002Fchunks\u002Fpages\u002FrouterDirect-eab8cdd319b4a9be.js",
+ "static\u002Fchunks\u002Fpages\u002FrouterDirect-7a0b11345ff468cf.js",
],
"/script": [
- "static\u002Fchunks\u002Fpages\u002Fscript-ae5bd9e9cf17793f.js",
+ "static\u002Fchunks\u002Fpages\u002Fscript-3fa0815377002305.js",
],
"/withRouter": [
- "static\u002Fchunks\u002Fpages\u002FwithRouter-b277df764694ea2e.js",
+ "static\u002Fchunks\u002Fpages\u002FwithRouter-608a306c0a09e667.js",
],
sortedPages: [
"\u002F",
Diff for css-HASH.js
@@ -1,31 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9813],
{
- /***/ 4131: /***/ (module) => {
- // extracted by mini-css-extract-plugin
- module.exports = { helloWorld: "css_helloWorld__aUdUq" };
-
- /***/
- },
-
- /***/ 6015: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/css",
- function () {
- return __webpack_require__(6854);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 6854: /***/ (
+ /***/ 1048: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -39,7 +15,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1329);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(4131);
+ __webpack_require__(9541);
/* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -58,13 +34,37 @@
/***/
},
+
+ /***/ 4641: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/css",
+ function () {
+ return __webpack_require__(1048);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 9541: /***/ (module) => {
+ // extracted by mini-css-extract-plugin
+ module.exports = { helloWorld: "css_helloWorld__aUdUq" };
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(6015)
+ __webpack_exec__(4641)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,17 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2291],
{
- /***/ 946: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(5104);
-
- /***/
- },
-
- /***/ 1036: /***/ (
+ /***/ 1266: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -26,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1329);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(946);
+ __webpack_require__(1776);
/* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_dynamic__WEBPACK_IMPORTED_MODULE_1__
@@ -35,12 +25,12 @@
const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
() =>
__webpack_require__
- .e(/* import() */ 4765)
- .then(__webpack_require__.bind(__webpack_require__, 4765))
+ .e(/* import() */ 9715)
+ .then(__webpack_require__.bind(__webpack_require__, 9715))
.then((mod) => mod.Hello),
{
loadableGenerated: {
- webpack: () => [/*require.resolve*/ 4765],
+ webpack: () => [/*require.resolve*/ 9715],
},
}
);
@@ -67,7 +57,44 @@
/***/
},
- /***/ 3399: /***/ (
+ /***/ 1776: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(7760);
+
+ /***/
+ },
+
+ /***/ 3749: /***/ (
+ __unused_webpack_module,
+ exports,
+ __webpack_require__
+ ) => {
+ "use strict";
+ /* __next_internal_client_entry_do_not_use__ cjs */
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ Object.defineProperty(exports, "LoadableContext", {
+ enumerable: true,
+ get: function () {
+ return LoadableContext;
+ },
+ });
+ const _interop_require_default = __webpack_require__(1532);
+ const _react = /*#__PURE__*/ _interop_require_default._(
+ __webpack_require__(7197)
+ );
+ const LoadableContext = _react.default.createContext(null);
+ if (false) {
+ } //# sourceMappingURL=loadable-context.shared-runtime.js.map
+
+ /***/
+ },
+
+ /***/ 6535: /***/ (
__unused_webpack_module,
exports,
__webpack_require__
@@ -109,7 +136,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
const _react = /*#__PURE__*/ _interop_require_default._(
__webpack_require__(7197)
);
- const _loadablecontextsharedruntime = __webpack_require__(9829);
+ const _loadablecontextsharedruntime = __webpack_require__(3749);
function resolve(obj) {
return obj && obj.default ? obj.default : obj;
}
@@ -342,7 +369,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
- /***/ 5104: /***/ (module, exports, __webpack_require__) => {
+ /***/ 7760: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -375,7 +402,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
__webpack_require__(7197)
);
const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(3399)
+ __webpack_require__(6535)
);
const isServerSide = "object" === "undefined";
// Normalize loader to return the module as form { default: Component } for `React.lazy`.
@@ -475,7 +502,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
- /***/ 8695: /***/ (
+ /***/ 9585: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -483,7 +510,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
(window.__NEXT_P = window.__NEXT_P || []).push([
"/dynamic",
function () {
- return __webpack_require__(1036);
+ return __webpack_require__(1266);
},
]);
if (false) {
@@ -491,40 +518,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
/***/
},
-
- /***/ 9829: /***/ (
- __unused_webpack_module,
- exports,
- __webpack_require__
- ) => {
- "use strict";
- /* __next_internal_client_entry_do_not_use__ cjs */
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- Object.defineProperty(exports, "LoadableContext", {
- enumerable: true,
- get: function () {
- return LoadableContext;
- },
- });
- const _interop_require_default = __webpack_require__(1532);
- const _react = /*#__PURE__*/ _interop_require_default._(
- __webpack_require__(7197)
- );
- const LoadableContext = _react.default.createContext(null);
- if (false) {
- } //# sourceMappingURL=loadable-context.shared-runtime.js.map
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(8695)
+ __webpack_exec__(9585)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,24 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[5350],
{
- /***/ 361: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/head",
- function () {
- return __webpack_require__(721);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 721: /***/ (
+ /***/ 5163: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -33,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1329);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(5051);
+ __webpack_require__(7269);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -67,12 +50,29 @@
/***/
},
- /***/ 5051: /***/ (
+ /***/ 7269: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(4981);
+ module.exports = __webpack_require__(2053);
+
+ /***/
+ },
+
+ /***/ 8563: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/head",
+ function () {
+ return __webpack_require__(5163);
+ },
+ ]);
+ if (false) {
+ }
/***/
},
@@ -82,7 +82,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(361)
+ __webpack_exec__(8563)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[9804],
{
- /***/ 1705: /***/ (
+ /***/ 1271: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/hooks",
+ function () {
+ return __webpack_require__(2631);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 2631: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -59,30 +76,13 @@
/***/
},
-
- /***/ 8637: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/hooks",
- function () {
- return __webpack_require__(1705);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(8637)
+ __webpack_exec__(1271)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for image-HASH.js
@@ -1,7 +1,24 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[2983],
{
- /***/ 798: /***/ (
+ /***/ 565: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/image",
+ function () {
+ return __webpack_require__(7813);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 7813: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -18,8 +35,8 @@
// EXTERNAL MODULE: ./node_modules/.pnpm/[email protected]/node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(1329);
- // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
- var next_image = __webpack_require__(8258);
+ // EXTERNAL MODULE: ./node_modules/.pnpm/next@[email protected][email protected][email protected]/node_modules/next/image.js
+ var next_image = __webpack_require__(6316);
var image_default = /*#__PURE__*/ __webpack_require__.n(next_image); // ./pages/nextjs.png
/* harmony default export */ const nextjs = {
src: "/_next/static/media/nextjs.cae0b805.png",
@@ -48,30 +65,13 @@
/***/
},
-
- /***/ 7643: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/image",
- function () {
- return __webpack_require__(798);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
- /******/ __webpack_require__.O(0, [8258, 636, 6593, 8792], () =>
- __webpack_exec__(7643)
+ /******/ __webpack_require__.O(0, [6316, 636, 6593, 8792], () =>
+ __webpack_exec__(565)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,43 +1,36 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4672],
{
- /***/ 4183: /***/ (module, exports, __webpack_require__) => {
+ /***/ 443: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(2457);
+
+ /***/
+ },
+
+ /***/ 2185: /***/ (__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true,
});
- Object.defineProperty(exports, "getDomainLocale", {
+ Object.defineProperty(exports, "errorOnce", {
enumerable: true,
get: function () {
- return getDomainLocale;
+ return errorOnce;
},
});
- const _normalizetrailingslash = __webpack_require__(8887);
- const basePath =
- /* unused pure expression or super */ null && (false || "");
- function getDomainLocale(path, locale, locales, domainLocales) {
- if (false) {
- } else {
- return false;
- }
- }
- if (
- (typeof exports.default === "function" ||
- (typeof exports.default === "object" && exports.default !== null)) &&
- typeof exports.default.__esModule === "undefined"
- ) {
- Object.defineProperty(exports.default, "__esModule", {
- value: true,
- });
- Object.assign(exports.default, exports);
- module.exports = exports.default;
- } //# sourceMappingURL=get-domain-locale.js.map
+ let errorOnce = (_) => {};
+ if (false) {
+ } //# sourceMappingURL=error-once.js.map
/***/
},
- /***/ 5049: /***/ (module, exports, __webpack_require__) => {
+ /***/ 2457: /***/ (module, exports, __webpack_require__) => {
"use strict";
/* __next_internal_client_entry_do_not_use__ cjs */
Object.defineProperty(exports, "__esModule", {
@@ -64,17 +57,17 @@
const _react = /*#__PURE__*/ _interop_require_wildcard._(
__webpack_require__(7197)
);
- const _resolvehref = __webpack_require__(3575);
- const _islocalurl = __webpack_require__(4135);
- const _formaturl = __webpack_require__(3050);
- const _utils = __webpack_require__(6864);
- const _addlocale = __webpack_require__(1789);
- const _routercontextsharedruntime = __webpack_require__(1778);
- const _useintersection = __webpack_require__(7210);
- const _getdomainlocale = __webpack_require__(4183);
- const _addbasepath = __webpack_require__(6518);
- const _usemergedref = __webpack_require__(9011);
- const _erroronce = __webpack_require__(5193);
+ const _resolvehref = __webpack_require__(5687);
+ const _islocalurl = __webpack_require__(7127);
+ const _formaturl = __webpack_require__(58);
+ const _utils = __webpack_require__(2080);
+ const _addlocale = __webpack_require__(5709);
+ const _routercontextsharedruntime = __webpack_require__(4770);
+ const _useintersection = __webpack_require__(3290);
+ const _getdomainlocale = __webpack_require__(4615);
+ const _addbasepath = __webpack_require__(8422);
+ const _usemergedref = __webpack_require__(9667);
+ const _erroronce = __webpack_require__(2185);
const prefetched = new Set();
function prefetch(router, href, as, options) {
if (false) {
@@ -453,82 +446,7 @@
/***/
},
- /***/ 5193: /***/ (__unused_webpack_module, exports) => {
- "use strict";
-
- Object.defineProperty(exports, "__esModule", {
- value: true,
- });
- Object.defineProperty(exports, "errorOnce", {
- enumerable: true,
- get: function () {
- return errorOnce;
- },
- });
- let errorOnce = (_) => {};
- if (false) {
- } //# sourceMappingURL=error-once.js.map
-
- /***/
- },
-
- /***/ 5529: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(5049);
-
- /***/
- },
-
- /***/ 6887: /***/ (
- __unused_webpack_module,
- __webpack_exports__,
- __webpack_require__
- ) => {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
- /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
- /* harmony export */
- });
- /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
- __webpack_require__(1329);
- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(5529);
- /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
- /*#__PURE__*/ __webpack_require__.n(
- next_link__WEBPACK_IMPORTED_MODULE_1__
- );
-
- function aLink(props) {
- return /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
- children: [
- /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
- children: "A Link page!",
- }),
- /*#__PURE__*/ (0,
- react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
- next_link__WEBPACK_IMPORTED_MODULE_1___default(),
- {
- href: "/",
- children: "Go to /",
- }
- ),
- ],
- });
- }
- var __N_SSP = true;
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
-
- /***/
- },
-
- /***/ 7210: /***/ (module, exports, __webpack_require__) => {
+ /***/ 3290: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -541,7 +459,7 @@
},
});
const _react = __webpack_require__(7197);
- const _requestidlecallback = __webpack_require__(1785);
+ const _requestidlecallback = __webpack_require__(6809);
const hasIntersectionObserver =
typeof IntersectionObserver === "function";
const observers = new Map();
@@ -653,7 +571,106 @@
/***/
},
- /***/ 9011: /***/ (module, exports, __webpack_require__) => {
+ /***/ 4615: /***/ (module, exports, __webpack_require__) => {
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ Object.defineProperty(exports, "getDomainLocale", {
+ enumerable: true,
+ get: function () {
+ return getDomainLocale;
+ },
+ });
+ const _normalizetrailingslash = __webpack_require__(903);
+ const basePath =
+ /* unused pure expression or super */ null && (false || "");
+ function getDomainLocale(path, locale, locales, domainLocales) {
+ if (false) {
+ } else {
+ return false;
+ }
+ }
+ if (
+ (typeof exports.default === "function" ||
+ (typeof exports.default === "object" && exports.default !== null)) &&
+ typeof exports.default.__esModule === "undefined"
+ ) {
+ Object.defineProperty(exports.default, "__esModule", {
+ value: true,
+ });
+ Object.assign(exports.default, exports);
+ module.exports = exports.default;
+ } //# sourceMappingURL=get-domain-locale.js.map
+
+ /***/
+ },
+
+ /***/ 6745: /***/ (
+ __unused_webpack_module,
+ __webpack_exports__,
+ __webpack_require__
+ ) => {
+ "use strict";
+ __webpack_require__.r(__webpack_exports__);
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+ /* harmony export */ __N_SSP: () => /* binding */ __N_SSP,
+ /* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
+ /* harmony export */
+ });
+ /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
+ __webpack_require__(1329);
+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
+ __webpack_require__(443);
+ /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default =
+ /*#__PURE__*/ __webpack_require__.n(
+ next_link__WEBPACK_IMPORTED_MODULE_1__
+ );
+
+ function aLink(props) {
+ return /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
+ children: [
+ /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h3", {
+ children: "A Link page!",
+ }),
+ /*#__PURE__*/ (0,
+ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+ next_link__WEBPACK_IMPORTED_MODULE_1___default(),
+ {
+ href: "/",
+ children: "Go to /",
+ }
+ ),
+ ],
+ });
+ }
+ var __N_SSP = true;
+ /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = aLink;
+
+ /***/
+ },
+
+ /***/ 7595: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/link",
+ function () {
+ return __webpack_require__(6745);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 9667: /***/ (module, exports, __webpack_require__) => {
"use strict";
Object.defineProperty(exports, "__esModule", {
@@ -730,30 +747,13 @@
/***/
},
-
- /***/ 9297: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/link",
- function () {
- return __webpack_require__(6887);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9297)
+ __webpack_exec__(7595)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,34 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[188],
{
- /***/ 1576: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(5704);
-
- /***/
- },
-
- /***/ 7881: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/routerDirect",
- function () {
- return __webpack_require__(9851);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 9851: /***/ (
+ /***/ 3401: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1329);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1576);
+ __webpack_require__(6702);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -62,13 +35,40 @@
/***/
},
+
+ /***/ 4787: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/routerDirect",
+ function () {
+ return __webpack_require__(3401);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
+
+ /***/ 6702: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(728);
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(7881)
+ __webpack_exec__(4787)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,34 +1,17 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[1209],
{
- /***/ 2777: /***/ (
- __unused_webpack_module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- (window.__NEXT_P = window.__NEXT_P || []).push([
- "/script",
- function () {
- return __webpack_require__(9272);
- },
- ]);
- if (false) {
- }
-
- /***/
- },
-
- /***/ 8662: /***/ (
+ /***/ 6868: /***/ (
module,
__unused_webpack_exports,
__webpack_require__
) => {
- module.exports = __webpack_require__(4550);
+ module.exports = __webpack_require__(1190);
/***/
},
- /***/ 9272: /***/ (
+ /***/ 7478: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -43,7 +26,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1329);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(8662);
+ __webpack_require__(6868);
/* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_script__WEBPACK_IMPORTED_MODULE_1__
@@ -75,13 +58,30 @@
/***/
},
+
+ /***/ 7659: /***/ (
+ __unused_webpack_module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ (window.__NEXT_P = window.__NEXT_P || []).push([
+ "/script",
+ function () {
+ return __webpack_require__(7478);
+ },
+ ]);
+ if (false) {
+ }
+
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(2777)
+ __webpack_exec__(7659)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,17 +1,7 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[3263],
{
- /***/ 1576: /***/ (
- module,
- __unused_webpack_exports,
- __webpack_require__
- ) => {
- module.exports = __webpack_require__(5704);
-
- /***/
- },
-
- /***/ 8478: /***/ (
+ /***/ 2528: /***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__
@@ -26,7 +16,7 @@
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(1329);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
- __webpack_require__(1576);
+ __webpack_require__(6702);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -45,7 +35,17 @@
/***/
},
- /***/ 9505: /***/ (
+ /***/ 6702: /***/ (
+ module,
+ __unused_webpack_exports,
+ __webpack_require__
+ ) => {
+ module.exports = __webpack_require__(728);
+
+ /***/
+ },
+
+ /***/ 9763: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
@@ -53,7 +53,7 @@
(window.__NEXT_P = window.__NEXT_P || []).push([
"/withRouter",
function () {
- return __webpack_require__(8478);
+ return __webpack_require__(2528);
},
]);
if (false) {
@@ -67,7 +67,7 @@
/******/ var __webpack_exec__ = (moduleId) =>
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
- __webpack_exec__(9505)
+ __webpack_exec__(9763)
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
Diff for 6566-HASH.js
Diff too large to display
Diff for 7740-HASH.js
failed to diff
Diff for 8258-HASH.js
Diff too large to display
Diff for main-HASH.js
Diff too large to display
Diff for main-app-HASH.js
@@ -1,64 +1,64 @@
(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
[4977],
{
- /***/ 2584: /***/ () => {
- /* (ignored) */
- /***/
- },
-
- /***/ 8624: /***/ (
+ /***/ 4124: /***/ (
__unused_webpack_module,
__unused_webpack_exports,
__webpack_require__
) => {
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 6596, 23)
+ __webpack_require__.t.bind(__webpack_require__, 8958, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 6101, 23)
+ __webpack_require__.t.bind(__webpack_require__, 711, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 7719, 23)
+ __webpack_require__.t.bind(__webpack_require__, 7045, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 3524, 23)
+ __webpack_require__.t.bind(__webpack_require__, 266, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 6044, 23)
+ __webpack_require__.t.bind(__webpack_require__, 3438, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 344, 23)
+ __webpack_require__.t.bind(__webpack_require__, 7494, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 6577, 23)
+ __webpack_require__.t.bind(__webpack_require__, 4627, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 7518, 23)
+ __webpack_require__.t.bind(__webpack_require__, 924, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 215, 23)
+ __webpack_require__.t.bind(__webpack_require__, 4766, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 8782, 23)
+ __webpack_require__.t.bind(__webpack_require__, 5564, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 3205, 23)
+ __webpack_require__.t.bind(__webpack_require__, 8095, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.bind(__webpack_require__, 576)
+ __webpack_require__.bind(__webpack_require__, 8350)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 766, 23)
+ __webpack_require__.t.bind(__webpack_require__, 8128, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 2283, 23)
+ __webpack_require__.t.bind(__webpack_require__, 5865, 23)
);
Promise.resolve(/* import() eager */).then(
- __webpack_require__.t.bind(__webpack_require__, 1257, 23)
+ __webpack_require__.t.bind(__webpack_require__, 4103, 23)
);
/***/
},
+
+ /***/ 6170: /***/ () => {
+ /* (ignored) */
+ /***/
+ },
},
/******/ (__webpack_require__) => {
// webpackRuntimeModules
@@ -66,8 +66,8 @@
__webpack_require__((__webpack_require__.s = moduleId));
/******/ __webpack_require__.O(
0,
- [9962, 7740],
- () => (__webpack_exec__(7620), __webpack_exec__(8624))
+ [4627, 8196],
+ () => (__webpack_exec__(1314), __webpack_exec__(4124))
);
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ _N_E = __webpack_exports__;
This seems to have uncovered either a bug or a wrong expectation with
cacheComponentsenabled. There are actually two RSC requests with different refetch markers in the router state tree being sent:
["",{"children":["refresh",{"children":["__PAGE__",{},null,"refetch"]},null,null]},null,null]["",{"children":["refresh",{"children":["__PAGE__",{},null,null]},null,null]},null,"refetch",true]@ztanner Is this expected?
Repro:
__NEXT_CACHE_COMPONENTS=true NEXT_SKIP_ISOLATE=1 pnpm test-start test/e2e/app-dir/app-basepath/index.test.ts -t 'foo=bar'
Seems like this issue got fixed by the recent refactors/fixes that @acdlite landed.