From 65ddf7b8216e5c353aae8a8477e67e99b821ba85 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Thu, 2 Apr 2026 03:24:05 -0300 Subject: [PATCH] use appendUnique from nostrlib. --- bunker.go | 4 ++-- encode.go | 12 ++++++------ event.go | 4 ++-- git.go | 2 +- helpers.go | 13 ------------- 5 files changed, 11 insertions(+), 24 deletions(-) diff --git a/bunker.go b/bunker.go index 3e8b6de..8062aa6 100644 --- a/bunker.go +++ b/bunker.go @@ -75,7 +75,7 @@ var bunker = &cli.Command{ Action: func(ctx context.Context, c *cli.Command) error { // read config from file config := BunkerConfig{} - baseRelaysUrls := appendUnique(c.Args().Slice(), c.StringSlice("relay")...) + baseRelaysUrls := nostr.AppendUnique(c.Args().Slice(), c.StringSlice("relay")...) for i, url := range baseRelaysUrls { baseRelaysUrls[i] = nostr.NormalizeURL(url) } @@ -153,7 +153,7 @@ var bunker = &cli.Command{ for i, url := range config.Relays { config.Relays[i] = nostr.NormalizeURL(url) } - config.Relays = appendUnique(config.Relays, baseRelaysUrls...) + config.Relays = nostr.AppendUnique(config.Relays, baseRelaysUrls...) for _, bak := range baseAuthorizedKeys { if !slices.ContainsFunc(config.Clients, func(c BunkerConfigClient) bool { return c.PubKey == bak }) { config.Clients = append(config.Clients, BunkerConfigClient{PubKey: bak}) diff --git a/encode.go b/encode.go index 438d600..fa404c3 100644 --- a/encode.go +++ b/encode.go @@ -47,19 +47,19 @@ var encode = &cli.Command{ var eventPtr nostr.EventPointer if err := json.Unmarshal([]byte(jsonStr), &eventPtr); err == nil && eventPtr.ID != nostr.ZeroID { - stdout(nip19.EncodeNevent(eventPtr.ID, appendUnique(relays, eventPtr.Relays...), eventPtr.Author)) + stdout(nip19.EncodeNevent(eventPtr.ID, nostr.AppendUnique(relays, eventPtr.Relays...), eventPtr.Author)) continue } var profilePtr nostr.ProfilePointer if err := json.Unmarshal([]byte(jsonStr), &profilePtr); err == nil && profilePtr.PublicKey != nostr.ZeroPK { - stdout(nip19.EncodeNprofile(profilePtr.PublicKey, appendUnique(relays, profilePtr.Relays...))) + stdout(nip19.EncodeNprofile(profilePtr.PublicKey, nostr.AppendUnique(relays, profilePtr.Relays...))) continue } var entityPtr nostr.EntityPointer if err := json.Unmarshal([]byte(jsonStr), &entityPtr); err == nil && entityPtr.PublicKey != nostr.ZeroPK { - stdout(nip19.EncodeNaddr(entityPtr.PublicKey, entityPtr.Kind, entityPtr.Identifier, appendUnique(relays, entityPtr.Relays...))) + stdout(nip19.EncodeNaddr(entityPtr.PublicKey, entityPtr.Kind, entityPtr.Identifier, nostr.AppendUnique(relays, entityPtr.Relays...))) continue } @@ -140,7 +140,7 @@ var encode = &cli.Command{ if getBoolInt(c, "outbox") > 0 { for _, r := range sys.FetchOutboxRelays(ctx, pk, int(getBoolInt(c, "outbox"))) { - relays = appendUnique(relays, r) + relays = nostr.AppendUnique(relays, r) } } @@ -189,7 +189,7 @@ var encode = &cli.Command{ if getBoolInt(c, "outbox") > 0 && author != nostr.ZeroPK { for _, r := range sys.FetchOutboxRelays(ctx, author, int(getBoolInt(c, "outbox"))) { - relays = appendUnique(relays, r) + relays = nostr.AppendUnique(relays, r) } } @@ -259,7 +259,7 @@ var encode = &cli.Command{ if getBoolInt(c, "outbox") > 0 { for _, r := range sys.FetchOutboxRelays(ctx, pubkey, int(getBoolInt(c, "outbox"))) { - relays = appendUnique(relays, r) + relays = nostr.AppendUnique(relays, r) } } diff --git a/event.go b/event.go index 498a0d6..78cd8de 100644 --- a/event.go +++ b/event.go @@ -364,7 +364,7 @@ example: if len(relayUrls) > 0 || c.Bool("outbox") { if c.Bool("outbox") { if evt.PubKey != nostr.ZeroPK { - relayUrls = appendUnique(relayUrls, sys.FetchWriteRelays(ctx, evt.PubKey)...) + relayUrls = nostr.AppendUnique(relayUrls, sys.FetchWriteRelays(ctx, evt.PubKey)...) } seenPubkeys := make(map[nostr.PubKey]struct{}, len(evt.Tags)) @@ -380,7 +380,7 @@ example: continue } seenPubkeys[pk] = struct{}{} - relayUrls = appendUnique(relayUrls, sys.FetchInboxRelays(ctx, pk, 15)...) + relayUrls = nostr.AppendUnique(relayUrls, sys.FetchInboxRelays(ctx, pk, 15)...) } } diff --git a/git.go b/git.go index b74a476..c68c4b7 100644 --- a/git.go +++ b/git.go @@ -2424,7 +2424,7 @@ func fetchRepositoryAndState( relayHints []string, ) (repo nip34.Repository, upToDateAnnouncementEvent *nostr.Event, upToDateRelays []string, state *nip34.RepositoryState, err error) { // fetch repository announcement (30617) - relays := appendUnique(relayHints, sys.FetchOutboxRelays(ctx, pubkey, 3)...) + relays := nostr.AppendUnique(relayHints, sys.FetchOutboxRelays(ctx, pubkey, 3)...) for ie := range sys.Pool.FetchMany(ctx, relays, nostr.Filter{ Kinds: []nostr.Kind{30617}, Authors: []nostr.PubKey{pubkey}, diff --git a/helpers.go b/helpers.go index b9bcbba..b1b1c1b 100644 --- a/helpers.go +++ b/helpers.go @@ -436,19 +436,6 @@ func clampError(err error, prefixAlreadyPrinted int) string { return msg } -func appendUnique[A comparable](list []A, newEls ...A) []A { -ex: - for _, newEl := range newEls { - for _, el := range list { - if el == newEl { - continue ex - } - } - list = append(list, newEl) - } - return list -} - func askConfirmation(msg string) bool { if isPiped() { tty, err := tty.Open()