Commit graph

708 commits

Author SHA1 Message Date
b818f85f36 Feature: Aktive Erinnerungen, Versicherung, Verhaltensprotokoll, Hundefreundliche Orte (SW by-v874) 2026-05-11 22:24:42 +02:00
83034c0db0 Feature: Widerristhöhe im Hundeprofil + Ausweis-Fix (SW by-v873) 2026-05-11 21:30:07 +02:00
bda61a0e40 Feature: Trauer-Feature, Futter-Verträglichkeit, Multi-Hund-Fixes, Wetter-Ort (Sprint 47)
- dog-profile.js: Verstorben-Button, Gedenkseite, KI-Abschiedstext
- database.py: futter_eintraege/reaktionen, route_dogs, exercise_progress.dog_id
- routes/ernaehrung.py: Futter-Verträglichkeit mit 20 Reaktionstypen + Analyse
- routes/routen.py: route_dogs Many-to-Many, Routen editierbar
- routes/training.py: exercise_progress per dog_id
- routes/ki.py: /ki/abschied Trauer-KI
- weather.py: Nominatim Ortsname parallel geladen
- ui.js: dogChip/bindDogChip, visualViewport-Modal
- api.js: gedenken, gedenkseite, futter-Methoden, route_dogs
- worlds.js: Ortsname im Wetter-Chip
- uebungen.js: _progressLoaded-Flag, dog-spezifischer Fortschritt
- trainingsplaene.js: dog_id Unterstützung
- diary.js/health.js: P-Badge Cleanup
- map.js: Wetter-Ort-Anzeige entfernt
- wetter.js: Ort in Wetter-Detail
2026-05-11 19:28:38 +02:00
1ce802c8dc Fix: Ernährung Hund-spezifisch, Erinnerungen in Settings, Übung des Tages per Hund (SW by-v872)
- ernaehrung.js: onDogChange setzt activeTab zurück, Hund klar sichtbar
- settings.js: Erinnerungen-Sektion lädt verstorbene Hunde + öffnet Gedenkseite
- dogs.py: GET /dogs/verstorben Endpoint (korrekte Route-Reihenfolge vor /{dog_id})
- dogs.py: Übung des Tages filtert jetzt nach dog_id statt user_id (sitzt-Übungen korrekt ausgeschlossen)
- Routen zeigen verstorbene Hunde korrekt als Teilnehmer (route_dogs ohne verstorben-Filter)
2026-05-11 19:25:00 +02:00
265d3d4fe2 Fix: HUND-Welt Avatar-Klick setzt activeDog korrekt vor dog-profile Navigation (SW by-v856) 2026-05-11 17:30:26 +02:00
79fa5684b9 Feature+Fix: Referral-Admin, Pro-Gates, Karten-Layer, onDogChange, Staging-Media (SW by-v855)
Features:
- Admin: Referral-Tab (Virality Factor, Top-Werber, letzte Einladungen)
- Karte: Regenradar (RainViewer, zoom→7, color=4), Temperatur-Layer (OWM) mit Zahlen-Grid + Legende
- Wetter-Chip: Umschwung-Warnung bei ≥40%-Sprung in Niederschlagswahrscheinlichkeit
- Freundschaftsanfragen: Accept/Decline direkt in Notifications (kein Pro nötig)
- Freunde-Seite für Standard-User freigeschaltet

Pro-Gates:
- KI-Trainer, Routenvorschläge, Regenradar, Temperatur-Layer jetzt Pro-Feature
- Pro-Badge (P) auf Chips für Admins/Mods in allen Welten + Welten-einrichten
- Oranger Banner auf Pro-Seiten für Admin/Mod/Manager

