diff --git a/app/composables/masto/notification.ts b/app/composables/masto/notification.ts index 20939bec..6b474b30 100644 --- a/app/composables/masto/notification.ts +++ b/app/composables/masto/notification.ts @@ -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) diff --git a/app/composables/paginator.ts b/app/composables/paginator.ts index 93aeed1f..1a1a3c56 100644 --- a/app/composables/paginator.ts +++ b/app/composables/paginator.ts @@ -14,6 +14,7 @@ export function usePaginator( // so clone it const paginator = _paginator.clone() + const paginatorValues = paginator.values() const state = ref(isHydrated.value ? 'idle' : 'loading') const items = ref([]) const nextItems = ref([]) @@ -75,7 +76,7 @@ export function usePaginator( 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)[])