diff options
Diffstat (limited to 'src/state/queries')
-rw-r--r-- | src/state/queries/notifications/feed.ts | 1 | ||||
-rw-r--r-- | src/state/queries/notifications/unread.tsx | 4 | ||||
-rw-r--r-- | src/state/queries/notifications/util.ts | 16 |
3 files changed, 15 insertions, 6 deletions
diff --git a/src/state/queries/notifications/feed.ts b/src/state/queries/notifications/feed.ts index b6aa3d753..1610fc0bf 100644 --- a/src/state/queries/notifications/feed.ts +++ b/src/state/queries/notifications/feed.ts @@ -76,6 +76,7 @@ export function useNotificationFeedQuery(opts?: {enabled?: boolean}) { queryClient, moderationOpts, threadMutes, + fetchAdditionalData: true, }) } diff --git a/src/state/queries/notifications/unread.tsx b/src/state/queries/notifications/unread.tsx index ba38463f2..a189f20e4 100644 --- a/src/state/queries/notifications/unread.tsx +++ b/src/state/queries/notifications/unread.tsx @@ -102,6 +102,10 @@ export function Provider({children}: React.PropsWithChildren<{}>) { queryClient, moderationOpts, threadMutes, + + // only fetch subjects when the page is going to be used + // in the notifications query, otherwise skip it + fetchAdditionalData: !!invalidate, }) const unreadCount = countUnread(page) const unreadCountStr = diff --git a/src/state/queries/notifications/util.ts b/src/state/queries/notifications/util.ts index 48e1b8dd8..9fb25867a 100644 --- a/src/state/queries/notifications/util.ts +++ b/src/state/queries/notifications/util.ts @@ -27,12 +27,14 @@ export async function fetchPage({ queryClient, moderationOpts, threadMutes, + fetchAdditionalData, }: { cursor: string | undefined limit: number queryClient: QueryClient moderationOpts: ModerationOpts | undefined threadMutes: string[] + fetchAdditionalData: boolean }): Promise<FeedPage> { const res = await getAgent().listNotifications({ limit, @@ -49,12 +51,14 @@ export async function fetchPage({ // we fetch subjects of notifications (usually posts) now instead of lazily // in the UI to avoid relayouts - const subjects = await fetchSubjects(notifsGrouped) - for (const notif of notifsGrouped) { - if (notif.subjectUri) { - notif.subject = subjects.get(notif.subjectUri) - if (notif.subject) { - precacheResolvedUri(queryClient, notif.subject.author) // precache the handle->did resolution + if (fetchAdditionalData) { + const subjects = await fetchSubjects(notifsGrouped) + for (const notif of notifsGrouped) { + if (notif.subjectUri) { + notif.subject = subjects.get(notif.subjectUri) + if (notif.subject) { + precacheResolvedUri(queryClient, notif.subject.author) // precache the handle->did resolution + } } } } |