privacy selector

This commit is contained in:
KingKDot
2026-07-10 23:44:46 -05:00
parent 43ee5a7d4b
commit 9adcbb24a5
9 changed files with 704 additions and 3 deletions
@@ -80,6 +80,7 @@ import { createSharedUiSettingsSaver, loadSharedUiSettings } from "./shared-ui-s
const inputLatency = document.getElementById("inputLatency");
const statusEl = document.getElementById("streamStatus");
const clipboardSyncCtrl = document.getElementById("clipboardSyncCtrl");
const privacyCtrl = document.getElementById("privacyCtrl");
const audioCtrl = document.getElementById("audioCtrl");
const webrtcMode = document.getElementById("webrtcMode");
const webrtcVideo = document.getElementById("webrtcVideo");
@@ -427,6 +428,7 @@ import { createSharedUiSettingsSaver, loadSharedUiSettings } from "./shared-ui-s
duplication: !!duplicationCtrl?.checked,
softwareH264: !!softwareH264Ctrl?.checked,
clipboardSync: !!clipboardSyncCtrl?.checked,
privacy: !!privacyCtrl?.checked,
audio: !!audioCtrl?.checked,
audioTransport: getAudioTransport(),
smoothing: Number(smoothingSlider?.value || 20),
@@ -802,6 +804,13 @@ import { createSharedUiSettingsSaver, loadSharedUiSettings } from "./shared-ui-s
});
}
if (privacyCtrl) {
privacyCtrl.addEventListener("change", function () {
pushPrivacyToggle();
sharedSettingsSaver.scheduleSave();
});
}
function updateLatency(ms) {
if (ms < 0 || !Number.isFinite(ms)) return;
latencyAvg = latencyAvg == null ? ms : latencyAvg * 0.8 + ms * 0.2;
@@ -1387,6 +1396,7 @@ import { createSharedUiSettingsSaver, loadSharedUiSettings } from "./shared-ui-s
desiredStreaming = false;
lastFrameAt = 0;
setStreamState("stopping", "Stopping stream");
disablePrivacyIfActive();
sendCmd("desktop_stop", {});
disconnectAudio();
stopAllWebrtc();
@@ -1435,6 +1445,18 @@ import { createSharedUiSettingsSaver, loadSharedUiSettings } from "./shared-ui-s
}
}
function pushPrivacyToggle() {
if (!privacyCtrl) return;
sendCmd(privacyCtrl.checked ? "privacy_start" : "privacy_stop", {});
}
function disablePrivacyIfActive() {
if (privacyCtrl && privacyCtrl.checked) {
privacyCtrl.checked = false;
sendCmd("privacy_stop", {});
}
}
mouseCtrl.addEventListener("change", function () {
pushInputToggles();
sharedSettingsSaver.scheduleSave();
@@ -2153,6 +2175,7 @@ import { createSharedUiSettingsSaver, loadSharedUiSettings } from "./shared-ui-s
function stopOnExit() {
sharedSettingsSaver.saveNow();
if (isRecording()) stopRecording();
disablePrivacyIfActive();
if (ws && ws.readyState === WebSocket.OPEN && desiredStreaming) {
desiredStreaming = false;
sendCmd("desktop_stop", {});