diff --git a/src/state/queries/actor-search.ts b/src/state/queries/actor-search.ts index 54586ebcbe..615c39eb41 100644 --- a/src/state/queries/actor-search.ts +++ b/src/state/queries/actor-search.ts @@ -50,9 +50,25 @@ export function useActorSearch({ initialPageParam: undefined, getNextPageParam: lastPage => lastPage.cursor, placeholderData: maintainData ? keepPreviousData : undefined, + select, }) } +function select(data: InfiniteData) { + // 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( queryClient: QueryClient, did: string,