Fix and improve getParentNevent()

This commit is contained in:
Daniele Tonon
2023-11-07 17:44:28 +01:00
parent e5534818e1
commit 96da7ab72c
2 changed files with 7 additions and 4 deletions

View File

@@ -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:

View File

@@ -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}, "")
}