Merge pull request #1980 from PR0M3TH3AN/codex/clarify-dm-errors-for-missing-nip-44-support

Handle NIP-44 decryptor errors in DM panel
This commit is contained in:
thePR0M3TH3AN authored and GitHub committed 2026-01-30 10:32:55 -05:00
commit 368bc2d63d
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.",