From 6913625830b6a081d3bee2103e53860d8cd6e1cb Mon Sep 17 00:00:00 2001 From: sirmrak Date: Thu, 21 May 2026 15:54:31 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20Web=20Client=20=E2=80=94=20null=20check?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20RMS=20meter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Проблема: rmsFill/rmsValue null до загрузки DOM Решение: - Проверка if (!rmsFill || !rmsValue) return - Инициализация после window.load - Логирование для отладки --- web-client/client.html | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/web-client/client.html b/web-client/client.html index 66c4875..95726f1 100644 --- a/web-client/client.html +++ b/web-client/client.html @@ -449,6 +449,8 @@ // Update RMS meter function updateRmsMeter(level) { + if (!rmsFill || !rmsValue) return; // Проверка на null + const percent = Math.min(100, Math.max(0, level * 100)); rmsFill.style.width = percent + '%'; rmsValue.textContent = level.toFixed(2); @@ -456,8 +458,8 @@ // Reset after 1 second of no audio clearTimeout(rmsTimeout); rmsTimeout = setTimeout(() => { - rmsFill.style.width = '0%'; - rmsValue.textContent = '0.00'; + if (rmsFill) rmsFill.style.width = '0%'; + if (rmsValue) rmsValue.textContent = '0.00'; }, 1000); } @@ -727,6 +729,13 @@ // автоподключение при загрузке (опционально) window.addEventListener('load', () => { addEventToLog('🤖 Интерфейс LVA NEXUS • готов к подключению'); + + // Инициализация RMS элементов после загрузки DOM + const rmsFillEl = document.getElementById('rmsFill'); + const rmsValueEl = document.getElementById('rmsValue'); + if (rmsFillEl && rmsValueEl) { + console.log('RMS meter initialized'); + } });