From 727a7027a2aba1cb80bca22c99bc1e27461aaa3e Mon Sep 17 00:00:00 2001 From: philipp Date: Sat, 25 Jul 2026 13:35:05 +0200 Subject: [PATCH] Keep system page independent of trading config refresh Proof: System page no longer waits for unrelated trading-config refresh work; full npm test and production dashboard build pass before deployment. Assumptions: System summary uses service and persisted operational sources only, while funds and strategy retain runtime trading-config refresh. Still fake: Pod-local pg_stat_activity and deployed-image tag evidence remain unavailable without cluster credentials; exact all-time submission totals remain unavailable. --- src/apps/operator-dashboard.mjs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/apps/operator-dashboard.mjs b/src/apps/operator-dashboard.mjs index 051ebe2..15bdd47 100644 --- a/src/apps/operator-dashboard.mjs +++ b/src/apps/operator-dashboard.mjs @@ -731,7 +731,7 @@ async function loadQuoteLifecycleLookupPayload({ identifier }) { async function loadDashboardPage({ page, auth }) { const sourceErrors = []; - const tradingConfig = await tradingConfigStore.forceRefresh(); + const tradingConfig = page === 'system' ? null : await tradingConfigStore.forceRefresh(); const runtimeConfig = buildRuntimeConfig(tradingConfig); const generatedAt = new Date().toISOString(); const load = (name, loader, fallback) => safeSourceLoad(name, loader, fallback, sourceErrors); @@ -1021,6 +1021,7 @@ function bodyField(body, snakeKey, camelKey) { } function buildRuntimeConfig(tradingConfig) { + tradingConfig = tradingConfig || {}; return { ...config, ...tradingConfig,