diff --git a/go.mod b/go.mod index 30b4c283..20df0a66 100644 --- a/go.mod +++ b/go.mod @@ -55,4 +55,4 @@ require ( rsc.io/qr v0.2.0 // indirect ) -replace github.com/gotd/td => github.com/beeper/td v0.107.1-0.20240814184019-6dd52cc45f51 +replace github.com/gotd/td => github.com/beeper/td v0.107.1-0.20240815233135-3fc7e069705d diff --git a/go.sum b/go.sum index 321800ba..0beaf551 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,7 @@ github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU= github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU= -github.com/beeper/td v0.107.1-0.20240814184019-6dd52cc45f51 h1:+rsAynFEXJ/mkeatNlOHLOG3haRwQUazPa12dGkIUBU= -github.com/beeper/td v0.107.1-0.20240814184019-6dd52cc45f51/go.mod h1:rHtaG0hd4EY0ice4f9CVH/JxsA7ZICqkcH3aFSVZplg= +github.com/beeper/td v0.107.1-0.20240815233135-3fc7e069705d h1:NtQqxJ9meIIGAwGo0cayqeaNy3iqBng2Sq0rZgCqsuc= +github.com/beeper/td v0.107.1-0.20240815233135-3fc7e069705d/go.mod h1:rHtaG0hd4EY0ice4f9CVH/JxsA7ZICqkcH3aFSVZplg= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= diff --git a/pkg/connector/client.go b/pkg/connector/client.go index e6080f23..4dd7f27a 100644 --- a/pkg/connector/client.go +++ b/pkg/connector/client.go @@ -168,6 +168,15 @@ func NewTelegramClient(ctx context.Context, tc *TelegramConnector, login *bridge SessionStorage: client.ScopedStore, Logger: zaplog, UpdateHandler: updatesManager, + OnDead: func() { + login.BridgeState.Send(status.BridgeState{ + StateEvent: status.StateTransientDisconnect, + Message: "Telegram client disconnected", + }) + }, + OnSession: func() { + login.BridgeState.Send(status.BridgeState{StateEvent: status.StateConnected}) + }, }) client.clientCancel, err = connectTelegramClient(ctx, client.client) @@ -317,7 +326,6 @@ func connectTelegramClient(ctx context.Context, client *telegram.Client) (contex func (t *TelegramClient) Connect(ctx context.Context) (err error) { t.clientCancel, err = connectTelegramClient(ctx, t.client) - t.userLogin.BridgeState.Send(status.BridgeState{StateEvent: status.StateConnected}) return }