fix(core): improved state_req handling

This commit is contained in:
alina 🌸 2024-03-28 18:12:32 +03:00
parent ff6ffaf31f
commit d577f0ed9b
Signed by: teidesu
SSH key fingerprint: SHA256:uNeCpw6aTSU4aIObXLvHfLkDa82HWH9EiOj9AXOIRpI

View file

@ -138,6 +138,15 @@ export class SessionConnection extends PersistentConnection {
clearTimeout(timeout)
})
// resend pending state_req-s
for (const msgId of this._session.pendingMessages.keys()) {
const pending = this._session.pendingMessages.get(msgId)!
if (pending._ === 'state') {
this._onMessageFailed(msgId, 'connection loss', true)
}
}
this.emit('disconnect')
this.reset()
@ -1176,6 +1185,8 @@ export class SessionConnection extends PersistentConnection {
return
}
this._session.pendingMessages.delete(msgId)
switch (status & 7) {
case 1:
case 2: