diff --git a/packages/server/src/routes/social.ts b/packages/server/src/routes/social.ts index 4cf3e6d1..faa18956 100644 --- a/packages/server/src/routes/social.ts +++ b/packages/server/src/routes/social.ts @@ -689,12 +689,10 @@ export async function socialRoutes(app: FastifyInstance): Promise { eq(schema.users.isDeleted, 0), eq(schema.users.discoverable, 1), ne(schema.users.id, request.userId), - // Exclude replicated federated stubs — federated users are surfaced - // via the client-side cross-instance fan-out in - // packages/web/src/stores/socialStore.ts (searchUsers), which dedupes - // by canonical identity. Returning stubs here would be a noisy - // duplicate source AND would leak domain-suffix substring matches - // (stubs are stored as @). + // Exclude replicated federated stubs: their stored username is + // `@`, so a substring of the domain would match + // every stub from that instance. Federated users are surfaced via + // the client-side cross-instance fan-out instead. sql`(${schema.users.homeInstance} IS NULL OR ${schema.users.homeInstance} = '')`, or( like(schema.users.username, pattern),