Files
tis/next.config.ts
T
ogrechkoandClaude Sonnet 5 43347bc31b Send Cache-Control: no-store on every page to defeat upstream caching
Every page here is personalized (session, coin balance, owned games) —
no intermediate proxy should ever cache one. Traced a report of a
stale UI (missing header content that had already shipped) to caching
somewhere between the app and the client — nginx isn't even on this
VM, the user's reverse proxy (Nginx Proxy Manager) lives on a separate
one I can't inspect. Rather than debug an opaque hop I don't control,
close it from this side: explicit no-store on every HTML/API response
except /_next/static, which keeps its normal long-lived immutable
caching since those filenames are content-hashed by the build.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QcXH24ky6zjk2UyK5oZUPH
2026-07-31 22:10:10 +00:00

25 lines
876 B
TypeScript

import type { NextConfig } from "next";
const nextConfig: NextConfig = {
// Not using output: "standalone" — file-tracing only copies argon2's
// native .node binaries, not its JS loader, causing a segfault in
// production. Deploying with the full node_modules via `next start` is
// simple enough for a single-VM deployment.
async headers() {
return [
{
// Every page is personalized (session, wallet balance, owned
// games) — an intermediate proxy (nginx, a CDN) has no business
// caching any of it. Static assets under /_next/static are
// content-hashed by the build and are explicitly excluded here so
// they keep their own long-lived caching.
source: "/((?!_next/static).*)",
headers: [{ key: "Cache-Control", value: "no-store" }],
},
];
},
};
export default nextConfig;