fix event publishing flow: no need to reconnect and AUTH messages make sense.

This commit is contained in:
fiatjaf 2023-12-09 09:14:45 -03:00
parent 30dbe2c1c0
commit ed3156ae10
No known key found for this signature in database
GPG Key ID: BAD43C4BE5C1A3A1

View File

@ -217,11 +217,8 @@ example:
if len(relays) > 0 { if len(relays) > 0 {
os.Stdout.Sync() os.Stdout.Sync()
for _, relay := range relays { for _, relay := range relays {
log("publishing to %s... ", relay.URL)
if relay, err := nostr.RelayConnect(c.Context, relay.URL); err != nil {
log("failed to connect: %s\n", err)
} else {
publish: publish:
log("publishing to %s... ", relay.URL)
ctx, cancel := context.WithTimeout(c.Context, 10*time.Second) ctx, cancel := context.WithTimeout(c.Context, 10*time.Second)
defer cancel() defer cancel()
@ -233,7 +230,7 @@ example:
} }
// error publishing // error publishing
if isAuthRequired(err.Error()) && sec != "" && doAuth { if strings.HasPrefix(err.Error(), "msg: auth-required:") && sec != "" && doAuth {
// if the relay is requesting auth and we can auth, let's do it // if the relay is requesting auth and we can auth, let's do it
log("performing auth... ") log("performing auth... ")
st, err := relay.Auth(c.Context, func(evt *nostr.Event) error { return evt.Sign(sec) }) st, err := relay.Auth(c.Context, func(evt *nostr.Event) error { return evt.Sign(sec) })
@ -253,7 +250,6 @@ example:
} }
} }
} }
}
exitIfLineProcessingError(c) exitIfLineProcessingError(c)
return nil return nil