From d38978f446c378d27a5ba3df51b0b1c6f3709973 Mon Sep 17 00:00:00 2001 From: padreug Date: Mon, 4 Aug 2025 08:49:28 +0200 Subject: [PATCH] feat: Prevent duplicate event processing in useMarket composable - Introduce a Set to track processed event IDs, ensuring that each event is handled only once. - Update event handling logic to skip already processed events, improving efficiency and data integrity. --- src/composables/useMarket.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/composables/useMarket.ts b/src/composables/useMarket.ts index f20da0b..ecc7785 100644 --- a/src/composables/useMarket.ts +++ b/src/composables/useMarket.ts @@ -19,6 +19,9 @@ export function useMarket() { const isLoading = ref(false) const isConnected = ref(false) + // Track processed event IDs to prevent duplicates (like nostr-market-app) + const processedEventIds = new Set() + // Market loading state const loadMarket = async (naddr: string) => { try { @@ -403,6 +406,10 @@ export function useMarket() { } const handleMarketEvent = (event: any) => { + // Skip if already processed + if (processedEventIds.has(event.id)) return + processedEventIds.add(event.id) + try { switch (event.kind) { case MARKET_EVENT_KINDS.STALL: