From c44e33e5828f2aee4e8d2be906acb682146ed6a5 Mon Sep 17 00:00:00 2001 From: cyph3rasi Date: Wed, 15 Jul 2026 10:04:10 -0700 Subject: [PATCH] Move admins into the node details card and exclude cached remote profiles from swarm user totals. Hop-State: A_06FPDF36J60G1A7815FZXV8 Hop-Proposal: R_06FPDF2DBS4W91EHS4C1HHR Hop-Task: T_06FPDE1JPYKVAHGNQWNSMER Hop-Attempt: AT_06FPDE1JPWKP9WRN6NFR3A0 --- src/components/RightSidebar.tsx | 57 +++++++++++++++++---------------- src/lib/swarm/discovery.ts | 4 ++- src/lib/swarm/registry.ts | 3 +- 3 files changed, 34 insertions(+), 30 deletions(-) diff --git a/src/components/RightSidebar.tsx b/src/components/RightSidebar.tsx index 425d893..67660a4 100644 --- a/src/components/RightSidebar.tsx +++ b/src/components/RightSidebar.tsx @@ -173,6 +173,35 @@ export function RightSidebar() { )} + + {nodeInfo.admins.length > 0 && ( +
+

+ Admins +

+
+ {nodeInfo.admins.map((admin) => ( + +
+ +
+
+
+ {admin.displayName || admin.handle} +
+
+ @{admin.handle} +
+
+ + ))} +
+
+ )} @@ -204,34 +233,6 @@ export function RightSidebar() { ))} - {nodeInfo.admins.length > 0 && ( -
-

- Admins -

-
- {nodeInfo.admins.map((admin) => ( - -
- -
-
-
- {admin.displayName || admin.handle} -
-
- @{admin.handle} -
-
- - ))} -
-
- )} ); diff --git a/src/lib/swarm/discovery.ts b/src/lib/swarm/discovery.ts index 2f949cf..6c8a2b1 100644 --- a/src/lib/swarm/discovery.ts +++ b/src/lib/swarm/discovery.ts @@ -49,7 +49,9 @@ export async function buildAnnouncement(): Promise { } // Get counts - const userResult = await db.select({ count: sql`count(*)` }).from(users); + const userResult = await db.select({ count: sql`count(*)` }) + .from(users) + .where(sql`${users.handle} NOT LIKE '%@%'`); const postResult = await db.select({ count: sql`count(*)` }).from(posts); const mediaResult = await db.select({ count: sql`count(*)` }) .from(media) diff --git a/src/lib/swarm/registry.ts b/src/lib/swarm/registry.ts index 707c4ff..64b4762 100644 --- a/src/lib/swarm/registry.ts +++ b/src/lib/swarm/registry.ts @@ -361,7 +361,8 @@ export async function getSwarmStats() { const publicNodes = allNodes.filter(n => isPublicSwarmDomain(n.domain)); const [localUsers, localPosts, localMedia] = await Promise.all([ - db.select({ count: sql`count(*)` }).from(users), + db.select({ count: sql`count(*)` }).from(users) + .where(sql`${users.handle} NOT LIKE '%@%'`), db.select({ count: sql`count(*)` }).from(posts), db.select({ count: sql`count(*)` }).from(media).where(isNotNull(media.postId)), ]);