Bugfixes:
- onDogChange: uebungen.js (Cache leeren + _render), trainingsplaene.js (war leer)
- robots.txt vereinfacht (nur Disallow, kein Allow-Durcheinander)
- Hintergrund-Foto: Querformat-Filter korrigiert (kein Fallback auf Hochformat)
- Staging Media: FileResponse mit korrektem MIME-Type, no-cache statt immutable
- Staging Docker: MEDIA_DIR=/data/media + /prod-media:ro Fallback-Handler
- Staging-Fix: Bild-Upload auf zweitem Hund (war Read-only file system)
2026-05-11 17:23:29 +02:00
2f021f54c2 Fix: Hund-Limit Standard-User (max 1, Pro required für weitere), nacho_sarah → Pro (SW by-v834) 2026-05-10 13:00:39 +02:00
70af387147 Feature: User-Feedback, Regen-Uhrzeit im Wetter-Chip, Admin-Karten klickbar (SW by-v833)
- Feedback-Modal im Settings (Kategorie + Text → E-Mail an support@banyaro.app)
- Wetter-Chip (Karte + Gassi-Score): zeigt nächste Regenstunde ab ≥20% Wahrscheinlichkeit
- Gassi-Score-Chip: zweizeilige Wetter-Info, linksbündig, volle Chipbreite
- Admin-Übersicht: Stat-Karten anklickbar → navigiert direkt zum jeweiligen Tab
- ui.js: visualViewport-Listener hebt Modal über Tastatur (alle Modals)
- api.js: Pydantic v2 Array-Detail korrekt als Fehlermeldung extrahiert
- map.js: Wetter-Fallback über watchPosition wenn getCurrentPosition scheitert
- Update-Loop-Fix: index.html ?v= synchron mit APP_VER halten (alle 4 Stellen)
2026-05-10 12:52:55 +02:00
d18c592ef0 Fix: rasse-erkennung ANTHROPIC_KEY zur Laufzeit prüfen (SW by-v826) 2026-05-10 10:34:28 +02:00
36ccd7815e Fix: Zoom-Control auf Tablet 28px runter (leaflet-top padding-top) (SW by-v825) 2026-05-10 10:09:37 +02:00
666cdd3a73 Fix: map-legend top: 28px global (kein Media-Query), deckt alle Geräte ab (SW by-v824) 2026-05-10 10:03:58 +02:00
d078fb4b51 Fix: Karte Filter-Tabs Tablet top: 28px fix (kein env/max) (SW by-v823) 2026-05-10 09:50:52 +02:00
47bb1e202e Fix: Karte Filter-Tabs Tablet min 20px top (iPad ohne Notch hat kein safe-area-inset) (SW by-v822) 2026-05-10 09:45:03 +02:00
c96e6e1fac Fix: Karte Tablet — map füllt voll, Filter-Tabs unter Statusleiste (safe-top) (SW by-v821) 2026-05-10 09:38:36 +02:00
c185193ac9 Fix: Karte Filter-Tabs Tablet safe-area-inset-top auf Desktop-Layout (SW by-v820) 2026-05-10 09:29:01 +02:00
25417364d2 Fix: kein zweiter SW-Reload nach force-update (by_skip_sw_reload Flag), Tagebuch bleibt offen (SW by-v819) 2026-05-10 09:04:12 +02:00
9139e33492 Fix: Übungen Hilfetext standardmäßig geschlossen (defaultClosed), nur per ? öffnen (SW by-v818) 2026-05-10 08:57:49 +02:00
b4fec76644 Fix: Update-Zielseite nach Reload wiederherstellen, Toast nach 800ms (SW by-v817) 2026-05-10 08:50:29 +02:00
183cc564fc Fix: Auto-Update wartet bis kein Modal offen — kein Datenverlust bei Tagebucheintrag (SW by-v816) 2026-05-10 08:42:06 +02:00
effdf5ba5b Fix: Android Statusleiste immer dunkel (#0f1623), kein Amber-Streifen mehr (SW by-v815) 2026-05-10 08:34:18 +02:00
5a30f657a1 Feature: Android Beta-Tester Banner für bestehende Nutzer (SW by-v814) 2026-05-10 08:20:59 +02:00
06022cf5da Feature: Stilles Auto-Update beim Seitenwechsel + Toast 'App auf v813 aktualisiert', Banner entfernt (SW by-v813) 2026-05-09 22:20:23 +02:00
047e5be986 Fix: theme-color ein Tag mit id, inline-Script setzt Farbe sofort beim Laden — kein amber Streifen auf Samsung (SW by-v812) 2026-05-09 22:14:06 +02:00
1fdd7d4ed0 Fix: theme-color JS-Fallback für Samsung, Wischgesten-Tipp in Settings, _syncThemeColor bei init (SW by-v811) 2026-05-09 22:07:01 +02:00
480a343ec0 Fix: theme-color dunkel im Dark-Mode (Statusleiste Samsung), manifest background_color dunkel (SW by-v810) 2026-05-09 21:59:20 +02:00
b4879d615f Feature: KI-Berichte einzeln durchblättern (‹ Älter / Neuer ›), Navigation per Index (SW by-v809) 2026-05-09 21:50:27 +02:00
3acb7aa874 Debug: KI-Bericht save_count + save_error im Response, Toast-Feedback (SW by-v808) 2026-05-09 21:38:35 +02:00
891e11df65 Fix: ki_health_reports ALTER TABLE user_id Migration, INSERT try/catch, Bericht immer zurückgeben (SW by-v807) 2026-05-09 21:31:05 +02:00
0b06669635 Test: v806 Update-Mechanismus verifiziert — beide Geräte erfolgreich (SW by-v806) 2026-05-09 21:26:53 +02:00
5f1a6d578b Fix: ki_health_reports INSERT user_id ergänzt, SW updatefound Race Fix (SW by-v805) 2026-05-09 21:08:25 +02:00
ab851d4bb1 Fix: SW updatefound Listener vor reg.update() + race condition safety (SW by-v804) 2026-05-09 20:58:07 +02:00
fbd8f0cd8f Fix: ki-berichte aus SW-Cache ausgenommen, force-Reload nach Generierung, Berichte alle sichtbar (SW by-v803) 2026-05-09 20:48:35 +02:00
322a9609b3 Fix: Update-Button → /force-update (kein _nocache-Loop), force-update fire-and-forget ohne await (SW by-v802) 2026-05-09 20:41:57 +02:00
626148436a Fix: KI-Gesundheitsbericht speichern + Berichte-Liste nach Generierung aktualisieren (SW by-v801) 2026-05-09 20:35:02 +02:00
2a545377c1 Fix: Update-Loop entfernt (navigate kein Reload mehr), API-Header triggert Banner statt Redirect (SW by-v800) 2026-05-09 20:18:45 +02:00
e20e691c4d Fix: KI-Endpoints + Symptom-Check am SW-Timeout vorbei (kein 10s Limit für LLM) — SW by-v799 2026-05-09 20:12:53 +02:00
d91cc8da26 Feature: X-App-Version Header + api.js auto-reload bei navigate() — kein Banner-Click mehr nötig (SW by-v798) 2026-05-09 19:55:13 +02:00
67f042df75 Fix: SW-Update via updatefound+statechange (primär), controllerchange (Backup) — SW by-v797 2026-05-09 19:47:14 +02:00
209d6703ad Fix: Media-Uploads direkt ans Netz (kein SW-Clone), SW _nocache-Bypass, Samsung-Dark-Mode-Hint, Update-Button fire-and-forget (SW by-v796) 2026-05-09 19:07:52 +02:00
97a03ce006 Fix: SW-Update nuklear (unregister all), touch-action pan-y für Scroll, /force-update Route, Geburtstags-KI user_id, konto-loeschen Import (SW by-v791) 2026-05-09 18:09:53 +02:00
e4b170d45b Feature: Konto löschen (Play Store Pflicht) — DELETE /profile/account + Button in Settings (SW by-v786) 2026-05-08 21:03:05 +02:00
e8cf742911 Feature: App-Einstellungen in DB (preferred_theme neu, notes_ki+gassi_stunde schon drin) — geräteübergreifend sync (SW by-v785) 2026-05-08 19:06:29 +02:00
2ff6d4dfe4 Feature: Hintergrundbild Portrait=Panorama (track/300vw) vs Landscape=Vollbild (overlay/100vw) mit Orientation-Listener (SW by-v784) 2026-05-08 18:58:31 +02:00
247ded6103 Fix: Hintergrundbild auf worlds-overlay statt worlds-track — cover statt 100%-Track-Breite (war 3x überzoomt) (SW by-v783) 2026-05-08 18:51:43 +02:00
e0fb6a78e4 UX: Geburtstags-Banner Emojis → Phosphor Icons (confetti, cake/gift, sparkle, balloon, star, magic-wand) (SW by-v782) 2026-05-08 18:47:49 +02:00
34fe59a672 Fix: Geburtstags-KI — Rate-Limit entfernt, KI_MODE=cloud auf Staging, bessere Fehlermeldungen (SW by-v781) 2026-05-08 18:41:02 +02:00
9ebd40aaae Feature: Geburtstags-KI — 2 Modi (morgen: Ideen, heute: Hundeperspektive), DB-Cache, Abend-Tagebuch-Hinweis (SW by-v780) 2026-05-08 18:24:27 +02:00
af7fe7813e Fix: app.js/ui.js/api.js mit APP_VER versioniert + worlds.js Network-First im SW — altes ?v=94 war Ursache für veraltete app.js nach Update (SW by-v779) 2026-05-08 15:47:28 +02:00
5664616a2a Fix: Welten-Config — Sicherheitsnetz entfernt (Rolle-Chips ausblendbar), Duplikat-Schutz (SW by-v778) 2026-05-08 15:27:03 +02:00
55ae22615d Feature: Geburtstags-Banner mit Feuerwerk-Animationen im world-reminder Stil (SW by-v777) 2026-05-08 13:20:03 +02:00