From 5850085c8b30296590a44f5ae52e22de7fb9694b Mon Sep 17 00:00:00 2001 From: bruno Date: Fri, 10 Jul 2026 13:25:35 -0400 Subject: [PATCH] fix: add Cache-Control: no-store to prevent stale JS in browser cache Both board.py and dashboard.py page endpoints now return Cache-Control: no-store, max-age=0 headers to prevent the browser from caching the page HTML with broken x-data attributes. --- app/routers/board.py | 3 ++- app/routers/dashboard.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/routers/board.py b/app/routers/board.py index 81071d4..a989783 100644 --- a/app/routers/board.py +++ b/app/routers/board.py @@ -754,7 +754,8 @@ async def view_page(request: Request, page_id: int): "page_share_mode": page.get("share_mode", "private"), "page_published": bool(page.get("published", 0))} template = env.get_template("page_editor.html") - return template.render(**ctx) + response = template.render(**ctx) + return HTMLResponse(content=response, headers={"Cache-Control": "no-store, max-age=0"}) @router.post("/api/sync/{owner}/{repo}") async def sync_project(owner: str, repo: str): diff --git a/app/routers/dashboard.py b/app/routers/dashboard.py index 3c0ca33..30243fa 100644 --- a/app/routers/dashboard.py +++ b/app/routers/dashboard.py @@ -171,7 +171,8 @@ async def view_page_root(request: Request, page_id: int): "page_share_mode": page.get("share_mode", "private"), "page_published": bool(page.get("published", 0))} template = env.get_template("page_editor.html") - return template.render(**ctx) + response = template.render(**ctx) + return HTMLResponse(content=response, headers={"Cache-Control": "no-store, max-age=0"}) @router.get("/accounts", response_class=HTMLResponse)