From 06e867b675467175a8dcba3f5890d7ff62ea00c8 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Mon, 13 Dec 2021 20:58:49 -0300 Subject: [PATCH] stop sending repeated REQs. --- package.json | 2 +- relay.js | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index a4cf875..eb4d076 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nostr-tools", - "version": "0.8.1", + "version": "0.9.0", "description": "Tools for making a Nostr client.", "repository": { "type": "git", diff --git a/relay.js b/relay.js index d7064db..f994a33 100644 --- a/relay.js +++ b/relay.js @@ -13,7 +13,7 @@ export function normalizeRelayURL(url) { export function relayConnect(url, onNotice) { url = normalizeRelayURL(url) - var ws, resolveOpen, untilOpen + var ws, resolveOpen, untilOpen, wasClosed var openSubs = {} let attemptNumber = 1 let nextAttemptSeconds = 1 @@ -34,10 +34,13 @@ export function relayConnect(url, onNotice) { resolveOpen() // restablish old subscriptions - for (let channel in openSubs) { - let filters = openSubs[channel] - let cb = channels[channel] - sub({cb, filter: filters}, channel) + if (wasClosed) { + wasClosed = false + for (let channel in openSubs) { + let filters = openSubs[channel] + let cb = channels[channel] + sub({cb, filter: filters}, channel) + } } } ws.onerror = () => { @@ -58,6 +61,8 @@ export function relayConnect(url, onNotice) { connect() } catch (err) {} }, nextAttemptSeconds * 1000) + + wasClosed = true } ws.onmessage = async e => {