From e75e5f60185612f893edba70184774c08261286a Mon Sep 17 00:00:00 2001 From: Miroslav Pejic Date: Sun, 5 Jan 2025 02:00:53 +0100 Subject: [PATCH] [mirotalksfu] - improvements --- app/src/Server.js | 2 +- package.json | 4 ++-- public/js/Room.js | 4 ++-- public/js/RoomClient.js | 47 ++++++++++++++++++----------------------- 4 files changed, 26 insertions(+), 31 deletions(-) diff --git a/app/src/Server.js b/app/src/Server.js index b282c72f..d46d1d38 100644 --- a/app/src/Server.js +++ b/app/src/Server.js @@ -55,7 +55,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.6.79 + * @version 1.6.80 * */ diff --git a/package.json b/package.json index 2d5919df..8cde4a74 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mirotalksfu", - "version": "1.6.79", + "version": "1.6.80", "description": "WebRTC SFU browser-based video calls", "main": "Server.js", "scripts": { @@ -78,7 +78,7 @@ "mediasoup-client": "3.8.1", "ngrok": "^5.0.0-beta.2", "nodemailer": "^6.9.16", - "openai": "^4.77.0", + "openai": "^4.77.3", "qs": "6.13.1", "socket.io": "4.8.1", "swagger-ui-express": "5.0.1", diff --git a/public/js/Room.js b/public/js/Room.js index 17f4b96c..ac20d711 100644 --- a/public/js/Room.js +++ b/public/js/Room.js @@ -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.6.79 + * @version 1.6.80 * */ @@ -4676,7 +4676,7 @@ function showAbout() { imageUrl: image.about, customClass: { image: 'img-about' }, position: 'center', - title: 'WebRTC SFU v1.6.79', + title: 'WebRTC SFU v1.6.80', html: `
diff --git a/public/js/RoomClient.js b/public/js/RoomClient.js index 089fd32f..f0c350e8 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.6.79 + * @version 1.6.80 * */ @@ -728,18 +728,6 @@ class RoomClient { break; case 'disconnected': console.log('Producer Transport disconnected', { id: this.producerTransport.id }); - - this.restartIce(); - - this.toast( - 'warning', - 'Producer Transport lost', - 'Network connection may have dropped or changed (Restarted ICE)', - 'top-end', - 6000, - true, - ); - break; case 'failed': console.warn('Producer Transport failed', { id: this.producerTransport.id }); @@ -816,18 +804,6 @@ class RoomClient { break; case 'disconnected': console.log('Consumer Transport disconnected', { id: this.consumerTransport.id }); - - this.restartIce(); - - this.toast( - 'warning', - 'Consumer Transport lost', - 'Network connection may have dropped or changed (Restarted ICE)', - 'top-end', - 6000, - true, - ); - break; case 'failed': console.warn('Consumer Transport failed', { id: this.consumerTransport.id }); @@ -1089,10 +1065,29 @@ class RoomClient { }; handleSocketDisconnect = () => { + this.toast( + 'warning', + 'Socket Disconnected', + 'Network connection may have dropped or changed!', + 'top-end', + 3000, + true, + ); + setTimeout(() => { + console.log('SocketOn Disconnect attempting to reconnect...'); + this.socket.connect(); + this.socket.once('connect_error', () => { + console.warn('Connection failed. Server down or in maintenance'); + this.byeBye(); + }); + }, 3000); + }; + + byeBye() { this.exit(true); this.ServerAway(); this.saveRecording('Socket disconnected'); - }; + } handleEndRTMP = (data) => { this.endRTMP(data);