No description
Find a file
Daniel Michelberger 6273f20484 fix: Trail-Linie auf der Karte durch expliziten MapLibre-Worker-Pfad
Die Karte zeigte Kacheln und stand am richtigen Ort, zeichnete aber weder in
der Trail-Uebersicht noch auf der Detailseite eine Linie. Das Hoehenprofil
aus denselben Versionsdaten wurde dagegen gerendert.

Ursache: MapLibre 6 liegt als drei Dateien vor (Haupteinstiegspunkt, shared,
worker) und laedt den Worker zur Laufzeit ueber import.meta.url aus dem
eigenen Verzeichnis nach. Vites Dependency-Optimierung buendelt jedoch nur
den Haupteinstiegspunkt nach node_modules/.vite/deps — daneben liegt keine
maplibre-gl-worker.mjs. Der Worker startet dadurch zwar und ist verbunden,
sein Import laeuft aber ins Leere: Er antwortet auf keine Nachricht mehr.
GeoJSON-Quellen bleiben deshalb dauerhaft im Ladezustand
(isSourceLoaded false, keine Source-Features, _updatePromise loest nie auf),
und es gibt nichts zu zeichnen. Rasterkacheln brauchen keinen Worker, deshalb
erschien die Karte trotzdem und der Fehler sah nach fehlenden Daten aus.

setWorkerUrl mit einem ?url-Import zeigt auf die echte Datei und umgeht das,
ohne in Vites Optimierung einzugreifen. Ein optimizeDeps.exclude waere der
naheliegendere Weg gewesen, bricht hier aber die Modulaufloesung von
SvelteKit.

Verifiziert: Linie erscheint in Uebersicht und Detailseite; die Daten waren
durchgehend intakt (LineString, 225 Koordinaten). svelte-check ohne Fehler,
alle 19 Tests bestehen, npm run build erfolgreich, und die Worker-Datei liegt
als Asset im Produktionsbuild und wird vom Client-Bundle referenziert.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-14 16:23:21 +02:00
backend chore: PocketBase auf 0.39.11 aktualisieren 2026-08-14 15:52:00 +02:00
docs/superpowers docs: Plan-Korrekturen aus der Umsetzung nachziehen 2026-08-06 19:30:44 +02:00
frontend fix: Trail-Linie auf der Karte durch expliziten MapLibre-Worker-Pfad 2026-08-14 16:23:21 +02:00
.gitignore docs: Plan-Korrekturen aus der Umsetzung nachziehen 2026-08-06 19:30:44 +02:00
CLAUDE.md fix: Deployment reparieren — adapter-node und Node-Anforderung festschreiben 2026-08-06 14:52:00 +02:00
README.md chore: Repo-Struktur mit frontend/ und backend/ aufsetzen 2026-08-06 13:16:43 +02:00
UML_basic.png chore: Repo-Struktur mit frontend/ und backend/ aufsetzen 2026-08-06 13:16:43 +02:00

stammtisch-hersbruck.de

Zeitmessung und Verwaltung für Läufe des Stammtisch Hersbruck.

Das Repository enthält beide Teile der Anwendung:

Verzeichnis Inhalt
frontend/ SvelteKit-5-Anwendung (Svelte 5 Runes, Tailwind 4)
backend/ PocketBase-Instanz — Dockerfile, Schema-Migrationen

Schnellstart

Frontend gegen die produktive Instanz:

cd frontend
cp .env.example .env      # Werte eintragen
npm ci
npm run dev

Die App läuft dann auf http://stammtisch-hersbruck.de.localhost:31337

Backend lokal (optional — der Default zeigt auf die produktive Instanz):

cd backend
cp .env.example .env      # Werte eintragen
docker compose up -d --build

Danach in frontend/.env PUBLIC_PB_URL=http://127.0.0.1:8090 setzen.

Details stehen in backend/README.md.

PocketBase

Produktiv: https://api.stammtisch-hersbruck.de

Welche Instanz das Frontend anspricht, entscheidet PUBLIC_PB_URL in frontend/.env. Das Schema ist als Migration in backend/pb_migrations/ versioniert.