diff --git a/web/src/app/layout.tsx b/web/src/app/layout.tsx index 8aa1ddf9..39c6e644 100644 --- a/web/src/app/layout.tsx +++ b/web/src/app/layout.tsx @@ -1,6 +1,12 @@ import type { Metadata } from "next"; import "./globals.css"; +// The dashboard is an authenticated control plane, not a static document. +// Rendering it dynamically makes Next serve the HTML with private/no-store +// semantics, so a browser or intermediary cannot pin an old client bundle +// after a deployment. Hashed files under /_next/static remain cacheable. +export const dynamic = "force-dynamic"; + export const metadata: Metadata = { title: "ShellFleet", description: "Manage systemd services and Docker workloads across your fleet from one terminal-flavored dashboard.",