fix(relay): prevent accesing to ws if it is undefined

This commit is contained in:
Fernando López Guevara
2023-02-23 14:43:04 -03:00
committed by fiatjaf_
parent bf55ad6b5a
commit f43d23d344

View File

@@ -163,14 +163,20 @@ export function relayInit(url: string): Relay {
}) })
} }
function connected() {
return ws?.readyState === 1
}
async function connect(): Promise<void> { async function connect(): Promise<void> {
if (ws?.readyState && ws.readyState === 1) return // ws already open if (connected()) return // ws already open
await connectRelay() await connectRelay()
} }
async function trySend(params: [string, ...any]) { async function trySend(params: [string, ...any]) {
let msg = JSON.stringify(params) let msg = JSON.stringify(params)
if (!connected()) {
return
}
try { try {
ws.send(msg) ws.send(msg)
} catch (err) { } catch (err) {
@@ -294,8 +300,7 @@ export function relayInit(url: string): Relay {
subListeners = {} subListeners = {}
pubListeners = {} pubListeners = {}
if (ws.readyState > 1) return ws?.close()
ws.close()
}, },
get status() { get status() {
return ws?.readyState ?? 3 return ws?.readyState ?? 3