diff --git a/jsr.json b/jsr.json index 11bdc2f..73d3221 100644 --- a/jsr.json +++ b/jsr.json @@ -1,6 +1,6 @@ { "name": "@nostr/tools", - "version": "2.10.2", + "version": "2.10.3", "exports": { ".": "./index.ts", "./core": "./core.ts", diff --git a/nip10.ts b/nip10.ts index 05d8d55..6f5087e 100644 --- a/nip10.ts +++ b/nip10.ts @@ -108,23 +108,26 @@ export function parse(event: Pick): { // remove root and reply from mentions, inherit relay hints from authors if any ;[result.reply, result.root].forEach(ref => { - let idx = result.mentions.indexOf(ref!) + if (!ref) return + + let idx = result.mentions.indexOf(ref) if (idx !== -1) { result.mentions.splice(idx, 1) } - if (ref!.author) { - let author = result.profiles.find(p => p.pubkey === ref!.author) + if (ref.author) { + let author = result.profiles.find(p => p.pubkey === ref.author) if (author && author.relays) { - if (!ref!.relays) { - ref!.relays = [] + if (!ref.relays) { + ref.relays = [] } author.relays.forEach(url => { - if (ref?.relays!?.indexOf(url) === -1) ref!.relays!.push(url) + if (ref.relays!?.indexOf(url) === -1) ref.relays!.push(url) }) - author.relays = ref!.relays + author.relays = ref.relays } } }) + result.mentions.forEach(ref => { if (ref!.author) { let author = result.profiles.find(p => p.pubkey === ref.author) diff --git a/package.json b/package.json index 33a2605..8734002 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "nostr-tools", - "version": "2.10.2", + "version": "2.10.3", "description": "Tools for making a Nostr client.", "repository": { "type": "git",