diff --git a/src/app/serwist/[path]/route.ts b/src/app/serwist/[path]/route.ts index 26755f2..eb14163 100644 --- a/src/app/serwist/[path]/route.ts +++ b/src/app/serwist/[path]/route.ts @@ -1,14 +1,17 @@ -import { spawnSync } from "node:child_process"; import { createSerwistRoute } from "@serwist/turbopack"; -const revision = - spawnSync("git", ["rev-parse", "HEAD"], { encoding: "utf-8" }).stdout?.trim() || - crypto.randomUUID(); - export const { dynamic, dynamicParams, revalidate, generateStaticParams, GET } = createSerwistRoute( { swSrc: "src/app/sw.ts", - additionalPrecacheEntries: [{ url: "/manifest.json", revision }], + // KEIN additionalPrecacheEntries für "/manifest.json": Next.js nimmt + // Dateien aus public/ bereits automatisch mit einer eigenen Revision ins + // Precache-Manifest auf. Ein zusätzlicher, händischer Eintrag für + // dieselbe URL erzeugte zwei Objekte mit unterschiedlicher Revision im + // selben Manifest - Serwist wirft dann synchron beim Erstellen von + // `new Serwist(...)` "add-to-cache-list-conflicting-entries", was Chrome + // als "ServiceWorker script evaluation failed" meldet (reproduziert: + // beide Sentry-Issues #146975555 und #146993234 waren derselbe Bug). + // // Default ist nur auf win32 true (siehe @serwist/turbopack), auf // Linux/macOS sonst esbuild-wasm - explizit erzwungen, damit das // Verhalten plattformunabhängig gleich ist (esbuild bleibt außerdem als