upleb.uk

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

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2025-08-04 08:31:44 +0100
committerDanConwayDev <DanConwayDev@protonmail.com>2025-08-04 08:31:44 +0100
commit8724af191f520a822214109f75a1851856c74fd2 (patch)
treeeb2577b3f333ebad15fb2d423c264017b280e153 /src
parent6ae42e67d9da36f6c2e1356acba30a3a62112bc7 (diff)
refactor: use rust-nostr `verify_subscriptions`
instead of `match_events` after receiving events
Diffstat (limited to 'src')
-rw-r--r--src/lib/client.rs26
1 files changed, 12 insertions, 14 deletions
diff --git a/src/lib/client.rs b/src/lib/client.rs
index b27f9b1..3fcfba4 100644
--- a/src/lib/client.rs
+++ b/src/lib/client.rs
@@ -32,7 +32,7 @@ use mockall::*;
32use nostr::{ 32use nostr::{
33 Event, 33 Event,
34 event::{TagKind, TagStandard, UnsignedEvent}, 34 event::{TagKind, TagStandard, UnsignedEvent},
35 filter::{Alphabet, MatchEventOptions}, 35 filter::Alphabet,
36 nips::{ 36 nips::{
37 nip01::Coordinate, 37 nip01::Coordinate,
38 nip05::{Nip05Address, Nip05Profile}, 38 nip05::{Nip05Address, Nip05Profile},
@@ -149,12 +149,20 @@ impl Connect for Client {
149 Client { 149 Client {
150 client: if let Some(keys) = opts.keys { 150 client: if let Some(keys) = opts.keys {
151 nostr_sdk::ClientBuilder::new() 151 nostr_sdk::ClientBuilder::new()
152 .opts(ClientOptions::new().relay_limits(RelayLimits::disable())) 152 .opts(
153 ClientOptions::new()
154 .relay_limits(RelayLimits::disable())
155 .verify_subscriptions(true),
156 )
153 .signer(keys) 157 .signer(keys)
154 .build() 158 .build()
155 } else { 159 } else {
156 nostr_sdk::ClientBuilder::new() 160 nostr_sdk::ClientBuilder::new()
157 .opts(ClientOptions::new().relay_limits(RelayLimits::disable())) 161 .opts(
162 ClientOptions::new()
163 .relay_limits(RelayLimits::disable())
164 .verify_subscriptions(true),
165 )
158 .build() 166 .build()
159 }, 167 },
160 relay_default_set: opts.relay_default_set, 168 relay_default_set: opts.relay_default_set,
@@ -606,17 +614,7 @@ impl Connect for Client {
606 fresh_profiles = HashSet::new(); 614 fresh_profiles = HashSet::new();
607 615
608 let relay = self.client.relay(&relay_url).await?; 616 let relay = self.client.relay(&relay_url).await?;
609 let events: Vec<nostr::Event> = get_events_of(&relay, filters.clone(), &None) 617 let events: Vec<nostr::Event> = get_events_of(&relay, filters.clone(), &None).await?;
610 .await?
611 .iter()
612 // don't process events that don't match filters
613 .filter(|e| {
614 filters
615 .iter()
616 .any(|f| f.match_event(e, MatchEventOptions::default()))
617 })
618 .cloned()
619 .collect();
620 // TODO: try reconcile 618 // TODO: try reconcile
621 619
622 process_fetched_events( 620 process_fetched_events(