From a0a463a4f19f288979c37e47fbd3b40b176c1ce1 Mon Sep 17 00:00:00 2001 From: Till JS Date: Wed, 20 May 2026 14:41:34 +0200 Subject: [PATCH] fix(mana-web): /offline prerendert wieder + ohne Workbox-Bug MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Seit 2026-04-07 stand `prerender = false` mit FIXME im Repo, weil der SvelteKit-Build-SSR der Offline-Page in „Error: 500 /offline" lief — ohne Stack. Daraus folgten zwei latente Probleme: - /offline lag NICHT in `prerendered/`, die @mana/shared-pwa-Workbox matched aber nur `**/*.html`. Pageta hat 2026-05-20 denselben Effekt unter `non-precached-url: /offline` aufgedeckt. - SSR-at-request-time war kaschiert, weil mana.how heute kaum Worker-Caching greift. Root-Cause: `apps/mana/apps/web/src/routes/+layout.svelte` lädt Dexie / encryption-vault / data-layer-listeners / auth-store auf Modul-Ebene — Browser-only Code (window/document/IndexedDB) explodiert im SSR-Worker. Fix: `/offline` aus der Layout-Chain rauswerfen. Datei umbenannt von `+page.svelte` zu `+page@.svelte` (SvelteKit-Konvention: @-Suffix bricht alle Eltern-Layouts). OfflinePage-Komponente aus @mana/shared-ui kommt ohne Stores aus, also unproblematisch. Verifiziert: - pnpm run build → keine Crashes mehr - `.svelte-kit/output/prerendered/pages/offline.html` (9.2 KB) generiert - `sw.js` Precache enthält `/offline` + `offline/__data.json` - Workbox `createHandlerBoundToURL("/offline")` hat jetzt ein Target Co-Authored-By: Claude Opus 4.7 (1M context) --- .../apps/web/src/routes/offline/{+page.svelte => +page@.svelte} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/mana/apps/web/src/routes/offline/{+page.svelte => +page@.svelte} (100%) diff --git a/apps/mana/apps/web/src/routes/offline/+page.svelte b/apps/mana/apps/web/src/routes/offline/+page@.svelte similarity index 100% rename from apps/mana/apps/web/src/routes/offline/+page.svelte rename to apps/mana/apps/web/src/routes/offline/+page@.svelte