From deb23805070e30ee9933e155151faa3cd2f963c2 Mon Sep 17 00:00:00 2001 From: cclohmar Date: Thu, 6 Aug 2026 19:12:10 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20toggle=20viewer=5Fport=20directly=20inst?= =?UTF-8?q?ead=20of=20viewer.enabled=20=E2=80=94=20no=20ambiguity?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.go | 11 ++++++----- public/app.js | 3 ++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/main.go b/main.go index e649b8e..f6077ad 100644 --- a/main.go +++ b/main.go @@ -89,14 +89,15 @@ func main() { liveCfg := *app.server.appConfig // copy, not pointer app.server.mu.RUnlock() - // Handle viewer server toggle. - if liveCfg.Auth.Viewer.Enabled && app.viewerSrv == nil { + // Handle viewer server toggle via viewer_port. + viewerOn := liveCfg.Server.ViewerPort != "" && liveCfg.Server.ViewerPort != ":0" + if viewerOn && app.viewerSrv == nil { go func() { v, err := app.server.StartViewerServer() if err != nil { log.Printf("Viewer server: %v", err) } app.viewerSrv = v }() - } else if !liveCfg.Auth.Viewer.Enabled && app.viewerSrv != nil { + } else if !viewerOn && app.viewerSrv != nil { log.Println("Stopping viewer server...") app.viewerSrv.Close() app.viewerSrv = nil @@ -119,7 +120,7 @@ func main() { }() // Start viewer server only if enabled. - if cfg.Auth.Viewer.Enabled { + if cfg.Server.ViewerPort != "" && cfg.Server.ViewerPort != ":0" { go func() { v, err := app.server.StartViewerServer() if err != nil { @@ -128,7 +129,7 @@ func main() { app.viewerSrv = v }() } else { - log.Println("Viewer server: disabled in config") + log.Println("Viewer server: disabled (viewer_port empty)") } select { diff --git a/public/app.js b/public/app.js index 51c6b4c..66a3dfb 100644 --- a/public/app.js +++ b/public/app.js @@ -277,7 +277,7 @@ async function renderCameraCards() {
- +
@@ -432,6 +432,7 @@ document.getElementById('btn-save').addEventListener('click', async () => { cfg.auth.master.username = masterUser; cfg.auth.viewer.username = viewerUser; cfg.auth.viewer.enabled = viewerEnabled || false; + cfg.server.viewer_port = viewerEnabled ? ":8090" : ""; if (masterPass) { cfg.auth.master.password = masterPass; cfg.auth.master.enabled = true; } if (viewerPass) { cfg.auth.viewer.password = viewerPass; }