\r\n\u003C!-- ... -->\r\n\u003C/template>\r\n\r\n\u003Cscript lang=\"ts\" setup>\r\n\r\nconst page = ref\u003Cnumber>(1)\r\n\r\n// temporary name \"promise\" -- maybe this could replace the \"pending\" boolean in Nuxt 4?\r\nconst { data, promise } = useFetch('/api/my-items', {\r\n query: {\r\n page: page\r\n }\r\n})\r\n\r\nasync function handleFetchMore() {\r\n page.value += 1\r\n // would this work? or would nextTick() need to be awaited before it?\r\n await promise.value\r\n}\r\n\r\n// ...\r\n\r\n\u003C/script>\r\n```\r\n\n\n### Additional information\n\n- [X] Would you be willing to help implement this feature?\n- [ ] Could this feature be implemented as a module?\n\n### Final checks\n\n- [X] Read the [contribution guide](https://nuxt.com/docs/community/contribution).\n- [X] Check existing [discussions](https://github.com/nuxt/nuxt/discussions) and [issues](https://github.com/nuxt/nuxt/issues).",[1995,1998],{"name":1996,"color":1997},"enhancement","8DEF37",{"name":1999,"color":2000},"discussion","538de2",26678,"Return the current promise from `useFetch` in a computed ref","2024-06-30T11:04:44Z","https://github.com/nuxt/nuxt/issues/26678",0.6949752,{"description":2007,"labels":2008,"number":2012,"owner":1985,"repository":1985,"state":1987,"title":2013,"updated_at":2014,"url":2015,"score":2016},"### Environment\n\nfresh coesandbox; can't do npx nuxi there 🤷 \n\n### Reproduction\n\nhttps://codesandbox.io/p/devbox/usefetch-lazy-caches-unexpectedly-forked-kn625q\n\n### Describe the bug\n\nas expected:\r\nuseFetch with lazy: true does not block client-side rendering, allowing me to show a skeleton (`Loading` in the example)\r\n\r\nunexpected:\r\nwhen client-side navigating to users after the page has already loaded once, the data is already showing, although the fetch is still pending and the skeleton is shown\r\n\r\nsteps to reproduce:\r\n* click on \"Users\" link in /\r\n* click on \"Back\" in /users \r\n* (without refreshing!) click on \"Users\" again\r\n* see: `Loading` AND the previously fetched data shows\r\n\r\nWhy is that happening?\r\nIf this unexpected behaviour is intended, what is the intended way to prevent `data` from being set before the fetch is complete? (It feels wrong to workaround with a computed using `status` 🤷 )\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[2009],{"name":2010,"color":2011},"pending triage","E99695",26755,"useFetch lazy: true keeps result in cache when client side navigation – intended? How to prevent?","2024-06-30T11:04:33Z","https://github.com/nuxt/nuxt/issues/26755",0.69833153,{"description":2018,"labels":2019,"number":2021,"owner":1985,"repository":1985,"state":1987,"title":2022,"updated_at":2023,"url":2024,"score":2025},"### Describe the feature\n\n```ts\nconst id = ref()\nuseFetch('/api/test', {\n query: {\n id\n },\n ready: () => !!id.value\n})\n```\n\n```ts\ninterface Options {\n /** default `() => true` */\n ready: () => boolean\n // or\n // ready: MaybeRefOrGetter\u003Cboolean>\n}\n```\n\n Whenever the handler is executed, if ready is false, prevent the execution of handler.\n\n### Additional information\n\n- [x] Would you be willing to help implement this feature?\n- [ ] Could this feature be implemented as a module?\n\n### Final checks\n\n- [x] Read the [contribution guide](https://nuxt.com/docs/community/contribution).\n- [x] Check existing [discussions](https://github.com/nuxt/nuxt/discussions) and [issues](https://github.com/nuxt/nuxt/issues).",[2020],{"name":2010,"color":2011},29788,"`ready` option for `useFetch` to control requests","2024-11-05T06:26:41Z","https://github.com/nuxt/nuxt/issues/29788",0.69897866,{"description":2027,"labels":2028,"number":2032,"owner":1985,"repository":2033,"state":2034,"title":2035,"updated_at":2036,"url":2037,"score":2038},"I'm on v0.11.2 and it seems what `defineVitestConfig` wants and the type definition doesn't line up?\r\n\r\nIt wants an `InlineConfig` passed in directly in the typedef, but I'm having to do this:\r\n\r\n```js\r\nimport { defineVitestConfig } from \"nuxt-vitest/config\";\r\nimport type { InlineConfig } from \"vitest\";\r\n\r\nconst test: InlineConfig = {\r\n coverage: {\r\n all: true,\r\n branches: 87.5, // 7 / 8\r\n exclude: [\r\n \"node_modules\",\r\n \".nuxt\",\r\n \"app\",\r\n \"dist\",\r\n \"scripts\",\r\n \"*.config.ts\",\r\n \"**/types.ts\",\r\n \"**/*.tests.ts\",\r\n \"**/*.js\",\r\n \"**/*.mjs\",\r\n \"pages\",\r\n \"plugins\",\r\n \"app.vue\",\r\n ],\r\n },\r\n environment: \"happy-dom\",\r\n include: [\"**/*.tests.ts\"],\r\n};\r\n\r\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n// @ts-ignore\r\nexport default defineVitestConfig({ test });\r\n```",[2029],{"name":2030,"color":2031},"vitest-environment","b60205",611,"test-utils","closed","typecheck issues with defineVitestConfig?","2023-12-02T23:35:07Z","https://github.com/nuxt/test-utils/issues/611",0.4472077,{"description":2040,"labels":2041,"number":2048,"owner":1985,"repository":2049,"state":2034,"title":2050,"updated_at":2051,"url":2052,"score":2053},"### Environment\n\n------------------------------\n- Operating System: Linux\n- Node Version: v22.14.0\n- Nuxt Version: 3.16.0\n- CLI Version: 3.23.0\n- Nitro Version: 2.11.6\n- Package Manager: npm@10.9.2\n- Builder: -\n- User Config: app, compatibilityDate, sourcemap, devtools, nitro, experimental, runtimeConfig, routeRules, typescript, css, viewport, i18n, icon, hub, devServer, vite, $development, $production, auth, ui, vue, modules\n- Runtime Modules: @nuxtjs/i18n@9.3.1, @nuxt/ui@3.0.0, @pinia/nuxt@0.10.1, nuxt-viewport@2.2.0, @nuxthub/core@0.8.18, nuxt-auth-utils@0.5.16, @nuxt/eslint@1.2.0\n- Build Modules: -\n------------------------------\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.0.0\n\n### Reproduction\n\nInstall nuxt ui and i18n module (to switch to current loacale)\n\nin app.vue: \n```vue\ntemplate>\n \u003CUApp \n :toaster=\"{ position: $viewport.isLessThan('md') ? 'bottom-center' : 'top-center' }\"\n :locale=\"locales[locale as 'fr' | 'en']\" class=\"\"\n >\n \u003CNuxtLayout>\n \u003CNuxtPage />\n \u003C/NuxtLayout>\n \u003C/UApp>\n\u003C/template>\n\u003Cscript setup lang=\"ts\">\nimport { fr, en } from '@nuxt/ui/locale';\nconst locales = { fr, en };\nconst { t, locale } = useI18n();\n\u003C/script>\n```\nAnalyze your bundle:\n`npx nuxi analyze`\n\n### Description\n\nAs you can see, unused locales are still included in the bundle, while only Fr and En have been imported\n\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[2042,2045],{"name":2043,"color":2044},"bug","d73a4a",{"name":2046,"color":2047},"v3","49DCB8",3602,"ui","i18n, Unused locales are included in the bundle","2025-03-18T14:19:38Z","https://github.com/nuxt/ui/issues/3602",0.63310534,{"description":2055,"labels":2056,"number":2061,"owner":1985,"repository":1985,"state":2034,"title":2062,"updated_at":2063,"url":2064,"score":2065},"### Environment\n\n- Operating System: `Linux`\r\n- Node Version: `v16.17.1`\r\n- Nuxt Version: `3.2.2`\r\n- Nitro Version: `2.2.2`\r\n- Package Manager: `npm@8.15.0`\r\n- Builder: `vite`\r\n- User Config: `runtimeConfig`, `modules`, `css`, `app`, `experimental`, `imports`, `nitro`, `typescript`\r\n- Runtime Modules: `@pinia/nuxt@0.4.7`, `@nuxtjs/tailwindcss@6.4.1`\r\n- Build Modules: \n\n### Reproduction\n\n\r\n```\r\n// before refresh call asyncData a pending must be false\r\nconst { pending: isLoadingOne, refresh: fetchOne } = useFetch('https://jsonplaceholder.typicode.com/todos/1', { immediate: false });\r\n\r\n// before refresh call asyncData a pending must be false | perhaps a controversial case\r\nconst { pending: isLoadingTwo, refresh: fetchTwo } = await useFetch('https://jsonplaceholder.typicode.com/todos/2', { immediate: false });\r\n```\r\n\r\nSee full code: https://stackblitz.com/edit/nuxt-starter-9uxzmd?file=app.vue\n\n### Describe the bug\n\nUntil the request is forcibly invoked, it is assumed that the waiting status should be false.\n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[2057,2060],{"name":2058,"color":2059},"3.x","29bc7f",{"name":2010,"color":2011},19218,"`useFetch/useAsyncData`: BUG: when `immediate: false`, then `pending` is `true` before call `execute/refresh` (must to be false)","2023-12-20T16:49:10Z","https://github.com/nuxt/nuxt/issues/19218",0.6735959,{"description":2067,"labels":2068,"number":2071,"owner":1985,"repository":2072,"state":2034,"title":2073,"updated_at":2074,"url":2075,"score":2076},"\n",[2069],{"name":2043,"color":2070},"ff281a",522,"nuxt.com","Checkboxes broken on dark mode","2022-05-23T15:16:45Z","https://github.com/nuxt/nuxt.com/issues/522",0.68327653,{"description":2078,"labels":2079,"number":2071,"owner":1985,"repository":2033,"state":2034,"title":2084,"updated_at":2085,"url":2086,"score":2076},"Hey I was using `mockNuxtImport` to mock 2 different users from a nuxt composable in the same test file. It seems to use the last `mockNuxtImport` that is called in the file, not the one scoped to the test.\r\n\r\n```ts\r\nit('renders the users email', () => {\r\n\tmockNuxtImport('useSupabaseUser', () => {\r\n\t\treturn () => mockUser\r\n\t})\r\n\r\n\trender(User)\r\n\r\n\texpect(screen.getByText('jdoe@gmail.com')).toBeInTheDocument()\r\n})\r\n\r\nit('renders the Error when there is no user', () => {\r\n\tmockNuxtImport('useSupabaseUser', () => {\r\n\t\treturn () => {}\r\n\t})\r\n\r\n\trender(User)\r\n\r\n\texpect(screen.getByText('Error')).toBeInTheDocument()\r\n})\r\n```\r\n\r\nThe first test fails here as it thinks `useSupabaseUser` returns {}\r\n\r\nI did manage to get this working with a global variable:\r\n\r\n```ts\r\nlet mockUser = { id: 1, name: 'John Doe', email: 'jdoe@gmail.com' }\r\n\r\nmockNuxtImport('useSupabaseUser', () => {\r\n\treturn () => mockUser\r\n})\r\n\r\nit('renders the users email', () => {\r\n\trender(User)\r\n\r\n\texpect(screen.getByText('jdoe@gmail.com')).toBeInTheDocument()\r\n})\r\n\r\nit('renders the Error when there is no user', () => {\r\n\tmockUser = {}\r\n\r\n\trender(User)\r\n\r\n\texpect(screen.getByText('Error')).toBeInTheDocument()\r\n})\r\n```\r\n\r\nNot really sure if this is expected, it seems a little strange to me, so figured I post my findings.",[2080,2083],{"name":2081,"color":2082},"documentation","0075ca",{"name":2030,"color":2031},"Mocking multiple iterations of nuxt imports in the same test file","2024-01-24T12:25:29Z","https://github.com/nuxt/test-utils/issues/522",{"description":2088,"labels":2089,"number":2092,"owner":1985,"repository":2049,"state":2034,"title":2093,"updated_at":2094,"url":2095,"score":2096},"### Environment\n\nnuxt: 3.15.2\n\n### Is this bug related to Nuxt or Vue?\n\nNuxt\n\n### Version\n\nv3.0.0-alpha11\n\n### Reproduction\n\nself explanatory\n\n### Description\n\n\"Buttons do not have an accessible name\"\n\nComponent: USelect - Missing name/label for aria-label\n\n\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[2090,2091],{"name":2043,"color":2044},{"name":2046,"color":2047},3130,"Missing Aria-Label on USelect Component","2025-02-21T11:26:36Z","https://github.com/nuxt/ui/issues/3130",0.6887423,["Reactive",2098],{},["Set"],["ShallowReactive",2101],{"TRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"6K47DQ84VI9nsf49S37-TkeoOv0X8b962TqQcS7D99E":-1},"/nuxt/nuxt.com/611"]