From c21100ad4868cbe03124b61c411394a7ae2d078c Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 27 May 2026 17:34:00 +0530 Subject: Fix discovery: use separate client with only index relays fetch_events_from requires relays in pool; use dedicated client with only working relays and fetch_events for reliable queries. --- src/discovery.rs | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/discovery.rs b/src/discovery.rs index fa2a198..a5d578c 100644 --- a/src/discovery.rs +++ b/src/discovery.rs @@ -18,13 +18,14 @@ pub async fn discover_repos_from_relays( client: &nostr_sdk::Client, npubs: &[PublicKey], index_relays: &[String], - all_relay_urls: &[String], + _all_relay_urls: &[String], ) -> Result> { - for url in all_relay_urls { - let _ = client.add_relay(url).await; + let discovery_client = nostr_sdk::Client::default(); + for url in index_relays { + discovery_client.add_relay(url).await?; } - client.connect().await; - client + discovery_client.connect().await; + discovery_client .wait_for_connection(std::time::Duration::from_secs(5)) .await; @@ -36,8 +37,8 @@ pub async fn discover_repos_from_relays( .author(*pk) .limit(50); - let events = client - .fetch_events_from(index_relays, filter, std::time::Duration::from_secs(30)) + let events = discovery_client + .fetch_events(filter, std::time::Duration::from_secs(30)) .await .context("failed to fetch events from relays")?; -- cgit v1.2.3