notecrumbs

a nostr opengraph server build on nostrdb and egui
git clone git://jb55.com/notecrumbs
Log | Files | Refs | README | LICENSE

commit dc96799a585f06207e3bbccc5bce1de7aa473893
parent 79fb35e9e376e76bdc57ee4cd78d3e4c1cc41a31
Author: William Casarin <jb55@jb55.com>
Date:   Tue, 31 Dec 2024 09:58:45 -0800

render: don't wait longer than we need to

Diffstat:
Msrc/render.rs | 8++++++++
1 file changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/render.rs b/src/render.rs @@ -251,6 +251,7 @@ pub async fn find_note( let _ = client.add_relay("wss://relay.damus.io").await; let _ = client.add_relay("wss://nostr.wine").await; let _ = client.add_relay("wss://nos.lol").await; + let expected_events = filters.len(); let other_relays = nip19::nip19_relays(nip19); for relay in other_relays { @@ -267,11 +268,18 @@ pub async fn find_note( .stream_events(filters, Some(std::time::Duration::from_millis(2000))) .await?; + let mut num_loops = 0; while let Some(event) = streamed_events.next().await { debug!("processing event {:?}", event); if let Err(err) = ndb.process_event(&event.as_json()) { error!("error processing event: {err}"); } + + num_loops += 1; + + if num_loops == expected_events { + break; + } } Ok(())