diff --git a/src/components/RelayStatusIndicator.tsx b/src/components/RelayStatusIndicator.tsx index 80f271ff..57520066 100644 --- a/src/components/RelayStatusIndicator.tsx +++ b/src/components/RelayStatusIndicator.tsx @@ -10,7 +10,8 @@ interface RelayStatusIndicatorProps { } export const RelayStatusIndicator: React.FC = ({ relayPool }) => { - const relayStatuses = useRelayStatus({ relayPool, pollingInterval: 3000 }) + // Poll frequently for responsive local-only detection + const relayStatuses = useRelayStatus({ relayPool, pollingInterval: 2000 }) if (!relayPool) return null diff --git a/src/components/Settings.tsx b/src/components/Settings.tsx index 48edcbbb..6bb5c818 100644 --- a/src/components/Settings.tsx +++ b/src/components/Settings.tsx @@ -57,7 +57,8 @@ const Settings: React.FC = ({ settings, onSave, onClose, relayPoo const saveTimeoutRef = useRef(null) const isLocallyUpdating = useRef(false) - const relayStatuses = useRelayStatus({ relayPool }) + // Poll more frequently in settings for responsive status updates + const relayStatuses = useRelayStatus({ relayPool, pollingInterval: 2000 }) useEffect(() => { // Don't update from external settings if we're currently making local changes diff --git a/src/components/Settings/RelaySettings.tsx b/src/components/Settings/RelaySettings.tsx index 1a8ac906..f71f1597 100644 --- a/src/components/Settings/RelaySettings.tsx +++ b/src/components/Settings/RelaySettings.tsx @@ -103,12 +103,12 @@ const RelaySettings: React.FC = ({ relayStatuses, onClose })

- Recently Seen + Offline

{recentRelays.map((relay) => ( @@ -129,7 +129,7 @@ const RelaySettings: React.FC = ({ relayStatuses, onClose }) diff --git a/src/services/relayStatusService.ts b/src/services/relayStatusService.ts index c2c1daaa..f41a5323 100644 --- a/src/services/relayStatusService.ts +++ b/src/services/relayStatusService.ts @@ -6,7 +6,8 @@ export interface RelayStatus { lastSeen: number // timestamp } -const RECENT_CONNECTION_WINDOW = 20 * 60 * 1000 // 20 minutes +// How long to show disconnected relays as "recently seen" before hiding them +const RECENT_CONNECTION_WINDOW = 10 * 1000 // 10 seconds // In-memory tracking of relay last seen times const relayLastSeen = new Map()