From 5920d00bb32750067b82d412e00c1083e8741f02 Mon Sep 17 00:00:00 2001 From: Sjors Provoost Date: Tue, 26 May 2026 10:55:28 +0200 Subject: [PATCH] Extract RelayPool seen-note recording Move the shared seen, count, and notification update into a note-id helper. This commit does not change behavior. Signed-off-by: Sjors Provoost --- damus/Core/Nostr/RelayPool.swift | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/damus/Core/Nostr/RelayPool.swift b/damus/Core/Nostr/RelayPool.swift index c82ce883..99101f4e 100644 --- a/damus/Core/Nostr/RelayPool.swift +++ b/damus/Core/Nostr/RelayPool.swift @@ -734,15 +734,21 @@ class RelayPool { } } + /// Records that a relay is known to have accepted or returned a note. + func record_seen(relay_id: RelayURL, note_id: NoteId) { + if seen[note_id]?.contains(relay_id) == true { + return + } + + seen[note_id, default: Set()].insert(relay_id) + counts[relay_id, default: 0] += 1 + notify(.update_stats(note_id: note_id)) + } + func record_seen(relay_id: RelayURL, event: NostrConnectionEvent) { if case .nostr_event(let ev) = event { if case .event(_, let nev) = ev { - if seen[nev.id]?.contains(relay_id) == true { - return - } - seen[nev.id, default: Set()].insert(relay_id) - counts[relay_id, default: 0] += 1 - notify(.update_stats(note_id: nev.id)) + record_seen(relay_id: relay_id, note_id: nev.id) } } }