[mirotalk] - remove pin transciption from settings, improve ui

This commit is contained in:
Miroslav Pejic
2026-04-02 12:38:36 +02:00
parent 698ed99207
commit 6f875db986
10 changed files with 14 additions and 43 deletions
+1 -1
View File
@@ -1,5 +1,5 @@
# ==================================================== # ====================================================
# MiroTalk P2P v.1.7.86 - Environment Configuration # MiroTalk P2P v.1.7.87 - Environment Configuration
# ==================================================== # ====================================================
# App environment # App environment
+1 -1
View File
@@ -2,7 +2,7 @@
/** /**
* ============================================== * ==============================================
* MiroTalk P2P v.1.7.86 - Configuration File * MiroTalk P2P v.1.7.87 - Configuration File
* ============================================== * ==============================================
* *
* This file is the central configuration source. * 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 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 * @license CodeCanyon: https://codecanyon.net/item/mirotalk-p2p-webrtc-realtime-video-conferences/38376661
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com * @author Miroslav Pejic - miroslav.pejic.85@gmail.com
* @version 1.7.86 * @version 1.7.87
* *
*/ */
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "mirotalk", "name": "mirotalk",
"version": "1.7.86", "version": "1.7.87",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "mirotalk", "name": "mirotalk",
"version": "1.7.86", "version": "1.7.87",
"license": "AGPL-3.0", "license": "AGPL-3.0",
"dependencies": { "dependencies": {
"@mattermost/client": "11.5.0", "@mattermost/client": "11.5.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "mirotalk", "name": "mirotalk",
"version": "1.7.86", "version": "1.7.87",
"description": "A free WebRTC browser-based video call", "description": "A free WebRTC browser-based video call",
"main": "server.js", "main": "server.js",
"scripts": { "scripts": {
+4 -5
View File
@@ -2512,7 +2512,6 @@ button {
margin: auto; margin: auto;
padding: 10px; padding: 10px;
width: 50%; width: 50%;
min-height: 560px !important;
background: var(--body-bg); background: var(--body-bg);
box-shadow: var(--box-shadow); box-shadow: var(--box-shadow);
border: var(--border); border: var(--border);
@@ -2534,7 +2533,6 @@ button {
@media screen and (max-width: 830px) { @media screen and (max-width: 830px) {
#mySettings { #mySettings {
width: 80%; width: 80%;
min-height: auto;
} }
.mySettingsMain { .mySettingsMain {
flex-direction: row; flex-direction: row;
@@ -2640,6 +2638,7 @@ button {
border: none; border: none;
border-radius: 8px; border-radius: 8px;
float: right; float: right;
margin-right: -10px;
background: transparent; background: transparent;
transition: background 0.23s; transition: background 0.23s;
} }
@@ -2911,7 +2910,7 @@ button {
--------------------------------------------------------------*/ --------------------------------------------------------------*/
.tab { .tab {
padding: 10px 10px 10px 0; padding: 0px 10px 10px 0; /* top right bottom left */
overflow: hidden; overflow: hidden;
width: 35%; width: 35%;
background-color: var(--body-bg); background-color: var(--body-bg);
@@ -2923,9 +2922,9 @@ button {
.tabActions { .tabActions {
position: relative; position: relative;
padding: 10px 15px 0px 0px; padding: 0px 20px 0px 0px; /* top right bottom left */
width: 65%; width: 65%;
max-height: 530px; max-height: 540px;
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
} }
+1 -1
View File
@@ -107,7 +107,7 @@ let brand = {
}, },
about: { about: {
imageUrl: '../images/mirotalk-logo.gif', imageUrl: '../images/mirotalk-logo.gif',
title: 'WebRTC P2P v1.7.86', title: 'WebRTC P2P v1.7.87',
html: ` html: `
<button <button
id="support-button" id="support-button"
+3 -21
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 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 * @license CodeCanyon: https://codecanyon.net/item/mirotalk-p2p-webrtc-realtime-video-conferences/38376661
* @author Miroslav Pejic - miroslav.pejic.85@gmail.com * @author Miroslav Pejic - miroslav.pejic.85@gmail.com
* @version 1.7.86 * @version 1.7.87
* *
*/ */
@@ -363,8 +363,7 @@ const pinChatByDefaultRow = getId('pinChatByDefaultRow');
const switchPinChatByDefault = getId('switchPinChatByDefault'); const switchPinChatByDefault = getId('switchPinChatByDefault');
const keepAwakeButton = getId('keepAwakeButton'); const keepAwakeButton = getId('keepAwakeButton');
const switchKeepAwake = getId('switchKeepAwake'); const switchKeepAwake = getId('switchKeepAwake');
const pinCaptionByDefaultRow = getId('pinCaptionByDefaultRow');
const switchPinCaptionByDefault = getId('switchPinCaptionByDefault');
const switchPushToTalk = getId('switchPushToTalk'); const switchPushToTalk = getId('switchPushToTalk');
const switchAudioPitchBar = getId('switchAudioPitchBar'); const switchAudioPitchBar = getId('switchAudioPitchBar');
const audioInputSelect = getId('audioSource'); const audioInputSelect = getId('audioSource');
@@ -656,7 +655,6 @@ let isChatEmojiVisible = false;
let isChatMarkdownOn = false; let isChatMarkdownOn = false;
let isChatPasteTxt = false; let isChatPasteTxt = false;
let pinChatByDefault = false; let pinChatByDefault = false;
let pinCaptionByDefault = true;
let speechInMessages = false; let speechInMessages = false;
let isSpeechSynthesisSupported = 'speechSynthesis' in window; let isSpeechSynthesisSupported = 'speechSynthesis' in window;
let transcripts = []; // collect all the transcripts to save it later if you need let transcripts = []; // collect all the transcripts to save it later if you need
@@ -856,7 +854,6 @@ function setButtonsToolTip() {
setTippy(switchShare, "Show 'Share Room' popup on join.", 'right'); setTippy(switchShare, "Show 'Share Room' popup on join.", 'right');
setTippy(switchKeepButtonsVisible, 'Keep buttons always visible', 'right'); setTippy(switchKeepButtonsVisible, 'Keep buttons always visible', 'right');
setTippy(switchPinChatByDefault, 'Open chat pinned by default', 'right'); setTippy(switchPinChatByDefault, 'Open chat pinned by default', 'right');
setTippy(switchPinCaptionByDefault, 'Open transcription pinned by default', 'right');
setTippy(switchKeepAwake, 'Prevent the device from sleeping (if supported)', 'right'); setTippy(switchKeepAwake, 'Prevent the device from sleeping (if supported)', 'right');
setTippy(recImage, 'Toggle recording', 'right'); setTippy(recImage, 'Toggle recording', 'right');
setTippy(networkIP, 'IP address associated with the ICE candidate', 'right'); setTippy(networkIP, 'IP address associated with the ICE candidate', 'right');
@@ -6957,7 +6954,6 @@ function setMySettingsBtn() {
if (!isDesktopDevice) { if (!isDesktopDevice) {
elemDisplay(pinChatByDefaultRow, false); elemDisplay(pinChatByDefaultRow, false);
elemDisplay(pinCaptionByDefaultRow, false);
} else { } else {
switchPinChatByDefault.addEventListener('change', (e) => { switchPinChatByDefault.addEventListener('change', (e) => {
pinChatByDefault = e.currentTarget.checked; pinChatByDefault = e.currentTarget.checked;
@@ -6966,14 +6962,6 @@ function setMySettingsBtn() {
userLog('toast', `Chat opens pinned by default ${pinChatByDefault ? 'ON' : 'OFF'}`); userLog('toast', `Chat opens pinned by default ${pinChatByDefault ? 'ON' : 'OFF'}`);
playSound('switch'); playSound('switch');
}); });
switchPinCaptionByDefault.addEventListener('change', (e) => {
pinCaptionByDefault = e.currentTarget.checked;
lsSettings.pin_caption_by_default = pinCaptionByDefault;
lS.setSettings(lsSettings);
userLog('toast', `Transcription opens pinned by default ${pinCaptionByDefault ? 'ON' : 'OFF'}`);
playSound('switch');
});
} }
// WakeLock for mobile/tablet // WakeLock for mobile/tablet
@@ -7504,7 +7492,6 @@ function loadSettingsFromLocalStorage() {
showChatOnMessage = lsSettings.show_chat_on_msg; showChatOnMessage = lsSettings.show_chat_on_msg;
speechInMessages = lsSettings.speech_in_msg; speechInMessages = lsSettings.speech_in_msg;
pinChatByDefault = lsSettings.pin_chat_by_default; pinChatByDefault = lsSettings.pin_chat_by_default;
pinCaptionByDefault = lsSettings.pin_caption_by_default;
msgerShowChatOnMsg.checked = showChatOnMessage; msgerShowChatOnMsg.checked = showChatOnMessage;
msgerSpeechMsg.checked = speechInMessages; msgerSpeechMsg.checked = speechInMessages;
screenFpsSelect.selectedIndex = lsSettings.screen_fps; screenFpsSelect.selectedIndex = lsSettings.screen_fps;
@@ -7521,7 +7508,6 @@ function loadSettingsFromLocalStorage() {
switchShare.checked = notify; switchShare.checked = notify;
switchKeepButtonsVisible.checked = isKeepButtonsVisible; switchKeepButtonsVisible.checked = isKeepButtonsVisible;
switchPinChatByDefault.checked = pinChatByDefault; switchPinChatByDefault.checked = pinChatByDefault;
switchPinCaptionByDefault.checked = pinCaptionByDefault;
switchAudioPitchBar.checked = isAudioPitchBar; switchAudioPitchBar.checked = isAudioPitchBar;
switchShortcuts.checked = isShortcutsEnabled; switchShortcuts.checked = isShortcutsEnabled;
keepCustomTheme.checked = themeCustom.keep; keepCustomTheme.checked = themeCustom.keep;
@@ -9587,10 +9573,6 @@ function showCaptionDraggable() {
isCaptionBoxVisible = true; isCaptionBoxVisible = true;
if (isDesktopDevice && canBePinned() && pinCaptionByDefault && !isChatPinned && !isCaptionPinned) {
captionPin();
}
screenReaderAccessibility.announceMessage('Caption opened'); screenReaderAccessibility.announceMessage('Caption opened');
} }
@@ -14764,7 +14746,7 @@ function showAbout() {
Swal.fire({ Swal.fire({
background: swBg, background: swBg,
position: 'center', position: 'center',
title: brand.about?.title && brand.about.title.trim() !== '' ? brand.about.title : 'WebRTC P2P v1.7.86', title: brand.about?.title && brand.about.title.trim() !== '' ? brand.about.title : 'WebRTC P2P v1.7.87',
imageUrl: brand.about?.imageUrl && brand.about.imageUrl.trim() !== '' ? brand.about.imageUrl : images.about, imageUrl: brand.about?.imageUrl && brand.about.imageUrl.trim() !== '' ? brand.about.imageUrl : images.about,
customClass: { image: 'img-about' }, customClass: { image: 'img-about' },
html: ` html: `
-1
View File
@@ -18,7 +18,6 @@ class LocalStorage {
show_chat_on_msg: true, show_chat_on_msg: true,
speech_in_msg: false, speech_in_msg: false,
pin_chat_by_default: false, pin_chat_by_default: false,
pin_caption_by_default: true,
mic_noise_suppression: true, // Noise suppression using RNNoise mic_noise_suppression: true, // Noise suppression using RNNoise
video_fps: 1, // default 30fps video_fps: 1, // default 30fps
screen_fps: 1, // default 30fps screen_fps: 1, // default 30fps
-9
View File
@@ -702,15 +702,6 @@ access to use this app.
</td> </td>
<td><input id="switchPinChatByDefault" class="toggle" type="checkbox" /></td> <td><input id="switchPinChatByDefault" class="toggle" type="checkbox" /></td>
</tr> </tr>
<tr id="pinCaptionByDefaultRow">
<td class="w-80">
<div class="title">
<i class="fas fa-closed-captioning"></i>
<p>Pin transcription</p>
</div>
</td>
<td><input id="switchPinCaptionByDefault" class="toggle" type="checkbox" /></td>
</tr>
</table> </table>
<br /> <br />
<table id="mySettingsTable"> <table id="mySettingsTable">