diff --git a/apps/web/src/routes/dashboard.ts b/apps/web/src/routes/dashboard.ts index bbc6640..f79ce7a 100644 --- a/apps/web/src/routes/dashboard.ts +++ b/apps/web/src/routes/dashboard.ts @@ -11,6 +11,8 @@ const cssFile = Bun.file(resolve(import.meta.dir, "../dashboard/tailwind.css")); const cssHash = createHash("md5").update(await cssFile.bytes()).digest("hex").slice(0, 8); const jsFile = Bun.file(resolve(import.meta.dir, "../dashboard/app.js")); const jsHash = createHash("md5").update(await jsFile.bytes()).digest("hex").slice(0, 8); +const qbFile = Bun.file(resolve(import.meta.dir, "../dashboard/query-builder.js")); +const qbHash = createHash("md5").update(await qbFile.bytes()).digest("hex").slice(0, 8); const eta = new Eta({ views: resolve(import.meta.dir, "../views"), cache: true, defaultExtension: ".ejs" }); @@ -131,7 +133,7 @@ function redirect(to: string) { export function html(template: string, data: Record = {}) { return new Response(eta.render(template, { - ...data, timeAgoSSR, sparklineSSR, pickBestRegion, latencyChartSSR, escapeHtmlSSR, cssHash, jsHash, + ...data, timeAgoSSR, sparklineSSR, pickBestRegion, latencyChartSSR, escapeHtmlSSR, cssHash, jsHash, qbHash, regionColors: REGION_COLORS, regionLabels: REGION_LABELS, regions: REGIONS, planLabels: PLAN_LABELS, }), { headers: { "content-type": "text/html; charset=utf-8" }, diff --git a/apps/web/src/views/detail.ejs b/apps/web/src/views/detail.ejs index bbeaae3..aade92e 100644 --- a/apps/web/src/views/detail.ejs +++ b/apps/web/src/views/detail.ejs @@ -1,4 +1,4 @@ -<%~ include('./partials/head', { title: 'Monitor', scripts: ['/dashboard/query-builder.js'] }) %> +<%~ include('./partials/head', { title: 'Monitor', scripts: ['/dashboard/query-builder.js?v=' + it.qbHash] }) %> <%~ include('./partials/nav', { nav: 'monitors' }) %> <% diff --git a/apps/web/src/views/new.ejs b/apps/web/src/views/new.ejs index d56200d..1d2a96e 100644 --- a/apps/web/src/views/new.ejs +++ b/apps/web/src/views/new.ejs @@ -1,4 +1,4 @@ -<%~ include('./partials/head', { title: 'New Monitor', scripts: ['/dashboard/query-builder.js'] }) %> +<%~ include('./partials/head', { title: 'New Monitor', scripts: ['/dashboard/query-builder.js?v=' + it.qbHash] }) %> <%~ include('./partials/nav', { nav: 'monitors' }) %>