fix: Web Client — null check для RMS meter

Проблема: rmsFill/rmsValue null до загрузки DOM

Решение:
- Проверка if (!rmsFill || !rmsValue) return
- Инициализация после window.load
- Логирование для отладки
This commit is contained in:
2026-05-21 15:54:31 +03:00
parent 023e283d3f
commit 6913625830
+11 -2
View File
@@ -449,6 +449,8 @@
// Update RMS meter // Update RMS meter
function updateRmsMeter(level) { function updateRmsMeter(level) {
if (!rmsFill || !rmsValue) return; // Проверка на null
const percent = Math.min(100, Math.max(0, level * 100)); const percent = Math.min(100, Math.max(0, level * 100));
rmsFill.style.width = percent + '%'; rmsFill.style.width = percent + '%';
rmsValue.textContent = level.toFixed(2); rmsValue.textContent = level.toFixed(2);
@@ -456,8 +458,8 @@
// Reset after 1 second of no audio // Reset after 1 second of no audio
clearTimeout(rmsTimeout); clearTimeout(rmsTimeout);
rmsTimeout = setTimeout(() => { rmsTimeout = setTimeout(() => {
rmsFill.style.width = '0%'; if (rmsFill) rmsFill.style.width = '0%';
rmsValue.textContent = '0.00'; if (rmsValue) rmsValue.textContent = '0.00';
}, 1000); }, 1000);
} }
@@ -727,6 +729,13 @@
// автоподключение при загрузке (опционально) // автоподключение при загрузке (опционально)
window.addEventListener('load', () => { window.addEventListener('load', () => {
addEventToLog('🤖 Интерфейс LVA NEXUS • готов к подключению'); addEventToLog('🤖 Интерфейс LVA NEXUS • готов к подключению');
// Инициализация RMS элементов после загрузки DOM
const rmsFillEl = document.getElementById('rmsFill');
const rmsValueEl = document.getElementById('rmsValue');
if (rmsFillEl && rmsValueEl) {
console.log('RMS meter initialized');
}
}); });
</script> </script>
</body> </body>