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