From 5bec301e97bdc097aae8df2eff3463eaa2f6d9f4 Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Thu, 9 Jul 2026 21:30:48 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20updating=20in-memory=20con?= =?UTF-8?q?fig=20afer=20save=20server-side?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/app.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/services/app.js b/services/app.js index b54d7635..9cb2e920 100644 --- a/services/app.js +++ b/services/app.js @@ -275,9 +275,14 @@ const app = express() const respond = (jsonBody) => { if (responded || res.headersSent) return; responded = true; - try { // Only update in-memory config when disk write succeeds - if (JSON.parse(jsonBody).success === true) config = req.body.config; - } catch (e) { /* unparseable body, config is unchanged */ } + try { // Only update in-memory config when a root conf.yml write succeeds + const target = (typeof req.body.filename === 'string' && req.body.filename) + ? path.basename(req.body.filename) : 'conf.yml'; + if (JSON.parse(jsonBody).success === true && target === 'conf.yml') { + const parsed = yaml.load(req.body.config); + if (parsed && typeof parsed === 'object') config = parsed; + } + } catch (e) { /* unparseable body or YAML, config is unchanged */ } try { res.end(jsonBody); } catch (e) { /* response stream gone */ } }; saveConfig(req.body, respond).catch((e) => {