Skip to content

Commit 751c0c4

Browse files
committed
update go-nostr and deprecated tag methods.
1 parent 91ed172 commit 751c0c4

File tree

4 files changed

+92
-91
lines changed

4 files changed

+92
-91
lines changed

data.go

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ func grabData(ctx context.Context, code string, withRelays bool) (Data, error) {
7272
data.createdAt = time.Unix(int64(event.CreatedAt), 0).Format("2006-01-02 15:04:05 MST")
7373

7474
if event.Kind >= 30000 && event.Kind < 40000 {
75-
if d := event.Tags.GetFirst([]string{"d", ""}); d != nil {
76-
data.naddr, _ = nip19.EncodeEntity(event.PubKey, event.Kind, d.Value(), relaysForNip19)
77-
data.naddrNaked, _ = nip19.EncodeEntity(event.PubKey, event.Kind, d.Value(), nil)
75+
if dTag := event.Tags.Find("d"); dTag != nil {
76+
data.naddr, _ = nip19.EncodeEntity(event.PubKey, event.Kind, dTag[1], relaysForNip19)
77+
data.naddrNaked, _ = nip19.EncodeEntity(event.PubKey, event.Kind, dTag[1], nil)
7878
}
7979
}
8080

@@ -92,8 +92,8 @@ func grabData(ctx context.Context, code string, withRelays bool) (Data, error) {
9292
data.content = event.Content
9393
case 6:
9494
data.templateId = Note
95-
if reposted := event.Tags.GetFirst([]string{"e", ""}); reposted != nil {
96-
originalNevent, _ := nip19.EncodeEvent((*reposted)[1], []string{}, "")
95+
if reposted := event.Tags.Find("e"); reposted != nil {
96+
originalNevent, _ := nip19.EncodeEvent(reposted[1], []string{}, "")
9797
data.content = "Repost of nostr:" + originalNevent
9898
}
9999
case 1063:
@@ -116,11 +116,14 @@ func grabData(ctx context.Context, code string, withRelays bool) (Data, error) {
116116
data.content = event.Content
117117
case 30818:
118118
data.templateId = WikiEvent
119-
data.Kind30818Metadata.Handle = event.Tags.GetFirst([]string{"d"}).Value()
120-
data.Kind30818Metadata.Title = event.Tags.GetFirst([]string{"title"}).Value()
119+
data.Kind30818Metadata.Handle = event.Tags.GetD()
120+
data.Kind30818Metadata.Title = data.Kind30818Metadata.Handle
121+
if titleTag := event.Tags.Find("title"); titleTag != nil {
122+
data.Kind30818Metadata.Title = titleTag[1]
123+
}
121124
data.Kind30818Metadata.Summary = func() string {
122-
if tag := event.Tags.GetFirst([]string{"summary"}); tag != nil {
123-
value := tag.Value()
125+
if tag := event.Tags.Find("summary"); tag != nil {
126+
value := tag[1]
124127
return value
125128
}
126129
return ""
@@ -136,9 +139,9 @@ func grabData(ctx context.Context, code string, withRelays bool) (Data, error) {
136139
}
137140
data.kindNIP = kindNIPs[event.Kind]
138141

139-
image := event.Tags.GetFirst([]string{"image", ""})
142+
image := event.Tags.Find("image")
140143
if event.Kind == 30023 && image != nil {
141-
data.cover = (*image)[1]
144+
data.cover = image[1]
142145
} else if event.Kind == 1063 {
143146
if data.kind1063Metadata.IsImage() {
144147
data.image = data.kind1063Metadata.URL
@@ -160,8 +163,8 @@ func grabData(ctx context.Context, code string, withRelays bool) (Data, error) {
160163
content.WriteString(data.content)
161164
data.content = content.String()
162165
}
163-
if tag := data.event.Tags.GetFirst([]string{"title", ""}); tag != nil {
164-
data.event.subject = (*tag)[1]
166+
if tag := data.event.Tags.Find("title"); tag != nil {
167+
data.event.subject = tag[1]
165168
}
166169
} else {
167170
urls := urlMatcher.FindAllString(event.Content, -1)

enhanced_event.go

Lines changed: 8 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -67,44 +67,17 @@ func (ee EnhancedEvent) getParentNevent() string {
6767
parentNevent := ""
6868
switch ee.Kind {
6969
case 1, 1063:
70-
replyTag := nip10.GetImmediateReply(ee.Tags)
71-
if replyTag != nil {
72-
var relays []string
73-
if (len(*replyTag) > 2) && ((*replyTag)[2] != "") {
74-
relays = []string{(*replyTag)[2]}
75-
}
76-
if (*replyTag)[0] == "a" { // reply to a ndaddr event
77-
spl := strings.Split((*replyTag)[1], ":")
78-
if len(spl) != 3 {
79-
return ""
80-
}
81-
author := spl[1]
82-
kind, _ := strconv.Atoi(spl[0])
83-
identifier := spl[2]
84-
85-
var relays []string
86-
if (len(*replyTag) > 2) && ((*replyTag)[2] != "") {
87-
relays = []string{(*replyTag)[2]}
88-
}
89-
90-
parentNevent, _ = nip19.EncodeEntity(
91-
author,
92-
kind,
93-
identifier,
94-
relays,
95-
)
96-
} else {
97-
eventId := (*replyTag)[1]
98-
parentNevent, _ = nip19.EncodeEvent(eventId, relays, "")
99-
}
70+
parent := nip10.GetImmediateParent(ee.Tags)
71+
if parent != nil {
72+
parentNevent = nip19.EncodePointer(parent)
10073
}
10174
case 1311:
102-
if atag := ee.Tags.GetFirst([]string{"a", ""}); atag != nil {
103-
parts := strings.Split((*atag)[1], ":")
75+
if atag := ee.Tags.Find("a"); atag != nil {
76+
parts := strings.Split(atag[1], ":")
10477
kind, _ := strconv.Atoi(parts[0])
10578
var relays []string
106-
if (len(*atag) > 2) && ((*atag)[2] != "") {
107-
relays = []string{(*atag)[2]}
79+
if (len(atag) > 2) && (atag[2] != "") {
80+
relays = []string{atag[2]}
10881
}
10982
parentNevent, _ = nip19.EncodeEntity(parts[1], kind, parts[2], relays)
11083
}
@@ -114,7 +87,7 @@ func (ee EnhancedEvent) getParentNevent() string {
11487
}
11588

11689
func (ee EnhancedEvent) isReply() bool {
117-
return nip10.GetImmediateReply(ee.Event.Tags) != nil
90+
return nip10.GetImmediateParent(ee.Event.Tags) != nil
11891
}
11992

12093
func (ee EnhancedEvent) Preview() template.HTML {

go.mod

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
module github.com/fiatjaf/njump
22

3-
go 1.23.1
3+
go 1.24.1
44

55
require (
66
fiatjaf.com/leafdb v0.0.7
77
github.com/PuerkitoBio/goquery v1.10.1
88
github.com/a-h/templ v0.3.833
99
github.com/bytesparadise/libasciidoc v0.8.0
1010
github.com/dgraph-io/ristretto v1.0.0
11-
github.com/fiatjaf/eventstore v0.16.1
12-
github.com/fiatjaf/khatru v0.15.0
11+
github.com/fiatjaf/eventstore v0.16.4
12+
github.com/fiatjaf/khatru v0.17.5
1313
github.com/fogleman/gg v1.3.0
1414
github.com/go-text/typesetting v0.0.0-20231221124458-48cc05a56658
1515
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0
@@ -18,7 +18,7 @@ require (
1818
github.com/kelseyhightower/envconfig v1.4.0
1919
github.com/microcosm-cc/bluemonday v1.0.27
2020
github.com/nbd-wtf/emoji v0.0.3
21-
github.com/nbd-wtf/go-nostr v0.50.0
21+
github.com/nbd-wtf/go-nostr v0.51.8
2222
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
2323
github.com/pelletier/go-toml v1.9.5
2424
github.com/puzpuzpuz/xsync/v3 v3.5.1
@@ -35,6 +35,7 @@ require (
3535

3636
require (
3737
fiatjaf.com/lib v0.2.0 // indirect
38+
github.com/ImVexed/fasturl v0.0.0-20230304231329-4e41488060f3 // indirect
3839
github.com/PowerDNS/lmdb-go v1.9.3 // indirect
3940
github.com/alecthomas/chroma/v2 v2.3.0 // indirect
4041
github.com/andybalholm/brotli v1.1.1 // indirect
@@ -44,8 +45,11 @@ require (
4445
github.com/btcsuite/btcd/btcec/v2 v2.3.4 // indirect
4546
github.com/btcsuite/btcd/btcutil v1.1.5 // indirect
4647
github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 // indirect
48+
github.com/bytedance/sonic v1.13.2 // indirect
49+
github.com/bytedance/sonic/loader v0.2.4 // indirect
4750
github.com/cespare/xxhash/v2 v2.3.0 // indirect
48-
github.com/coder/websocket v1.8.12 // indirect
51+
github.com/cloudwego/base64x v0.1.5 // indirect
52+
github.com/coder/websocket v1.8.13 // indirect
4953
github.com/davecgh/go-spew v1.1.1 // indirect
5054
github.com/decred/dcrd/crypto/blake256 v1.1.0 // indirect
5155
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect
@@ -59,10 +63,10 @@ require (
5963
github.com/google/flatbuffers v24.12.23+incompatible // indirect
6064
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 // indirect
6165
github.com/gorilla/css v1.0.1 // indirect
62-
github.com/graph-gophers/dataloader/v7 v7.1.0 // indirect
6366
github.com/josharian/intern v1.0.0 // indirect
6467
github.com/json-iterator/go v1.1.12 // indirect
65-
github.com/klauspost/compress v1.17.11 // indirect
68+
github.com/klauspost/compress v1.18.0 // indirect
69+
github.com/klauspost/cpuid/v2 v2.2.10 // indirect
6670
github.com/mailru/easyjson v0.9.0 // indirect
6771
github.com/mattn/go-colorable v0.1.13 // indirect
6872
github.com/mattn/go-isatty v0.0.20 // indirect
@@ -77,16 +81,18 @@ require (
7781
github.com/tidwall/gjson v1.18.0 // indirect
7882
github.com/tidwall/match v1.1.1 // indirect
7983
github.com/tidwall/pretty v1.2.1 // indirect
84+
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
8085
github.com/valyala/bytebufferpool v1.0.0 // indirect
81-
github.com/valyala/fasthttp v1.58.0 // indirect
86+
github.com/valyala/fasthttp v1.59.0 // indirect
8287
go.opencensus.io v0.24.0 // indirect
83-
golang.org/x/exp v0.0.0-20250218142911-aa4b98e5adaa // indirect
84-
golang.org/x/mod v0.23.0 // indirect
85-
golang.org/x/net v0.35.0 // indirect
86-
golang.org/x/sync v0.11.0 // indirect
87-
golang.org/x/sys v0.30.0 // indirect
88-
golang.org/x/text v0.22.0 // indirect
89-
golang.org/x/tools v0.30.0 // indirect
88+
golang.org/x/arch v0.15.0 // indirect
89+
golang.org/x/exp v0.0.0-20250305212735-054e65f0b394 // indirect
90+
golang.org/x/mod v0.24.0 // indirect
91+
golang.org/x/net v0.38.0 // indirect
92+
golang.org/x/sync v0.12.0 // indirect
93+
golang.org/x/sys v0.31.0 // indirect
94+
golang.org/x/text v0.23.0 // indirect
95+
golang.org/x/tools v0.31.0 // indirect
9096
gopkg.in/yaml.v2 v2.4.0 // indirect
9197
gopkg.in/yaml.v3 v3.0.1 // indirect
9298
)

0 commit comments

Comments
 (0)