to app.vue\n8. start the project via npm run dev\n9. open created localhost link in browser\n[Minimal reproduction link](https://stackblitz.com/edit/github-dksvnc-l71vra)\n\n### Describe the bug\n\nRunning in development mode (and shortly seems to be an issue for production build also) and opening app in browser leads to error in Vue Router. You can still get it work by redirecting to other path by clicking the link to another page, but the error will return after page refresh which is extremely uncomfartable for local work\n\nSetting ssr: false in nuxt.config.ts solves this issue, but we need ssr: true for the project\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n[Vue Router warn]: uncaught error during route navigation:\nCannot destructure property '__webpack_ids__' of 'data' as it is undefined.\n\n at installChunk (node_modules\\nuxt\\dist\\core\\runtime\\nitro\\renderer.js:525:1)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async Promise.all (index 0)\n at setup (node_modules\\nuxt\\dist\\core\\runtime\\nitro\\renderer.js:525:1)\n at applyPlugin (node_modules\\nuxt\\dist\\core\\runtime\\nitro\\renderer.js:525:1)\n at executePlugin (node_modules\\nuxt\\dist\\core\\runtime\\nitro\\renderer.js:525:1)\n at applyPlugins (node_modules\\nuxt\\dist\\core\\runtime\\nitro\\renderer.js:525:1)\n at createNuxtAppServer (node_modules\\nuxt\\dist\\core\\runtime\\nitro\\renderer.js:525:1)\n at async Object.renderToString (/D:/dev/text-nuxt/node_modules/vue-bundle-renderer/dist/runtime.mjs:173:19)\n```",[2918,2921,2924],{"name":2919,"color":2920},"bug","d73a4a",{"name":2922,"color":2923},"webpack","650C6F",{"name":2925,"color":2926},"❗ p4-important","D93F0B",30165,"[Vue Router warn]: uncaught error during route navigation when building with webpack","2024-12-17T06:37:23Z","https://github.com/nuxt/nuxt/issues/30165",0.6838511,{"description":2933,"labels":2934,"number":2942,"owner":2909,"repository":2943,"state":2910,"title":2944,"updated_at":2945,"url":2946,"score":2947},"### Environment\n\n- Operating System: Linux\n- Node Version: v20.12.0\n- Nuxt Version: 3.17.3\n- CLI Version: 3.25.1\n- Nitro Version: 2.11.12\n- Package Manager: pnpm@8.15.6\n- Builder: -\n- User Config: modules, devtools, compatibilityDate, future, css\n- Runtime Modules: @nuxt/ui@3.1.1\n- Build Modules: -\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.1.3\n\n### Reproduction\n\nhttps://codesandbox.io/p/devbox/gallant-margulis-h6zfnn?file=%2Fapp%2Fpages%2Findex.vue%3A11%2C9&workspaceId=ws_F4rkTtdti87aBypib7R95k\n\n### Description\n\nI'm migrating from v2 to v3 and noticed my global Nuxt error handler no longer works when using v3 components. In the reproduction when I'm calling `throw createError()` on a Nuxt UI button the event doesn't propagate to my `error-handler.js` plugin, however it does when I call the same click handler on a regular `\u003Cbutton>` tag.\nWhen inspecting the console I can see the click handler attached to the Nuxt UI button throws `Uncaught (in promise) H3Error` whereas with a normal button it's not a promise.\nThis used to work just fine with v2 as per this reproduction: https://stackblitz.com/edit/nuxt-ui-ofbazd6t?file=app.vue,plugins%2Ferror-handler.js\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[2935,2936,2939],{"name":2919,"color":2920},{"name":2937,"color":2938},"v3","49DCB8",{"name":2940,"color":2941},"triage","ffffff",4237,"ui","throw createError handling in v3 components","2025-05-27T18:04:58Z","https://github.com/nuxt/ui/issues/4237",0.69154847,{"labels":2949,"number":2956,"owner":2909,"repository":2909,"state":2957,"title":2958,"updated_at":2959,"url":2960,"score":2961},[2950,2953],{"name":2951,"color":2952},"3.x","29bc7f",{"name":2954,"color":2955},"pending triage","E99695",13930,"closed","Unhandled error when navigating to a route that doesn't exist","2023-01-19T17:09:58Z","https://github.com/nuxt/nuxt/issues/13930",0.67529374,{"description":2963,"labels":2964,"number":2966,"owner":2909,"repository":2909,"state":2957,"title":2967,"updated_at":2968,"url":2969,"score":2970},"### Environment\n\nNuxt project info: \n\n------------------------------\n- Operating System: Linux\n- Node Version: v18.20.3\n- Nuxt Version: 3.15.2\n- CLI Version: 3.20.0\n- Nitro Version: 2.10.4\n- Package Manager: npm@10.2.3\n- Builder: -\n- User Config: compatibilityDate, app\n- Runtime Modules: -\n- Build Modules: -\n------------------------------\n\n### The bug\n\nWhen navigating away from a page that contains a `Teleport` component, the app's routing functionality breaks. \n\n#### Expected Behavior\nThe app should navigate to the new page seamlessly without any routing issues or errors.\n\n#### Actual Behavior\nRouting fails, and the following console warnings and errors are displayed:\n\n#### Vue Warn:\n\n\u003Cimg width=\"1599\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/03162428-f41a-4249-8271-c98cd490964e\" />\n\n#### Console error:\n\n\u003Cimg width=\"1603\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/ee11c947-e89b-4824-9e65-17ed92dd0316\" />\n\n### Reproduction Demo\n\n[Nuxt3 - Teleport Bug Demo (StackBlitz)](https://stackblitz.com/edit/nuxt-teleport-demo?file=package.json)\n\n### Here is a video of the issue being reproduced:\nhttps://github.com/user-attachments/assets/75725d9f-f4f1-4d9c-8c8c-53f6b4cfdb4b\n\n### Additional context\n\n#### Root cause\n\nWith research I have found out what is causing the bug:\n\n\u003Cimg width=\"524\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/3095510a-5d1a-443d-8f57-1a9653418d68\" />\n\n👉 **This issue only happens if we add `app.pageTransition` config.**\n\n\n#### Workaround\n\nA small workaround that I found is wrapping the `Teleport` component with `ClientOnly` – but I found that to be not ideal, as I would expect that this should also work for the ServerSide.\n\nDoes anyone know a solution for this?\n\n### Logs\n\n```shell-script\nruntime-core.esm-bun…er.js?v=b5c028d2:50 [Vue warn]: Unhandled error during execution of component update \n at \u003CRouterView name=undefined route=undefined > \n at \u003CNuxtPage > \n at \u003CDefault ref=Ref\u003C \nProxy(Object) {…}\n > > \n at \u003CAsyncComponentWrapper ref=Ref\u003C \nProxy(Object) {…}\n > > \n at \u003CLayoutLoader key=\"default\" layoutProps= \n{ref: RefImpl}\n name=\"default\" > \n at \u003CNuxtLayoutProvider layoutProps= \n{ref: RefImpl}\n key=\"default\" name=\"default\" ... > \n at \u003CNuxtLayout > \n at \u003CApp key=4 > \n at \u003CNuxtRoot>\nwarn$1\t@\truntime-core.esm-bun…er.js?v=b5c028d2:50\nlogError\t@\truntime-core.esm-bun…r.js?v=b5c028d2:261\nhandleError\t@\truntime-core.esm-bun…r.js?v=b5c028d2:253\ncallWithErrorHandling\t@\truntime-core.esm-bun…r.js?v=b5c028d2:199\nflushJobs\t@\truntime-core.esm-bun…r.js?v=b5c028d2:405\nPromise.then\t\t\nqueueFlush\t@\truntime-core.esm-bun…r.js?v=b5c028d2:319\nqueueJob\t@\truntime-core.esm-bun…r.js?v=b5c028d2:314\neffect2.scheduler\t@\truntime-core.esm-bun….js?v=b5c028d2:5472\ntrigger\t@\treactivity.esm-bundler.js?v=b5c028d2:226\nendBatch\t@\treactivity.esm-bundler.js?v=b5c028d2:284\nnotify\t@\treactivity.esm-bundler.js?v=b5c028d2:557\ntrigger\t@\treactivity.esm-bundler.js?v=b5c028d2:531\nset value\t@\treactivity.esm-bundl….js?v=b5c028d2:1403\nfinalizeNavigation\t@\tvue-router.mjs?v=b5c028d2:2499\n(anonymous)\t@\tvue-router.mjs?v=b5c028d2:2409\nPromise.then\t\t\npushWithRedirect\t@\tvue-router.mjs?v=b5c028d2:2377\npush\t@\tvue-router.mjs?v=b5c028d2:2303\nnavigate\t@\tvue-router.mjs?v=b5c028d2:1532\ncallWithErrorHandling\t@\truntime-core.esm-bun…r.js?v=b5c028d2:197\ncallWithAsyncErrorHandling\t@\truntime-core.esm-bun…r.js?v=b5c028d2:204\ninvoker\t@\truntime-dom.esm-bund…r.js?v=b5c028d2:720\n\n--------------------------------------------\n\nruntime-core.esm-bun….js?v=b5c028d2:5950 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'type')\n at unmountComponent (runtime-core.esm-bun…?v=b5c028d2:5950:18)\n at unmount (runtime-core.esm-bun…s?v=b5c028d2:5857:7)\n at patchSuspense (runtime-core.esm-bun…s?v=b5c028d2:6913:9)\n at Object.process (runtime-core.esm-bun…s?v=b5c028d2:6797:7)\n at patch (runtime-core.esm-bun…?v=b5c028d2:4747:16)\n at ReactiveEffect.componentUpdateFn [as fn] (runtime-core.esm-bun…s?v=b5c028d2:5430:9)\n at ReactiveEffect.run (reactivity.esm-bundl…s?v=b5c028d2:198:19)\n at updateComponent (runtime-core.esm-bun…?v=b5c028d2:5282:18)\n at processComponent (runtime-core.esm-bun…s?v=b5c028d2:5217:7)\n at patch (runtime-core.esm-bun…?v=b5c028d2:4722:11)\nunmountComponent\t@\truntime-core.esm-bun….js?v=b5c028d2:5950\nunmount\t@\truntime-core.esm-bun….js?v=b5c028d2:5857\npatchSuspense\t@\truntime-core.esm-bun….js?v=b5c028d2:6913\nprocess\t@\truntime-core.esm-bun….js?v=b5c028d2:6797\npatch\t@\truntime-core.esm-bun….js?v=b5c028d2:4747\ncomponentUpdateFn\t@\truntime-core.esm-bun….js?v=b5c028d2:5430\nrun\t@\treactivity.esm-bundler.js?v=b5c028d2:198\nupdateComponent\t@\truntime-core.esm-bun….js?v=b5c028d2:5282\nprocessComponent\t@\truntime-core.esm-bun….js?v=b5c028d2:5217\npatch\t@\truntime-core.esm-bun….js?v=b5c028d2:4722\ncomponentUpdateFn\t@\truntime-core.esm-bun….js?v=b5c028d2:5430\nrun\t@\treactivity.esm-bundler.js?v=b5c028d2:198\nupdateComponent\t@\truntime-core.esm-bun….js?v=b5c028d2:5282\nprocessComponent\t@\truntime-core.esm-bun….js?v=b5c028d2:5217\npatch\t@\truntime-core.esm-bun….js?v=b5c028d2:4722\ncomponentUpdateFn\t@\truntime-core.esm-bun….js?v=b5c028d2:5430\nrun\t@\treactivity.esm-bundler.js?v=b5c028d2:198\nrunIfDirty\t@\treactivity.esm-bundler.js?v=b5c028d2:236\ncallWithErrorHandling\t@\truntime-core.esm-bun…r.js?v=b5c028d2:197\nflushJobs\t@\truntime-core.esm-bun…r.js?v=b5c028d2:405\nPromise.then\t\t\nqueueFlush\t@\truntime-core.esm-bun…r.js?v=b5c028d2:319\nqueueJob\t@\truntime-core.esm-bun…r.js?v=b5c028d2:314\neffect2.scheduler\t@\truntime-core.esm-bun….js?v=b5c028d2:5472\ntrigger\t@\treactivity.esm-bundler.js?v=b5c028d2:226\nendBatch\t@\treactivity.esm-bundler.js?v=b5c028d2:284\nnotify\t@\treactivity.esm-bundler.js?v=b5c028d2:557\ntrigger\t@\treactivity.esm-bundler.js?v=b5c028d2:531\nset value\t@\treactivity.esm-bundl….js?v=b5c028d2:1403\nfinalizeNavigation\t@\tvue-router.mjs?v=b5c028d2:2499\n(anonymous)\t@\tvue-router.mjs?v=b5c028d2:2409\nPromise.then\t\t\npushWithRedirect\t@\tvue-router.mjs?v=b5c028d2:2377\npush\t@\tvue-router.mjs?v=b5c028d2:2303\nnavigate\t@\tvue-router.mjs?v=b5c028d2:1532\ncallWithErrorHandling\t@\truntime-core.esm-bun…r.js?v=b5c028d2:197\ncallWithAsyncErrorHandling\t@\truntime-core.esm-bun…r.js?v=b5c028d2:204\ninvoker\t@\truntime-dom.esm-bund…r.js?v=b5c028d2:720\n```",[2965],{"name":2954,"color":2955},30639,"App Routing breaks when navigating from a Page with Teleport","2025-02-03T11:19:24Z","https://github.com/nuxt/nuxt/issues/30639",0.679704,{"description":2972,"labels":2973,"number":2976,"owner":2909,"repository":2909,"state":2957,"title":2977,"updated_at":2978,"url":2979,"score":2980},"### Environment\n\n Operating System: Darwin\r\n- Node Version: v20.0.0\r\n- Nuxt Version: 3.7.4\r\n- CLI Version: 3.9.0\r\n- Nitro Version: 2.6.3\r\n- Package Manager: npm@9.6.4\r\n- Builder: -\r\n- User Config: devtools\r\n- Runtime Modules: -\r\n- Build Modules: -\n\n### Reproduction\n\nCheckout [the repo](https://github.com/Larsmyrup/nuxt-routing-error) or go to [this Stackblitz](https://stackblitz.com/github/Larsmyrup/nuxt-routing-error).\r\n\r\nFirst page has a NuxtLink with the text 'Link', it links to a page called \"routed\". Routed is an async component, resolving a promise after 10 seconds.\r\n\r\nIf you click the link once and wait 10 seconds, you get routed (as expected).\r\n\r\nHowever if you click it, and click it again before the 10 seconds, an error is thrown. After the 10 seconds has passed, another error gets thrown and the original page content gets unmounted.\n\n### Describe the bug\n\nDouble tapping a NuxtLink, linking to a page with an async component still resolving, breaks the page.\n\n### Additional context\n\nLet me know if there's anything i need to elaborate.\n\n### Logs\n\n```shell-script\nchunk-RAKT47ZN.js:2710 \u003CSuspense> is an experimental feature and its API will likely change.\r\nchunk-RAKT47ZN.js:1449 [Vue warn]: Unhandled error during execution of scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core \r\n at \u003CRouteProvider key=\"/routed\" vnode= {__v_isVNode: true, __v_skip: true, type: {…}, props: {…}, key: null, …} route= {fullPath: '/routed', hash: '', query: {…}, name: 'routed', path: '/routed', …} ... > \r\n at \u003CRouterView name=undefined route=undefined > \r\n at \u003CNuxtPage> \r\n at \u003CNuxtLayoutProvider layoutProps= {ref: RefImpl} key=\"default\" name=\"default\" ... > \r\n at \u003CNuxtLayout> \r\n at \u003CApp key=3 > \r\n at \u003CNuxtRoot>\r\nwarn2 @ chunk-RAKT47ZN.js:1449\r\nlogError @ chunk-RAKT47ZN.js:1623\r\nhandleError @ chunk-RAKT47ZN.js:1615\r\ncallWithErrorHandling @ chunk-RAKT47ZN.js:1567\r\nflushJobs @ chunk-RAKT47ZN.js:1763\r\nPromise.then (async)\r\nqueueFlush @ chunk-RAKT47ZN.js:1676\r\nqueueJob @ chunk-RAKT47ZN.js:1670\r\n(anonymous) @ chunk-RAKT47ZN.js:7208\r\ntriggerEffect @ chunk-RAKT47ZN.js:614\r\ntriggerEffects @ chunk-RAKT47ZN.js:604\r\ntriggerRefValue @ chunk-RAKT47ZN.js:1211\r\nset value @ chunk-RAKT47ZN.js:1255\r\nsyncCurrentRoute @ router.js?v=78c91318:68\r\n(anonymous) @ router.js?v=78c91318:73\r\n(anonymous) @ vue-router.js:2547\r\nrunWithContext @ chunk-RAKT47ZN.js:5256\r\nrunWithContext @ vue-router.js:2485\r\n(anonymous) @ vue-router.js:2547\r\ntriggerAfterEach @ vue-router.js:2547\r\n(anonymous) @ vue-router.js:2475\r\nPromise.then (async)\r\npushWithRedirect @ vue-router.js:2441\r\npush @ vue-router.js:2367\r\nnavigate @ vue-router.js:1621\r\ncallWithErrorHandling @ chunk-RAKT47ZN.js:1565\r\ncallWithAsyncErrorHandling @ chunk-RAKT47ZN.js:1573\r\ninvoker @ chunk-RAKT47ZN.js:9397\r\nchunk-RAKT47ZN.js:9157 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'parentNode')\r\n at parentNode (chunk-RAKT47ZN.js:9157:30)\r\n at ReactiveEffect.componentUpdateFn [as fn] (chunk-RAKT47ZN.js:7175:11)\r\n at ReactiveEffect.run (chunk-RAKT47ZN.js:423:19)\r\n at instance.update (chunk-RAKT47ZN.js:7212:52)\r\n at updateComponent (chunk-RAKT47ZN.js:7039:18)\r\n at processComponent (chunk-RAKT47ZN.js:6974:7)\r\n at patch (chunk-RAKT47ZN.js:6436:11)\r\n at patchSuspense (chunk-RAKT47ZN.js:2562:7)\r\n at Object.process (chunk-RAKT47ZN.js:2481:7)\r\n at patch (chunk-RAKT47ZN.js:6461:16)\r\nparentNode @ chunk-RAKT47ZN.js:9157\r\ncomponentUpdateFn @ chunk-RAKT47ZN.js:7175\r\nrun @ chunk-RAKT47ZN.js:423\r\ninstance.update @ chunk-RAKT47ZN.js:7212\r\nupdateComponent @ chunk-RAKT47ZN.js:7039\r\nprocessComponent @ chunk-RAKT47ZN.js:6974\r\npatch @ chunk-RAKT47ZN.js:6436\r\npatchSuspense @ chunk-RAKT47ZN.js:2562\r\nprocess @ chunk-RAKT47ZN.js:2481\r\npatch @ chunk-RAKT47ZN.js:6461\r\ncomponentUpdateFn @ chunk-RAKT47ZN.js:7171\r\nrun @ chunk-RAKT47ZN.js:423\r\ninstance.update @ chunk-RAKT47ZN.js:7212\r\ncallWithErrorHandling @ chunk-RAKT47ZN.js:1565\r\nflushJobs @ chunk-RAKT47ZN.js:1763\r\nPromise.then (async)\r\nqueueFlush @ chunk-RAKT47ZN.js:1676\r\nqueueJob @ chunk-RAKT47ZN.js:1670\r\n(anonymous) @ chunk-RAKT47ZN.js:7208\r\ntriggerEffect @ chunk-RAKT47ZN.js:614\r\ntriggerEffects @ chunk-RAKT47ZN.js:604\r\ntriggerRefValue @ chunk-RAKT47ZN.js:1211\r\nset value @ chunk-RAKT47ZN.js:1255\r\nsyncCurrentRoute @ router.js?v=78c91318:68\r\n(anonymous) @ router.js?v=78c91318:73\r\n(anonymous) @ vue-router.js:2547\r\nrunWithContext @ chunk-RAKT47ZN.js:5256\r\nrunWithContext @ vue-router.js:2485\r\n(anonymous) @ vue-router.js:2547\r\ntriggerAfterEach @ vue-router.js:2547\r\n(anonymous) @ vue-router.js:2475\r\nPromise.then (async)\r\npushWithRedirect @ vue-router.js:2441\r\npush @ vue-router.js:2367\r\nnavigate @ vue-router.js:1621\r\ncallWithErrorHandling @ chunk-RAKT47ZN.js:1565\r\ncallWithAsyncErrorHandling @ chunk-RAKT47ZN.js:1573\r\ninvoker @ chunk-RAKT47ZN.js:9397\r\nchunk-RAKT47ZN.js:7520 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'subTree')\r\n at move (chunk-RAKT47ZN.js:7520:28)\r\n at move (chunk-RAKT47ZN.js:7520:7)\r\n at Object.resolve (chunk-RAKT47ZN.js:2789:11)\r\n at chunk-RAKT47ZN.js:2912:20\r\nmove @ chunk-RAKT47ZN.js:7520\r\nmove @ chunk-RAKT47ZN.js:7520\r\nresolve @ chunk-RAKT47ZN.js:2789\r\n(anonymous) @ chunk-RAKT47ZN.js:2912\r\nPromise.then (async)\r\nregisterDep @ chunk-RAKT47ZN.js:2876\r\nmountComponent @ chunk-RAKT47ZN.js:7003\r\nprocessComponent @ chunk-RAKT47ZN.js:6963\r\npatch @ chunk-RAKT47ZN.js:6436\r\ncomponentUpdateFn @ chunk-RAKT47ZN.js:7106\r\nrun @ chunk-RAKT47ZN.js:423\r\ninstance.update @ chunk-RAKT47ZN.js:7212\r\nsetupRenderEffect @ chunk-RAKT47ZN.js:7220\r\nmountComponent @ chunk-RAKT47ZN.js:7010\r\nprocessComponent @ chunk-RAKT47ZN.js:6963\r\npatch @ chunk-RAKT47ZN.js:6436\r\npatchSuspense @ chunk-RAKT47ZN.js:2678\r\nprocess @ chunk-RAKT47ZN.js:2481\r\npatch @ chunk-RAKT47ZN.js:6461\r\ncomponentUpdateFn @ chunk-RAKT47ZN.js:7171\r\nrun @ chunk-RAKT47ZN.js:423\r\ninstance.update @ chunk-RAKT47ZN.js:7212\r\ncallWithErrorHandling @ chunk-RAKT47ZN.js:1565\r\nflushJobs @ chunk-RAKT47ZN.js:1763\r\nPromise.then (async)\r\nqueueFlush @ chunk-RAKT47ZN.js:1676\r\nqueueJob @ chunk-RAKT47ZN.js:1670\r\n(anonymous) @ chunk-RAKT47ZN.js:7208\r\ntriggerEffect @ chunk-RAKT47ZN.js:614\r\ntriggerEffects @ chunk-RAKT47ZN.js:604\r\ntriggerRefValue @ chunk-RAKT47ZN.js:1211\r\n(anonymous) @ chunk-RAKT47ZN.js:1371\r\ntriggerEffect @ chunk-RAKT47ZN.js:614\r\ntriggerEffects @ chunk-RAKT47ZN.js:599\r\ntriggerRefValue @ chunk-RAKT47ZN.js:1211\r\nset value @ chunk-RAKT47ZN.js:1255\r\nfinalizeNavigation @ vue-router.js:2563\r\n(anonymous) @ vue-router.js:2473\r\nPromise.then (async)\r\npushWithRedirect @ vue-router.js:2441\r\npush @ vue-router.js:2367\r\nnavigate @ vue-router.js:1621\r\ncallWithErrorHandling @ chunk-RAKT47ZN.js:1565\r\ncallWithAsyncErrorHandling @ chunk-RAKT47ZN.js:1573\r\ninvoker @ chunk-RAKT47ZN.js:9397\n```\n",[2974,2975],{"name":2951,"color":2952},{"name":2954,"color":2955},23636,"Getting an error if clicking NuxtLink routing to an async page twice","2023-10-12T11:09:37Z","https://github.com/nuxt/nuxt/issues/23636",0.680785,{"labels":2982,"number":2987,"owner":2909,"repository":2909,"state":2957,"title":2988,"updated_at":2989,"url":2990,"score":2991},[2983,2984],{"name":2954,"color":2955},{"name":2985,"color":2986},"2.x","d4c5f9",7798,"router guard error causes SSR request to never complete","2023-01-22T15:36:04Z","https://github.com/nuxt/nuxt/issues/7798",0.6811828,{"description":2993,"labels":2994,"number":2999,"owner":2909,"repository":2909,"state":2957,"title":3000,"updated_at":3001,"url":3002,"score":3003},"### Environment\r\n\r\n- Operating System: `Darwin`\r\n- Node Version: `v20.4.0`\r\n- Nuxt Version: `3.7.4`\r\n- CLI Version: `3.9.0`\r\n- Nitro Version: `2.6.3`\r\n- Package Manager: `npm@9.7.2`\r\n- Builder: `-`\r\n- User Config: `devtools`\r\n- Runtime Modules: `-`\r\n- Build Modules: `-`\r\n\r\n\r\n### Reproduction\r\n\r\nhttps://github.com/BigFipil/NuxtIssueDemo\r\n\r\n### Describe the bug\r\n\r\nThe problem that I encountered occurs when we have some nuxt page with defined middleware in it (like f.e. _document/123._). In case the server middleware throws an error the middleware defined for this page will still be triggered before the error page shows up. It can be potentially dangerous if f.e. some data are being fetched inside this middleware. In such situations, this behavior can lead to timeouts or unexpected problems.\r\n\r\nIn attached minimal reproduction project, the bug can be observed when accessing page under the _/asdfmovie4_ URL. Despite the fact that server returns an error for that url, in the browser console we can see the \"Hello there\" console log coming from an route middleware declared for slug page.\r\n\r\nThis problem can be easily overcome with the usage of `useError` composable, where the information about the current error is present. Wrapping the whole sensitive middleware part with a conditional statement would solve the problem. In my opinion however, this is a bug. It's not intuitive that with an error response from the server, page middlewares are fired anyway. The most natural flow in this case would be to jump to the error page directly. What do you think? 🤔 \r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Logs\r\n\r\n_No response_\r\n\u003Cimg width=\"585\" alt=\"image\" src=\"https://github.com/nuxt/nuxt/assets/54638282/6b48eb24-541d-4312-ac3f-a360803e4d7f\">\r\n",[2995,2996],{"name":2906,"color":2907},{"name":2997,"color":2998},"pages","00DFB5",23477,"Route middlewares are still being fired despite an error returned by the server","2025-03-24T14:19:57Z","https://github.com/nuxt/nuxt/issues/23477",0.6839955,{"description":3005,"labels":3006,"number":3016,"owner":2909,"repository":2909,"state":2957,"title":3017,"updated_at":3018,"url":3019,"score":3020},"### Environment\n\n- Operating System: `Windows_NT`\r\n- Node Version: `v18.12.1`\r\n- Nuxt Version: `3.0.0`\r\n- Nitro Version: `1.0.0`\r\n- Package Manager: `npm@8.18.0`\r\n- Builder: `vite`\r\n- User Config: `-`\r\n- Runtime Modules: `-`\r\n- Build Modules: `-`\r\n\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-vfkizu-uvbg8x\n\n### Describe the bug\n\nIf an error occurs in a page with top level await, then the page:finish hook is not triggered and thus the NuxtLoadingIndicator remains active.\r\n\r\nIn the example, this can be recreated by clicking on the About link.\r\n\r\nWould it make sense to provide a page:error hook in addition to page:finish?\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[3007,3008,3011,3012,3013],{"name":2903,"color":2904},{"name":3009,"color":3010},"good first issue","fbca04",{"name":2951,"color":2952},{"name":2919,"color":2920},{"name":3014,"color":3015},"🔨 p3-minor","FBCA04",15788,"NuxtLoadingIndicator remains active in case of navigation errors","2023-05-20T11:53:51Z","https://github.com/nuxt/nuxt/issues/15788",0.6858898,{"description":3022,"labels":3023,"number":3025,"owner":2909,"repository":2909,"state":2957,"title":3026,"updated_at":3027,"url":3028,"score":3029},"### Environment\n\n```\r\n- Operating System: Linux\r\n- Node Version: v18.19.1\r\n- Nuxt Version: 3.12.3\r\n- CLI Version: 3.12.0\r\n- Nitro Version: 2.9.7\r\n- Package Manager: bun@1.1.20\r\n- Builder: -\r\n- User Config: alias, app, components, css, devtools, hooks, i18n, imports, modules, pwa, runtimeConfig, shadcn, srcDir, ssr, supabase, tailwindcss, typescript, vite, vue, compatibilityDate\r\n- Runtime Modules: @pinia/nuxt@0.5.1, @vite-pwa/nuxt@0.9.1, @nuxtjs/i18n@8.3.1, @nuxtjs/supabase@1.2.2, @nuxtjs/tailwindcss@6.12.0, shadcn-nuxt@0.10.4\r\n- Build Modules: -\r\n```\n\n### Reproduction\n\nhttps://stackblitz.com/edit/github-pnptkr?file=app.vue\n\n### Describe the bug\n\nAfter upgrade to 3.12.3 navigation stops to work on pages that use navigation guards from Nuxt.\r\n\r\nBy default no return in `onBeforeRouteLeave` should work but after adding explicit `return true` below message is printed in the console. \r\n\r\n\r\nSo this makes it clear that as a workaround I need to add all parameters and call `next()` explicitly.\r\n\r\nI see in tsconfig that latest version has changed how `#vue-router` is imported:\r\n\r\n\r\nIt does not seem to be related from the issue perspective but maybe above finding might also help with solving other router issues, since warnings might not be shown in default usage:\r\nhttps://github.com/nuxt/nuxt/issues/28086\r\nhttps://github.com/nuxt/nuxt/issues/28122\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[3024],{"name":2954,"color":2955},28141,"Navigation guards like onBeforeRouteLeave might prevent all navigation after upgrade to 3.12.3","2024-07-13T17:01:34Z","https://github.com/nuxt/nuxt/issues/28141",0.6863354,["Reactive",3031],{},["Set"],["ShallowReactive",3034],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f7pWUePPW3Tpu-E1Be1UHzK2R1kH6hzPYjHGPvH88jl4":-1},"/nuxt/nuxt/32383"]