enforce uniqueness between pages on actor query

This commit is contained in:
Samuel Newman
2025-11-20 13:36:22 +02:00
parent 3070d72dcd
commit f633472342
+16
View File
@@ -50,9 +50,25 @@ export function useActorSearch({
initialPageParam: undefined, initialPageParam: undefined,
getNextPageParam: lastPage => lastPage.cursor, getNextPageParam: lastPage => lastPage.cursor,
placeholderData: maintainData ? keepPreviousData : undefined, placeholderData: maintainData ? keepPreviousData : undefined,
select,
}) })
} }
function select(data: InfiniteData<AppBskyActorSearchActors.OutputSchema>) {
// enforce uniqueness
const dids = new Set()
for (const page of data.pages) {
const actors = []
for (const actor of page.actors) {
if (dids.has(actor.did)) continue
dids.add(actor.did)
actors.push(actor)
}
page.actors = actors
}
return data
}
export function* findAllProfilesInQueryData( export function* findAllProfilesInQueryData(
queryClient: QueryClient, queryClient: QueryClient,
did: string, did: string,