Self-heal a stale cached bundle via a build version
Phones kept running old JS because their cached index.html pointed at an old hashed asset. Both images now bake the commit SHA as BUILD_VERSION; the backend exposes it at GET /api/version and the client reloads once with a cache-busting query when its own baked version differs. Guarded by sessionStorage so it cannot loop. /api/version is unauthenticated like /api/health.
This commit is contained in:
1 parent
7ad14449ce
commit
7b97f010c9
11 files changed
+80
-4
No files matched your search
@@ -63,6 +63,13 @@ def health() -> dict[str, str]:
|
||||
return {"status": "ok"}
|
||||
|
||||
|
||||
@router.get("/version")
|
||||
def version(request: Request) -> dict[str, str]:
|
||||
"""Build version of the running backend, used by the client to self-heal
|
||||
from a stale cached bundle after a deploy."""
|
||||
return {"version": getattr(request.app.state, "build_version", "unknown")}
|
||||
|
||||
|
||||
@router.get("/strategies", response_model=list[StrategyOut])
|
||||
def strategies() -> list[StrategyOut]:
|
||||
return [strategy_spec(cls) for cls in list_strategies()]
|
||||
|
||||
Reference in new issue
Block a user