PROJEKT.md: Stand 2026-04-26 Sprint 14 — Karten-Scan, Icons, Notizblock, Sicherheit

This commit is contained in:
rene 2026-04-26 11:12:38 +02:00
parent 016eb52d83
commit 08e20ab50f

View file

@ -46,6 +46,50 @@ Maps: Leaflet.js + OpenStreetMap (kostenlos, kein Google-Lock)
---
## Implementierungsstand (aktuell: 2026-04-26, SW by-v428, APP_VER 407)
### Sprint 14 (2026-04-26) ✅
#### Karten-Scan (OSM) — Komplett repariert
- Diary-Karte lud Leaflet ohne MarkerCluster → `_loadLeaflet()` prüft Leaflet + MarkerCluster separat
- Overpass 406 = fehlender Referer-Header (nicht IP-Ban) → Header gesetzt → sofort wieder 200
- Prewarm-Job entfernt (23.500 Anfragen/Tag hatten IP geblockt), CACHE_DAYS 14 → 90
- Overpass Fallback-Liste: lz4.overpass-api.de primär, kumi.systems Fallback
- Rate-Limit: Semaphore(1), 2s Mindestabstand, User-Agent + Referer
- Background-Fetch: asyncio.create_task + _bg_tasks-Set (GC-sicher), _fetching-Set gegen Doppel-Requests
- Auto-Retry: max 3× (30/60/90s) wenn 0 Marker nach Scan
#### Design & Layout
- Welcome-Seite: Hero-Gradient, App-Icon-Grid (4-spaltig mobil, 8-spaltig Desktop), persönliche Begrüßung
- Desktop-Breiten vereinheitlicht: alle Bereiche auf 860px (Forum, Chat, Walks, Settings)
- Knigge: Padding auf Karten, Radfahrer-Icon (person-simple-bike)
- Forum-Pills: text-overflow:ellipsis auf Desktop und Mobile
#### iOS PWA / Service Worker
- reg.update() beim Start + visibilitychange → automatische SW-Updates ohne Home-Screen-Icon neu anlegen
- app.js/ui.js/api.js Network-First im SW → keine veralteten Versionen gecacht
- Website-Daten löschen war einmalig nötig, danach dauerhaft gelöst
#### Phosphor Icons — Großer Sweep
- 50+ neue Icons in den Sprite aufgenommen
- 10 Seiten von Emoji/Unicode auf Phosphor SVG umgestellt: poison, events, dog-profile, trainingsplaene, health, uebungen, admin, moderation, movies, social, wiki, erste-hilfe
- notes.js von ph-Font-Syntax auf SVG-Sprite migriert
#### Notizblock
- In pages-Objekt registriert (war vergessen → nicht erreichbar)
- ph-Font-Icons auf SVG-Sprite umgestellt
- 4 neue RUBRIKEN: trainingsplan, friends, poison, lost
- Filter-Chips 2-zeilig auf Desktop (flex-wrap)
- Datenschutz-Hinweis: "Alle Notizen sind privat"
- Neue Notiz-Buttons: Tagebuch-Detail, Trainingspläne, Freunde, Giftköder, Verlorener Hund
#### Sicherheit & Korrektheit
- Moderation: Admins für Moderatoren komplett unsichtbar (Backend-Filter + Frontend-Guard)
- Sitter-Zugriff: Tagebuch-Liste leer für Sitter (GET → []), Erstellen bleibt erlaubt
- Tagebuch: Datenschutz-Hinweis "nur du kannst sie sehen"
- KI Symptom-Check: JSON-Code-Fence stripping in ki.py, korrekte Formatierung + Phosphor-Icons
- Gewicht-Sync: health.js aktualisiert appState.activeDog.gewicht_kg auch bei Bearbeitung
## Implementierungsstand (aktuell: 2026-04-25, SW by-v405, APP_VER 385)
### Sprint 12+13 (2026-04-25) ✅