From f5b83c28c63fa1e9a5ff5e82782967e6bb9cfa96 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 May 2026 17:29:28 +0530 Subject: Fix discovery: use fetch_events_from with index_relays only The nostr-sdk pool fetch_events returns empty when most relays are dead. Target only the known-working index relays for discovery queries. --- src/discovery.rs | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'src/discovery.rs') diff --git a/src/discovery.rs b/src/discovery.rs index 430509d..fa2a198 100644 --- a/src/discovery.rs +++ b/src/discovery.rs @@ -17,16 +17,13 @@ pub struct DiscoveredRepo { pub async fn discover_repos_from_relays( client: &nostr_sdk::Client, npubs: &[PublicKey], - relay_urls: &[String], + index_relays: &[String], + all_relay_urls: &[String], ) -> Result> { - for url in relay_urls { - if let Err(e) = client.add_relay(url).await { - tracing::warn!(relay = %url, error = %e, "failed to add relay"); - continue; - } + for url in all_relay_urls { + let _ = client.add_relay(url).await; } client.connect().await; - client .wait_for_connection(std::time::Duration::from_secs(5)) .await; @@ -40,7 +37,7 @@ pub async fn discover_repos_from_relays( .limit(50); let events = client - .fetch_events(filter, std::time::Duration::from_secs(30)) + .fetch_events_from(index_relays, filter, std::time::Duration::from_secs(30)) .await .context("failed to fetch events from relays")?; -- cgit v1.2.3