diff --git a/app/composables/masto/notification.ts b/app/composables/masto/notification.ts index 2f5cfdcd..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.values().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 83b51eef..674193e9 100644 --- a/app/composables/paginator.ts +++ b/app/composables/paginator.ts @@ -13,6 +13,7 @@ export function usePaginator( // and we need its initial state after HMR // so clone it + const paginatorValues = paginator.values() const state = ref(isHydrated.value ? 'idle' : 'loading') const items = ref([]) const nextItems = ref([]) @@ -74,7 +75,7 @@ export function usePaginator( state.value = 'loading' try { - const result = await paginator.values().next() + const result = await paginatorValues.next() if (!result.done && result.value.length) { const preprocessedItems = preprocess([...nextItems.value, ...result.value] as (U | T)[])