Add note provenance filter support to SubscriptionManager

Closes: https://github.com/damus-io/damus/issues/3222
Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
This commit is contained in:
Daniel D’Aquino
2025-09-24 14:06:10 -07:00
parent ecbfb3714b
commit 1caad24364
6 changed files with 62 additions and 12 deletions
@@ -51,14 +51,10 @@ class SearchHomeModel: ObservableObject {
var follow_list_filter = NostrFilter(kinds: [.follow_list])
follow_list_filter.until = UInt32(Date.now.timeIntervalSince1970)
outerLoop: for await item in damus_state.nostrNetwork.reader.subscribe(filters: [get_base_filter(), follow_list_filter], to: to_relays) {
switch item {
case .event(let lender):
await lender.justUseACopy({ await self.handleEvent($0) })
case .eose:
break outerLoop
}
for await noteLender in damus_state.nostrNetwork.reader.streamNotesUntilEndOfStoredEvents(filters: [get_base_filter(), follow_list_filter], to: to_relays) {
await noteLender.justUseACopy({ await self.handleEvent($0) })
}
DispatchQueue.main.async {
self.loading = false
}