From 4e49410b8be8ce8d29bdcad744890280abc178e7 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Mon, 24 Mar 2025 12:35:41 -0700 Subject: [PATCH] Fix sending nip46 signer pubkey on connect --- packages/app/package.json | 2 +- packages/app/src/thunk.ts | 4 ++-- packages/signer/package.json | 2 +- packages/signer/src/signers/nip46.ts | 9 +++++++-- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/app/package.json b/packages/app/package.json index d584758..be686de 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/app", - "version": "0.0.43", + "version": "0.0.44", "author": "hodlbod", "license": "MIT", "description": "A collection of svelte stores for use in building nostr client applications.", diff --git a/packages/app/src/thunk.ts b/packages/app/src/thunk.ts index 5244ec9..695b272 100644 --- a/packages/app/src/thunk.ts +++ b/packages/app/src/thunk.ts @@ -206,8 +206,8 @@ thunkWorker.addGlobalHandler((thunk: Thunk) => { try { event = await signer.sign(event) - } catch (e) { - return fail(String(e)) + } catch (e: any) { + return fail(String(e.error || e)) } } diff --git a/packages/signer/package.json b/packages/signer/package.json index 680c613..2a9cab0 100644 --- a/packages/signer/package.json +++ b/packages/signer/package.json @@ -1,6 +1,6 @@ { "name": "@welshman/signer", - "version": "0.1.0", + "version": "0.1.1", "author": "hodlbod", "license": "MIT", "description": "A nostr signer implemenation supporting several login methods.", diff --git a/packages/signer/src/signers/nip46.ts b/packages/signer/src/signers/nip46.ts index db2a1fb..b411be8 100644 --- a/packages/signer/src/signers/nip46.ts +++ b/packages/signer/src/signers/nip46.ts @@ -433,8 +433,13 @@ export class Nip46Broker extends Emitter { createAccount = (username: string, domain: string, perms = "") => this.send("create_account", [username, domain, "", perms]) - connect = async (connectSecret = "", perms = "") => - this.send("connect", [await this.signer.getPubkey(), connectSecret, perms]) + connect = async (connectSecret = "", perms = "") => { + if (!this.params.signerPubkey) { + throw new Error("Attempted to `connect` with no signerPubkey") + } + + return this.send("connect", [this.params.signerPubkey, connectSecret, perms]) + } signEvent = async (event: StampedEvent) => JSON.parse(await this.send("sign_event", [JSON.stringify(event)]))