upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/client.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/client.rs b/src/client.rs
index 2dbd238..6628de6 100644
--- a/src/client.rs
+++ b/src/client.rs
@@ -12,7 +12,7 @@
12// want to inadvertlty use other features of nightly that might be removed. 12// want to inadvertlty use other features of nightly that might be removed.
13use std::{fmt::Write, time::Duration}; 13use std::{fmt::Write, time::Duration};
14 14
15use anyhow::{Context, Result}; 15use anyhow::{bail, Context, Result};
16use async_trait::async_trait; 16use async_trait::async_trait;
17use futures::stream::{self, StreamExt}; 17use futures::stream::{self, StreamExt};
18use indicatif::{MultiProgress, ProgressBar, ProgressState, ProgressStyle}; 18use indicatif::{MultiProgress, ProgressBar, ProgressState, ProgressStyle};
@@ -240,7 +240,7 @@ impl Connect for Client {
240 } 240 }
241} 241}
242 242
243static GET_EVENTS_TIMEOUT: u64 = 10; 243static GET_EVENTS_TIMEOUT: u64 = 6;
244 244
245async fn get_events_of( 245async fn get_events_of(
246 relay: &nostr_sdk::Relay, 246 relay: &nostr_sdk::Relay,
@@ -249,10 +249,14 @@ async fn get_events_of(
249) -> Result<Vec<Event>> { 249) -> Result<Vec<Event>> {
250 if !relay.is_connected().await { 250 if !relay.is_connected().await {
251 #[allow(clippy::large_futures)] 251 #[allow(clippy::large_futures)]
252 relay.connect(None).await; 252 relay
253 .connect(Some(std::time::Duration::from_secs(GET_EVENTS_TIMEOUT)))
254 .await;
253 } 255 }
254 256
255 if let Some(pb) = pb { 257 if !relay.is_connected().await {
258 bail!("connection timeout");
259 } else if let Some(pb) = pb {
256 pb.set_prefix(format!("connected {}", relay.url())); 260 pb.set_prefix(format!("connected {}", relay.url()));
257 } 261 }
258 let events = relay 262 let events = relay