fix: prevent stale admin UI assets
This commit is contained in:
@@ -5,10 +5,10 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="theme-color" content="#090b0a">
|
<meta name="theme-color" content="#090b0a">
|
||||||
<title>Duriin — Autonomy</title>
|
<title>Duriin — Autonomy</title>
|
||||||
<link rel="stylesheet" href="/admin/assets/css/base.css">
|
<link rel="stylesheet" href="/admin/assets/css/base.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/layout.css">
|
<link rel="stylesheet" href="/admin/assets/css/layout.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/components.css">
|
<link rel="stylesheet" href="/admin/assets/css/components.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/autonomy.css">
|
<link rel="stylesheet" href="/admin/assets/css/autonomy.css?v=20260804-1">
|
||||||
</head>
|
</head>
|
||||||
<body class="page-autonomy">
|
<body class="page-autonomy">
|
||||||
|
|
||||||
@@ -131,7 +131,7 @@
|
|||||||
</main>
|
</main>
|
||||||
|
|
||||||
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
||||||
<script src="/admin/assets/js/app.js"></script>
|
<script src="/admin/assets/js/app.js?v=20260804-1"></script>
|
||||||
<script src="/admin/assets/js/autonomy.js"></script>
|
<script src="/admin/assets/js/autonomy.js?v=20260804-1"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Duriin Admin — Articles</title>
|
<title>Duriin Admin — Articles</title>
|
||||||
<link rel="stylesheet" href="/admin/assets/css/base.css">
|
<link rel="stylesheet" href="/admin/assets/css/base.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/layout.css">
|
<link rel="stylesheet" href="/admin/assets/css/layout.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/components.css">
|
<link rel="stylesheet" href="/admin/assets/css/components.css?v=20260804-1">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -134,7 +134,7 @@
|
|||||||
|
|
||||||
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
||||||
|
|
||||||
<script src="/admin/assets/js/app.js"></script>
|
<script src="/admin/assets/js/app.js?v=20260804-1"></script>
|
||||||
<script src="/admin/assets/js/articles.js"></script>
|
<script src="/admin/assets/js/articles.js?v=20260804-1"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Duriin Admin — Events</title>
|
<title>Duriin Admin — Events</title>
|
||||||
<link rel="stylesheet" href="/admin/assets/css/base.css">
|
<link rel="stylesheet" href="/admin/assets/css/base.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/layout.css">
|
<link rel="stylesheet" href="/admin/assets/css/layout.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/components.css">
|
<link rel="stylesheet" href="/admin/assets/css/components.css?v=20260804-1">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -94,7 +94,7 @@
|
|||||||
|
|
||||||
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
||||||
|
|
||||||
<script src="/admin/assets/js/app.js"></script>
|
<script src="/admin/assets/js/app.js?v=20260804-1"></script>
|
||||||
<script src="/admin/assets/js/events.js"></script>
|
<script src="/admin/assets/js/events.js?v=20260804-1"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Duriin Admin — Intelligence / Graph</title>
|
<title>Duriin Admin — Intelligence / Graph</title>
|
||||||
<link rel="stylesheet" href="/admin/assets/css/base.css">
|
<link rel="stylesheet" href="/admin/assets/css/base.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/layout.css">
|
<link rel="stylesheet" href="/admin/assets/css/layout.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/components.css">
|
<link rel="stylesheet" href="/admin/assets/css/components.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/intel.css">
|
<link rel="stylesheet" href="/admin/assets/css/intel.css?v=20260804-1">
|
||||||
</head>
|
</head>
|
||||||
<body class="page-graph">
|
<body class="page-graph">
|
||||||
|
|
||||||
@@ -72,9 +72,9 @@
|
|||||||
|
|
||||||
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
||||||
|
|
||||||
<script src="/admin/assets/js/d3.min.js"></script>
|
<script src="/admin/assets/js/d3.min.js?v=20260804-1"></script>
|
||||||
<script src="/admin/assets/js/app.js"></script>
|
<script src="/admin/assets/js/app.js?v=20260804-1"></script>
|
||||||
<script src="/admin/assets/js/intel-shared.js"></script>
|
<script src="/admin/assets/js/intel-shared.js?v=20260804-1"></script>
|
||||||
<script src="/admin/assets/js/intel-graph.js"></script>
|
<script src="/admin/assets/js/intel-graph.js?v=20260804-1"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Duriin Admin — Intelligence / Knowledge</title>
|
<title>Duriin Admin — Intelligence / Knowledge</title>
|
||||||
<link rel="stylesheet" href="/admin/assets/css/base.css">
|
<link rel="stylesheet" href="/admin/assets/css/base.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/layout.css">
|
<link rel="stylesheet" href="/admin/assets/css/layout.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/components.css">
|
<link rel="stylesheet" href="/admin/assets/css/components.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/intel.css">
|
<link rel="stylesheet" href="/admin/assets/css/intel.css?v=20260804-1">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -90,8 +90,8 @@
|
|||||||
|
|
||||||
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
||||||
|
|
||||||
<script src="/admin/assets/js/app.js"></script>
|
<script src="/admin/assets/js/app.js?v=20260804-1"></script>
|
||||||
<script src="/admin/assets/js/intel-shared.js"></script>
|
<script src="/admin/assets/js/intel-shared.js?v=20260804-1"></script>
|
||||||
<script src="/admin/assets/js/intel-knowledge.js"></script>
|
<script src="/admin/assets/js/intel-knowledge.js?v=20260804-1"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Duriin Admin — Intelligence / Predictions</title>
|
<title>Duriin Admin — Intelligence / Predictions</title>
|
||||||
<link rel="stylesheet" href="/admin/assets/css/base.css">
|
<link rel="stylesheet" href="/admin/assets/css/base.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/layout.css">
|
<link rel="stylesheet" href="/admin/assets/css/layout.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/components.css">
|
<link rel="stylesheet" href="/admin/assets/css/components.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/intel.css">
|
<link rel="stylesheet" href="/admin/assets/css/intel.css?v=20260804-1">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -81,8 +81,8 @@
|
|||||||
|
|
||||||
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
||||||
|
|
||||||
<script src="/admin/assets/js/app.js"></script>
|
<script src="/admin/assets/js/app.js?v=20260804-1"></script>
|
||||||
<script src="/admin/assets/js/intel-shared.js"></script>
|
<script src="/admin/assets/js/intel-shared.js?v=20260804-1"></script>
|
||||||
<script src="/admin/assets/js/intel-predictions.js"></script>
|
<script src="/admin/assets/js/intel-predictions.js?v=20260804-1"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Duriin Admin — Intelligence / Signals</title>
|
<title>Duriin Admin — Intelligence / Signals</title>
|
||||||
<link rel="stylesheet" href="/admin/assets/css/base.css">
|
<link rel="stylesheet" href="/admin/assets/css/base.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/layout.css">
|
<link rel="stylesheet" href="/admin/assets/css/layout.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/components.css">
|
<link rel="stylesheet" href="/admin/assets/css/components.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/intel.css">
|
<link rel="stylesheet" href="/admin/assets/css/intel.css?v=20260804-1">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -137,8 +137,8 @@
|
|||||||
|
|
||||||
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
||||||
|
|
||||||
<script src="/admin/assets/js/app.js"></script>
|
<script src="/admin/assets/js/app.js?v=20260804-1"></script>
|
||||||
<script src="/admin/assets/js/intel-shared.js"></script>
|
<script src="/admin/assets/js/intel-shared.js?v=20260804-1"></script>
|
||||||
<script src="/admin/assets/js/intel-signals.js"></script>
|
<script src="/admin/assets/js/intel-signals.js?v=20260804-1"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Duriin Admin — SQL</title>
|
<title>Duriin Admin — SQL</title>
|
||||||
<link rel="stylesheet" href="/admin/assets/css/base.css">
|
<link rel="stylesheet" href="/admin/assets/css/base.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/layout.css">
|
<link rel="stylesheet" href="/admin/assets/css/layout.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/components.css">
|
<link rel="stylesheet" href="/admin/assets/css/components.css?v=20260804-1">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
|
|
||||||
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
||||||
|
|
||||||
<script src="/admin/assets/js/app.js"></script>
|
<script src="/admin/assets/js/app.js?v=20260804-1"></script>
|
||||||
<script src="/admin/assets/js/sql.js"></script>
|
<script src="/admin/assets/js/sql.js?v=20260804-1"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Duriin Admin — Stats</title>
|
<title>Duriin Admin — Stats</title>
|
||||||
<link rel="stylesheet" href="/admin/assets/css/base.css">
|
<link rel="stylesheet" href="/admin/assets/css/base.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/layout.css">
|
<link rel="stylesheet" href="/admin/assets/css/layout.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/components.css">
|
<link rel="stylesheet" href="/admin/assets/css/components.css?v=20260804-1">
|
||||||
<link rel="stylesheet" href="/admin/assets/css/intel.css">
|
<link rel="stylesheet" href="/admin/assets/css/intel.css?v=20260804-1">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
|
|
||||||
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
<div id="toast"><span class="toast-dot"></span><span id="toast-msg"></span></div>
|
||||||
|
|
||||||
<script src="/admin/assets/js/app.js"></script>
|
<script src="/admin/assets/js/app.js?v=20260804-1"></script>
|
||||||
<script src="/admin/assets/js/stats.js"></script>
|
<script src="/admin/assets/js/stats.js?v=20260804-1"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+6
-2
@@ -84,8 +84,12 @@ async function adminRoutes(fastify) {
|
|||||||
root: assetsDir,
|
root: assetsDir,
|
||||||
prefix: '/admin/assets/',
|
prefix: '/admin/assets/',
|
||||||
decorateReply: false,
|
decorateReply: false,
|
||||||
cacheControl: true,
|
cacheControl: false,
|
||||||
maxAge: 0,
|
etag: false,
|
||||||
|
lastModified: false,
|
||||||
|
setHeaders(res) {
|
||||||
|
res.setHeader('Cache-Control', 'no-store, no-cache, must-revalidate');
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
// top-level entry — the autonomy control room is the primary product surface
|
// top-level entry — the autonomy control room is the primary product surface
|
||||||
|
|||||||
Reference in New Issue
Block a user