diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c21feada4..211b704860 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,14 +23,17 @@ Update to Python 3 ### Web -New golden-layout based Webclient UI (@security-related) +- Change webclient to use Autobahn websocket library (which is actually maintained) + +#### New golden-layout based Webclient UI (@friarzen) - Features - Much slicker behavior and more professional look - Allows tabbing as well as click and drag of panes in any grid position - Renaming tabs, assignments of data tags and output types are simple per-pane menus now - Any number of input panes, with separate histories - Button UI (disabled in JS by default) -Web/Django standard initiative (@strikaco) + +#### Web/Django standard initiative (@strikaco) - Features - Adds a series of web-based forms and generic class-based views - Accounts @@ -79,7 +82,6 @@ Web/Django standard initiative (@strikaco) raises a KeyError exception if query gave 0 or >1 results. - `evennia.prototypes.spawner` can now spawn by passing a `prototype_key` - ### Typeclasses - Add new methods on all typeclasses, useful specifically for object handling from the website/admin: diff --git a/evennia/server/portal/mssp.py b/evennia/server/portal/mssp.py index 5442ccc320..cf80298c77 100644 --- a/evennia/server/portal/mssp.py +++ b/evennia/server/portal/mssp.py @@ -196,9 +196,9 @@ class Mssp(object): value = value() if utils.is_iter(value): for partval in value: - varlist += MSSP_VAR + str(variable) + MSSP_VAL + str(partval) + varlist += MSSP_VAR + bytes(variable, 'utf-8') + MSSP_VAL + bytes(partval, 'utf-8') else: - varlist += MSSP_VAR + str(variable) + MSSP_VAL + str(value) + varlist += MSSP_VAR + bytes(variable, 'utf-8') + MSSP_VAL + bytes(value, 'utf-8') # send to crawler by subnegotiation self.protocol.requestNegotiation(MSSP, varlist) diff --git a/evennia/server/portal/webclient.py b/evennia/server/portal/webclient.py index ad7b56a3d6..b238c09d2d 100644 --- a/evennia/server/portal/webclient.py +++ b/evennia/server/portal/webclient.py @@ -65,6 +65,13 @@ class WebSocketClient(WebSocketServerProtocol, Session): client_address = client_address[0] if client_address else None self.init_session("websocket", client_address, self.factory.sessionhandler) + from evennia.utils import logger + try: + csessid = self.http_request_uri.split("?", 1)[1] + logger.log_msg("csessid: ", csessid) + except Exception: + logger.log_trace(str(self.__dict__)) + csession = self.get_client_session() uid = csession and csession.get("webclient_authenticated_uid", None) if uid: