diff --git a/public/js/RoomClient.js b/public/js/RoomClient.js
index 3689ba57..81f18f6f 100644
--- a/public/js/RoomClient.js
+++ b/public/js/RoomClient.js
@@ -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.22
+ * @version 1.9.23
*
*/
@@ -739,8 +739,7 @@ class RoomClient {
console.log('07.2 Participants Count ---->', participantsCount);
- // notify && participantsCount == 1 ? shareRoom() : sound('joined');
- if (notify && participantsCount == 1) {
+ if (BUTTONS.main.shareRoomPopup && notify && participantsCount == 1) {
shareRoom();
} else {
if (this.isScreenAllowed) {
diff --git a/public/js/Rules.js b/public/js/Rules.js
index 1a45a29a..4ddb31f7 100644
--- a/public/js/Rules.js
+++ b/public/js/Rules.js
@@ -15,7 +15,8 @@ const isRulesActive = true;
*/
let BUTTONS = {
main: {
- shareQr: true,
+ shareRoomPopup: true,
+ shareRoomQrOnHover: true,
shareButton: true, // for quest, presenter default true
hideMeButton: true,
fullScreenButton: true,
diff --git a/public/js/Widget.js b/public/js/Widget.js
index 319d69c4..2e5d9d5d 100644
--- a/public/js/Widget.js
+++ b/public/js/Widget.js
@@ -99,10 +99,6 @@ class MiroTalkWidget {
}
parentNode.appendChild(widget);
- this.widgetState = 'normal';
-
- // Initialize widget based on configured state
- setTimeout(() => this.initWidgetState(this.options.widgetState), 200);
// Start status checking if enabled
this.initStatusChecking();
@@ -113,21 +109,14 @@ class MiroTalkWidget {
}
}
- initWidgetState(state) {
- const stateActions = {
- minimized: () => this.minimizeWidget(),
- closed: () => this.closeWidget(),
- normal: () => {}, // Already in normal state
- };
-
- const action = stateActions[state];
- if (action) action();
- }
-
initStatusChecking() {
+ if (this.statusCheckInterval) {
+ clearInterval(this.statusCheckInterval);
+ this.statusCheckInterval = null;
+ }
if (this.options.supportWidget.checkOnlineStatus) {
this.checkOnlineStatus();
- setInterval(() => this.checkOnlineStatus(), 30000); // Check every 30s
+ this.statusCheckInterval = setInterval(() => this.checkOnlineStatus(), 30000); // Check every 30s
}
}
@@ -348,11 +337,9 @@ class MiroTalkWidget {
this.registerWidget(widgetId, reopenerBtn);
reopenerBtn.innerHTML = `
-
-
-
Support
+
+ ${this.getUserIcon()}
+ Support
`;
@@ -575,6 +562,12 @@ class MiroTalkWidget {
`;
}
+ getUserIcon() {
+ return `
`;
+ }
+
// ============================================================================
// PUBLIC API METHODS
// ============================================================================