From d3d120cd7c0fafbe229a69d72db1db02f183fb48 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Sat, 22 May 2021 22:14:25 -0300 Subject: [PATCH] fix some important bugs so it is actually usable. --- package.json | 2 +- pool.js | 7 +++++-- relay.js | 6 +++++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 01380c4..6f442da 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nostr-tools", - "version": "0.4.4", + "version": "0.4.5", "description": "Tools for making a Nostr client.", "main": "index.js", "repository": { diff --git a/pool.js b/pool.js index eaf0e9e..e9baf24 100644 --- a/pool.js +++ b/pool.js @@ -25,11 +25,14 @@ export function relayPool(globalPrivateKey) { ]) ) + const activeCallback = cb + const activeFilters = filter + activeSubscriptions[id] = { - sub: ({cb = cb, filter = filter}) => + sub: ({cb = activeCallback, filter = activeFilters}) => Object.entries(subControllers).map(([relayURL, sub]) => [ relayURL, - sub({cb, filter}, id) + sub.sub({cb, filter}, id) ]), addRelay: relay => { subControllers[relay.url] = relay.sub({cb, filter}) diff --git a/relay.js b/relay.js index 4397709..947eb44 100644 --- a/relay.js +++ b/relay.js @@ -118,8 +118,12 @@ export function relayConnect(url, onNotice) { channels[channel] = cb openSubs[channel] = filters + const activeCallback = cb + const activeFilters = filters + return { - sub: ({cb = cb, filter = filter}) => sub({cb, filter}, channel), + sub: ({cb = activeCallback, filter = activeFilters}) => + sub({cb, filter}, channel), unsub: () => { delete openSubs[channel] delete channels[channel]