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

[dev-overlay] fix styling on overflow error messages, add button hover state #76771

Merged
merged 2 commits into from
Mar 3, 2025

Conversation

pranathip
Copy link
Contributor

Small inconsistency between the overflow gradient on the overlay in production and in code. This should fix it :")

Before:
CleanShot 2025-03-03 at 17 23 01@2x

After (normal):
CleanShot 2025-03-03 at 17 17 51@2x

After (hover):
CleanShot 2025-03-03 at 17 22 50@2x

@ijjk ijjk added the type: next label Mar 3, 2025
@pranathip pranathip marked this pull request as draft March 3, 2025 22:24
@pranathip pranathip force-pushed the pran/fix-overflow-styling-on-errors branch from 73c9b3d to 03b7bbf Compare March 3, 2025 22:28
@pranathip pranathip marked this pull request as ready for review March 3, 2025 22:28
@pranathip pranathip requested a review from ztanner March 3, 2025 22:28
@ijjk
Copy link
Member

ijjk commented Mar 3, 2025

Allow CI Workflow Run

  • approve CI run for commit: 03b7bbf

Note: this should only be enabled once the PR is ready to go and can only be enabled by a maintainer

Sorry, something went wrong.

@ztanner ztanner added the CI approved Approve running CI for fork label Mar 3, 2025
@ijjk
Copy link
Member

ijjk commented Mar 3, 2025

Stats from current PR

Default Build (Increase detected ⚠️)
General
vercel/next.js canary vercel/next.js pran/fix-overflow-styling-on-errors Change
buildDuration 15.3s 16.4s ⚠️ +1.1s
buildDurationCached 13s 10.8s N/A
nodeModulesSize 392 MB 389 MB N/A
nextStartRea..uration (ms) 399ms 411ms N/A
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary vercel/next.js pran/fix-overflow-styling-on-errors Change
6867.HASH.js gzip 168 B 168 B
8987-HASH.js gzip 45.9 kB 59.4 kB ⚠️ +13.5 kB
9484-HASH.js gzip 5.41 kB 5.44 kB N/A
bccd1874-HASH.js gzip 53.3 kB 53 kB N/A
framework-HASH.js gzip 57.3 kB 57.3 kB N/A
main-app-HASH.js gzip 242 B 245 B N/A
main-HASH.js gzip 34.1 kB 33.9 kB N/A
webpack-HASH.js gzip 1.71 kB 1.71 kB
Overall change 47.8 kB 61.3 kB ⚠️ +13.5 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary vercel/next.js pran/fix-overflow-styling-on-errors 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 pran/fix-overflow-styling-on-errors Change
_app-HASH.js gzip 194 B 194 B
_error-HASH.js gzip 191 B 192 B N/A
amp-HASH.js gzip 514 B 512 B N/A
css-HASH.js gzip 343 B 342 B N/A
dynamic-HASH.js gzip 1.84 kB 1.84 kB N/A
edge-ssr-HASH.js gzip 265 B 264 B N/A
head-HASH.js gzip 364 B 360 B N/A
hooks-HASH.js gzip 392 B 392 B
image-HASH.js gzip 4.61 kB 4.59 kB N/A
index-HASH.js gzip 266 B 265 B N/A
link-HASH.js gzip 2.35 kB 2.37 kB N/A
routerDirect..HASH.js gzip 327 B 328 B N/A
script-HASH.js gzip 397 B 397 B
withRouter-HASH.js gzip 322 B 325 B N/A
1afbb74e6ecf..834.css gzip 106 B 106 B
Overall change 1.09 kB 1.09 kB
Client Build Manifests
vercel/next.js canary vercel/next.js pran/fix-overflow-styling-on-errors Change
_buildManifest.js gzip 752 B 750 B N/A
Overall change 0 B 0 B
Rendered Page Sizes
vercel/next.js canary vercel/next.js pran/fix-overflow-styling-on-errors Change
index.html gzip 524 B 522 B N/A
link.html gzip 538 B 536 B N/A
withRouter.html gzip 521 B 517 B N/A
Overall change 0 B 0 B
Edge SSR bundle Size Overall increase ⚠️
vercel/next.js canary vercel/next.js pran/fix-overflow-styling-on-errors Change
edge-ssr.js gzip 133 kB 133 kB N/A
page.js gzip 216 kB 219 kB ⚠️ +3.1 kB
Overall change 216 kB 219 kB ⚠️ +3.1 kB
Middleware size
vercel/next.js canary vercel/next.js pran/fix-overflow-styling-on-errors Change
middleware-b..fest.js gzip 675 B 674 B N/A
middleware-r..fest.js gzip 156 B 156 B
middleware.js gzip 31.6 kB 31.6 kB N/A
edge-runtime..pack.js gzip 844 B 844 B
Overall change 1 kB 1 kB
Next Runtimes
vercel/next.js canary vercel/next.js pran/fix-overflow-styling-on-errors Change
app-page-exp...dev.js gzip 389 kB 376 kB N/A
app-page-exp..prod.js gzip 140 kB 133 kB N/A
app-page-tur..prod.js gzip 153 kB 146 kB N/A
app-page-tur..prod.js gzip 149 kB 142 kB N/A
app-page.run...dev.js gzip 377 kB 365 kB N/A
app-page.run..prod.js gzip 137 kB 130 kB N/A
app-route-ex...dev.js gzip 39.6 kB 39.5 kB N/A
app-route-ex..prod.js gzip 25.8 kB 25.7 kB N/A
app-route-tu..prod.js gzip 25.8 kB 25.7 kB N/A
app-route-tu..prod.js gzip 25.6 kB 25.5 kB N/A
app-route.ru...dev.js gzip 39.2 kB 39.1 kB N/A
app-route.ru..prod.js gzip 25.5 kB 25.5 kB N/A
dist_client_...dev.js gzip 356 B 356 B
dist_client_...dev.js gzip 349 B 349 B
pages-api-tu..prod.js gzip 9.76 kB 9.74 kB N/A
pages-api.ru...dev.js gzip 11.9 kB 11.8 kB N/A
pages-api.ru..prod.js gzip 9.75 kB 9.74 kB N/A
pages-turbo...prod.js gzip 22.1 kB 22 kB N/A
pages.runtim...dev.js gzip 31.7 kB 31.6 kB N/A
pages.runtim..prod.js gzip 22.1 kB 22 kB N/A
server.runti..prod.js gzip 61.6 kB 61.4 kB N/A
Overall change 705 B 705 B
build cache Overall increase ⚠️
vercel/next.js canary vercel/next.js pran/fix-overflow-styling-on-errors Change
0.pack gzip 2.14 MB 2.13 MB N/A
index.pack gzip 76.5 kB 76.7 kB ⚠️ +208 B
Overall change 76.5 kB 76.7 kB ⚠️ +208 B
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 amp-HASH.js
@@ -1,17 +1,17 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [5034],
   {
-    /***/ 5061: /***/ (
+    /***/ 3963: /***/ (
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      module.exports = __webpack_require__(8457);
+      module.exports = __webpack_require__(9636);
 
       /***/
     },
 
-    /***/ 5086: /***/ (
+    /***/ 7931: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -19,7 +19,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/amp",
         function () {
-          return __webpack_require__(8661);
+          return __webpack_require__(8058);
         },
       ]);
       if (false) {
@@ -28,7 +28,38 @@
       /***/
     },
 
-    /***/ 8457: /***/ (module, exports, __webpack_require__) => {
+    /***/ 8058: /***/ (
+      __unused_webpack_module,
+      __webpack_exports__,
+      __webpack_require__
+    ) => {
+      "use strict";
+      __webpack_require__.r(__webpack_exports__);
+      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
+        /* harmony export */ config: () => /* binding */ config,
+        /* harmony export */ default: () => /* binding */ Amp,
+        /* harmony export */
+      });
+      /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0__ =
+        __webpack_require__(3963);
+      /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0___default =
+        /*#__PURE__*/ __webpack_require__.n(
+          next_amp__WEBPACK_IMPORTED_MODULE_0__
+        );
+
+      const config = {
+        amp: "hybrid",
+      };
+      function Amp(props) {
+        return (0, next_amp__WEBPACK_IMPORTED_MODULE_0__.useAmp)()
+          ? "AMP mode"
+          : "normal mode";
+      }
+
+      /***/
+    },
+
+    /***/ 9636: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -44,8 +75,8 @@
       const _react = /*#__PURE__*/ _interop_require_default._(
         __webpack_require__(4109)
       );
