Etappe 5 hatte einen bug: nach dem prerendered HTML hat svelteKit beim
ersten clientseitigen navigations-tick nochmal load() aufgerufen, das
hat im browser-pfad pauschal 404 geworfen. Sichtbarer effekt: seite
zeigt kurz den korrekten inhalt, springt dann auf "Post nicht
gefunden".
Fix-strategie D aus dem chat:
- snapshot/output/posts/*.json wird vor dem build nach
app/static/snapshot-data/posts/ kopiert (deploy-skript + workflow)
- +page.ts im browser-pfad fetcht dann /snapshot-data/posts/<slug>.json
- 404 nur noch wenn die JSON wirklich nicht existiert (= slug nicht
im snapshot)
Damit funktionieren sowohl hard-reload (svelteKit hydriert die
prerendered page-data direkt) als auch clientseitige navigation
zwischen detail-seiten.
app/static/snapshot-data/ ist gitignored — wird zur build-zeit aus
snapshot/output/ generiert.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
CI-build hat mit "Some specified paths were not resolved, unable to
cache dependencies" abgebrochen, weil actions/setup-node@v4 mit
cache: 'npm' eine committed package-lock.json erwartet.
Lockfile war bisher in app/.gitignore ausgeschlossen — ungewoehnliche
konvention fuer SvelteKit-projekte; reproduzierbare builds (sowohl
CI als auch fresh-clone) brauchen den lockfile. Jetzt committed,
mit dem stand der nach den isomorphic-dompurify+@types/node-installs
existiert.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>