[mirotalksfu] - fix loop in exit room

هذا الالتزام موجود في:
Miroslav Pejic
2025-07-23 23:36:56 +02:00
الأصل a42c5ef77d
التزام 0f86d7270a
6 ملفات معدلة مع 20 إضافات و8 حذوفات

عرض الملف

@@ -64,7 +64,7 @@ dev dependencies: {
* @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
* @version 1.9.10
* @version 1.9.11
*
*/

4
package-lock.json مولّد
عرض الملف

@@ -1,12 +1,12 @@
{
"name": "mirotalksfu",
"version": "1.9.10",
"version": "1.9.11",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "mirotalksfu",
"version": "1.9.10",
"version": "1.9.11",
"license": "AGPL-3.0",
"dependencies": {
"@aws-sdk/client-s3": "^3.850.0",

عرض الملف

@@ -1,6 +1,6 @@
{
"name": "mirotalksfu",
"version": "1.9.10",
"version": "1.9.11",
"description": "WebRTC SFU browser-based video calls",
"main": "Server.js",
"scripts": {

عرض الملف

@@ -76,7 +76,7 @@ let BRAND = {
},
about: {
imageUrl: '../images/mirotalk-logo.gif',
title: '<strong>WebRTC SFU v1.9.10</strong>',
title: '<strong>WebRTC SFU v1.9.11</strong>',
html: `
<button
id="support-button"

عرض الملف

@@ -11,7 +11,7 @@ if (location.href.substr(0, 5) !== 'https') location.href = 'https' + location.h
* @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
* @version 1.9.10
* @version 1.9.11
*
*/
@@ -306,6 +306,8 @@ let workletNode = null;
let RoomURL = window.location.origin + '/join/' + room_id;
let isExiting = false;
let transcription;
let showFreeAvatars = true;
@@ -3553,6 +3555,9 @@ function handleRoomClientEvents() {
show(startRtmpURLButton);
});
rc.on(RoomClient.EVENTS.exitRoom, () => {
if (isExiting) return;
isExiting = true;
console.log('Room event: Client leave room');
endRoomSession();
@@ -5471,7 +5476,7 @@ function showAbout() {
position: 'center',
imageUrl: BRAND.about?.imageUrl && BRAND.about.imageUrl.trim() !== '' ? BRAND.about.imageUrl : image.about,
customClass: { image: 'img-about' },
title: BRAND.about?.title && BRAND.about.title.trim() !== '' ? BRAND.about.title : 'WebRTC SFU v1.9.10',
title: BRAND.about?.title && BRAND.about.title.trim() !== '' ? BRAND.about.title : 'WebRTC SFU v1.9.11',
html: `
<br />
<div id="about">

عرض الملف

@@ -9,7 +9,7 @@
* @license For commercial or closed source, contact us at license.mirotalk@gmail.com or purchase directly via CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-sfu-webrtc-realtime-video-conferences/40769970
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
* @version 1.9.10
* @version 1.9.11
*
*/
@@ -3493,11 +3493,18 @@ class RoomClient {
}
exitRoom(disconnectAll = false) {
if (isExiting) return;
isExiting = true;
const switchDisconnectAllOnLeave = getId('switchDisconnectAllOnLeave');
if (isPresenter && (disconnectAll || (switchDisconnectAllOnLeave && switchDisconnectAllOnLeave.checked))) {
this.ejectAllOnLeave();
}
this.exit();
setTimeout(() => {
isExiting = false;
}, 2000);
}
// ####################################################