-      const _ampcontextsharedruntime = __webpack_require__(799);
-      const _ampmode = __webpack_require__(2023);
+      const _ampcontextsharedruntime = __webpack_require__(7460);
+      const _ampmode = __webpack_require__(6764);
       function useAmp() {
         // Don't assign the context value to a variable to save bytes
         return (0, _ampmode.isInAmpMode)(
@@ -66,44 +97,13 @@
 
       /***/
     },
-
-    /***/ 8661: /***/ (
-      __unused_webpack_module,
-      __webpack_exports__,
-      __webpack_require__
-    ) => {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ config: () => /* binding */ config,
-        /* harmony export */ default: () => /* binding */ Amp,
-        /* harmony export */
-      });
-      /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0__ =
-        __webpack_require__(5061);
-      /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0___default =
-        /*#__PURE__*/ __webpack_require__.n(
-          next_amp__WEBPACK_IMPORTED_MODULE_0__
-        );
-
-      const config = {
-        amp: "hybrid",
-      };
-      function Amp(props) {
-        return (0, next_amp__WEBPACK_IMPORTED_MODULE_0__.useAmp)()
-          ? "AMP mode"
-          : "normal mode";
-      }
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(5086)
+      __webpack_exec__(7931)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for css-HASH.js
@@ -1,7 +1,31 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [9813],
   {
-    /***/ 1368: /***/ (
+    /***/ 408: /***/ (module) => {
+      // extracted by mini-css-extract-plugin
+      module.exports = { helloWorld: "css_helloWorld__aUdUq" };
+
+      /***/
+    },
+
+    /***/ 1313: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/css",
+        function () {
+          return __webpack_require__(9559);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 9559: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -15,7 +39,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(8017);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(7165);
+        __webpack_require__(408);
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           _css_module_css__WEBPACK_IMPORTED_MODULE_1__
@@ -34,37 +58,13 @@
 
       /***/
     },
-
-    /***/ 1487: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/css",
-        function () {
-          return __webpack_require__(1368);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 7165: /***/ (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__(1487)
+      __webpack_exec__(1313)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,24 +1,207 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [2291],
   {
-    /***/ 71: /***/ (
+    /***/ 2253: /***/ (
       __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__(8017);
+      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
+        __webpack_require__(3760);
+      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
+        /*#__PURE__*/ __webpack_require__.n(
+          next_dynamic__WEBPACK_IMPORTED_MODULE_1__
+        );
+
+      const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
+        () =>
+          __webpack_require__
+            .e(/* import() */ 5758)
+            .then(__webpack_require__.bind(__webpack_require__, 5758))
+            .then((mod) => mod.Hello),
+        {
+          loadableGenerated: {
+            webpack: () => [/*require.resolve*/ 5758],
+          },
+        }
+      );
+      const Page = () =>
+        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
+          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
+          {
+            children: [
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
+                children: "testing next/dynamic size",
+              }),
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+                DynamicHello,
+                {}
+              ),
+            ],
+          }
+        );
+      var __N_SSP = true;
+      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
+
+      /***/
+    },
+
+    /***/ 3760: /***/ (
+      module,
       __unused_webpack_exports,
       __webpack_require__
     ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/dynamic",
-        function () {
-          return __webpack_require__(8546);
+      module.exports = __webpack_require__(6455);
+
+      /***/
+    },
+
+    /***/ 6455: /***/ (module, exports, __webpack_require__) => {
+      "use strict";
+
+      Object.defineProperty(exports, "__esModule", {
+        value: true,
+      });
+      0 && 0;
+      function _export(target, all) {
+        for (var name in all)
+          Object.defineProperty(target, name, {
+            enumerable: true,
+            get: all[name],
+          });
+      }
+      _export(exports, {
+        /**
+         * This function lets you dynamically import a component.
+         * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.
+         *
+         * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)
+         */ default: function () {
+          return dynamic;
         },
-      ]);
-      if (false) {
+        noSSR: function () {
+          return noSSR;
+        },
+      });
+      const _interop_require_default = __webpack_require__(1532);
+      const _jsxruntime = __webpack_require__(8017);
+      const _react = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(4109)
+      );
+      const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
+        __webpack_require__(9896)
+      );
+      const isServerSide = "object" === "undefined";
+      // Normalize loader to return the module as form { default: Component } for `React.lazy`.
+      // Also for backward compatible since next/dynamic allows to resolve a component directly with loader
+      // Client component reference proxy need to be converted to a module.
+      function convertModule(mod) {
+        return {
+          default: (mod == null ? void 0 : mod.default) || mod,
+        };
+      }
+      function noSSR(LoadableInitializer, loadableOptions) {
+        // Removing webpack and modules means react-loadable won't try preloading
+        delete loadableOptions.webpack;
+        delete loadableOptions.modules;
+        // This check is necessary to prevent react-loadable from initializing on the server
+        if (!isServerSide) {
+          return LoadableInitializer(loadableOptions);
+        }
+        const Loading = loadableOptions.loading;
+        // This will only be rendered on the server side
+        return () =>
+          /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {
+            error: null,
+            isLoading: true,
+            pastDelay: false,
+            timedOut: false,
+          });
+      }
+      function dynamic(dynamicOptions, options) {
+        let loadableFn = _loadablesharedruntime.default;
+        let loadableOptions = {
+          // A loading component is not required, so we default it
+          loading: (param) => {
+            let { error, isLoading, pastDelay } = param;
+            if (!pastDelay) return null;
+            if (false) {
+            }
+            return null;
+          },
+        };
+        // Support for direct import(), eg: dynamic(import('../hello-world'))
+        // Note that this is only kept for the edge case where someone is passing in a promise as first argument
+        // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))
+        // To make sure we don't execute the import without rendering first
+        if (dynamicOptions instanceof Promise) {
+          loadableOptions.loader = () => dynamicOptions;
+          // Support for having import as a function, eg: dynamic(() => import('../hello-world'))
+        } else if (typeof dynamicOptions === "function") {
+          loadableOptions.loader = dynamicOptions;
+          // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})
+        } else if (typeof dynamicOptions === "object") {
+          loadableOptions = {
+            ...loadableOptions,
+            ...dynamicOptions,
+          };
+        }
+        // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})
+        loadableOptions = {
+          ...loadableOptions,
+          ...options,
+        };
+        const loaderFn = loadableOptions.loader;
+        const loader = () =>
+          loaderFn != null
+            ? loaderFn().then(convertModule)
+            : Promise.resolve(convertModule(() => null));
+        // coming from build/babel/plugins/react-loadable-plugin.js
+        if (loadableOptions.loadableGenerated) {
+          loadableOptions = {
+            ...loadableOptions,
+            ...loadableOptions.loadableGenerated,
+          };
+          delete loadableOptions.loadableGenerated;
+        }
+        // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).
+        if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {
+          delete loadableOptions.webpack;
+          delete loadableOptions.modules;
+          return noSSR(loadableFn, loadableOptions);
+        }
+        return loadableFn({
+          ...loadableOptions,
+          loader: loader,
+        });
       }
