banyaro/backend
rene 5330681059 DWD-Regenvorhersage: Pipeline + /radar-Route + Timeline-Integration + Settings-Toggle
PoC BESTANDEN (tools/dwd-radar/poc): Anker (9E,51N) = Pixel-Mitte (470/600),
Ecken decken sich mit der DWD-DE1200-Spec — Georeferenzierung bewiesen.
- tools/dwd-radar: RV-Komposit (25 Frames, 0-120min) -> kolorierte RGBA-
  PMTiles z4-7 je Frame (MapLibre overzoomt darueber) + manifest.json,
  atomarer Swap, KEEP_RUNS-Aufraeumen; 25 Frames in ~14s lokal
- docker-compose.dwd.yml (DSM-Cron alle 5 min, NIE --remove-orphans)
- main.py: /radar/manifest.json (no-store) + /radar/{run}/{file} (Range/206,
  immutable — Run-Id im Pfad); sw.js: /radar/ pass-through
- map.js: Radar-Frames heterogen ({url,time,dwd}) — DWD ersetzt RainViewer-
  Nowcast (0-120min, 5-min-Schritte) wenn Toggle an + GL + Karte in DE +
  Manifest frisch (<30min); sonst RainViewer-Fallback; Label '+X Min - DWD'
- settings.js: Toggle 'DWD-Regenvorhersage' (by_dwd_radar, Default AN)
- pytest 39 passed
Bump v1240
2026-06-06 18:08:57 +02:00
..
routes POI-Bewertung: Live-Praesenz zaehlt als GPS-Beleg (Rene stand am Ort, wurde abgewiesen) 2026-06-06 17:26:20 +02:00
scraper Fix: VDH-Fallback-Events aktualisiert — Frankfurt Mai entfernt (vergangen), 7 korrekte Termine 2026 2026-05-08 13:52:37 +02:00
scripts Security + E-Mail-HTML + Quartalsbericht + Registrierungspflicht 2026-05-01 08:20:53 +02:00
static DWD-Regenvorhersage: Pipeline + /radar-Route + Timeline-Integration + Settings-Toggle 2026-06-06 18:08:57 +02:00
auth.py Bündel 3: Security-Helper + Demo-Migration, SW by-v1115 2026-05-27 11:27:00 +02:00
cache.py Perf: 9 Performance-Fixes — SW by-v1072 2026-05-26 06:30:36 +02:00
config.py Bündel 2: Zentrale Helper für DRY-Cleanup, SW by-v1114 2026-05-27 11:19:06 +02:00
content_filter.py Security + E-Mail-HTML + Quartalsbericht + Registrierungspflicht 2026-05-01 08:20:53 +02:00
database.py OSM-Beiträge: Map-Button (dog=yes), Changeset-Upload, Confirm/Pro-Job 2026-06-03 21:40:50 +02:00
entrypoint.sh Revert Dockerfile USER appuser (Synology DSM ACL inkompatibel) 2026-04-23 18:52:51 +02:00
errors.py Bündel 2: Zentrale Helper für DRY-Cleanup, SW by-v1114 2026-05-27 11:19:06 +02:00
generate_thumbs.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
ki.py Fix: KI health_summary Kontextfenster (max 5 Einträge), Cloud-Priority ohne ANTHROPIC_KEY-Check, local-Fallback wrapped (SW by-v798) 2026-05-09 20:08:06 +02:00
mailer.py Fix: Date-Header in ausgehenden Mails (formatdate UTC, Container hat keine lokale TZ) 2026-05-15 12:37:41 +02:00
main.py DWD-Regenvorhersage: Pipeline + /radar-Route + Timeline-Integration + Settings-Toggle 2026-06-06 18:08:57 +02:00
math_utils.py Bündel 2: Zentrale Helper für DRY-Cleanup, SW by-v1114 2026-05-27 11:19:06 +02:00
media_utils.py Fix: Karte lädt wieder + safe_media_path + Foto-Löschung (SW by-v932) 2026-05-14 11:58:00 +02:00
migrate_media.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
ratelimit.py Security + E-Mail-HTML + Quartalsbericht + Registrierungspflicht 2026-05-01 08:20:53 +02:00
requirements.txt OSM-Verknüpfung (Modell A): OAuth2-Fundament für Nutzer-Beiträge 2026-06-03 21:14:36 +02:00
scheduler.py OSM-Beiträge: Map-Button (dog=yes), Changeset-Upload, Confirm/Pro-Job 2026-06-03 21:40:50 +02:00
timeutils.py Teil 3: Terminvorschläge + KI-Limit-Bypass für Admins/Mods — SW by-v435, APP_VER 414 2026-04-26 17:08:18 +02:00
username_blocklist.py Session 2026-04-20: Medien-Konvertierung, Umami Analytics, Username/Privacy 2026-04-20 18:36:58 +02:00
weather.py Wetter-Pill: Niederschlag = Höchstwert der nächsten 3 Std statt Tages-Max 2026-06-05 20:01:32 +02:00
welfare_check.py Feature: Tierschutz-Check, KI-Züchter-Features, Export, SEO-Update 2026-04-28 19:49:54 +02:00