diff --git a/nip46/client.go b/nip46/client.go index 9c26f8a..77724a5 100644 --- a/nip46/client.go +++ b/nip46/client.go @@ -7,6 +7,7 @@ import ( "net/url" "strconv" "sync/atomic" + "time" "unsafe" "fiatjaf.com/nostr" @@ -56,6 +57,7 @@ func ConnectBunker( pool, onAuth, ) + _, err = bunker.RPC(ctx, "connect", []string{nostr.HexEncodeToString(parsed.HostPubKey[:]), parsed.Secret}) return bunker, err } @@ -175,10 +177,11 @@ func NewBunker( // attempt switch_relays once every 10 times if now%10 == 0 { - if newRelays, _ := bunker.SwitchRelays(ctx); newRelays != nil { - cancel() + swctx, cancel := context.WithTimeout(ctx, time.Second*3) + if newRelays, _ := bunker.SwitchRelays(swctx); newRelays != nil { bunker = NewBunker(ctx, clientSecretKey, targetPublicKey, newRelays, pool, func(string) {}) } + cancel() } <-eosed