+      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=dynamic.js.map
 
       /***/
     },
 
-    /***/ 6251: /***/ (
+    /***/ 7814: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -45,7 +228,24 @@
       /***/
     },
 
-    /***/ 6609: /***/ (
+    /***/ 8449: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/dynamic",
+        function () {
+          return __webpack_require__(2253);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 9896: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -87,7 +287,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
       const _react = /*#__PURE__*/ _interop_require_default._(
         __webpack_require__(4109)
       );
-      const _loadablecontextsharedruntime = __webpack_require__(6251);
+      const _loadablecontextsharedruntime = __webpack_require__(7814);
       function resolve(obj) {
         return obj && obj.default ? obj.default : obj;
       }
@@ -321,213 +521,13 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
 
       /***/
     },
-
-    /***/ 7270: /***/ (module, exports, __webpack_require__) => {
-      "use strict";
-
-      Object.defineProperty(exports, "__esModule", {
-        value: true,
-      });
-      0 && 0;
-      function _export(target, all) {
-        for (var name in all)
-          Object.defineProperty(target, name, {
-            enumerable: true,
-            get: all[name],
-          });
-      }
-      _export(exports, {
-        /**
-         * This function lets you dynamically import a component.
-         * It uses [React.lazy()](https://react.dev/reference/react/lazy) with [Suspense](https://react.dev/reference/react/Suspense) under the hood.
-         *
-         * Read more: [Next.js Docs: `next/dynamic`](https://nextjs.org/docs/app/building-your-application/optimizing/lazy-loading#nextdynamic)
-         */ default: function () {
-          return dynamic;
-        },
-        noSSR: function () {
-          return noSSR;
-        },
-      });
-      const _interop_require_default = __webpack_require__(1532);
-      const _jsxruntime = __webpack_require__(8017);
-      const _react = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(4109)
-      );
-      const _loadablesharedruntime = /*#__PURE__*/ _interop_require_default._(
-        __webpack_require__(6609)
-      );
-      const isServerSide = "object" === "undefined";
-      // Normalize loader to return the module as form { default: Component } for `React.lazy`.
-      // Also for backward compatible since next/dynamic allows to resolve a component directly with loader
-      // Client component reference proxy need to be converted to a module.
-      function convertModule(mod) {
-        return {
-          default: (mod == null ? void 0 : mod.default) || mod,
-        };
-      }
-      function noSSR(LoadableInitializer, loadableOptions) {
-        // Removing webpack and modules means react-loadable won't try preloading
-        delete loadableOptions.webpack;
-        delete loadableOptions.modules;
-        // This check is necessary to prevent react-loadable from initializing on the server
-        if (!isServerSide) {
-          return LoadableInitializer(loadableOptions);
-        }
-        const Loading = loadableOptions.loading;
-        // This will only be rendered on the server side
-        return () =>
-          /*#__PURE__*/ (0, _jsxruntime.jsx)(Loading, {
-            error: null,
-            isLoading: true,
-            pastDelay: false,
-            timedOut: false,
-          });
-      }
-      function dynamic(dynamicOptions, options) {
-        let loadableFn = _loadablesharedruntime.default;
-        let loadableOptions = {
-          // A loading component is not required, so we default it
-          loading: (param) => {
-            let { error, isLoading, pastDelay } = param;
-            if (!pastDelay) return null;
-            if (false) {
-            }
-            return null;
-          },
-        };
-        // Support for direct import(), eg: dynamic(import('../hello-world'))
-        // Note that this is only kept for the edge case where someone is passing in a promise as first argument
-        // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))
-        // To make sure we don't execute the import without rendering first
-        if (dynamicOptions instanceof Promise) {
-          loadableOptions.loader = () => dynamicOptions;
-          // Support for having import as a function, eg: dynamic(() => import('../hello-world'))
-        } else if (typeof dynamicOptions === "function") {
-          loadableOptions.loader = dynamicOptions;
-          // Support for having first argument being options, eg: dynamic({loader: import('../hello-world')})
-        } else if (typeof dynamicOptions === "object") {
-          loadableOptions = {
-            ...loadableOptions,
-            ...dynamicOptions,
-          };
-        }
-        // Support for passing options, eg: dynamic(import('../hello-world'), {loading: () => <p>Loading something</p>})
-        loadableOptions = {
-          ...loadableOptions,
-          ...options,
-        };
-        const loaderFn = loadableOptions.loader;
-        const loader = () =>
-          loaderFn != null
-            ? loaderFn().then(convertModule)
-            : Promise.resolve(convertModule(() => null));
-        // coming from build/babel/plugins/react-loadable-plugin.js
-        if (loadableOptions.loadableGenerated) {
-          loadableOptions = {
-            ...loadableOptions,
-            ...loadableOptions.loadableGenerated,
-          };
-          delete loadableOptions.loadableGenerated;
-        }
-        // support for disabling server side rendering, eg: dynamic(() => import('../hello-world'), {ssr: false}).
-        if (typeof loadableOptions.ssr === "boolean" && !loadableOptions.ssr) {
-          delete loadableOptions.webpack;
-          delete loadableOptions.modules;
-          return noSSR(loadableFn, loadableOptions);
-        }
-        return loadableFn({
-          ...loadableOptions,
-          loader: loader,
-        });
-      }
-      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=dynamic.js.map
-
-      /***/
-    },
-
-    /***/ 8546: /***/ (
-      __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__(8017);
-      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(9330);
-      /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default =
-        /*#__PURE__*/ __webpack_require__.n(
-          next_dynamic__WEBPACK_IMPORTED_MODULE_1__
-        );
-
-      const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
-        () =>
-          __webpack_require__
-            .e(/* import() */ 6867)
-            .then(__webpack_require__.bind(__webpack_require__, 6867))
-            .then((mod) => mod.Hello),
-        {
-          loadableGenerated: {
-            webpack: () => [/*require.resolve*/ 6867],
-          },
-        }
-      );
-      const Page = () =>
-        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
-          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
-          {
-            children: [
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
-                children: "testing next/dynamic size",
-              }),
-              /*#__PURE__*/ (0,
-              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
-                DynamicHello,
-                {}
-              ),
-            ],
-          }
-        );
-      var __N_SSP = true;
-      /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = Page;
-
-      /***/
-    },
-
-    /***/ 9330: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(7270);
-
-      /***/
-    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(71)
+      __webpack_exec__(8449)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,17 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [5350],
   {
-    /***/ 4891: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(6191);
-
-      /***/
-    },
-
-    /***/ 6889: /***/ (
+    /***/ 803: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -19,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/head",
         function () {
-          return __webpack_require__(9659);
+          return __webpack_require__(7122);
         },
       ]);
       if (false) {
@@ -28,7 +18,7 @@
       /***/
     },
 
