diff --git a/client/internal/peer/conn.go b/client/internal/peer/conn.go index 284438689..de1245705 100644 --- a/client/internal/peer/conn.go +++ b/client/internal/peer/conn.go @@ -554,6 +554,11 @@ func (conn *Conn) onGuardEvent() { conn.dumpState.SendOffer() if err := conn.handshaker.SendOffer(); err != nil { conn.Log.Errorf("failed to send offer: %v", err) + // if remote peer is offline, no need to try to reconnect. + // The remote peer when online will send an offer to us + if !errors.Is(err, ErrPeerNotAvailable) { + conn.guard.FailedToSendOffer() + } } }