fix(admin): bust admin.js browser cache with ?v=3, disable immutable static cache
Deploy to Production / deploy (push) Successful in 3m16s

Quarkus defaults to Cache-Control: immutable, max-age=86400 for static files.
The immutable flag means browsers ignore hard-refresh and serve stale JS for 24h.
Fix: version query string on admin.js URLs, max-age=300 (5min), clear immutable-paths.

Co-Authored-By: Mira Rehfeld <noreply@anthropic.com>
This commit is contained in:
Carsten Rehfeld
2026-05-16 23:53:21 +02:00
parent c7bfa73d2f
commit 0d4f7934f7
3 changed files with 6 additions and 2 deletions
@@ -12,3 +12,7 @@ apix.admin.key=${APIX_API_KEY:dev-insecure-key-change-in-prod}
# Session cookie name
apix.admin.cookie-name=apix_admin_session
# Static assets — short cache so deploys take effect without hard-refresh
quarkus.http.static-resources.max-age=300
quarkus.http.static-resources.immutable-paths=
@@ -106,6 +106,6 @@ nav {
<script>var __D = {statsJson.raw};</script>
<script src="https://cdn.jsdelivr.net/npm/d3@7/dist/d3.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/topojson-client@3/dist/topojson-client.min.js"></script>
<script src="/admin.js"></script>
<script src="/admin.js?v=3"></script>
</body>
</html>
@@ -149,7 +149,7 @@ button.promote:hover { background: #2ea043; }
<script>var __D = {dataJson.raw};</script>
<script src="https://cdn.jsdelivr.net/npm/d3@7/dist/d3.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/topojson-client@3/dist/topojson-client.min.js"></script>
<script src="/admin.js"></script>
<script src="/admin.js?v=3"></script>
<script>
(function () {
const INTERVAL = 5000;