fix: paginator values being cloned

This commit is contained in:
Ayo Ayco 2025-11-22 18:42:48 +01:00
parent a42fdcb26a
commit 65cd76a108
2 changed files with 4 additions and 2 deletions

View file

@ -45,9 +45,10 @@ export function useNotifications() {
const position = await client.value.v1.markers.fetch({ timeline: ['notifications'] })
const paginator = client.value.v1.notifications.list({ limit: 30 })
const paginatorValues = paginator.values()
do {
const result = await paginator.next()
const result = await paginatorValues.next()
if (!result.done && result.value.length) {
for (const notification of result.value) {
if (notification.id === position.notifications.lastReadId)

View file

@ -14,6 +14,7 @@ export function usePaginator<T, P, U = T>(
// so clone it
const paginator = _paginator.clone()
const paginatorValues = paginator.values()
const state = ref<PaginatorState>(isHydrated.value ? 'idle' : 'loading')
const items = ref<U[]>([])
const nextItems = ref<U[]>([])
@ -75,7 +76,7 @@ export function usePaginator<T, P, U = T>(
state.value = 'loading'
try {
const result = await paginator.next()
const result = await paginatorValues.next()
if (!result.done && result.value.length) {
const preprocessedItems = preprocess([...nextItems.value, ...result.value] as (U | T)[])