-    /***/ 9659: /***/ (
+    /***/ 7122: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -43,7 +33,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(8017);
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(4891);
+        __webpack_require__(9557);
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_head__WEBPACK_IMPORTED_MODULE_1__
@@ -76,13 +66,23 @@
 
       /***/
     },
+
+    /***/ 9557: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(8040);
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(6889)
+      __webpack_exec__(803)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js

Diff too large to display

Diff for index-HASH.js
@@ -1,24 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [3332],
   {
-    /***/ 3767: /***/ (
-      __unused_webpack_module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/",
-        function () {
-          return __webpack_require__(6587);
-        },
-      ]);
-      if (false) {
-      }
-
-      /***/
-    },
-
-    /***/ 6587: /***/ (
+    /***/ 3332: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -36,13 +19,30 @@
 
       /***/
     },
+
+    /***/ 3985: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/",
+        function () {
+          return __webpack_require__(3332);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(3767)
+      __webpack_exec__(3985)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,25 +1,84 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [4672],
   {
-    /***/ 1225: /***/ (module, exports, __webpack_require__) => {
+    /***/ 1547: /***/ (
+      __unused_webpack_module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      (window.__NEXT_P = window.__NEXT_P || []).push([
+        "/link",
+        function () {
+          return __webpack_require__(5944);
+        },
+      ]);
+      if (false) {
+      }
+
+      /***/
+    },
+
+    /***/ 3942: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
         value: true,
       });
-      Object.defineProperty(exports, "getDomainLocale", {
+      Object.defineProperty(exports, "useMergedRef", {
         enumerable: true,
         get: function () {
-          return getDomainLocale;
+          return useMergedRef;
         },
       });
-      const _normalizetrailingslash = __webpack_require__(7981);
-      const basePath =
-        /* unused pure expression or super */ null && (false || "");
-      function getDomainLocale(path, locale, locales, domainLocales) {
-        if (false) {
+      const _react = __webpack_require__(4109);
+      function useMergedRef(refA, refB) {
+        const cleanupA = (0, _react.useRef)(null);
+        const cleanupB = (0, _react.useRef)(null);
+        // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
+        // (this happens often if the user doesn't pass a ref to Link/Form/Image)
+        // But this can cause us to leak a cleanup-ref into user code (e.g. via `<Link legacyBehavior>`),
+        // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
+        // (because it hasn't been updated for React 19)
+        // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
+        // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
+        return (0, _react.useCallback)(
+          (current) => {
+            if (current === null) {
+              const cleanupFnA = cleanupA.current;
+              if (cleanupFnA) {
+                cleanupA.current = null;
+                cleanupFnA();
+              }
+              const cleanupFnB = cleanupB.current;
+              if (cleanupFnB) {
+                cleanupB.current = null;
+                cleanupFnB();
+              }
+            } else {
+              if (refA) {
+                cleanupA.current = applyRef(refA, current);
+              }
+              if (refB) {
+                cleanupB.current = applyRef(refB, current);
+              }
+            }
+          },
+          [refA, refB]
+        );
+      }
+      function applyRef(refA, current) {
+        if (typeof refA === "function") {
+          const cleanup = refA(current);
+          if (typeof cleanup === "function") {
+            return cleanup;
+          } else {
+            return () => refA(null);
+          }
         } else {
-          return false;
+          refA.current = current;
+          return () => {
+            refA.current = null;
+          };
         }
       }
       if (
@@ -32,58 +91,12 @@
         });
         Object.assign(exports.default, exports);
         module.exports = exports.default;
-      } //# sourceMappingURL=get-domain-locale.js.map
-
-      /***/
-    },
-
-    /***/ 1241: /***/ (
-      __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__(8017);
-      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(2665);
-      /* 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;
+      } //# sourceMappingURL=use-merged-ref.js.map
 
       /***/
     },
 
-    /***/ 1763: /***/ (module, exports, __webpack_require__) => {
+    /***/ 4144: /***/ (module, exports, __webpack_require__) => {
       "use strict";
       /* __next_internal_client_entry_do_not_use__  cjs */
       Object.defineProperty(exports, "__esModule", {
@@ -100,16 +113,16 @@
       const _react = /*#__PURE__*/ _interop_require_default._(
         __webpack_require__(4109)
       );
-      const _resolvehref = __webpack_require__(2513);
-      const _islocalurl = __webpack_require__(9021);
-      const _formaturl = __webpack_require__(8368);
-      const _utils = __webpack_require__(9338);
-      const _addlocale = __webpack_require__(7231);
-      const _routercontextsharedruntime = __webpack_require__(6460);
-      const _useintersection = __webpack_require__(5296);
-      const _getdomainlocale = __webpack_require__(1225);
-      const _addbasepath = __webpack_require__(6124);
-      const _usemergedref = __webpack_require__(3041);
+      const _resolvehref = __webpack_require__(3358);
+      const _islocalurl = __webpack_require__(2220);
+      const _formaturl = __webpack_require__(5653);
+      const _utils = __webpack_require__(3699);
+      const _addlocale = __webpack_require__(7980);
+      const _routercontextsharedruntime = __webpack_require__(3061);
+      const _useintersection = __webpack_require__(8835);
+      const _getdomainlocale = __webpack_require__(4552);
+      const _addbasepath = __webpack_require__(8353);
+      const _usemergedref = __webpack_require__(3942);
       const prefetched = new Set();
       function prefetch(router, href, as, options) {
         if (false) {
@@ -462,77 +475,25 @@
       /***/
     },
 
-    /***/ 2665: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(1763);
-
-      /***/
-    },
-
-    /***/ 3041: /***/ (module, exports, __webpack_require__) => {
+    /***/ 4552: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
         value: true,
       });
-      Object.defineProperty(exports, "useMergedRef", {
+      Object.defineProperty(exports, "getDomainLocale", {
         enumerable: true,
         get: function () {
-          return useMergedRef;
+          return getDomainLocale;
         },
       });
-      const _react = __webpack_require__(4109);
-      function useMergedRef(refA, refB) {
-        const cleanupA = (0, _react.useRef)(null);
-        const cleanupB = (0, _react.useRef)(null);
-        // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.
-        // (this happens often if the user doesn't pass a ref to Link/Form/Image)
-        // But this can cause us to leak a cleanup-ref into user code (e.g. via `<Link legacyBehavior>`),
-        // and the user might pass that ref into ref-merging library that doesn't support cleanup refs
-        // (because it hasn't been updated for React 19)
-        // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.
-        // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.
-        return (0, _react.useCallback)(
-          (current) => {
-            if (current === null) {
-              const cleanupFnA = cleanupA.current;
-              if (cleanupFnA) {
-                cleanupA.current = null;
-                cleanupFnA();
-              }
-              const cleanupFnB = cleanupB.current;
-              if (cleanupFnB) {
-                cleanupB.current = null;
-                cleanupFnB();
-              }
-            } else {
-              if (refA) {
-                cleanupA.current = applyRef(refA, current);
-              }
-              if (refB) {
-                cleanupB.current = applyRef(refB, current);
-              }
-            }
-          },
-          [refA, refB]
-        );
-      }
-      function applyRef(refA, current) {
-        if (typeof refA === "function") {
-          const cleanup = refA(current);
-          if (typeof cleanup === "function") {
-            return cleanup;
-          } else {
-            return () => refA(null);
-          }
+      const _normalizetrailingslash = __webpack_require__(7758);
+      const basePath =
+        /* unused pure expression or super */ null && (false || "");
+      function getDomainLocale(path, locale, locales, domainLocales) {
+        if (false) {
         } else {
-          refA.current = current;
-          return () => {
-            refA.current = null;
-          };
+          return false;
         }
       }
       if (
@@ -545,29 +506,58 @@
         });
         Object.assign(exports.default, exports);
         module.exports = exports.default;
-      } //# sourceMappingURL=use-merged-ref.js.map
+      } //# sourceMappingURL=get-domain-locale.js.map
 
       /***/
     },
 
-    /***/ 5025: /***/ (
+    /***/ 5944: /***/ (
       __unused_webpack_module,
-      __unused_webpack_exports,
+      __webpack_exports__,
       __webpack_require__
     ) => {
-      (window.__NEXT_P = window.__NEXT_P || []).push([
-        "/link",
-        function () {
-          return __webpack_require__(1241);
-        },
-      ]);
-      if (false) {
+      "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__(8017);
+      /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ =
+        __webpack_require__(9835);
+      /* 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;
 
       /***/
     },
 
-    /***/ 5296: /***/ (module, exports, __webpack_require__) => {
+    /***/ 8835: /***/ (module, exports, __webpack_require__) => {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -580,7 +570,7 @@
         },
       });
       const _react = __webpack_require__(4109);
-      const _requestidlecallback = __webpack_require__(8015);
+      const _requestidlecallback = __webpack_require__(6190);
       const hasIntersectionObserver =
         typeof IntersectionObserver === "function";
       const observers = new Map();
@@ -692,13 +682,23 @@
 
       /***/
     },
+
+    /***/ 9835: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(4144);
+
+      /***/
+    },
   },
   /******/ (__webpack_require__) => {
     // webpackRuntimeModules
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(5025)
+      __webpack_exec__(1547)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,17 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [188],
   {
-    /***/ 760: /***/ (
-      module,
-      __unused_webpack_exports,
-      __webpack_require__
-    ) => {
-      module.exports = __webpack_require__(8326);
-
-      /***/
-    },
-
-    /***/ 2713: /***/ (
+    /***/ 179: /***/ (
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -19,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/routerDirect",
         function () {
-          return __webpack_require__(8217);
+          return __webpack_require__(4835);
         },
       ]);
       if (false) {
@@ -28,7 +18,17 @@
       /***/
     },
 
-    /***/ 8217: /***/ (
+    /***/ 3022: /***/ (
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) => {
+      module.exports = __webpack_require__(1177);
+
+      /***/
+    },
+
+    /***/ 4835: /***/ (
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -43,7 +43,7 @@
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ =
         __webpack_require__(8017);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ =
-        __webpack_require__(760);
+        __webpack_require__(3022);
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default =
         /*#__PURE__*/ __webpack_require__.n(
           next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -68,7 +68,7 @@
     /******/ var __webpack_exec__ = (moduleId) =>
       __webpack_require__((__webpack_require__.s = moduleId));
     /******/ __webpack_require__.O(0, [636, 6593, 8792], () =>
-      __webpack_exec__(2713)
+      __webpack_exec__(179)
     );
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 8987-HASH.js
failed to diff
Diff for 9484-HASH.js

Diff too large to display

Diff for bccd1874-HASH.js
@@ -1,13 +1,13 @@
 "use strict";
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [7629],
+  [1758],
   {
-    /***/ 641: /***/ (
+    /***/ 8699: /***/ (
       __unused_webpack_module,
       exports,
       __webpack_require__
     ) => {
-      /* provided dependency */ var process = __webpack_require__(4024);
+      /* provided dependency */ var process = __webpack_require__(9829);
       /**
        * @license React
        * react-dom-client.production.js
@@ -22,9 +22,9 @@
  Modernizr 3.0.0pre (Custom Build) | MIT
 */
 
-      var Scheduler = __webpack_require__(2145),
-        React = __webpack_require__(1446),
-        ReactDOM = __webpack_require__(8307);
+      var Scheduler = __webpack_require__(462),
+        React = __webpack_require__(228),
+        ReactDOM = __webpack_require__(9221);
       function formatProdErrorMessage(code) {
         var url = "https://react.dev/errors/" + code;
         if (1 < arguments.length) {
@@ -4652,20 +4652,20 @@
                   idWithLeadingBit & ~(1 << (32 - clz32(idWithLeadingBit) - 1))
                 ).toString(32) + JSCompiler_inline_result;
               identifierPrefix =
-                "\u00ab" + identifierPrefix + "R" + JSCompiler_inline_result;
+                ":" + identifierPrefix + "R" + JSCompiler_inline_result;
               JSCompiler_inline_result = localIdCounter++;
               0 < JSCompiler_inline_result &&
                 (identifierPrefix +=
                   "H" + JSCompiler_inline_result.toString(32));
-              identifierPrefix += "\u00bb";
+              identifierPrefix += ":";
             } else
               (JSCompiler_inline_result = globalClientIdCounter++),
                 (identifierPrefix =
-                  "\u00ab" +
+                  ":" +
                   identifierPrefix +
                   "r" +
                   JSCompiler_inline_result.toString(32) +
-                  "\u00bb");
+                  ":");
             return (hook.memoizedState = identifierPrefix);
           },
           useHostTransitionStatus: useHostTransitionStatus,
@@ -11962,7 +11962,7 @@
           0 !== (finishedWork.flags & 10256)
             ? (pendingEffectsStatus = 5)
             : ((pendingEffectsStatus = 0),
-              (pendingFinishedWork = pendingEffectsRoot = null),
+              (pendingEffectsRoot = null),
               releaseRootPooledCache(root, root.pendingLanes));
           var remainingLanes = root.pendingLanes;
           0 === remainingLanes &&
@@ -12013,49 +12013,6 @@
           flushSyncWorkAcrossRoots_impl(0, !1);
         }
       }
-      function flushGestureMutations() {
-        if (6 === pendingEffectsStatus) {
-          pendingEffectsStatus = 0;
-          var root = pendingEffectsRoot,
-            prevTransition = ReactSharedInternals.T;
-          ReactSharedInternals.T = null;
-          var previousPriority = ReactDOMSharedInternals.p;
-          ReactDOMSharedInternals.p = 2;
-          var prevExecutionContext = executionContext;
-          executionContext |= 4;
-          try {
-            var rootContainer = root.containerInfo,
-              documentElement =
-                9 === rootContainer.nodeType
-                  ? rootContainer.documentElement
-                  : rootContainer.ownerDocument.documentElement;
-            null !== documentElement &&
-              "" === documentElement.style.viewTransitionName &&
-              ((documentElement.style.viewTransitionName = "none"),
-              documentElement.animate(
-                { opacity: [0, 0], pointerEvents: ["none", "none"] },
-                {
-                  duration: 0,
-                  fill: "forwards",
-                  pseudoElement: "::view-transition-group(root)",
-                }
-              ),
-              documentElement.animate(
-                { width: [0, 0], height: [0, 0] },
-                {
-                  duration: 0,
-                  fill: "forwards",
-                  pseudoElement: "::view-transition",
-                }
-              ));
-          } finally {
-            (executionContext = prevExecutionContext),
-              (ReactDOMSharedInternals.p = previousPriority),
-              (ReactSharedInternals.T = prevTransition);
-          }
-          pendingEffectsStatus = 7;
-        }
-      }
       function releaseRootPooledCache(root, remainingLanes) {
         0 === (root.pooledCacheLanes &= remainingLanes) &&
           ((remainingLanes = root.pooledCache),
@@ -12063,35 +12020,6 @@
             ((root.pooledCache = null), releaseCache(remainingLanes)));
       }
       function flushPendingEffects(wasDelayedCommit) {
-        flushGestureMutations();
-        flushGestureMutations();
-        if (7 === pendingEffectsStatus) {
-          pendingEffectsStatus = 0;
-          var root = pendingEffectsRoot;
-          pendingFinishedWork = pendingEffectsRoot = null;
-          pendingEffectsLanes = 0;
-          var prevTransition = ReactSharedInternals.T;
-          ReactSharedInternals.T = null;
-          var previousPriority = ReactDOMSharedInternals.p;
-          ReactDOMSharedInternals.p = 2;
-          var prevExecutionContext = executionContext;
-          executionContext |= 4;
-          try {
-            var rootContainer = root.containerInfo,
-              documentElement =
-                9 === rootContainer.nodeType
-                  ? rootContainer.documentElement
-                  : rootContainer.ownerDocument.documentElement;
-            null !== documentElement &&
-              "none" === documentElement.style.viewTransitionName &&
-              (documentElement.style.viewTransitionName = "");
-          } finally {
-            (executionContext = prevExecutionContext),
-              (ReactDOMSharedInternals.p = previousPriority),
-              (ReactSharedInternals.T = prevTransition);
-          }
-          ensureRootIsScheduled(root);
-        }
         flushMutationEffects();
         flushLayoutEffects();
         flushSpawnedWork();
@@ -12113,7 +12041,7 @@
           var root$jscomp$0 = pendingEffectsRoot,
             lanes = pendingEffectsLanes;
           pendingEffectsStatus = 0;
-          pendingFinishedWork = pendingEffectsRoot = null;
+          pendingEffectsRoot = null;
           pendingEffectsLanes = 0;
           if (0 !== (executionContext & 6))
             throw Error(formatProdErrorMessage(331));
@@ -12596,20 +12524,20 @@
         }
       }
       for (
-        var i$jscomp$inline_1536 = 0;
-        i$jscomp$inline_1536 < simpleEventPluginEvents.length;
-        i$jscomp$inline_1536++
+        var i$jscomp$inline_1510 = 0;
+        i$jscomp$inline_1510 < simpleEventPluginEvents.length;
+        i$jscomp$inline_1510++
       ) {
-        var eventName$jscomp$inline_1537 =
-            simpleEventPluginEvents[i$jscomp$inline_1536],
-          domEventName$jscomp$inline_1538 =
-            eventName$jscomp$inline_1537.toLowerCase(),
-          capitalizedEvent$jscomp$inline_1539 =
-            eventName$jscomp$inline_1537[0].toUpperCase() +
-            eventName$jscomp$inline_1537.slice(1);
+        var eventName$jscomp$inline_1511 =
+            simpleEventPluginEvents[i$jscomp$inline_1510],
+          domEventName$jscomp$inline_1512 =
+            eventName$jscomp$inline_1511.toLowerCase(),
+          capitalizedEvent$jscomp$inline_1513 =
+            eventName$jscomp$inline_1511[0].toUpperCase() +
+            eventName$jscomp$inline_1511.slice(1);
         registerSimpleEvent(
-          domEventName$jscomp$inline_1538,
-          "on" + capitalizedEvent$jscomp$inline_1539
+          domEventName$jscomp$inline_1512,
+          "on" + capitalizedEvent$jscomp$inline_1513
         );
       }
       registerSimpleEvent(ANIMATION_END, "onAnimationEnd");
@@ -16331,16 +16259,16 @@
           0 === i && attemptExplicitHydrationTarget(target);
         }
       };
-      var isomorphicReactPackageVersion$jscomp$inline_1788 = React.version;
+      var isomorphicReactPackageVersion$jscomp$inline_1762 = React.version;
       if (
-        "19.1.0-canary-d55cc79b-20250228" !==
-        isomorphicReactPackageVersion$jscomp$inline_1788
+        "19.1.0-canary-22e39ea7-20250225" !==
+        isomorphicReactPackageVersion$jscomp$inline_1762
       )
         throw Error(
           formatProdErrorMessage(
             527,
-            isomorphicReactPackageVersion$jscomp$inline_1788,
-            "19.1.0-canary-d55cc79b-20250228"
+            isomorphicReactPackageVersion$jscomp$inline_1762,
+            "19.1.0-canary-22e39ea7-20250225"
           )
         );
       ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -16360,24 +16288,24 @@
           null === componentOrElement ? null : componentOrElement.stateNode;
         return componentOrElement;
       };
-      var internals$jscomp$inline_2280 = {
+      var internals$jscomp$inline_2243 = {
         bundleType: 0,
-        version: "19.1.0-canary-d55cc79b-20250228",
+        version: "19.1.0-canary-22e39ea7-20250225",
         rendererPackageName: "react-dom",
         currentDispatcherRef: ReactSharedInternals,
-        reconcilerVersion: "19.1.0-canary-d55cc79b-20250228",
+        reconcilerVersion: "19.1.0-canary-22e39ea7-20250225",
       };
       if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
-        var hook$jscomp$inline_2281 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
+        var hook$jscomp$inline_2244 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
         if (
-          !hook$jscomp$inline_2281.isDisabled &&
-          hook$jscomp$inline_2281.supportsFiber
+          !hook$jscomp$inline_2244.isDisabled &&
+          hook$jscomp$inline_2244.supportsFiber
         )
           try {
-            (rendererID = hook$jscomp$inline_2281.inject(
-              internals$jscomp$inline_2280
+            (rendererID = hook$jscomp$inline_2244.inject(
+              internals$jscomp$inline_2243
             )),
-              (injectedHook = hook$jscomp$inline_2281);
+              (injectedHook = hook$jscomp$inline_2244);
           } catch (err) {}
       }
       exports.createRoot = function (container, options) {
@@ -16473,7 +16401,7 @@
         listenToAllSupportedEvents(container);
         return new ReactDOMHydrationRoot(initialChildren);
       };
-      exports.version = "19.1.0-canary-d55cc79b-20250228";
+      exports.version = "19.1.0-canary-22e39ea7-20250225";
 
       /***/
     },
Diff for main-HASH.js

Diff too large to display

Diff for app-page-exp..ntime.dev.js
failed to diff
Diff for app-page-exp..time.prod.js

Diff too large to display

Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page-tur..time.prod.js

Diff too large to display

Diff for app-page.runtime.dev.js
failed to diff
Diff for app-page.runtime.prod.js

Diff too large to display

Diff for app-route-ex..ntime.dev.js

Diff too large to display

Diff for app-route-ex..time.prod.js

Diff too large to display

Diff for app-route-tu..time.prod.js

Diff too large to display

Diff for app-route-tu..time.prod.js

Diff too large to display

Diff for app-route.runtime.dev.js

Diff too large to display

Diff for app-route.ru..time.prod.js

Diff too large to display

Diff for pages-api-tu..time.prod.js

Diff too large to display

Diff for pages-api.runtime.dev.js

Diff too large to display

Diff for pages-api.ru..time.prod.js

Diff too large to display

Diff for pages-turbo...time.prod.js

Diff too large to display

Diff for pages.runtime.dev.js

Diff too large to display

Diff for pages.runtime.prod.js

Diff too large to display

Diff for server.runtime.prod.js

Diff too large to display

Commit: 03b7bbf

@ijjk
Copy link
Member

ijjk commented Mar 3, 2025

Failing test suites

Commit: 03b7bbf

__NEXT_EXPERIMENTAL_PPR=true pnpm test-dev test/development/acceptance-app/error-recovery.test.ts (PPR)

  • Error recovery app > syntax > runtime error
Expand output

● Error recovery app › syntax > runtime error

expect(received).toMatchInlineSnapshot(snapshot)

Snapshot name: `Error recovery app syntax > runtime error 1`

- Snapshot  - 1
+ Received  + 1

@@ -1,7 +1,7 @@
  {
-   "count": 1,
+   "count": 2,
    "description": "Error: no 1",
    "environmentLabel": null,
    "label": "Unhandled Runtime Error",
    "source": "index.js (5:9) @ eval
  > 5 |   throw Error('no ' + i)

  546 |
  547 |     await new Promise((resolve) => setTimeout(resolve, 1000))
> 548 |     await expect(browser).toDisplayCollapsedRedbox(`
      |                           ^
  549 |      {
  550 |        "count": 1,
  551 |        "description": "Error: no 1",

  at Object.toDisplayCollapsedRedbox (development/acceptance-app/error-recovery.test.ts:548:27)

Read more about building and testing Next.js in contributing.md.

@huozhi
Copy link
Member

huozhi commented Mar 3, 2025

The failing test is flaky, non-blocker for merging

@huozhi huozhi merged commit 15a0dee into canary Mar 3, 2025
149 of 155 checks passed
@huozhi huozhi deleted the pran/fix-overflow-styling-on-errors branch March 3, 2025 22:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI approved Approve running CI for fork type: next
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants