\n\nBrowser: `Google Chrome Version 134.0.6998.89 (Official Build) (arm64)`\n\nAlso reproduced on `Safari Version 18.3.1 (20620.2.4.11.6)`\n\n### Description\n\nUser may want to copy the text in the query input of a `select-menu` component by moving cursor around text, now it's unable to do it without a keyboard (`Shift + left/right arrow` or `Cmd/Ctrl + A` to select all).\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[2865,2868],{"name":2866,"color":2867},"bug","d73a4a",{"name":2869,"color":2870},"triage","ffffff",3583,"nuxt","ui","open","Accessibility: unable to select text in the query input of a select-menu","2025-03-17T00:34:07Z","https://github.com/nuxt/ui/issues/3583",0.7326665,{"description":2880,"labels":2881,"number":2888,"owner":2872,"repository":2873,"state":2874,"title":2889,"updated_at":2890,"url":2891,"score":2892},"### Description\n\nHello. How can i use provide in programmatically modal usage?",[2882,2885],{"name":2883,"color":2884},"question","d876e3",{"name":2886,"color":2887},"v3","49DCB8",2987,"Provide in modal programmatically usage","2024-12-31T05:16:08Z","https://github.com/nuxt/ui/issues/2987",0.7338734,{"description":2894,"labels":2895,"number":2899,"owner":2872,"repository":2900,"state":2901,"title":2902,"updated_at":2903,"url":2904,"score":2905},"### 🆒 Your use case\n\nDepending on the type of device or browser agent, some scripts are not needed and only affect the results, e.g. in pagespeed negatively.\r\n\r\nIn the example below, I created a code that loads analytical scripts only if the user agent is not a crawler. I used the `@nuxtjs/device` module for this\r\n\r\n```js\r\nconst { isCrawler } = useDevice()\r\n\r\nif (!isCrawler) {\r\n\tuseScriptXPixel({ id: 'xx' })\r\n\tuseScriptClarity({ id: 'xx' })\r\n\tuseScriptMetaPixel({ id: 'xx' })\r\n\tuseScriptGoogleAnalytics({ id: 'G-xx' })\r\n\tuseScriptCloudflareWebAnalytics({ token: 'xx' })\r\n\r\n\tuseScript('https://cdn.xx.net/storage/xx/client.js', {\r\n\t\tbundle: true,\r\n\t})\r\n}\r\n\r\n```\n\n### 🆕 The solution you'd like\n\nIt would be nice to have a direct option to load scripts depending on the device based on:\r\n\r\n```js\r\nuseScript('https://scripts.com/script.js', {\r\n\tdevice: 'desktop|mobile'\r\n})\r\n```\n\n### 🔍 Alternatives you've considered\n\n_No response_\n\n### ℹ️ Additional info\n\n_No response_",[2896],{"name":2897,"color":2898},"enhancement","a2eeef",194,"scripts","closed","Scripts loaded depending on \"device\"","2024-08-09T09:41:46Z","https://github.com/nuxt/scripts/issues/194",0.46161598,{"description":2907,"labels":2908,"number":2915,"owner":2872,"repository":2872,"state":2901,"title":2916,"updated_at":2917,"url":2918,"score":2919},"### Environment\n\nNuxi 3.0.0 \r\nNuxt project info: \r\n------------------------------\r\n- Operating System: `Linux`\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.19.2`\r\n- Builder: `vite`\r\n- User Config: `runtimeConfig`, `app`, `components`, `css`, `build`, `modules`, `apollo`, `postcss`, `vite`\r\n- Runtime Modules: `@nuxtjs/tailwindcss@6.1.3`, `@nuxtjs/apollo@5.0.0-alpha.4`\r\n- Build Modules: `-`\r\n------------------------------\n\n### Reproduction\n\n-\n\n### Describe the bug\n\nWhen using `meta` inside the `nuxt.config.ts` and using `\u003CMeta>` inside a page, both meta tags get rendered server side. This makes the google bot only read the first meta description inside the generated html. \r\n\r\nExample: \r\n`nuxt.config.ts`\r\n````ts\r\nexport default defineNuxtConfig({\r\n app: {\r\n head: {\r\n htmlAttrs: {\r\n lang: 'de',\r\n },\r\n title: 'default title',\r\n meta: [\r\n { charset: 'utf-8' },\r\n {\r\n name: 'viewport',\r\n content: 'width=device-width, initial-scale=1',\r\n },\r\n {\r\n name: 'description',\r\n content: 'default description',\r\n },\r\n ],\r\n },\r\n },\r\n});\r\n````\r\n`app.vue`\r\n\r\n````vue\r\n\u003Ctemplate>\r\n \u003CTitle>the REAL title\u003C/Title>\r\n \u003CMeta\r\n name=\"description\"\r\n content=\"the REAL description\" />\r\n \u003Cdiv>\u003Ch1>some content\u003C/h1>\u003C/div>\r\n\u003C/template>\r\n````\r\nWhen disabling JavaScript inside the browser, this is the result: \r\n\r\n\r\n\r\nAs we can see, the title gets changed correctly. But not the meta description. It gets douplicated. \r\n\r\nThe expected behaviour would be, that the custom meta description from the page should be rendered. \n\n### Additional context\n\n_No response_\n\n### Logs\n\n_No response_",[2909,2912],{"name":2910,"color":2911},"3.x","29bc7f",{"name":2913,"color":2914},"pending triage","E99695",19186,"Double meta description when using meta inside nuxt config and meta component inside page","2023-02-21T10:09:43Z","https://github.com/nuxt/nuxt/issues/19186",0.6589681,{"description":2921,"labels":2922,"number":2925,"owner":2872,"repository":2873,"state":2901,"title":2926,"updated_at":2927,"url":2928,"score":2929},"### Description\n\nJust tried to implement my first form that does some smaller frontend validation and sends the payload to an API that will escalate errors as well.\n\nGoing through all the use cases, some are rather hard and cumbersome to implement:\n\n- Field validation errors are fine\n- Form errors require a field to work, there is no way to define Form wide errors through `Form.setErrors()` nor do they bubble up to a general error display just where the `\u003CUForm />` is anchored if the key is unknown.\n- The missing error bubbeling makes it tricky to react to more common errors like rate limiting through 429 status code, where the server responds with additional headers and maybe a JSON with further information. This creates a hard coupling of the loose backend error message and a hard field within the current form to route the error to.\n\nAlso the submission event `FormSubmitEvent` could offer better developer experience by offering not only data, but the actual Form instance. Right now, to handle any errors by a backend, you need to go through the typical, type-messy approach of\n\n```ts\n\u003Ctemplate>\n \u003CUForm ref=\"form\" @submit=\"onSubmit\" />\n\u003C/template>\n\n\u003Cscript lang=\"ts\" setup>\ntype FormSchema = v.InferOutput\u003Ctypeof CreateSomethingForm>\n\nconst form = useTemplateRef\u003CForm\u003CFormSchema>>('form')\n\nasync function onSubmit(event: FormSubmitEvent\u003CFormSchema>) {\n\n form.value?.setErrors([\n {name: 'account', message: 'Not valid'}\n ])\n}\n\u003C/script>\n```\n\ninstead of a simpler boilerplate:\n\n```ts\n\u003Ctemplate>\n \u003CUForm @submit=\"onSubmit\" />\n\u003C/template>\n\n\u003Cscript lang=\"ts\" setup>\ntype FormSchema = v.InferOutput\u003Ctypeof CreateSomethingForm>\n\nasync function onSubmit(event: FormSubmitEvent\u003CformSchema>) {\n event.form.setErrors([\n {name: 'account', message: 'Not valid'}\n ])\n}\n\u003C/script>\n```\n\n\n\n\n### Additional context\n\n_No response_",[2923,2924],{"name":2897,"color":2898},{"name":2886,"color":2887},3471,"Form improvements","2025-03-12T08:31:46Z","https://github.com/nuxt/ui/issues/3471",0.69084173,{"description":2931,"labels":2932,"number":2938,"owner":2872,"repository":2872,"state":2901,"title":2939,"updated_at":2940,"url":2941,"score":2942},"I noticed that meta tags in a page component don't automatically overwrite (or, more specifically, replace) meta tags in the nuxt.config.js.\r\n\r\nFor example: ```nuxt.config.js```:\r\n\r\n```\r\n...head: {\r\n title: 'starter',\r\n meta: [\r\n { charset: 'utf-8' },\r\n { name: 'viewport', content: 'width=device-width, initial-scale=1' },\r\n { name: 'keywords', content: 'keyword 1, keyword 2'},\r\n {name: 'description', content: 'This is the generic description.'}\r\n\r\n ],\r\n },\r\n...\r\n```\r\n\r\nHowever, if I also have a ```description``` meta in my individual page:\r\n\r\n```\r\nexport default {\r\n head () {\r\n return {\r\n title: `Page 1 (${this.name}-side)`,\r\n meta: [\r\n { name: 'description', content: \"Page 1 description\" }\r\n ],\r\n }\r\n }\r\n}\r\n```\r\n\r\nI notice that two meta tags with description are generated. I assume this is by design. But is there a way to have a default description replaced -- overwritten -- by a page-level description?\r\n\r\nI ask because I'm trying to essentially replace Jekyll with Nuxt -- via ```nuxt generate``` -- and then have a json file generated (via Cheerio parsing the generated pages) with all the meta tags that, in turn, can be fetched back into the home page to display the recent posts (including, as I indicate above, the meta descriptions for each page.)\n\n\u003C!--cmty-->\u003C!--cmty_prevent_hook-->\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This question is available on \u003Ca href=\"https://nuxtjs.cmty.io\">Nuxt.js\u003C/a> community (\u003Ca href=\"https://nuxtjs.cmty.io/nuxt/nuxt.js/issues/c96\">#c96\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[2933,2935],{"name":2883,"color":2934},"cc317c",{"name":2936,"color":2937},"2.x","d4c5f9",117,"Meta tags duplicated","2023-01-18T15:38:30Z","https://github.com/nuxt/nuxt/issues/117",0.69730854,{"description":2944,"labels":2945,"number":2950,"owner":2872,"repository":2873,"state":2901,"title":2951,"updated_at":2952,"url":2953,"score":2954},"### Environment\n\n- Operating System: Darwin\n- Node Version: v22.2.0\n- Nuxt Version: 3.14.159\n- CLI Version: 3.15.0\n- Nitro Version: -\n- Package Manager: pnpm@9.1.1\n- Builder: -\n- User Config: default\n- Runtime Modules: @nuxt/eslint@0.6.1, @nuxt/ui@2.19.2, nuxt-svgo@4.0.8\n- Build Modules: -\n\n### Version\n\nv2.19.2 - pro v1.5\n\n### Reproduction\n\nhttps://stackblitz.com/edit/nuxt-ui-qvnuqy?file=app.vue\n\n### Description\n\nI'd like to change the color of the badge in the `DashboardSidebarLinks` to be `red`.\nin the [config page ](https://ui.nuxt.com/pro/components/dashboard-sidebar-links#config) the ui config for the badge is there with the color key, but when i try to use set the color as red, typescript says `Type '\"red\"' is not assignable to type '\"gray\"'`. \nIn the component file, color values (and other values) are marked as const; is this intentional? \nIf so why the config in the docs? \n\nHappy to provide a pr removing the `as const` if it's just an error.\n\nThanks\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n\n```",[2946,2947],{"name":2866,"color":2867},{"name":2948,"color":2949},"pro","5BD3CB",2695,"[pro]DashboardSidebarLinks typescript errors","2024-12-06T10:44:23Z","https://github.com/nuxt/ui/issues/2695",0.70141745,{"description":2956,"labels":2957,"number":2960,"owner":2872,"repository":2872,"state":2901,"title":2961,"updated_at":2962,"url":2963,"score":2964},"node: v14.16.1\r\nnuxt: 2.15.3\r\n\r\nHello!. I am using Nuxtjs to create a multi-page site (static mod). After generation, \"title\" and \"description\" do not works as expected. Title and description takes from config, not from `head()` on the page.\r\n\r\n**nuxt.config.js**\r\n\r\n```js\r\nssr: false,\r\ntarget: 'static',\r\nhead: {\r\n title: 'title of project',\r\n htmlAttrs: {\r\n lang: 'en'\r\n },\r\n meta: [\r\n { charset: 'utf-8' },\r\n { name: 'viewport', content: 'width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1' },\r\n { hid: 'description', name: 'description', content: 'some description' }\r\n ],\r\n link: [\r\n { rel: 'icon', type: 'image/x-icon', href: '/favicon.svg' },\r\n },\r\ngenerate: {\r\n subFolders: false,\r\n routes: ['/about', ]\r\n },\r\n ...\r\n```\r\n**pages/about/index.vue**\r\n\r\n```js\r\nexport default {\r\n head() {\r\n return {\r\n title: 'About - 2222',\r\n meta: [\r\n {\r\n hid: 'description',\r\n name: 'description',\r\n content: '11111111111111'\r\n }\r\n ]\r\n }\r\n },\r\n }\r\n```\r\n\r\nLogs after: **nuxt generate**\r\n\r\n```\r\ni Generating output directory: dist/ 19:06:50 \r\ni Generating pages 19:06:50 \r\n√ Generated route \"/about\"\r\n```\r\n\r\n**about.html:**\r\n\r\n```html\r\n\u003Chtml lang=\"en\" data-n-head=\"%7B%22lang%22:%7B%221%22:%22en%22%7D%7D\">\r\n \u003Chead>\r\n \u003Ctitle>title of project\u003C/title>\u003Cmeta data-n-head=\"1\" charset=\"utf-8\">\u003Cmeta data-n-head=\"1\" name=\"viewport\" content=\"width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1\">\u003Cmeta data-n-head=\"1\" data-hid=\"description\" name=\"description\" content=\"some description\">\r\n \u003C/head>\r\n \u003Cbody>\u003C/body>\r\n\u003C/html>\r\n```\r\n\r\nAfter generation deploed code to Github pages. Also tried to add `fallback: '404.html'`, also not works. Page is loaded with static data, then dynamically updates **title** and **description**. This is not suitable for a search engine.\r\n",[2958,2959],{"name":2913,"color":2914},{"name":2936,"color":2937},9390,"Title and description are not static, they are updated only after the page is loaded","2023-01-22T15:44:58Z","https://github.com/nuxt/nuxt/issues/9390",0.71863645,{"labels":2966,"number":2975,"owner":2872,"repository":2872,"state":2901,"title":2976,"updated_at":2977,"url":2978,"score":2979},[2967,2970,2971,2972],{"name":2968,"color":2969},"documentation","5319e7",{"name":2910,"color":2911},{"name":2866,"color":2867},{"name":2973,"color":2974},"🍰 p2-nice-to-have","0E8A16",13376,"Improve warning about `definePageMeta()` outside `setup`","2023-10-21T08:51:28Z","https://github.com/nuxt/nuxt/issues/13376",0.7219528,{"description":2981,"labels":2982,"number":2985,"owner":2872,"repository":2986,"state":2901,"title":2987,"updated_at":2988,"url":2989,"score":2990},"### Environment\n\n- Operating System: `Darwin`\n- Node Version: `v23.5.0`\n- Nuxt Version: `3.15.4`\n- CLI Version: `3.21.1`\n- Nitro Version: `2.10.4`\n- Package Manager: `npm@10.9.2`\n- Builder: `-`\n- User Config: `colorMode`, `compatibilityDate`, `components`, `devtools`, `eslint`, `nitro`, `buildModules`, `modules`, `runtimeConfig`\n- Runtime Modules: `nitro-cloudflare-dev@0.2.1`, `@pinia/nuxt@0.9.0`, `@nuxt/ui@2.20.0`, `@nuxt/test-utils/module@3.15.4`, `@nuxt/eslint@0.7.5`, `nuxt-auth-utils@0.5.10`\n- Build Modules: `@nuxtjs/date-fns@1.5.0`\n\n\n### Reproduction\n\nhttps://github.com/Mathmagicians/theslope/tree/main\n\n### Describe the bug\n\nI am developing a small community project in Nuxt, it is open source.\nI am trying to add tests for my Nitro endpoints, from the server folder. \nI dont want to mock the endpoints, but actually call them. \nThere is no documentation, that I could finde, how to test the server endpoints. \nI have followed the installatin instructions for nuxt-test-utils\nHere is my `vitest.config.ts`:\n```\nimport {defineVitestConfig} from '@nuxt/test-utils/config'\n\nexport default defineVitestConfig({\n // any custom Vitest config you require\n test: {\n include: ['tests/**/*.*.spec.ts'],\n name: 'nuxt',\n environment: 'nuxt'\n }\n})\n```\n\nHere is the test file:\n```\nimport { fileURLToPath } from 'node:url'\nimport {describe, it, expect} from 'vitest'\nimport { setup, fetch } from '@nuxt/test-utils/e2e'\n//import { $fetchRaw, setup } from 'nitro-test-utils/e2e'\n\nconst doLogin = async (username, password) => {\n return await fetch(`/api/auth/login`, {\n method: 'POST',\n body: {email: username, password: password},\n headers: {ContentType: 'application/json'}\n })\n}\ndescribe('test /auth/login endpoint', async () => {\n await setup({\n setupTimeout: 60*1000,\n server: true,\n browser: false,\n })\n const heyNaboUserName = process.env.HEY_NABO_USERNAME as string; \n const heyNaboPassword = process.env.HEY_NABO_PASSWORD as string;\n\n it('should return a 400 error when no credentials are passed', async () => {\n await expect(doLogin(undefined, undefined))\n .rejects.toThrow('Invalid Heynabo credentials - cant login')\n })\n\n it('should return a 400 error when a wrong body is passed', async () => {\n await expect(\n fetch(`/api/auth/login`, {\n method: 'POST',\n body: {pudu: 'is beautiful'},\n headers: {ContentType: 'application/json'}\n })\n )\n .rejects.toThrow('Invalid Heynabo credentials - cant login')\n })\n\n it('should return a 404 error when incorrect credentials are passed', async () => {\n await expect(doLogin('a@a.dk', 'volapyk'))\n .rejects.toThrow('Invalid Heynabo credentials - cant login')\n })\n\n it('should return user session with a heynabo token when correct credentials are passed', async () => {\n const res = await doLogin(heyNaboUserName, heyNaboPassword)\n expect(res).toHaveProperty('token')\n expect(res.token).not.toBeNull()\n expect(res.token.length).toBeGreaterThan(1)\n expect(res).toHaveProperty('email')\n expect(res.email).toBe(heyNaboUserName)\n })\n})\n\n```\nThe following simple test fails at startup because of the `setup`method:\n```\n FAIL nuxt tests/e2e/login.e2e.spec.ts > test /auth/login endpoint\nTypeError: The URL must be of scheme file\n ❯ Object.renderChunk node_modules/@rollup/plugin-terser/dist/cjs/index.js:160:35\n ❯ node_modules/rollup/dist/es/shared/node-entry.js:20874:40\n```\n\nAny hints at, what might be the issue?\n\n### Additional context\n\n_No response_\n\n### Logs\n\n```shell-script\n-script\nFAIL nuxt tests/e2e/login.e2e.spec.ts > test /auth/login endpoint\nTypeError: The URL must be of scheme file\n ❯ Object.renderChunk node_modules/@rollup/plugin-terser/dist/cjs/index.js:160:35\n ❯ node_modules/rollup/dist/es/shared/node-entry.js:20874:40\n```",[2983],{"name":2913,"color":2984},"5D08F5",1120,"test-utils","Cant run e2e test that calls a nitro server route - setup fails","2025-02-11T16:59:01Z","https://github.com/nuxt/test-utils/issues/1120",0.7235388,["Reactive",2992],{},["Set"],["ShallowReactive",2995],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fACk01Epgh34Lr7W6B6P4cBjcTtYz1u8m60Q4FGbAQco":-1},"/nuxt/icon/194"]