diff --git a/packages/web/src/components/modals/instanceSettingsPanels/FederationPanel.tsx b/packages/web/src/components/modals/instanceSettingsPanels/FederationPanel.tsx index bf313a8d..1edfdaf4 100644 --- a/packages/web/src/components/modals/instanceSettingsPanels/FederationPanel.tsx +++ b/packages/web/src/components/modals/instanceSettingsPanels/FederationPanel.tsx @@ -693,16 +693,44 @@ function PendingApprovals({ onCountChange }: { onCountChange?: (count: number) =
Loading...
)} {requests.map((req) => { - const name = req.instanceName || new URL(req.origin).host; + const isOutbound = req.direction === 'outbound'; + let name = req.instanceName || ''; + if (!name) { + try { + name = new URL(req.origin).host; + } catch { + name = req.origin; + } + } + const subCount = req.subscribers?.length ?? 0; + const titleText = isOutbound + ? `${name} — ${subCount} ${subCount === 1 ? 'user wants' : 'users want'} us to peer` + : name; return (
-
{name}
+
{titleText}
{req.origin}
Requested {formatRelativeTime(req.requestedAt)}
+ {isOutbound && req.subscribers && req.subscribers.length > 0 && ( +
+ {req.subscribers.map((sub) => ( +
+ {sub.username} + {' — '} + {sub.triggerReason === 'friend_add' && `friend-add to ${sub.triggerTarget}`} + {sub.triggerReason === 'space_join' && `wants to join ${sub.triggerTarget}`} + {sub.triggerReason === 'direct_message' && `wants to DM ${sub.triggerTarget}`} +
+ ))} +
+ )}
); }