Handle websocket autoconnect and remove session duplicates. Resolves #1851. Resolves #1562.

This commit is contained in:
Griatch 2019-06-15 22:24:32 +02:00
parent 993113b2b7
commit 005b3f4530
13 changed files with 114 additions and 64 deletions

View file

@ -90,8 +90,11 @@ class PortalSessionHandler(SessionHandler):
if session:
# assign if we are first-connectors
self.latest_sessid += 1
session.sessid = self.latest_sessid
if not session.sessid:
# if the session already has a sessid (e.g. being inherited in the
# case of a webclient auto-reconnect), keep it
self.latest_sessid += 1
session.sessid = self.latest_sessid
session.server_connected = False
_CONNECTION_QUEUE.appendleft(session)
if len(_CONNECTION_QUEUE) > 1: