From 6a646b32400f45ebbd026d924961cb12057c3761 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Tue, 19 Nov 2024 10:24:45 -0800 Subject: [PATCH] Avoid attempting to unwrap the same event multiple times in a single page load --- src/app/state.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/app/state.ts b/src/app/state.ts index 710fca990..f8f664eb0 100644 --- a/src/app/state.ts +++ b/src/app/state.ts @@ -161,6 +161,8 @@ export const getDefaultPubkeys = () => { return userPubkeys.length > 5 ? userPubkeys : [...userPubkeys, ...appPubkeys] } +const failedUnwraps = new Set() + export const ensureUnwrapped = async (event: TrustedEvent) => { if (event.kind !== WRAP) { return event @@ -168,7 +170,7 @@ export const ensureUnwrapped = async (event: TrustedEvent) => { let rumor = repository.eventsByWrap.get(event.id) - if (rumor) { + if (rumor || failedUnwraps.has(event.id)) { return rumor } @@ -192,6 +194,8 @@ export const ensureUnwrapped = async (event: TrustedEvent) => { // Send the rumor via our relay so listeners get updated relay.send("EVENT", rumor) + } else { + failedUnwraps.add(event.id) } return rumor