From eef349f1e9aa19d3b1dd80489531f69361b1e55f Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Tue, 14 May 2024 15:05:59 -0500 Subject: [PATCH] Update stats before storing event --- src/pipeline.ts | 6 ++---- src/stats.ts | 18 ++++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/pipeline.ts b/src/pipeline.ts index b3eea25..25cadb5 100644 --- a/src/pipeline.ts +++ b/src/pipeline.ts @@ -107,10 +107,8 @@ async function storeEvent(event: DittoEvent, signal?: AbortSignal): Promise[] = []; // Kind 3 is a special case - replace the count with the new list. if (event.kind === 3) { - prev = await maybeGetPrev(event); + prev = await getPrevEvent(event); if (!prev || event.created_at >= prev.created_at) { queries.push(updateFollowingCountQuery(event)); } @@ -153,12 +153,14 @@ function eventStatsQuery(diffs: EventStatDiff[]) { } /** Get the last version of the event, if any. */ -async function maybeGetPrev(event: NostrEvent): Promise { - const [prev] = await Storages.db.query([ - { kinds: [event.kind], authors: [event.pubkey], limit: 1 }, - ]); +async function getPrevEvent(event: NostrEvent): Promise { + if (NKinds.replaceable(event.kind) || NKinds.parameterizedReplaceable(event.kind)) { + const [prev] = await Storages.db.query([ + { kinds: [event.kind], authors: [event.pubkey], limit: 1 }, + ]); - return prev; + return prev; + } } /** Set the following count to the total number of unique "p" tags in the follow list. */