From 9edef3b8bbcb7522d414fa127812a5c1fdeb0257 Mon Sep 17 00:00:00 2001 From: pavanjoshi914 Date: Fri, 6 Sep 2024 14:05:05 +0530 Subject: [PATCH 1/2] fix: pubkey prompt triggering even if reasonable permissions set --- .../background-script/actions/nostr/enable.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/extension/background-script/actions/nostr/enable.ts b/src/extension/background-script/actions/nostr/enable.ts index 65ca3dfab9..747ce5e005 100644 --- a/src/extension/background-script/actions/nostr/enable.ts +++ b/src/extension/background-script/actions/nostr/enable.ts @@ -130,14 +130,16 @@ const enable = async (message: MessageAllowanceEnable, sender: Sender) => { EventKind.UploadChunk, EventKind.RemoteSign, ]; - - reasonableEventKindIds.forEach(async (kindId) => { - await addPermissionFor( - PermissionMethodNostr.NOSTR_SIGNMESSAGE + "/" + kindId, - host, - false - ); - }); + // when addding multiple permissions at once, the flow shall wait until all asynchronous addPermissionFor calls are completed. + await Promise.all( + reasonableEventKindIds.map(async (kindId) => { + await addPermissionFor( + PermissionMethodNostr.NOSTR_SIGNMESSAGE + "/" + kindId, + host, + false + ); + }) + ); } else if (response.data.preset === NostrPermissionPreset.TRUST_FULLY) { Object.values(PermissionMethodNostr).forEach(async (permission) => { await addPermissionFor(permission, host, false); From d1abf5ec79a1b1fcc57e5f94ccb3bb5d8546eb9b Mon Sep 17 00:00:00 2001 From: pavanjoshi914 Date: Fri, 6 Sep 2024 14:28:22 +0530 Subject: [PATCH 2/2] fix: remove await --- src/extension/background-script/actions/nostr/enable.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/extension/background-script/actions/nostr/enable.ts b/src/extension/background-script/actions/nostr/enable.ts index 747ce5e005..7f543c0df0 100644 --- a/src/extension/background-script/actions/nostr/enable.ts +++ b/src/extension/background-script/actions/nostr/enable.ts @@ -132,8 +132,8 @@ const enable = async (message: MessageAllowanceEnable, sender: Sender) => { ]; // when addding multiple permissions at once, the flow shall wait until all asynchronous addPermissionFor calls are completed. await Promise.all( - reasonableEventKindIds.map(async (kindId) => { - await addPermissionFor( + reasonableEventKindIds.map((kindId) => { + addPermissionFor( PermissionMethodNostr.NOSTR_SIGNMESSAGE + "/" + kindId, host, false