Revert "client: unblock connect without network"
This reverts commit 14c784f2a2.
This commit is contained in:
+36
-40
@@ -498,52 +498,48 @@ func (t *TelegramClient) Connect(ctx context.Context) {
|
|||||||
|
|
||||||
var err error
|
var err error
|
||||||
t.clientCtx, t.clientCancel = context.WithCancel(ctx)
|
t.clientCtx, t.clientCancel = context.WithCancel(ctx)
|
||||||
|
if t.clientCloseC, err = connectTelegramClient(t.clientCtx, t.clientCancel, t.client); err != nil {
|
||||||
|
t.sendBadCredentialsOrUnknownError(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
t.updatesCloseC = make(chan struct{})
|
t.updatesCloseC = make(chan struct{})
|
||||||
go func() {
|
go func() {
|
||||||
if t.clientCloseC, err = connectTelegramClient(t.clientCtx, t.clientCancel, t.client); err != nil {
|
defer close(t.updatesCloseC)
|
||||||
t.sendBadCredentialsOrUnknownError(err)
|
for {
|
||||||
close(t.updatesCloseC)
|
err = t.updatesManager.Run(t.clientCtx, t.client.API(), t.telegramUserID, updates.AuthOptions{})
|
||||||
return
|
if err == nil || errors.Is(err, context.Canceled) {
|
||||||
}
|
return
|
||||||
|
|
||||||
go func() {
|
|
||||||
defer close(t.updatesCloseC)
|
|
||||||
for {
|
|
||||||
err = t.updatesManager.Run(t.clientCtx, t.client.API(), t.telegramUserID, updates.AuthOptions{})
|
|
||||||
if err == nil || errors.Is(err, context.Canceled) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
zerolog.Ctx(t.clientCtx).Err(err).Msg("failed to run updates manager, retrying")
|
|
||||||
|
|
||||||
select {
|
|
||||||
case <-t.clientCtx.Done():
|
|
||||||
return
|
|
||||||
case <-time.After(5 * time.Second):
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}()
|
|
||||||
|
|
||||||
// Update the logged-in user's ghost info (this also updates the user
|
zerolog.Ctx(t.clientCtx).Err(err).Msg("failed to run updates manager, retrying")
|
||||||
// login's remote name and profile).
|
|
||||||
if me, err := t.client.Self(t.clientCtx); err != nil {
|
select {
|
||||||
t.sendBadCredentialsOrUnknownError(err)
|
case <-t.clientCtx.Done():
|
||||||
} else if _, err := t.updateGhost(t.clientCtx, t.telegramUserID, me); err != nil {
|
return
|
||||||
t.sendBadCredentialsOrUnknownError(err)
|
case <-time.After(5 * time.Second):
|
||||||
} else {
|
}
|
||||||
t.userLogin.BridgeState.Send(status.BridgeState{StateEvent: status.StateConnected})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fix the "Telegram Saved Messages" chat
|
|
||||||
t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.ChatResync{
|
|
||||||
ChatInfo: t.getDMChatInfo(t.telegramUserID),
|
|
||||||
EventMeta: simplevent.EventMeta{
|
|
||||||
Type: bridgev2.RemoteEventChatResync,
|
|
||||||
PortalKey: t.makePortalKeyFromID(ids.PeerTypeUser, t.telegramUserID),
|
|
||||||
CreatePortal: false, // Do not create the portal if it doesn't already exist
|
|
||||||
},
|
|
||||||
})
|
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
// Update the logged-in user's ghost info (this also updates the user
|
||||||
|
// login's remote name and profile).
|
||||||
|
if me, err := t.client.Self(t.clientCtx); err != nil {
|
||||||
|
t.sendBadCredentialsOrUnknownError(err)
|
||||||
|
} else if _, err := t.updateGhost(t.clientCtx, t.telegramUserID, me); err != nil {
|
||||||
|
t.sendBadCredentialsOrUnknownError(err)
|
||||||
|
} else {
|
||||||
|
t.userLogin.BridgeState.Send(status.BridgeState{StateEvent: status.StateConnected})
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fix the "Telegram Saved Messages" chat
|
||||||
|
t.main.Bridge.QueueRemoteEvent(t.userLogin, &simplevent.ChatResync{
|
||||||
|
ChatInfo: t.getDMChatInfo(t.telegramUserID),
|
||||||
|
EventMeta: simplevent.EventMeta{
|
||||||
|
Type: bridgev2.RemoteEventChatResync,
|
||||||
|
PortalKey: t.makePortalKeyFromID(ids.PeerTypeUser, t.telegramUserID),
|
||||||
|
CreatePortal: false, // Do not create the portal if it doesn't already exist
|
||||||
|
},
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *TelegramClient) Disconnect() {
|
func (t *TelegramClient) Disconnect() {
|
||||||
|
|||||||
Reference in New Issue
Block a user