From 3d8f1fd53c8feab8e72b0acd4505bff7f2b35079 Mon Sep 17 00:00:00 2001 From: Thomas Chung Date: Sun, 7 May 2023 22:47:38 +1000 Subject: [PATCH] Use Maps for Janus.sessions in janus.js --- html/janus.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/html/janus.js b/html/janus.js index 32245fcacb..344ae52686 100644 --- a/html/janus.js +++ b/html/janus.js @@ -25,7 +25,7 @@ */ // List of sessions -Janus.sessions = {}; +Janus.sessions = new Map(); Janus.isExtensionEnabled = function() { if(navigator.mediaDevices && navigator.mediaDevices.getDisplayMedia) { @@ -478,10 +478,10 @@ Janus.init = function(options) { let oldOBF = window["on" + eventName]; window.addEventListener(eventName, function() { Janus.log("Closing window"); - for(let s in Janus.sessions) { - if(Janus.sessions[s] && Janus.sessions[s].destroyOnUnload) { - Janus.log("Destroying session " + s); - Janus.sessions[s].destroy({unload: true, notifyDestroyed: false}); + for(const [sessionId, session] of Janus.sessions) { + if(session && session.destroyOnUnload) { + Janus.log("Destroying session " + sessionId); + session.destroy({unload: true, notifyDestroyed: false}); } } if(oldOBF && typeof oldOBF == "function") { @@ -1014,7 +1014,7 @@ function Janus(gatewayCallbacks) { } else { Janus.log("Created session: " + sessionId); } - Janus.sessions[sessionId] = that; + Janus.sessions.set(sessionId, that); callbacks.success(); }); ws.send(JSON.stringify(request)); @@ -1058,7 +1058,7 @@ function Janus(gatewayCallbacks) { } else { Janus.log("Created session: " + sessionId); } - Janus.sessions[sessionId] = that; + Janus.sessions.set(sessionId, that); eventHandler(); callbacks.success(); },