From 2fb25da9d6d4c77caed557dcb97ec32e1b5b963f Mon Sep 17 00:00:00 2001 From: Gigi Date: Fri, 17 Oct 2025 21:39:15 +0200 Subject: [PATCH] fix: detect and decrypt NIP-04 encrypted bookmark content Added explicit NIP-04 detection in bookmarkProcessing.ts: - Check for ?iv= in content (NIP-04 format) - Previously only checked Helpers.hasHiddenContent() (NIP-44 only) - Now decrypts both NIP-04 and NIP-44 encrypted bookmarks This fixes individual bookmark decryption returning 0 private items despite having encrypted content. --- src/services/bookmarkProcessing.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/services/bookmarkProcessing.ts b/src/services/bookmarkProcessing.ts index a11e86a6..195b3435 100644 --- a/src/services/bookmarkProcessing.ts +++ b/src/services/bookmarkProcessing.ts @@ -166,7 +166,15 @@ export async function collectBookmarksFromEvents( ) // Schedule decrypt if needed - if (signerCandidate && ((Helpers.hasHiddenTags(evt) && !Helpers.isHiddenTagsUnlocked(evt)) || Helpers.hasHiddenContent(evt))) { + // Check for NIP-44 (Helpers.hasHiddenContent), NIP-04 (?iv= in content), or encrypted tags + const hasNip04Content = evt.content && evt.content.includes('?iv=') + const needsDecrypt = signerCandidate && ( + (Helpers.hasHiddenTags(evt) && !Helpers.isHiddenTagsUnlocked(evt)) || + Helpers.hasHiddenContent(evt) || + hasNip04Content + ) + + if (needsDecrypt) { decryptJobs.push({ evt, metadata }) } else { // Check for already-unlocked hidden bookmarks