From 85c07732b202858235b754e50f72fa4492740518 Mon Sep 17 00:00:00 2001 From: Petr Date: Sun, 15 Mar 2026 00:26:10 +0100 Subject: [PATCH] Fix dashboard stats: support flat sync_state.json format (no 'tables' wrapper) BigQuery adapter writes table entries at top level, not nested under 'tables'. Detect flat format by checking if values contain 'rows' key. --- webapp/app.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/webapp/app.py b/webapp/app.py index f20272d..3f88757 100644 --- a/webapp/app.py +++ b/webapp/app.py @@ -234,6 +234,9 @@ def _load_data_stats() -> dict: state = json.load(f) tables_data = state.get("tables", {}) + # Support flat format (table_id at top level, no "tables" wrapper) + if not tables_data and any(isinstance(v, dict) and "rows" in v for v in state.values()): + tables_data = {k: v for k, v in state.items() if isinstance(v, dict) and "rows" in v} if not tables_data: return dict(FALLBACK_DATA_STATS)