\n\nPS: code copied from https://youtu.be/WRnoQdIU-uE\n\n### Reproduction\n\nhttps://stackblitz.com/edit/vitejs-vite-pbbzc8qe?file=src%2Fcomponents%2FInfiniteScroll.vue\n\n### System Info\n\n```Shell\nSystem:\n OS: macOS 15.1.1\n CPU: (11) arm64 Apple M3 Pro\n Memory: 543.06 MB / 18.00 GB\n Shell: 5.9 - /bin/zsh\n Binaries:\n Node: 22.4.1 - /opt/homebrew/bin/node\n Yarn: 1.22.22 - /opt/homebrew/bin/yarn\n npm: 10.8.1 - /opt/homebrew/bin/npm\n pnpm: 9.15.1 - ~/Library/pnpm/pnpm\n Browsers:\n Chrome: 132.0.6834.110\n Safari: 18.1.1\n```\n\n### Used Package Manager\n\nnpm\n\n### Validations\n\n- [x] Follow our [Code of Conduct](https://github.com/vueuse/vueuse/blob/main/CODE_OF_CONDUCT.md)\n- [x] Read the [Contributing Guidelines](https://github.com/vueuse/vueuse/blob/main/CONTRIBUTING.md).\n- [x] Read the [docs](https://vueuse.org/guide).\n- [x] Check that there isn't [already an issue](https://github.com/vueuse/vueuse/issues) that reports the same bug to avoid creating a duplicate.\n- [x] Make sure this is a VueUse issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.\n- [x] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vueuse/vueuse/discussions).\n- [x] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[3061,3063,3064],{"name":3062,"color":3022},"bug",{"name":3042,"color":3043},{"name":3065,"color":3066},"has pr","5319E7",4538,"BUG | `useInfiniteScroll` | onLoadMore is called infinitely for top direction","2025-03-05T04:05:22Z","https://github.com/vueuse/vueuse/issues/4538",0.6092636,{"description":3073,"labels":3074,"number":3076,"owner":3024,"repository":3024,"state":3053,"title":3077,"updated_at":3078,"url":3079,"score":3080},"### Describe the bug\n\n`useInfiniteScroll` immediately and infinitely tries to load more items if the scroll container goes horizontally. Attached playground link is **the default playground** for `useInfiniteScroll` from the link in the docs, except for:\n\n```diff\n- flex-col\n+ flex-row\n\n- overflow-y-scroll\n+ overflow-x-scroll\n```\n\n### Reproduction\n\nhttps://playground.vueuse.org/?vueuse=13.5.0#eNp9VF1P2zAU/StXeWmqNWkZ60tVKhhCGhNsE/BG0GSSm9Tg2JbttEVV//uunbQNE+Ilie/nOfeeeBtdaJ2uGoxm0dzmhmsHFl2jQTBZnWWRs1m0yCSvtTIOttBYvJYll9zhfW6UELCD0qgaBudUhbzjXBkc9DIMlsAsFIj6DsuRr/CAtRbMIZ0P6ZRNWZnMlbQOUMDZf5HzHw+3N1cCa5RuEQ9QDIb76II5RvFdi7ls6mc0j0+L+PGJYvZRHgpxo46h9HsacSaBuo78Kx7C2QK2/hOgzRUoK7f0PahVumKiwbSzfYGTNrLn0o1dxmmaXhjD3lJPMN52NWYwhd0I4r8j4KHPoQwfElggp3923QtuHZM5zuBkEuwEiMkbxYpbGvPsPVSA8RiIU8FzGhmslyjBLdEgcAtSQU0pno+jCYJTIKgMWAXqUBCsU9qCM7yq0HBZ9QuXEEvloy7bEkOap2uMhJIJi/vIzuZMgz6rVIb2UivQjdHKom3jWpL+GRZUNjJ3XMl2QzdEmogFVseh0vAfn7wpxMSUt8vkfNyKliRKB9ephU4A84KvvPhIxCiyCHLBrKVDKXAD/pEYtYaK6eQr6OQbrJPTyURvYNm964Q1NCS1QlMKtU42CbXygn+ukorWmkwnk/EUjGpkgUX4Szyz0HaVEG/qRfKqaSOBBUGYveJbZ+0BWiYn04+LEq7TQ2HSxBZCwR0RD63G1Kvlevx6bpyjQZ7nguevVL030UOpO29r89pwss/HvelFI/rxSSklr9IXqyTdDmEbWZSrWnOB5rf2+6LLYbZXXxYxQXP6GWx+/Z1eKWeJ+esH9he78bYs+uNBmhVm0cHnmKkIY3Bf3f/CDX0fnLUqGkHRnziJohKNx9iGfaeBEuxeXEB7HW4pEvqDvdqQqO2elAd6/BuziK6ny0+oH+Gept9CHskz2v0DpLbEcQ==\n\n### System Info\n\n```Shell\n System:\n OS: macOS 15.5\n CPU: (10) arm64 Apple M4\n Memory: 97.81 MB / 24.00 GB\n Shell: 5.9 - /opt/homebrew/bin/zsh\n Binaries:\n Node: 24.3.0 - ~/.nodenv/versions/24.3.0/bin/node\n npm: 11.4.2 - ~/.nodenv/versions/24.3.0/bin/npm\n Browsers:\n Firefox: 140.0.4\n Safari: 18.5\n npmPackages:\n @vueuse/components: ^13.5.0 => 13.5.0\n @vueuse/core: ^13.5.0 => 13.5.0\n vue: ^3.5.17 => 3.5.17\n```\n\n### Used Package Manager\n\nnpm\n\n### Validations\n\n- [x] Follow our [Code of Conduct](https://github.com/vueuse/vueuse/blob/main/CODE_OF_CONDUCT.md)\n- [x] Read the [Contributing Guidelines](https://github.com/vueuse/vueuse/blob/main/CONTRIBUTING.md).\n- [x] Read the [docs](https://vueuse.org/guide).\n- [x] Check that there isn't [already an issue](https://github.com/vueuse/vueuse/issues) that reports the same bug to avoid creating a duplicate.\n- [x] Make sure this is a VueUse issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.\n- [x] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vueuse/vueuse/discussions).\n- [x] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[3075],{"name":3021,"color":3022},4889,"BUG | `useInfiniteScroll` | Infinite loop scrolling horizontally","2025-07-18T08:43:55Z","https://github.com/vueuse/vueuse/issues/4889",0.61179733,{"description":3082,"labels":3083,"number":3084,"owner":3024,"repository":3024,"state":3053,"title":3085,"updated_at":3086,"url":3087,"score":3088},"### Describe the bug\n\nthis reactive function is missing setter.\r\nwe can set, but nothing happened.\r\n\r\nhttps://github.com/vueuse/vueuse/blob/dc3ebe80bc61ee56004fdcd417cb234ee749e41e/packages/core/useWindowScroll/index.ts#L12-L36\r\n\r\nshould we watch the ref changed and call `window.scrollTo` correspondingly?\n\n### Reproduction\n\n1. useWindowScroll\n\n### System Info\n\n```Shell\nSystem:\r\n OS: Windows 10 10.0.22000ystem --npmPackages '{vue,@vueuse/*}' --binaries --brows\r\n CPU: (16) x64 Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz\r\n Memory: 38.44 GB / 63.88 GB\r\n Binaries:\r\n Node: 18.6.0 - C:\\Program Files\\nodejs\\node.EXE\r\n Yarn: 1.22.19 - C:\\Program Files\\nodejs\\yarn.CMD\r\n npm: 8.13.2 - C:\\Program Files\\nodejs\\npm.CMD\r\n Browsers:\r\n Edge: Spartan (44.22000.120.0), Chromium (103.0.1264.62)\r\n Internet Explorer: 11.0.22000.120\r\n npmPackages:\r\n @vueuse/components: ^8.9.4 => 8.9.4\r\n @vueuse/core: ^8.9.4 => 8.9.4\r\n @vueuse/motion: ^2.0.0-beta.12 => 2.0.0-beta.12\r\n @vueuse/nuxt: ^8.9.4 => 8.9.4\n```\n\n\n### Used Package Manager\n\nyarn\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://github.com/vueuse/vueuse/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/vueuse/vueuse/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://vueuse.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/vueuse/vueuse/issues) that reports the same bug to avoid creating a duplicate.\n- [X] Make sure this is a VueUse issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.\n- [X] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vueuse/vueuse/discussions).\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[],1978,"`useWindowScroll` is read only","2022-09-26T01:39:25Z","https://github.com/vueuse/vueuse/issues/1978",0.6190716,{"description":3090,"labels":3091,"number":3092,"owner":3024,"repository":3024,"state":3053,"title":3093,"updated_at":3094,"url":3095,"score":3096},"### Describe the bug\n\nEven though the component is unmounted, the onLoadMore callback is still being called\n\n### Reproduction\n\nhttps://play.vuejs.org/#eNqVVdtu2kAQ/ZWRX0gksEMuUuUaBFR5SB/aqmn7ZKky9tjesN61vLsEhPj3zvpWAiRRXpB358yZs3Nj58zL0l0bdHwnUHHFSg0KtSmnoWBFKSsNO6gwhT2klSxgQNBBKHrjvL12vbllIVNrWPSGRWsIRSyF0lBGGcLEkl4MosFlKAKvCUwh6aCxKHmkkU4AgcJYMynqAx3z8fSPwd8KwSh8ECkTTONjXEnOYWmywCNAC7UvsB8A92sUEKUaK1DPTMc5ExloCTpaQugsQmcIOkeII86XUbwigUphYhFBLBOcnoQKvPoemOpCKM1IgWXAZAhoA+pcmixvmCXlRKDQ5AFGFNIIjYnbCvU6pUHC1sS05TgJnYQpSsPWh5Tj5jNkUenDbbkJnf5ZwdJoLSnQtrQOzSl0YBZzFq/opk00JZm85oHXID7uv7T+iyP/wCO13fcc1iOW9i6TNih4HWBxCrCsLYAaoC9z4B00gDN0mnYaFVHpPikpqE131iVsDSp0fKhv7B012ijBgtnL0Mm1LpXveUaUq8ylInidfXbljm/dTx5nS4+JBDdu8URMw45nRkCquqfyqMLkNbaXqNmYSMfu1ZuEsazwPTqLOUdmufah2FNStKJRSll2lBLbZ4xj9b20yXyZGmpN+fy1vtOVwV5ZnGO8OnP/pKjXrNAfFSqs1iS7t+moylA35vvHb7ih795YyMTw9pGvGH+iktxYjQ1sYURCsg9wtdqHusI0rL/U/UajUN2jrNA6GzW+LvuXN57+X+6Ne3uQxXpjfWzv9abT9dMBD8t4sPU4o59m6wnDOa29E4oLixnCBV7CZNrIt76So8tldjHoFpTdmfsP7s1ruwDo93jc6GS4VUWzacPTTHYbqIg2oxxZlmsf7sbXJW0hucYqpcr4EBkt+10UcEbzncqKvBgwAXdE469wa8+E2u2AwX4f0Ly1Agw/M+r1H4Wtx3tPoV105inHdH9JrG0ZYqS6uzc3zv4fsqxEDg==\n\n### System Info\n\n```Shell\nnpmPackages:\r\n @vueuse/core: ^10.11.0 => 10.11.0 \r\n vue: ^3.4.33 => 3.4.33\n```\n\n\n### Used Package Manager\n\nnpm\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://github.com/vueuse/vueuse/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/vueuse/vueuse/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://vueuse.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/vueuse/vueuse/issues) that reports the same bug to avoid creating a duplicate.\n- [X] Make sure this is a VueUse issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.\n- [X] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vueuse/vueuse/discussions).\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[],4109,"useInfiniteScroll still calls onLoadMore even though component is unmounted","2024-09-16T08:47:51Z","https://github.com/vueuse/vueuse/issues/4109",0.626969,{"description":3098,"labels":3099,"number":3100,"owner":3024,"repository":3024,"state":3053,"title":3101,"updated_at":3102,"url":3103,"score":3104},"### Describe the bug\n\nuseInfiniteScroll v10 behavior is different with v9\r\n\r\nhttps://user-images.githubusercontent.com/62163604/233847985-dd49eeef-93c5-47df-937c-973c3ec9ca9c.mov\r\n\r\nScrolling to the edge triggers an infinite event.\n\n### Reproduction\n\nhttps://github.com/sondh0127/my-vitesse-app-useInfiniteScroll\n\n### System Info\n\n```Shell\nSystem:\r\n OS: macOS 13.3.1\r\n CPU: (10) arm64 Apple M1 Pro\r\n Memory: 59.34 MB / 16.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 18.13.0 - ~/Library/Caches/fnm_multishells/94889_1682258323298/bin/node\r\n Yarn: 1.22.19 - ~/Library/Caches/fnm_multishells/94889_1682258323298/bin/yarn\r\n npm: 8.19.3 - ~/Library/Caches/fnm_multishells/94889_1682258323298/bin/npm\r\n Browsers:\r\n Brave Browser: 112.1.50.121\r\n Chrome: 112.0.5615.137\r\n Safari: 16.4\r\n npmPackages:\r\n @vueuse/core: 10.1.0 => 10.1.0\r\n @vueuse/head: ^1.1.26 => 1.1.26\r\n vue: ^3.2.47 => 3.2.47\n```\n\n\n### Used Package Manager\n\npnpm\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://github.com/vueuse/vueuse/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/vueuse/vueuse/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://vueuse.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/vueuse/vueuse/issues) that reports the same bug to avoid creating a duplicate.\n- [X] Make sure this is a VueUse issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.\n- [X] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vueuse/vueuse/discussions).\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[],3019,"useInfiniteScroll v10 behavior differs from v9 - Scrolling to the edge triggers an infinite event.","2023-05-06T12:02:59Z","https://github.com/vueuse/vueuse/issues/3019",0.6298068,{"description":3106,"labels":3107,"number":3108,"owner":3024,"repository":3024,"state":3053,"title":3109,"updated_at":3110,"url":3111,"score":3112},"### Describe the bug\n\nWhen using the `useInfiniteScroll` composable from VueUse, the page won't load more data when user scrolls to the bottom of the viewport in a Nuxt 3 app. It works fine, however, in Vue 3. \r\n\r\nI am using the `useInfiniteScroll` composable from VueUse like so in a Nuxt3 app:\r\n\r\n```js\r\n\u003Cscript setup lang=\"ts\">\r\nimport { useInfiniteScroll } from '@vueuse/core';\r\n\r\nconst el = ref\u003CHTMLElement>(null);\r\nconst data = ref([]);\r\nconst total = ref(0);\r\n\r\nuseInfiniteScroll(el, loadData, { distance: 10 });\r\n\r\nloadData();\r\n\r\nasync function loadData() {\r\n if (data.value.length !== 0 && data.value.length >= total.value) return;\r\n const res = await fetch(\r\n `https://dummyjson.com/products/?limit=10&skip=${data.value.length}`\r\n );\r\n const d = await res.json();\r\n total.value = d.total;\r\n data.value = data.value.concat(d.products);\r\n}\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003Cdiv ref=\"el\" class=\"el h-100\">\r\n \u003Cdiv v-for=\"item in data\" class=\"card\">\r\n \u003Cimg :src=\"item.thumbnail\" alt=\"\" />\r\n \u003Ch3>{{ item.title }}\u003C/h3>\r\n \u003Cp>{{ item.description }}\u003C/p>\r\n \u003C/div>\r\n \u003C/div>\r\n\u003C/template>\r\n```\r\n\r\nHere's a full Nuxt3 reproduction here: https://stackblitz.com/edit/nuxt-starter-buzm4q?file=pages/index.vue\r\n\r\nA working Vue3 version is here: https://stackblitz.com/edit/vitejs-vite-9i25xx?file=src/App.vue\n\n### Reproduction\n\nhttps://stackblitz.com/edit/nuxt-starter-buzm4q?file=pages/index.vue\n\n### System Info\n\n```Shell\nMicrosoft Edge, Windows 11, Nuxt 3.3.1\n```\n\n\n### Used Package Manager\n\nnpm\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://github.com/vueuse/vueuse/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/vueuse/vueuse/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://vueuse.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/vueuse/vueuse/issues) that reports the same bug to avoid creating a duplicate.\n- [X] Make sure this is a VueUse issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.\n- [X] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vueuse/vueuse/discussions).\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[],2896,"useInfiniteScroll doesn't work in Nuxt3 app, but does in Vue3 app. Why?","2023-05-29T08:59:33Z","https://github.com/vueuse/vueuse/issues/2896",0.651284,["Reactive",3114],{},["Set"],["ShallowReactive",3117],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$ffJqq5D0aewh3_xAx76BRAfy7kh_2JM_Ce-42bDO_5o8":-1},"/vueuse/vueuse/3390"]