822af64704
Fix: Breeder-Profil Zurück-Button → Wurfbörse; Welpen-Chip klickbar (SW by-v897)
2026-05-13 18:12:55 +02:00
8b5805a8ca
Fix: breeder.js _esc undefined → ReferenceError → 🚧 ; Admin-Profil in öffentlicher Suche; Welpen-Chip klickbar (SW by-v896)
2026-05-13 18:00:32 +02:00
0f230b9ddc
UX: Würfe-Stats-Chips klickbar (Status-Filter), Wurfbörse Testdaten (SW by-v895)
2026-05-13 17:51:23 +02:00
f3308a6a94
Feature: Läufigkeit & Trächtigkeit — Zyklen, Progesterontests, Deckdaten, Meilensteine (SW by-v894)
2026-05-13 17:09:02 +02:00
5a639d47a9
UX: Würfe-Seite — Card-Design, Stats-Header, Countdown, bessere Aktionen (SW by-v893)
2026-05-13 16:59:03 +02:00
99842909e4
Fix: Warteliste — besserer Empty-State, Badge-Count am Button, Status-Übersicht (SW by-v892)
2026-05-13 16:52:39 +02:00
67e68bbe2d
Feature: Warteliste pro Wurf — CRUD, Status-Flow, Formular (SW by-v891)
2026-05-13 16:45:46 +02:00
e8c2d5b940
Feature: Züchter-Landing-Page /zuechter — SEO, Vergleich, Features, CTA
2026-05-13 16:26:19 +02:00
a5b8174566
Fix permanent: JS/CSS nie immutable cachen — verhindert Update-Loop (SW by-v890)
...
Browser-HTTP-Cache mit immutable lässt sich nach force-update nicht leeren.
Veraltete app.js (APP_VER alt) führt zu X-App-Version Mismatch → Dauerschleife.
SW übernimmt Caching sowieso → no-cache für alle JS/CSS ist sicher.
2026-05-12 19:41:26 +02:00
437901b8e2
Fix: Update-Loop — index.html Script-Tags auf APP_VER synchronisiert (SW by-v889)
...
Root cause: ?v=885 in Script-Tags → Browser cached app.js immutable für 1 Jahr.
Nach force-update (löscht nur SW-Cache, nicht Browser-HTTP-Cache) lädt Browser
alte app.js mit APP_VER=885 → X-App-Version: 889 Mismatch → Endlosschleife.
Ab jetzt: ?v= in index.html IMMER mit APP_VER synchron halten.
2026-05-12 19:40:50 +02:00
7257c9e04f
Fix: SW-Update Dauerschleife — controllerchange nicht auf Reload-Seiten registrieren (SW by-v888)
...
clients.claim() feuert asynchron nach Seitenstart → controllerchange auf
der neu geladenen Seite → Reload → clients.claim() → loop.
Fix: controllerchange nur registrieren wenn _t= NICHT im URL steht.
2026-05-12 19:35:42 +02:00
b8f70eb2cd
Fix: SW-Update doppelter Reload nach force-update — controllerchange konsumiert by_skip_sw_reload Flag (SW by-v887)
...
statechange-activated und controllerchange feuern beide beim SW-Update.
statechange konsumierte den Flag und controllerchange reloadete trotzdem.
Jetzt prüft statechange nur, controllerchange konsumiert.
2026-05-12 19:29:04 +02:00
3967544de7
Fix: routes.js SyntaxError — _startRecInOvl als async deklariert (SW by-v886)
...
await _recAcquireWakeLock() in nicht-async Funktion → SyntaxError → ganzes Modul
crashte → Fallback "Seite in Entwicklung" auf Production.
2026-05-12 19:24:19 +02:00
c25580ec8e
SEO: landing.html v1.5.1 + llms.txt auf Stand Mai 2026 (neue Features, Datenschutz, Versionen)
2026-05-12 18:25:42 +02:00
8f39c22a7f
Fix: Wake Lock Re-Acquire nach unfreiwilligem Release + visibilitychange-Handler (routes.js + map.js, SW by-v885)
2026-05-12 18:03:35 +02:00
9deb04c02d
Fix: Gassi Desktop — Scrollbalken im Listen-Panel ausgeblendet (SW by-v884)
2026-05-12 17:52:29 +02:00
33f550a313
Fix: Media-Auth vereinfacht — Login-Check statt DB-Lookup, behebt Welten-Hintergrundbild (SW by-v883)
2026-05-12 17:43:31 +02:00
5cbe96ebc4
Fix: Datenexport — fehlende Spalten + robuste Query-Helper (SW by-v882)
2026-05-12 17:37:35 +02:00
79cfd63ea6
Fix: Gassi Desktop-Layout — Liste links + Karte rechts, Toggle ausgeblendet (SW by-v881)
2026-05-12 17:32:44 +02:00
bf1087c5e1
Feature+Security: DSGVO-Datenexport, auth-geschützte Media, Datenschutzerklärung v2 (SW by-v880)
2026-05-12 17:28:16 +02:00
465dc2e4d3
Security: Auth-geschützte Media-Endpoints für Diary+Health, Walk-Foto-Naming (SW by-v879)
2026-05-12 17:17:36 +02:00
44ba51cd38
Feature: Gassi-Hundefotos bei Teilnehmern + Fotos nach dem Treffen (SW by-v878)
2026-05-12 17:04:43 +02:00
b6a644ac3a
Fix: Gassi-Karte fitBounds auf alle Treffen beim Öffnen (SW by-v877)
2026-05-12 10:07:28 +02:00
69f5c2982a
Fix: Gassi-Karte 0px-Höhe — walks-map height:100% + map-view overflow:hidden (SW by-v876)
2026-05-12 09:31:28 +02:00
0ab88ef6b6
Fix: Tagebuch-Foto bei neuem Eintrag — GPS-Fetch bei anhängigen Dateien überspringen (SW by-v875)
2026-05-12 06:31:22 +02:00
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