diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2025-08-04 08:31:44 +0100 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2025-08-04 08:31:44 +0100 |
| commit | 8724af191f520a822214109f75a1851856c74fd2 (patch) | |
| tree | eb2577b3f333ebad15fb2d423c264017b280e153 /src/lib | |
| parent | 6ae42e67d9da36f6c2e1356acba30a3a62112bc7 (diff) | |
refactor: use rust-nostr `verify_subscriptions`
instead of `match_events` after receiving events
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/client.rs | 26 |
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::*; | |||
| 32 | use nostr::{ | 32 | use 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( |