BackgroundRelayDiscovery.tsx raw
1 import { useNostr } from '@/providers/NostrProvider'
2 import relayDiscoveryService from '@/services/relay-discovery.service'
3 import { useEffect } from 'react'
4
5 /**
6 * Background relay discovery component.
7 * Automatically runs relay discovery after app initialization completes,
8 * if no valid cached result exists. This ensures the discovered relay list
9 * is populated for use as fallback relays and progressive event querying.
10 */
11 export default function BackgroundRelayDiscovery() {
12 const { isInitialized } = useNostr()
13
14 useEffect(() => {
15 if (!isInitialized) return
16
17 // Delay to let initial feed loading and relay connections settle first
18 const timer = setTimeout(() => {
19 relayDiscoveryService.discoverIfNeeded()
20 }, 15000)
21
22 return () => clearTimeout(timer)
23 }, [isInitialized])
24
25 return null
26 }
27