From 9a35b269cd97c79590346d6f13afe0d342194d36 Mon Sep 17 00:00:00 2001 From: InspectorCaracal Date: Sat, 2 Dec 2023 14:22:27 -0700 Subject: [PATCH 1/4] make webclient pages unique --- evennia/web/static/webclient/js/evennia.js | 12 +++++++----- evennia/web/templates/webclient/base.html | 9 +++++++++ 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/evennia/web/static/webclient/js/evennia.js b/evennia/web/static/webclient/js/evennia.js index 51da36c46..f3dbb5419 100644 --- a/evennia/web/static/webclient/js/evennia.js +++ b/evennia/web/static/webclient/js/evennia.js @@ -220,6 +220,7 @@ An "emitter" object must have a function var websocket = null; var wsurl = window.wsurl; var csessid = window.csessid; + var cuid = window.cuid; var connect = function() { if (websocket && websocket.readyState != websocket.CLOSED) { @@ -227,7 +228,7 @@ An "emitter" object must have a function return; } // Important - we pass csessid tacked on the url - websocket = new WebSocket(wsurl + '?' + csessid + '&' + browser); + websocket = new WebSocket(wsurl + '?' + csessid + '&' + cuid + '&' + browser); // Handle Websocket open event websocket.onopen = function (event) { @@ -304,13 +305,14 @@ An "emitter" object must have a function var stop_polling = false; var is_closing = false; var csessid = window.csessid; + var cuid = window.cuid; // initialize connection, send csessid var init = function() { $.ajax({type: "POST", url: "/webclientdata", async: true, cache: false, timeout: 50000, datatype: "json", - data: {mode: "init", csessid: csessid, browserstr: browser}, + data: {mode: "init", csessid: csessid, cuid: cuid, browserstr: browser}, success: function(data) { open = true; @@ -336,7 +338,7 @@ An "emitter" object must have a function async: true, cache: false, timeout: 30000, dataType: "json", data: {mode: inmode == null ? 'input' : inmode, - data: JSON.stringify(data), 'csessid': csessid}, + data: JSON.stringify(data), 'csessid': csessid, 'cuid': cuid}, success: function(req, stat, err) { stop_polling = false; }, @@ -356,7 +358,7 @@ An "emitter" object must have a function $.ajax({type: "POST", url: "/webclientdata", async: true, cache: false, timeout: 60000, dataType: "json", - data: {mode: 'receive', 'csessid': csessid}, + data: {mode: 'receive', 'csessid': csessid, 'cuid': cuid}, success: function(data) { // log("ajax data received:", data); if (data[0] === "ajax_keepalive") { @@ -411,7 +413,7 @@ An "emitter" object must have a function cache: false, timeout: 50000, dataType: "json", - data: {mode: 'close', 'csessid': csessid}, + data: {mode: 'close', 'csessid': csessid, 'cuid': cuid}, success: function(data){ is_closing = false; diff --git a/evennia/web/templates/webclient/base.html b/evennia/web/templates/webclient/base.html index ca8460c24..05038d83c 100644 --- a/evennia/web/templates/webclient/base.html +++ b/evennia/web/templates/webclient/base.html @@ -40,6 +40,15 @@ JQuery available. }) + + +