Handle NIP-44 decryptor DM errors

This commit is contained in:
thePR0M3TH3AN committed 2026-01-30 10:32:40 -05:00
1 parent 6d6407d5a6
commit 25ac2a2c6b
1 file changed
+24
+24
View File
@@ -5212,6 +5212,15 @@ export class ProfileModalController {
const error = detail?.error || detail?.failure || detail;
const reason = detail?.context?.reason || "";
const errorCode = error?.code || "";
const errorMessage =
typeof error === "string"
? error
: typeof error?.message === "string"
? error.message
: "";
const requiresNip44Decryptor =
typeof errorMessage === "string" &&
errorMessage.includes("Gift wrap events require a NIP-44 decryptor");
const isBenign =
reason === "no-decryptors" ||
@@ -5231,6 +5240,21 @@ export class ProfileModalController {
return;
}
if (requiresNip44Decryptor) {
const nip44Message =
"NIP-17 direct messages require a NIP-44-capable signer or extension. Unlock or update your extension to continue.";
if (!this.directMessagesCache.length) {
this.setMessagesLoadingState("error", {
message: nip44Message,
});
return;
}
this.setMessagesAnnouncement(nip44Message);
this.updateMessagesReloadState();
return;
}
if (!this.directMessagesCache.length) {
this.setMessagesLoadingState("error", {
message: "Unable to sync direct messages right now.",