From 9c38ce510551ba9fff45bebd6c3371734be342dd Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Mon, 2 Feb 2026 14:20:28 +0000 Subject: [PATCH] Fix resource contention between Block List decryption and View Counter signing Co-authored-by: PR0M3TH3AN <53631862+PR0M3TH3AN@users.noreply.github.com> --- js/nostr/adapters/nip07Adapter.js | 8 ++++++-- js/userBlocks.js | 8 ++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/js/nostr/adapters/nip07Adapter.js b/js/nostr/adapters/nip07Adapter.js index 37bf5068..ab3a3226 100644 --- a/js/nostr/adapters/nip07Adapter.js +++ b/js/nostr/adapters/nip07Adapter.js @@ -1,7 +1,7 @@ // js/nostr/adapters/nip07Adapter.js import { normalizeActorKey } from "../watchHistory.js"; -import { runNip07WithRetry } from "../nip07Permissions.js"; +import { runNip07WithRetry, NIP07_PRIORITY } from "../nip07Permissions.js"; async function retryNip07Call(operation, label, priority) { let lastError = null; @@ -196,7 +196,11 @@ export async function createNip07Adapter(initialExtension, { preloadedPubkey } = if (typeof ext?.signEvent !== "function") { throw new Error("NIP-07 extension missing signEvent."); } - return retryNip07Call(() => ext.signEvent(event), "extension.signEvent"); + return retryNip07Call( + () => ext.signEvent(event), + "extension.signEvent", + NIP07_PRIORITY.HIGH, + ); }, requestPermissions, destroy: async () => {}, diff --git a/js/userBlocks.js b/js/userBlocks.js index 48daef32..1e3b9730 100644 --- a/js/userBlocks.js +++ b/js/userBlocks.js @@ -1041,7 +1041,7 @@ class UserBlockListManager { "nip44", (payload) => signer.nip44Decrypt(normalized, payload, { - priority: NIP07_PRIORITY.HIGH, + priority: NIP07_PRIORITY.LOW, }), "active-signer", ); @@ -1049,7 +1049,7 @@ class UserBlockListManager { "nip44_v2", (payload) => signer.nip44Decrypt(normalized, payload, { - priority: NIP07_PRIORITY.HIGH, + priority: NIP07_PRIORITY.LOW, }), "active-signer", ); @@ -1060,7 +1060,7 @@ class UserBlockListManager { "nip04", (payload) => signer.nip04Decrypt(normalized, payload, { - priority: NIP07_PRIORITY.HIGH, + priority: NIP07_PRIORITY.LOW, }), "active-signer", ); @@ -1068,7 +1068,7 @@ class UserBlockListManager { const nostrApi = typeof window !== "undefined" ? window?.nostr : null; const decrypterOptions = { - priority: NIP07_PRIORITY.HIGH, + priority: NIP07_PRIORITY.LOW, timeoutMs: nip07DecryptTimeoutMs, retryMultiplier: 1, };