From dbca79c616ec2fec6bae94fb33587b84e1a66055 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 23 Jan 2025 20:39:51 -0800 Subject: fix nostr connect --- src/components/Nostr.svelte | 27 ++++++++++++--------------- src/lib/nostr.ts | 11 ++++++++--- 2 files changed, 20 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/components/Nostr.svelte b/src/components/Nostr.svelte index a4f20d23..5a97473c 100644 --- a/src/components/Nostr.svelte +++ b/src/components/Nostr.svelte @@ -12,6 +12,7 @@ generateSecretKey, getPublicKey, } from "nostr-tools"; + import { getConversationKey, decrypt } from "nostr-tools/nip44"; import { AmberClipboardSigner } from "applesauce-signer"; import { copy, focus, fail, post } from "$lib/utils"; @@ -52,10 +53,17 @@ async onevent(event) { let pk = event.pubkey; try { - let { result } = JSON.parse( - await nip04.decrypt(sk, pk, event.content), - ); - if (result === connectionSecret) { + let result; + try { + ({ result } = JSON.parse( + await nip04.decrypt(sk, pk, event.content), + )); + } catch (e) { + let ck = await getConversationKey(sk, pk); + ({ result } = JSON.parse(await decrypt(event.content, ck))); + } + + if (result === connectionSecret || result === "ack") { $signer = { method: "connect", params: { @@ -156,17 +164,6 @@ {/if} - {#if $signer?.method === "signer"} - - -
NIP-55 Signer
-
- {/if} - {#if !$signer} {#if extensionAvailable}