diff --git a/src/api/gramjs/methods/client.ts b/src/api/gramjs/methods/client.ts index 241beb3a7..f526e386d 100644 --- a/src/api/gramjs/methods/client.ts +++ b/src/api/gramjs/methods/client.ts @@ -381,7 +381,7 @@ async function handleTerminatedSession() { id: new GramJs.InputUserSelf(), }), undefined, true); } catch (err: any) { - if (err.message === 'AUTH_KEY_UNREGISTERED') { + if (err.message === 'AUTH_KEY_UNREGISTERED' || err.message === 'SESSION_REVOKED') { onUpdate({ '@type': 'updateConnectionState', connectionState: 'connectionStateBroken', diff --git a/src/global/actions/apiUpdaters/initial.ts b/src/global/actions/apiUpdaters/initial.ts index 58d9e5847..78e1e5c4a 100644 --- a/src/global/actions/apiUpdaters/initial.ts +++ b/src/global/actions/apiUpdaters/initial.ts @@ -62,10 +62,6 @@ addActionHandler('apiUpdate', (global, actions, update): ActionReturnType => { break; case 'error': { - if (update.error.message === 'SESSION_REVOKED') { - actions.signOut({ forceInitApi: true }); - } - Object.values(global.byTabId).forEach(({ id: tabId }) => { const paymentShippingError = getShippingError(update.error); if (paymentShippingError) { diff --git a/src/lib/gramjs/network/MTProtoSender.js b/src/lib/gramjs/network/MTProtoSender.js index 3c8e2132a..bc4633f08 100644 --- a/src/lib/gramjs/network/MTProtoSender.js +++ b/src/lib/gramjs/network/MTProtoSender.js @@ -450,7 +450,7 @@ class MTProtoSender { } catch (e) { // `RPCError` errors except for 'AUTH_KEY_UNREGISTERED' should be handled by the client if (e instanceof RPCError) { - if (e.message === 'AUTH_KEY_UNREGISTERED') { + if (e.message === 'AUTH_KEY_UNREGISTERED' || e.message === 'SESSION_REVOKED') { // 'AUTH_KEY_UNREGISTERED' for the main sender is thrown when unauthorized and should be ignored this._handleBadAuthKey(true); }