gateway.websocket: fix resuming woes

This commit is contained in:
Luna Mendes 2018-09-22 19:01:42 -03:00
parent bfa0e61a0c
commit 26931425c4
2 changed files with 5 additions and 5 deletions

View File

@ -16,7 +16,7 @@ This project is a rewrite of [litecord-reference].
[pipenv]: https://github.com/pypa/pipenv [pipenv]: https://github.com/pypa/pipenv
```sh ```sh
$ git clone https://gitlab.com/lnmds/litecord.git && cd litecord $ git clone https://gitlab.com/luna/litecord.git && cd litecord
# Setup the database: # Setup the database:
$ createdb litecord $ createdb litecord

View File

@ -392,7 +392,7 @@ class GatewayWebsocket:
}) })
if not resumable and self.state: if not resumable and self.state:
self.state_manager.remove(self.state) self.ext.state_manager.remove(self.state)
async def _resume(self, replay_seqs: iter): async def _resume(self, replay_seqs: iter):
presences = [] presences = []
@ -416,7 +416,7 @@ class GatewayWebsocket:
await self.send(payload) await self.send(payload)
except Exception: except Exception:
log.exception('error while resuming') log.exception('error while resuming')
await self.invalidate() await self.invalidate_session()
return return
if presences: if presences:
@ -440,7 +440,7 @@ class GatewayWebsocket:
try: try:
state = self.ext.state_manager.fetch(user_id, sess_id) state = self.ext.state_manager.fetch(user_id, sess_id)
except KeyError: except KeyError:
return await self.invalidate(False) return await self.invalidate_session(False)
if seq > state.seq: if seq > state.seq:
raise WebsocketClose(4007, 'Invalid seq') raise WebsocketClose(4007, 'Invalid seq')
@ -448,7 +448,7 @@ class GatewayWebsocket:
# check if a websocket isnt on that state already # check if a websocket isnt on that state already
if state.ws is not None: if state.ws is not None:
log.info('Resuming failed, websocket already connected') log.info('Resuming failed, websocket already connected')
return await self.invalidate(False) return await self.invalidate_session(False)
# relink this connection # relink this connection
self.state = state self.state = state