mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-20 23:06:41 +02:00
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) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| api | ||
| calc/packages/shared | ||
| calendar | ||
| chat | ||
| contacts | ||
| docs | ||
| guides | ||
| inventory | ||
| mana | ||
| manavoxel | ||
| news | ||
| photos | ||
| picture | ||
| presi | ||
| questions | ||
| skilltree | ||
| storage | ||
| times | ||
| todo | ||
| traces | ||