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)