about summary refs log tree commit diff
path: root/src/state/queries/notifications/util.ts
diff options
context:
space:
mode:
authorPaul Frazee <pfrazee@gmail.com>2024-01-30 17:46:35 -0800
committerGitHub <noreply@github.com>2024-01-30 17:46:35 -0800
commit45291f17a08acb8b62d0ff86f2ce40ad4fa9f1f6 (patch)
treeddd4a3e093fe4bb5e1bb3e9596f95693588a3f76 /src/state/queries/notifications/util.ts
parenta175922ccf806b529ee9c18b62d602f6c91d0f54 (diff)
downloadvoidsky-45291f17a08acb8b62d0ff86f2ce40ad4fa9f1f6.tar.zst
Fix notification mark-read behaviors (#2696)
* Mark read on first notifs page fetch always; this is less optimal but it fixes a case where when the first full page's unreads are all filtered out

* Use the pre-filter indexedAt for updateSeen
Diffstat (limited to 'src/state/queries/notifications/util.ts')
-rw-r--r--src/state/queries/notifications/util.ts12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/state/queries/notifications/util.ts b/src/state/queries/notifications/util.ts
index e53a07258..1c85d2b6d 100644
--- a/src/state/queries/notifications/util.ts
+++ b/src/state/queries/notifications/util.ts
@@ -36,11 +36,12 @@ export async function fetchPage({
   moderationOpts: ModerationOpts | undefined
   threadMutes: string[]
   fetchAdditionalData: boolean
-}): Promise<FeedPage> {
+}): Promise<{page: FeedPage; indexedAt: string | undefined}> {
   const res = await getAgent().listNotifications({
     limit,
     cursor,
   })
+  const indexedAt = res.data.notifications[0]?.indexedAt
 
   // filter out notifs by mod rules
   const notifs = res.data.notifications.filter(
@@ -75,9 +76,12 @@ export async function fetchPage({
   }
 
   return {
-    cursor: res.data.cursor,
-    seenAt,
-    items: notifsGrouped,
+    page: {
+      cursor: res.data.cursor,
+      seenAt,
+      items: notifsGrouped,
+    },
+    indexedAt,
   }
 }