revert: restore safe JS, keep only kiosk-mode CSS class toggle — voice patches caused JS crash

This commit is contained in:
2026-06-21 05:03:56 +00:00
parent aa88a2f73b
commit aaf9f9d56a
3 changed files with 12 additions and 18 deletions
+5 -10
View File
@@ -161,7 +161,7 @@ function showApp(name, greeting, silent = false) {
}
}, 30000);
setInterval(() => {
if (voiceMode && !document.body.classList.contains("kiosk-mode") && voiceLastCmd > 0 && Date.now() - voiceLastCmd > VOICE_SLEEP_MS) {
if (voiceMode && voiceLastCmd > 0 && Date.now() - voiceLastCmd > VOICE_SLEEP_MS) {
exitVoiceMode();
}
}, 60000);
@@ -1322,15 +1322,11 @@ function initVoice() {
// Sleeping: ONLY respond to master wake phrases
if (isAsleep) {
if (WAKE_PHRASES.some(p => lc.includes(p))) wakeFromSleep();
// In kiosk mode: wake word also wakes from sleep
if (document.body.classList.contains("kiosk-mode")) { wakeFromSleep(); }
else return;
return;
}
if (!voiceMode) {
if (WAKE_PHRASES.some(p => lc.includes(p))) enterVoiceMode();
// Kiosk: any speech enters conversation mode
else if (document.body.classList.contains("kiosk-mode") && transcript.length > 2) enterVoiceMode("kiosk");
} else if (!voiceMuted) {
voiceLastCmd = Date.now();
voiceActive = Date.now();
@@ -1803,16 +1799,14 @@ async function toggleKiosk() {
if (activeTab && (activeTab.id === "tab-agents" || activeTab.id === "tab-guardian")) {
switchTab("intel");
}
document.body.classList.add("kiosk-mode");
if (btn) { btn.textContent = "⧞ EXIT"; btn.style.color = "var(--cyan)"; }
// Kiosk: auto-start mic and enter always-on conversation mode
if (isAsleep) wakeFromSleep();
if (!voiceMode) enterVoiceMode("kiosk");
if (!isListening) { isListening = true; updateMicBtn(); if (recognition) try { recognition.start(); } catch(_) {} }
} else {
const ex = document.exitFullscreen || document.webkitExitFullscreen || document.mozCancelFullScreen || document.msExitFullscreen;
if (ex) ex.call(document).catch(() => {});
if (_wakeLock) { _wakeLock.release().catch(() => {}); _wakeLock = null; }
document.body.classList.remove("kiosk-mode");
document.body.classList.remove("kiosk-mode");
if (btn) { btn.textContent = "⧞ KIOSK"; btn.style.color = ""; }
if (!isTablet()) document.body.classList.remove("tablet-mode");
}
@@ -1829,6 +1823,7 @@ function _onFsChange() {
if (!document.fullscreenElement && !document.webkitFullscreenElement) {
if (_wakeLock) { _wakeLock.release().catch(() => {}); _wakeLock = null; }
document.body.classList.remove("kiosk-mode");
document.body.classList.remove("kiosk-mode");
if (btn) { btn.textContent = "⧞ KIOSK"; btn.style.color = ""; }
if (!isTablet()) document.body.classList.remove("tablet-mode");
}
-1
View File
@@ -6,7 +6,6 @@ var SLEEP_CMDS = /\b(good\s*night(\s*jarvis)?|go\s*to\s*sleep|sleep\s*mode|shut\
function enterSleepMode() {
if (isAsleep) return;
if (document.body.classList.contains("kiosk-mode")) return; // never sleep in kiosk
isAsleep = true;
// Pause voice mode