Socket
Socket
Sign inDemoInstall

nostr-tools

Package Overview
Dependencies
Maintainers
1
Versions
142
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

nostr-tools - npm Package Compare versions

Comparing version 0.4.2 to 0.4.3

2

package.json
{
"name": "nostr-tools",
"version": "0.4.2",
"version": "0.4.3",
"description": "Tools for making a Nostr client.",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -16,9 +16,10 @@ import 'websocket-polyfill'

var ws, resolveOpen, untilOpen, rejectOpen
var ws, resolveOpen, untilOpen
var openSubs = {}
let attemptNumber = 1
let nextAttemptSeconds = 1
function resetOpenState() {
untilOpen = new Promise((resolve, reject) => {
untilOpen = new Promise(resolve => {
resolveOpen = resolve
rejectOpen = reject
})

@@ -35,6 +36,12 @@ }

resolveOpen()
// restablish old subscriptions
for (let channel in openSubs) {
let filters = openSubs[channel]
let cb = channels[channel]
sub({cb, filter: filters}, channel)
}
}
ws.onerror = err => {
console.log('error connecting to relay', url, err)
rejectOpen()
ws.onerror = () => {
console.log('error connecting to relay', url)
}

@@ -44,4 +51,5 @@ ws.onclose = () => {

attemptNumber++
nextAttemptSeconds += attemptNumber
console.log(
`relay ${url} connection closed. reconnecting in ${attemptNumber} seconds.`
`relay ${url} connection closed. reconnecting in ${nextAttemptSeconds} seconds.`
)

@@ -52,3 +60,3 @@ setTimeout(async () => {

} catch (err) {}
}, attemptNumber * 1000)
}, nextAttemptSeconds * 1000)
}

@@ -101,12 +109,4 @@

if (ws && ws.readyState === WebSocket.OPEN) {
ws.send(msg)
} else {
try {
await untilOpen
ws.send(msg)
} catch (e) {
console.log(`waiting to connect to ${url}`)
}
}
await untilOpen
ws.send(msg)
}

@@ -124,6 +124,11 @@

channels[channel] = cb
openSubs[channel] = filters
return {
sub: ({cb = cb, filter = filter}) => sub({cb, filter}, channel),
unsub: () => trySend(['CLOSE', channel])
unsub: () => {
delete openSubs[channel]
delete channels[channel]
trySend(['CLOSE', channel])
}
}

@@ -130,0 +135,0 @@ }

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc