From 25cca2935fd53ff7eb7fa0148d9d8bec63bb62f4 Mon Sep 17 00:00:00 2001 From: Jon Staab Date: Tue, 5 Mar 2024 16:32:06 -0800 Subject: [PATCH] Fix parent hints --- src/util/Router.ts | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/src/util/Router.ts b/src/util/Router.ts index 2a5fb5c..8e2431f 100644 --- a/src/util/Router.ts +++ b/src/util/Router.ts @@ -117,19 +117,31 @@ export class Router { ...this.getContextRelayGroups(event), ]) - EventParent = (event: UnsignedEvent) => - this.scenario([ - Tags.fromEvent(event).replies().relays().valueOf(), - this.options.getPubkeyRelays(event.pubkey, RelayMode.Inbox), - ...this.getContextRelayGroups(event), - ]) + EventParent = (event: UnsignedEvent) => { + const tags = Tags.fromEvent(event) - EventRoot = (event: UnsignedEvent) => - this.scenario([ - Tags.fromEvent(event).roots().relays().valueOf(), - this.options.getPubkeyRelays(event.pubkey, RelayMode.Inbox), + return this.scenario([ + tags.replies().relays().valueOf(), ...this.getContextRelayGroups(event), + ...tags.whereKey("p").values().valueOf() + .map(pk => this.options.getPubkeyRelays(pk, RelayMode.Outbox)), + tags.whereKey("p").relays().valueOf(), + this.options.getPubkeyRelays(event.pubkey, RelayMode.Inbox), ]) + } + + EventRoot = (event: UnsignedEvent) => { + const tags = Tags.fromEvent(event) + + return this.scenario([ + tags.roots().relays().valueOf(), + ...this.getContextRelayGroups(event), + ...tags.whereKey("p").values().valueOf() + .map(pk => this.options.getPubkeyRelays(pk, RelayMode.Outbox)), + tags.whereKey("p").relays().valueOf(), + this.options.getPubkeyRelays(event.pubkey, RelayMode.Inbox), + ]) + } PublishEvent = (event: UnsignedEvent) => { const tags = Tags.fromEvent(event)