[mirotalk] - fix: hide loading spinner when remote peer camera is off

This commit is contained in:
Miroslav Pejic
2026-03-30 04:36:35 +02:00
parent 8b32d44039
commit 2ed9e2aa53
10 changed files with 17 additions and 11 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
# ====================================================
# MiroTalk P2P v.1.7.69 - Environment Configuration
# MiroTalk P2P v.1.7.70 - Environment Configuration
# ====================================================
# App environment
+1 -1
View File
@@ -2,7 +2,7 @@
/**
* ==============================================
* MiroTalk P2P v.1.7.69 - Configuration File
* MiroTalk P2P v.1.7.70 - Configuration File
* ==============================================
*
* This file is the central configuration source.
+1 -1
View File
@@ -45,7 +45,7 @@ dependencies: {
* @license For commercial use or closed source, contact us at license.mirotalk@gmail.com or purchase directly from CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-p2p-webrtc-realtime-video-conferences/38376661
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
* @version 1.7.69
* @version 1.7.70
*
*/
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "mirotalk",
"version": "1.7.69",
"version": "1.7.70",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "mirotalk",
"version": "1.7.69",
"version": "1.7.70",
"license": "AGPL-3.0",
"dependencies": {
"@mattermost/client": "11.5.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "mirotalk",
"version": "1.7.69",
"version": "1.7.70",
"description": "A free WebRTC browser-based video call",
"main": "server.js",
"scripts": {
Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

+1 -1
View File
@@ -107,7 +107,7 @@ let brand = {
},
about: {
imageUrl: '../images/mirotalk-logo.gif',
title: 'WebRTC P2P v1.7.69',
title: 'WebRTC P2P v1.7.70',
html: `
<button
id="support-button"
+8 -2
View File
@@ -15,7 +15,7 @@
* @license For commercial use or closed source, contact us at license.mirotalk@gmail.com or purchase directly from CodeCanyon
* @license CodeCanyon: https://codecanyon.net/item/mirotalk-p2p-webrtc-realtime-video-conferences/38376661
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com
* @version 1.7.69
* @version 1.7.70
*
*/
@@ -4494,6 +4494,8 @@ async function loadRemoteMediaStream(stream, peers, peer_id, kind) {
{ element: remoteVideoAvatarImage, display: true, mode: 'block' },
]);
setMediaButtonsClass([{ element: remoteVideoStatusIcon, status: false, mediaType: 'video' }]);
const spinner = remoteVideoWrap.querySelector('.video-loading-spinner');
if (spinner) spinner.style.display = 'none';
}
break;
case 'screen':
@@ -11052,6 +11054,8 @@ function setPeerVideoStatus(peer_id, status) {
const peerVideoAvatarImage = getId(peer_id + '_avatar');
const peerVideoStatus = getId(peer_id + '_videoStatus');
const peerVideoWrap = getId(peer_id + '_videoWrap');
if (status) {
displayElements([
{ element: peerVideoPlayer, display: true, mode: 'block' },
@@ -11067,6 +11071,8 @@ function setPeerVideoStatus(peer_id, status) {
{ element: peerVideoPlayer, display: false },
{ element: peerVideoAvatarImage, display: true, mode: 'block' },
]);
const spinner = peerVideoWrap ? peerVideoWrap.querySelector('.video-loading-spinner') : null;
if (spinner) spinner.style.display = 'none';
if (peerVideoStatus) {
setMediaButtonsClass([{ element: peerVideoStatus, status: false, mediaType: 'video' }]);
setTippy(peerVideoStatus, 'Participant video is off', 'bottom');
@@ -13835,7 +13841,7 @@ function showAbout() {
Swal.fire({
background: swBg,
position: 'center',
title: brand.about?.title && brand.about.title.trim() !== '' ? brand.about.title : 'WebRTC P2P v1.7.69',
title: brand.about?.title && brand.about.title.trim() !== '' ? brand.about.title : 'WebRTC P2P v1.7.70',
imageUrl: brand.about?.imageUrl && brand.about.imageUrl.trim() !== '' ? brand.about.imageUrl : images.about,
customClass: { image: 'img-about' },
html: `
+2 -2
View File
@@ -465,8 +465,8 @@ access to use this app.
<div id="captionFooter" class="caption-inputarea">
<select id="recognitionLanguage"></select>
<select id="recognitionDialect"></select>
<button id="speechRecognitionStart"><i class="fas fa-play"></i> Start</button>
<button id="speechRecognitionStop"><i class="fas fa-stop"></i> Stop</button>
<button id="speechRecognitionStart"><i class="fas fa-play"></i></button>
<button id="speechRecognitionStop"><i class="fas fa-stop"></i></button>
</div>
</section>
</section>