From 7f17c2728eab9aebcdd3a3f3745017c547e606bc Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Mon, 15 Dec 2025 16:23:44 +0200 Subject: [PATCH] client: use context rather than separate flag for expected disconnects --- pkg/connector/client.go | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pkg/connector/client.go b/pkg/connector/client.go index 1b81f6b7..352e6b67 100644 --- a/pkg/connector/client.go +++ b/pkg/connector/client.go @@ -83,7 +83,6 @@ type TelegramClient struct { clientCancel context.CancelFunc clientDone *exsync.Event clientInitialized *exsync.Event - expectDisconnect atomic.Bool mu sync.Mutex appConfigLock sync.Mutex @@ -539,7 +538,6 @@ func (t *TelegramClient) Connect(ctx context.Context) { t.clientCancel = cancel t.clientDone.Clear() t.clientInitialized.Clear() - t.expectDisconnect.Store(false) go t.runInBackground(ctx) } @@ -563,8 +561,8 @@ func (t *TelegramClient) runInBackground(ctx context.Context) { if err != nil { log.Err(err).AnErr("ctx_err", ctx.Err()).Msg("Client exited with error") t.sendBadCredentialsOrUnknownError(err) - } else if !t.expectDisconnect.Load() { - log.Warn().AnErr("ctx_err", ctx.Err()).Msg("Client exited unexpectedly") + } else if ctx.Err() == nil { + log.Warn().Msg("Client exited unexpectedly") t.sendBadCredentialsOrUnknownError(fmt.Errorf("unexpectedly disconnected from Telegram")) } else { log.Debug().AnErr("ctx_err", ctx.Err()).Msg("Client exited without error") @@ -576,7 +574,6 @@ func (t *TelegramClient) Disconnect() { defer t.mu.Unlock() t.userLogin.Log.Debug().Msg("Disconnecting client") - t.expectDisconnect.Store(true) if t.clientCancel != nil { t.clientCancel()