From 134692e5a18e9d0d38d8a99e8bf8c2be28ebb0f2 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Mon, 2 Dec 2024 15:49:55 -0800 Subject: [PATCH] Small tweaks to subscriptions --- packages/app/src/core.ts | 8 ++++---- packages/net/src/Subscribe.ts | 5 ----- packages/signer/src/signers/nip46.ts | 16 ++++++++-------- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/packages/app/src/core.ts b/packages/app/src/core.ts index ffc985a..f309bb1 100644 --- a/packages/app/src/core.ts +++ b/packages/app/src/core.ts @@ -1,7 +1,7 @@ import {ctx, isNil} from "@welshman/lib" import {Repository, Relay, LOCAL_RELAY_URL, getFilterResultCardinality} from "@welshman/util" import type {TrustedEvent, Filter} from "@welshman/util" -import {Tracker, subscribe as baseSubscribe} from "@welshman/net" +import {Tracker, subscribe as baseSubscribe, SubscriptionEvent} from "@welshman/net" import type {SubscribeRequestWithHandlers} from "@welshman/net" import {custom} from "@welshman/store" @@ -68,7 +68,7 @@ export const subscribe = (request: PartialSubscribeRequest) => { // Keep cached results async so the caller can set up handlers setTimeout(() => { for (const event of events) { - sub.emitter.emit("event", LOCAL_RELAY_URL, event) + sub.emitter.emit(SubscriptionEvent.Event, LOCAL_RELAY_URL, event) } }) @@ -80,6 +80,6 @@ export const load = (request: PartialSubscribeRequest) => const sub = subscribe({closeOnEose: true, timeout: ctx.app.requestTimeout, ...request}) const events: TrustedEvent[] = [] - sub.emitter.on("event", (url: string, e: TrustedEvent) => events.push(e)) - sub.emitter.on("complete", () => resolve(events)) + sub.emitter.on(SubscriptionEvent.Event, (url: string, e: TrustedEvent) => events.push(e)) + sub.emitter.on(SubscriptionEvent.Complete, () => resolve(events)) }) diff --git a/packages/net/src/Subscribe.ts b/packages/net/src/Subscribe.ts index de85743..e1d41ee 100644 --- a/packages/net/src/Subscribe.ts +++ b/packages/net/src/Subscribe.ts @@ -223,14 +223,9 @@ const _executeSubscription = (sub: Subscription) => { const executor = ctx.net.getExecutor(relays) const subs: {unsubscribe: () => void}[] = [] const completedRelays = new Set() - const events: TrustedEvent[] = [] // Hook up our events - emitter.on(SubscriptionEvent.Event, (url: string, event: TrustedEvent) => { - events.push(event) - }) - emitter.on(SubscriptionEvent.Eose, (url: string) => { completedRelays.add(url) diff --git a/packages/signer/src/signers/nip46.ts b/packages/signer/src/signers/nip46.ts index 5570ba2..cafc46c 100644 --- a/packages/signer/src/signers/nip46.ts +++ b/packages/signer/src/signers/nip46.ts @@ -196,16 +196,16 @@ export class Nip46Request { } if (response.result === "auth_url") { - return popupManager.open(response.error!) - } - - if (response.error) { - this.promise.reject(response as Nip46ResponseWithError) + popupManager.open(response.error!) } else { - this.promise.resolve(response as Nip46ResponseWithResult) - } + if (response.error) { + this.promise.reject(response as Nip46ResponseWithError) + } else { + this.promise.resolve(response as Nip46ResponseWithResult) + } - receiver.off(Nip46Event.Receive, onReceive) + receiver.off(Nip46Event.Receive, onReceive) + } } receiver.on(Nip46Event.Receive, onReceive)