repo: janusweb action: commit revision: path_from: revision_from: 9b2d1fb7c09aa265021c432e57ade969800c2b1f: path_to: revision_to:
commit 9b2d1fb7c09aa265021c432e57ade969800c2b1f Author: James BaicoianuDate: Thu Oct 17 17:22:13 2024 -0700 Update online user list more reliably when joining new rooms diff --git a/media/assets/webui/apps/comms/comms.js b/media/assets/webui/apps/comms/comms.js
--- a/media/assets/webui/apps/comms/comms.js
+++ b/media/assets/webui/apps/comms/comms.js
@@ -100,6 +100,7 @@ elation.elements.define('janus-comms-userlist', class extends elation.elements.u
this.usermarkers = {};
elation.events.add(this.janusweb, 'room_load_start', (ev) => { this.updateRoom(ev.data || ev.element); });
+ elation.events.add(this.janusweb, 'room_change', (ev) => { let newroom = this.janusweb.rooms[this.janusweb.getRoomId(ev.data)]; if (newroom) this.updateRoom(newroom); });
elation.events.add(this.janusweb.network, 'janusweb_user_joined,janusweb_user_left,janusweb_user_disconnected', (ev) => this.updateUsers());
setTimeout(() => {
//this.updateUsers();
@@ -132,10 +133,16 @@ elation.elements.define('janus-comms-userlist', class extends elation.elements.u
this.elements.userlist_details.open = true;
}
this.updateUsers();
+ elation.events.add(this.room, 'join', ev => {
+ setTimeout(() => {
+ this.updateUsers();
+ }, 1000);
+ });
+ elation.events.add(this.room, 'room_active', ev => { this.updateUsers(); });
}
updateUsers() {
if (!janus.network) return;
- var remoteplayers = janus.network.remoteplayers;
+ var remoteplayers = this.room.players;
var users = Object.keys(remoteplayers);
//users.unshift(player.userid);
-----END OF PAGE-----