diff --git a/package.json b/package.json index 848bc3b..33ff874 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "nostr-tools", - "version": "0.1.2", + "version": "0.1.3", "description": "Tools for making a Nostr client.", "main": "index.js", "repository": { diff --git a/relay.js b/relay.js index 9dc93e2..51b8020 100644 --- a/relay.js +++ b/relay.js @@ -32,12 +32,26 @@ export function relayConnect(url, onEvent, onNotice) { ws.onclose = () => console.log('relay connection closed', url) ws.onmessage = async e => { - let data = JSON.parse(e.data) + var data + try { + data = JSON.parse(e.data) + } catch (err) { + data = e.data + } + if (data.length > 1) { + if (data === 'PING') { + ws.send('PONG') + return + } + if (data[0] === 'notice') { console.log('message from relay ' + url + ': ' + data[1]) onNotice(data[1]) - } else if (typeof data[0] === 'object') { + return + } + + if (typeof data[0] === 'object') { let event = data[0] let context = data[1] @@ -50,6 +64,7 @@ export function relayConnect(url, onEvent, onNotice) { context ) } + return } } }