Sign out when session is terminated from another application
This commit is contained in:
parent
313eeb2743
commit
9b58fda0fd
@ -97,6 +97,8 @@ export async function destroy() {
|
||||
function handleGramJsUpdate(update: any) {
|
||||
if (update instanceof connection.UpdateConnectionState) {
|
||||
isConnected = update.state === connection.UpdateConnectionState.connected;
|
||||
} else if (update instanceof GramJs.UpdatesTooLong) {
|
||||
void handleTerminatedSession();
|
||||
}
|
||||
}
|
||||
|
||||
@ -231,3 +233,18 @@ function injectUpdateEntities(result: GramJs.Updates | GramJs.UpdatesCombined) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async function handleTerminatedSession() {
|
||||
try {
|
||||
await invokeRequest(new GramJs.users.GetFullUser({
|
||||
id: new GramJs.InputUserSelf(),
|
||||
}), undefined, true);
|
||||
} catch (err) {
|
||||
if (err.message === 'AUTH_KEY_UNREGISTERED') {
|
||||
onUpdate({
|
||||
'@type': 'updateConnectionState',
|
||||
connectionState: 'connectionStateBroken',
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user