From 96da7ab72cb8b5369ddeb462e734375d5be33f2b Mon Sep 17 00:00:00 2001 From: Daniele Tonon Date: Tue, 7 Nov 2023 17:44:28 +0100 Subject: [PATCH] Fix and improve getParentNevent() --- data.go | 2 +- utils.go | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/data.go b/data.go index bacbbfe..2ca8aee 100644 --- a/data.go +++ b/data.go @@ -211,7 +211,7 @@ func grabData(ctx context.Context, code string, isProfileSitemap bool) (*Data, e case 1, 7, 30023, 30024: data.templateId = Note data.content = event.Content - if parentNevent := getParentNevent(event); parentNevent != "" { + if parentNevent := getParentNevent(event, data.relays[0]); parentNevent != "" { data.parentLink = template.HTML(replaceNostrURLsWithTags(nostrNoteNeventMatcher, "nostr:"+parentNevent)) } case 6: diff --git a/utils.go b/utils.go index 383b8c6..b95fbac 100644 --- a/utils.go +++ b/utils.go @@ -7,6 +7,7 @@ import ( "html" "html/template" "io" + "math/rand" "net/http" "net/url" "regexp" @@ -174,15 +175,17 @@ func getPreviewStyle(r *http.Request) Style { } } -func getParentNevent(event *nostr.Event) string { +func getParentNevent(event *nostr.Event, fallbackRelay string) string { parentNevent := "" replyTag := nip10.GetImmediateReply(event.Tags) if replyTag != nil { relay := "" - if len(*replyTag) > 2 { + if (len(*replyTag) > 2) && ((*replyTag)[2] != "") { relay = (*replyTag)[2] + } else if fallbackRelay != "" { + relay = fallbackRelay } else { - relay = "" + relay = everything[rand.Intn(len(everything))] } parentNevent, _ = nip19.EncodeEvent((*replyTag)[1], []string{relay}, "") }