Skip to content

Commit 10f98f6

Browse files
authored
prevent crash when no user id is found?? (#1349)
1 parent 118e87b commit 10f98f6

File tree

1 file changed

+10
-7
lines changed
  • services/web/server/src/simcore_service_webserver/socketio

1 file changed

+10
-7
lines changed

services/web/server/src/simcore_service_webserver/socketio/handlers.py

+10-7
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,10 @@
1111
from typing import Dict, List, Optional
1212

1313
from aiohttp import web
14+
from servicelib.observer import observe
1415
from socketio.exceptions import \
1516
ConnectionRefusedError as socket_io_connection_error
1617

17-
from servicelib.observer import observe
18-
1918
from ..login.decorators import RQT_USERID_KEY, login_required
2019
from ..resource_manager.websocket_manager import managed_resource
2120
from .config import get_socket_server
@@ -106,8 +105,12 @@ async def disconnect(sid: str, app: web.Application) -> None:
106105
log.debug("client in room %s disconnecting", sid)
107106
sio = get_socket_server(app)
108107
async with sio.session(sid) as socketio_session:
109-
user_id = socketio_session["user_id"]
110-
client_session_id = socketio_session["client_session_id"]
111-
with managed_resource(user_id, client_session_id, app) as rt:
112-
log.debug("client %s disconnected from room %s", user_id, sid)
113-
await rt.remove_socket_id()
108+
if "user_id" in socketio_session:
109+
user_id = socketio_session["user_id"]
110+
client_session_id = socketio_session["client_session_id"]
111+
with managed_resource(user_id, client_session_id, app) as rt:
112+
log.debug("client %s disconnected from room %s", user_id, sid)
113+
await rt.remove_socket_id()
114+
else:
115+
# this should not happen!!
116+
log.error("Unknown client diconnected sid: %s, session %s", sid, str(socketio_session))

0 commit comments

Comments
 (0)