Fix dict kwarg evaluation in renderComponentDOM, no-cache static in dev

Dict values (e.g. {:X-CSRFToken csrf}) passed as component kwargs were
not being evaluated through sxEval — symbols stayed unresolved in the DOM.
Also add Cache-Control: no-cache headers for /static/ in dev mode so
browser always fetches fresh JS/CSS without needing hard refresh.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-05 09:37:07 +00:00
parent 64aa417d63
commit 8c69e329e0
2 changed files with 10 additions and 2 deletions

View File

@@ -341,6 +341,14 @@ def create_base_app(
response.headers["HX-Preserve-Search"] = value
return response
# Prevent browser caching of static files in dev (forces fresh fetch on reload)
if app.config["NO_PAGE_CACHE"]:
@app.after_request
async def _no_cache_static(response):
if request.path.startswith("/static/"):
response.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
return response
# --- context processor ---
if context_fn is not None:
@app.context_processor