Skip to content

Commit 506d54e

Browse files
committed
Add workaround to stop saving duplicate events
1 parent 3fef09d commit 506d54e

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

archive.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ func archiveEvent(ctx context.Context, relay *khatru.Relay, event nostr.Event) {
7777
if acceptedEvent(event) {
7878
addEventToRootList(event)
7979
fetchQuotedEvents(event)
80-
wdb.Publish(ctx, event)
80+
saveEvent(ctx, event)
8181
relay.BroadcastEvent(&event)
8282
trustedNotes++
8383
} else {

main.go

+15-2
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ func fetchConversation(event nostr.Event) {
340340
}
341341

342342
for ev := range pool.SubMany(timeout, append([]string{eventRelay}, seedRelays...), filters) {
343-
wdb.Publish(ctx, *ev.Event)
343+
saveEvent(ctx, *ev.Event)
344344
go fetchQuotedEvents(*ev.Event)
345345
}
346346
}()
@@ -384,7 +384,7 @@ func fetchQuotedEvents(event nostr.Event) {
384384
}
385385

386386
for ev := range pool.SubManyEose(timeout, append(quoteRelays, seedRelays...), filters) {
387-
wdb.Publish(ctx, *ev.Event)
387+
saveEvent(ctx, *ev.Event)
388388
}
389389
}()
390390

@@ -443,3 +443,16 @@ func addEventToRootList(event nostr.Event) {
443443
}
444444
rootNotesList.Add(rootReferenceValue)
445445
}
446+
447+
func saveEvent(ctx context.Context, event nostr.Event) bool {
448+
filter := nostr.Filter{IDs: []string{event.ID}}
449+
eventChan, err := wdb.QueryEvents(ctx, filter)
450+
if err != nil {
451+
return false
452+
}
453+
for range eventChan {
454+
return true
455+
}
456+
wdb.Publish(ctx, event)
457+
return true
458+
}

wot.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func refreshProfiles(ctx context.Context) {
4848
}}
4949

5050
for ev := range pool.SubManyEose(timeout, seedRelays, filters) {
51-
wdb.Publish(ctx, *ev.Event)
51+
relay.AddEvent(ctx, ev.Event)
5252
}
5353
}
5454
log.Println("👤 WoT: profiles refreshed: ", len(trustNetwork))
@@ -98,7 +98,7 @@ func refreshTrustNetwork(ctx context.Context, relay *khatru.Relay) {
9898
}
9999

100100
if ev.Event.Kind == nostr.KindProfileMetadata {
101-
wdb.Publish(ctx, *ev.Event)
101+
relay.AddEvent(ctx, ev.Event)
102102
}
103103
}
104104
}

0 commit comments

Comments
 (0)