diff --git a/src/components/ReqViewer.tsx b/src/components/ReqViewer.tsx index 6b4aa7a..e61496a 100644 --- a/src/components/ReqViewer.tsx +++ b/src/components/ReqViewer.tsx @@ -1056,33 +1056,46 @@ export default function ReqViewer({ // Find NIP-65 info for this relay (if using outbox) const nip65Info = reasoning?.find((r) => r.relay === url); - // Determine relay type - const relayType = relays - ? "explicit" - : nip65Info && !nip65Info.isFallback - ? "outbox" - : "fallback"; - - // Type indicator icon (smaller, on left) - const typeIcon = { - explicit: ( - - ), - outbox: ( - - ), - fallback: ( - - ), - }[relayType]; - return (
- {/* Type icon on left */} - {typeIcon} + {/* Left side: Inbox/Outbox indicators (if available) */} +
+ {nip65Info && nip65Info.readers.length > 0 && ( + + +
+ + + {nip65Info.readers.length} + +
+
+ + Inbox for {nip65Info.readers.length} author + {nip65Info.readers.length !== 1 ? "s" : ""} + +
+ )} + {nip65Info && nip65Info.writers.length > 0 && ( + + +
+ + + {nip65Info.writers.length} + +
+
+ + Outbox for {nip65Info.writers.length} author + {nip65Info.writers.length !== 1 ? "s" : ""} + +
+ )} +
{/* Relay URL */} )} - {/* NIP-65 inbox/outbox indicators (if available) */} - {nip65Info && nip65Info.readers.length > 0 && ( - - -
- - - {nip65Info.readers.length} - -
-
- - Inbox for {nip65Info.readers.length} author - {nip65Info.readers.length !== 1 ? "s" : ""} - -
- )} - {nip65Info && nip65Info.writers.length > 0 && ( - - -
- - - {nip65Info.writers.length} - -
-
- - Outbox for {nip65Info.writers.length} author - {nip65Info.writers.length !== 1 ? "s" : ""} - -
- )} - {/* Auth icon */} {authIcon && ( diff --git a/src/services/loaders.ts b/src/services/loaders.ts index a3010cb..9e485e3 100644 --- a/src/services/loaders.ts +++ b/src/services/loaders.ts @@ -52,11 +52,12 @@ function extractRelayContext(event: NostrEvent): { } // Aggregator relays for better event discovery +// IMPORTANT: URLs must be normalized (trailing slash, lowercase) to match RelayStateManager keys export const AGGREGATOR_RELAYS = [ - "wss://relay.nostr.band", - "wss://nos.lol", - "wss://purplepag.es", - "wss://relay.primal.net", + "wss://relay.nostr.band/", + "wss://nos.lol/", + "wss://purplepag.es/", + "wss://relay.primal.net/", ]; // Base event loader (used internally)