From 08e20ab50f6bb87d644cf8a1c1938ddcb9de61de Mon Sep 17 00:00:00 2001 From: rene Date: Sun, 26 Apr 2026 11:12:38 +0200 Subject: [PATCH] =?UTF-8?q?PROJEKT.md:=20Stand=202026-04-26=20Sprint=2014?= =?UTF-8?q?=20=E2=80=94=20Karten-Scan,=20Icons,=20Notizblock,=20Sicherheit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PROJEKT.md | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/PROJEKT.md b/PROJEKT.md index da216fe..d6df3cf 100644 --- a/PROJEKT.md +++ b/PROJEKT.md @@ -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) ✅