From ef41c29981ecfcfcbfd7cde355aca1248ebac634 Mon Sep 17 00:00:00 2001 From: cclohmar Date: Thu, 6 Aug 2026 17:20:15 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20move=20auth=20collection=20after=20confi?= =?UTF-8?q?g=20fetch=20=E2=80=94=20lexical=20scope=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/app.js | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/public/app.js b/public/app.js index 87305ad..783da8c 100644 --- a/public/app.js +++ b/public/app.js @@ -383,6 +383,12 @@ document.getElementById('btn-save').addEventListener('click', async () => { }); try { + // Fetch current config. + const cr = await fetch(API + '/config'); + const cj = await cr.json(); + const cfg = cj.data || {}; + cfg.cameras = updatedCameras; + // Include auth settings from the management card. const authEnabled = document.querySelector('[data-auth="auth-enabled"]')?.checked || false; const masterUser = document.querySelector('[data-auth="master-user"]')?.value || ''; @@ -390,23 +396,15 @@ document.getElementById('btn-save').addEventListener('click', async () => { const viewerUser = document.querySelector('[data-auth="viewer-user"]')?.value || ''; const viewerPass = document.querySelector('[data-auth="viewer-pass"]')?.value || ''; const viewerEnabled = document.querySelector('[data-auth="viewer-enabled"]')?.checked || false; - + cfg.auth = cfg.auth || {}; cfg.auth.enabled = authEnabled; - cfg.auth.master = cfg.auth.master || {}; cfg.auth.master.username = masterUser; - cfg.auth.viewer = cfg.auth.viewer || {}; cfg.auth.viewer.username = viewerUser; cfg.auth.viewer.enabled = viewerEnabled || false; if (masterPass) { cfg.auth.master.password = masterPass; cfg.auth.master.enabled = true; } if (viewerPass) { cfg.auth.viewer.password = viewerPass; } - // Fetch current config, then post updated version. - const cr = await fetch(API + '/config'); - const cj = await cr.json(); - const cfg = cj.data || {}; - cfg.cameras = updatedCameras; - const r = await fetch(API + '/config', { method: 'POST', headers: { 'Content-Type': 'application/json' },