From eae828e03beb13bc49f033ef7c3921bf540bb007 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Sun, 19 Apr 2026 20:17:00 -0300 Subject: [PATCH] update to the fact that Pool doesn't use PoolOptions anymore, just modify the global pool directly. --- bunker.go | 2 +- count.go | 29 +++++++++++++---------------- dekey.go | 2 +- event.go | 11 ++++------- go.mod | 2 +- go.sum | 4 ++-- helpers.go | 1 - publish.go | 12 +++++------- req.go | 28 ++++++++++++++-------------- 9 files changed, 41 insertions(+), 50 deletions(-) diff --git a/bunker.go b/bunker.go index 8062aa6..97f79b6 100644 --- a/bunker.go +++ b/bunker.go @@ -225,7 +225,7 @@ var bunker = &cli.Command{ } } relayURLs := make([]string, 0, len(allRelays)) - relays := connectToAllRelays(ctx, c, allRelays, nil, nostr.PoolOptions{}) + relays := connectToAllRelays(ctx, c, allRelays, nil) if len(relays) == 0 { log("failed to connect to any of the given relays.\n") os.Exit(3) diff --git a/count.go b/count.go index ff14209..190c34c 100644 --- a/count.go +++ b/count.go @@ -43,27 +43,24 @@ var count = &cli.Command{ if !c.Bool("force-pre-auth") { forcePreAuthSigner = nil } + + sys.Pool.RelayOptions.AuthHandler = func(ctx context.Context, _ *nostr.Relay, aevt *nostr.Event) error { + return authSigner(ctx, c, func(s string, args ...any) { + if strings.HasPrefix(s, "authenticating as") { + cleanUrl, _ := strings.CutPrefix( + nip42.GetRelayURLFromAuthEvent(*aevt), + "wss://", + ) + s = "authenticating to " + color.CyanString(cleanUrl) + " as" + s[len("authenticating as"):] + } + log(s+"\n", args...) + }, aevt) + } relays := connectToAllRelays( ctx, c, relayUrls, forcePreAuthSigner, - nostr.PoolOptions{ - RelayOptions: nostr.RelayOptions{ - AuthHandler: func(ctx context.Context, _ *nostr.Relay, authEvent *nostr.Event) error { - return authSigner(ctx, c, func(s string, args ...any) { - if strings.HasPrefix(s, "authenticating as") { - cleanUrl, _ := strings.CutPrefix( - nip42.GetRelayURLFromAuthEvent(*authEvent), - "wss://", - ) - s = "authenticating to " + color.CyanString(cleanUrl) + " as" + s[len("authenticating as"):] - } - log(s+"\n", args...) - }, authEvent) - }, - }, - }, ) if len(relays) == 0 { log("failed to connect to any of the given relays.\n") diff --git a/dekey.go b/dekey.go index 5c7fdf3..6bc3964 100644 --- a/dekey.go +++ b/dekey.go @@ -87,7 +87,7 @@ var dekey = &cli.Command{ // get relays for the user log("fetching write relays for %s\n", color.CyanString(nip19.EncodeNpub(userPub))) relays := sys.FetchWriteRelays(ctx, userPub) - relayList := connectToAllRelays(ctx, c, relays, nil, nostr.PoolOptions{}) + relayList := connectToAllRelays(ctx, c, relays, nil) if len(relayList) == 0 { return fmt.Errorf("no relays to use") } diff --git a/event.go b/event.go index 78cd8de..3ef7262 100644 --- a/event.go +++ b/event.go @@ -385,13 +385,10 @@ example: } if len(relayUrls) > 0 { - relays = connectToAllRelays(ctx, c, relayUrls, nil, - nostr.PoolOptions{ - AuthRequiredHandler: func(ctx context.Context, authEvent *nostr.Event) error { - return authSigner(ctx, c, func(s string, args ...any) {}, authEvent) - }, - }, - ) + sys.Pool.AuthRequiredHandler = func(ctx context.Context, authEvent *nostr.Event) error { + return authSigner(ctx, c, func(s string, args ...any) {}, authEvent) + } + relays = connectToAllRelays(ctx, c, relayUrls, nil) if len(relays) == 0 { log("failed to connect to any of the given relays.\n") os.Exit(3) diff --git a/go.mod b/go.mod index efec5af..cc3f319 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/fiatjaf/nak go 1.25 require ( - fiatjaf.com/nostr v0.0.0-20260416191442-f50b7b0f8dcb + fiatjaf.com/nostr v0.0.0-20260419231400-94ea4328184f github.com/AlecAivazis/survey/v2 v2.3.7 github.com/bep/debounce v1.2.1 github.com/btcsuite/btcd/btcec/v2 v2.3.6 diff --git a/go.sum b/go.sum index f4d115b..5aa24cf 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,7 @@ fiatjaf.com/lib v0.3.6 h1:GRZNSxHI2EWdjSKVuzaT+c0aifLDtS16SzkeJaHyJfY= fiatjaf.com/lib v0.3.6/go.mod h1:UlHaZvPHj25PtKLh9GjZkUHRmQ2xZ8Jkoa4VRaLeeQ8= -fiatjaf.com/nostr v0.0.0-20260416191442-f50b7b0f8dcb h1:zOni3zgiu+hnzZFjt8SAMzmntlAxm+c8T9kEr0qwGRw= -fiatjaf.com/nostr v0.0.0-20260416191442-f50b7b0f8dcb/go.mod h1:1cmygNC87Pw06/WjkZqDV+Xo6rV10kpTjzuayosIX4Y= +fiatjaf.com/nostr v0.0.0-20260419231400-94ea4328184f h1:Y0KRSQnEDBxv5rxBJLSzGPOn5kwBCPAe2lri3+LEsKw= +fiatjaf.com/nostr v0.0.0-20260419231400-94ea4328184f/go.mod h1:1cmygNC87Pw06/WjkZqDV+Xo6rV10kpTjzuayosIX4Y= github.com/AlecAivazis/survey/v2 v2.3.7 h1:6I/u8FvytdGsgonrYsVn2t8t4QiRnh6QSTqkkhIiSjQ= github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo= github.com/FastFilter/xorfilter v0.2.1 h1:lbdeLG9BdpquK64ZsleBS8B4xO/QW1IM0gMzF7KaBKc= diff --git a/helpers.go b/helpers.go index e641608..a89101f 100644 --- a/helpers.go +++ b/helpers.go @@ -186,7 +186,6 @@ func connectToAllRelays( c *cli.Command, relayUrls []string, preAuthSigner func(ctx context.Context, c *cli.Command, log func(s string, args ...any), authEvent *nostr.Event) (err error), // if this exists we will force preauth - opts nostr.PoolOptions, ) []*nostr.Relay { // first pass to check if these are valid relay URLs for i, url := range relayUrls { diff --git a/publish.go b/publish.go index b99a6c1..9c243ca 100644 --- a/publish.go +++ b/publish.go @@ -152,13 +152,11 @@ example: relayUrls = nostr.AppendUnique(relayUrls, targetRelays...) relayUrls = nostr.AppendUnique(relayUrls, replyRelays...) relayUrls = nostr.AppendUnique(relayUrls, c.Args().Slice()...) - relays := connectToAllRelays(ctx, c, relayUrls, nil, - nostr.PoolOptions{ - AuthRequiredHandler: func(ctx context.Context, authEvent *nostr.Event) error { - return authSigner(ctx, c, func(s string, args ...any) {}, authEvent) - }, - }, - ) + + sys.Pool.AuthRequiredHandler = func(ctx context.Context, authEvent *nostr.Event) error { + return authSigner(ctx, c, func(s string, args ...any) {}, authEvent) + } + relays := connectToAllRelays(ctx, c, relayUrls, nil) if len(relays) == 0 { if len(relayUrls) == 0 { diff --git a/req.go b/req.go index 31db52f..1ba2209 100644 --- a/req.go +++ b/req.go @@ -144,25 +144,25 @@ example: if !c.Bool("force-pre-auth") { forcePreAuthSigner = nil } + + sys.Pool.AuthRequiredHandler = func(ctx context.Context, authEvent *nostr.Event) error { + return authSigner(ctx, c, func(s string, args ...any) { + if strings.HasPrefix(s, "authenticating as") { + cleanUrl, _ := strings.CutPrefix( + nip42.GetRelayURLFromAuthEvent(*authEvent), + "wss://", + ) + s = "authenticating to " + color.CyanString(cleanUrl) + " as" + s[len("authenticating as"):] + } + log(s+"\n", args...) + }, authEvent) + } relays := connectToAllRelays( ctx, c, relayUrls, forcePreAuthSigner, - nostr.PoolOptions{ - AuthRequiredHandler: func(ctx context.Context, authEvent *nostr.Event) error { - return authSigner(ctx, c, func(s string, args ...any) { - if strings.HasPrefix(s, "authenticating as") { - cleanUrl, _ := strings.CutPrefix( - nip42.GetRelayURLFromAuthEvent(*authEvent), - "wss://", - ) - s = "authenticating to " + color.CyanString(cleanUrl) + " as" + s[len("authenticating as"):] - } - log(s+"\n", args...) - }, authEvent) - }, - }) + ) // stop here already if all connections failed if len(relays) == 0 {