67e68bbe2d
Feature: Warteliste pro Wurf — CRUD, Status-Flow, Formular (SW by-v891)
2026-05-13 16:45:46 +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
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
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
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
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
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
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
9139e33492
Fix: Übungen Hilfetext standardmäßig geschlossen (defaultClosed), nur per ? öffnen (SW by-v818)
2026-05-10 08:57:49 +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
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
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
626148436a
Fix: KI-Gesundheitsbericht speichern + Berichte-Liste nach Generierung aktualisieren (SW by-v801)
2026-05-09 20:35:02 +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
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
857c83bd65
Fix: Giftliste Dark Mode — CSS-Variablen statt hardcoded #fff5f5/#fff3cd, --c-danger-border neu (SW by-v775)
2026-05-08 13:07:06 +02:00
ce14bb1d2c
Refactoring: Inline-Styles → CSS-Klassen (worlds.js, dog-profile.js, settings.js) — 20 neue w3-/by-Klassen (SW by-v773)
2026-05-08 12:22:04 +02:00
a1e5364f25
Fix: iOS bfcache — ?_t=timestamp bei Update-Reload, wird sofort aus URL entfernt (SW by-v770)
2026-05-08 11:27:06 +02:00
572fbf642f
Fix: Wetter-Chip ohne farbigen Rand, Update-Prüfung nutzt APP_VER+API+location.replace('/') (SW by-v769)
2026-05-08 11:22:55 +02:00
b6eaaad47a
Fix: '+ Weiteren Hund anlegen' nur für Pro sichtbar, App.hasPro() public (SW by-v766)
2026-05-08 11:06:23 +02:00
2854c60ba8
Fix: Update-Button hängt nicht mehr (kein await update()), Wrapped-Modal × hinter Notch (safe-area) (SW by-v765)
2026-05-08 10:56:36 +02:00
77795345b8
UX: Abmelden-Button als prominenter Outline-Button mit Trennlinie (SW by-v763)
2026-05-07 19:25:27 +02:00
a8b4fd781f
Fix: Wetter — windspeed_max → wind_kmh (Feldname-Mismatch, Wind zeigte immer 0) (SW by-v761)
2026-05-07 19:04:31 +02:00
8683de4bf2
UX: Android-Installationsanleitung — Hinweis bei Sicherheitswarnung ergänzt (SW by-v759)
2026-05-07 17:26:25 +02:00
5d37c96796
UX: Welcome-Fußzeile → Impressum + Datenschutz statt Werbetext (SW by-v758)
2026-05-07 17:22:01 +02:00
f12e29c83c
UX: Welcome-Seite — untere CTA-Buttons entfernt (SW by-v757)
2026-05-07 17:20:16 +02:00
65193c3030
UX: Welcome-Seite — Feature-Sektion und Privacy-Block entfernt, nur Hero+Install+CTA (SW by-v756)
2026-05-07 17:18:26 +02:00
e5e95efaed
UX: Welcome-Seite — Anmelde-Einstieg vereinfacht, Install-Block prominent mit PWA-Erklärung (SW by-v755)
2026-05-07 17:15:19 +02:00
81bc0f50a0
Fix: Nach Login ohne Hund → Onboarding mit Skip-Option statt direkt zu dog-profile (SW by-v748)
2026-05-06 21:02:55 +02:00
e3d3802829
Fix: Tier-Wechsel auf eigenen Account → sofortiges Worlds-Re-render ohne Reload (SW by-v739)
2026-05-06 19:25:25 +02:00
a6c25cf0f0
Feature: Feature-Gating nach Tier — Pro-Seiten/Chips für Standard versteckt, Admin immer alles (SW by-v737)
2026-05-06 19:06:37 +02:00
98ac7fcb79
Fix: Tier-Modal zeigt alle 6 Optionen, aktiver Tier markiert statt herausgefiltert (SW by-v735)
2026-05-06 18:42:15 +02:00
71f29dcce0
Feature: Subscription-Tier-System (standard/pro/breeder + _test), has_pro_access(), Admin-Tier-UI (SW by-v734)
2026-05-06 18:39:27 +02:00
6426d9c577
Feature: Browser-Besucher ohne Login → /info Redirect, PWA-Nutzer bleiben in App (SW by-v731)
2026-05-06 17:49:52 +02:00
e4da75f246
UX/SEO: Landing 3-Zielgruppen-Redesign, PWA-Wording ohne 'installieren' (SW by-v729)
2026-05-06 17:11:26 +02:00
172508ec91
Datenschutz: Direktnachrichten, KI-Trainer, Open-Meteo Wetter ergänzt (SW by-v728)
2026-05-06 06:21:18 +02:00
05ecf3b94a
Feature: Hilfe/FAQ, Übungen-Content, Navigation-Fixes (SW by-v727)
...
Hilfe & FAQ:
- Neue Seite /hilfe mit Akkordeon + Live-Suche (6 Kategorien, 25 Artikel)
- DB-Tabelle help_articles — Inhalte admin-seitig ohne Deploy änderbar
- Admin-Tab Hilfe/FAQ zum Bearbeiten aller Artikel
- Link in Einstellungen (unter Welten einrichten, über Abmelden)
- routes/help.py: GET (public), POST/PATCH/DELETE (Admin)
Übungen:
- 110 Übungen: beschreibung (kurz), schritte (JSON 4-6 Schritte), tipp — gutes Deutsch mit Umlauten
- Admin-Tab Übungen: Inline-Editor für alle drei Felder
- PUT /training/exercises/{id} (Admin) neu
- Übung-des-Tages Chip → scrollt jetzt korrekt zur Übung (exercise_id-Feldname-Fix)
Welten-Navigation:
- hide() stellt app-header + bottom-nav wieder her (worlds-hidden wurde nie entfernt)
- init() mit _setupDone-Guard (keine doppelten Event-Listener)
- Login ruft Worlds.init(_appState) statt show() — _state war null → falscher Render
- X-Button in Welten-Konfiguration: 30×30px, Icon 17px, besser sichtbar
Wetter:
- Motivation bei blockiertem Standort: 6-Schritte-iOS-Anleitung + Flugmodus-Tipp
- Auto-locate bleibt (kein Button-Only mehr)
achievements.py:
- my_achievements(): d.user_id → JOIN dogs (zweite Funktion war noch kaputt)
2026-05-05 21:46:16 +02:00
55069d246b
Feature: Welten-Onboarding, Wetter-Motivation, UX-Fixes (SW by-v715)
...
Welten (worlds.js):
- Swipe-Hints beim ersten Öffnen (JETZT ← → WELT animiert, einmalig)
- Kein-Hund-Onboarding: Feature-Preview-Grid statt leerer Karte
- Hintergrund-Foto-Hint: Kamera-Karte wenn noch kein Tagebuchfoto
- worlds-back: navigiert zu Welcome wenn kein User eingeloggt
- Nach Logout: worlds-back Button sofort ausgeblendet
Wetter (wetter.js):
- Standort-Fehlerseite zu Motivations-Seite umgebaut
- Feature-Preview: Gassi-Score, 7-Tage, Regenradar, Rekorde
- CTA: Standort freigeben + Registrieren (nur für Gäste)
Settings (settings.js):
- Logo in Auth-Form: display:block + margin:0 auto zentriert
- Header bleibt sichtbar (FAB/Zurück-Navigation funktioniert)
Jobs (jobs.js):
- 2-Spalten-Grid auf Mobile: auto-fit statt festes 1fr 1fr
- Kein doppeltes Padding im Wrapper
Backend:
- weather.py, achievements.py: diary JOIN fix (d.user_id → dogs JOIN)
- Neue Wetter-Badges: wetter_tapfer, jahreszeiten, schnee
- Ernährungs-, Reise-, Ausgaben-Seite: diverse UX-Verbesserungen
- Presse-Seite erweitert
- Ban Yaro Foto-Assets (WebP + HIRES JPG)
2026-05-05 17:32:03 +02:00
aa4849d947
Feature: 3 Community-Features — Foto-Challenge, Stamm-Gassis, Rassen-Chip (SW by-v700)
...
- Foto-Challenge der Woche: DB-Tabellen, routes/challenges.py (current/submit/vote/winners),
Scheduler-Job jeden Montag 08:00, walks.js Challenge-Tab mit Banner, Galerie, Voting-Herz
- Gassi-Zeiten-Pool: DB-Tabelle gassi_zeiten, routes/gassi_zeiten.py (CRUD + Umkreis),
walks.js Stamm-Gassis-Tab mit Karten, Wochentag-Selector, Mitmachen→Chat
- Rassen-Treffen-Chip: GET /api/friends/same-breed, dog-profile.js zeigt Chip
wenn andere User gleiche Rasse haben, Klick → Forum mit Rassen-Suche vorausgefüllt
2026-05-04 21:09:35 +02:00
d6206d378e
Feature: Reise-Checkliste + Lebens-Timeline (SW by-v700)
...
- Neue Seite reise.js mit 3 Tabs: Checkliste (localStorage-persistent), EU-Länder-Info, Notfälle
- Timeline-Endpoint GET /api/dogs/{id}/timeline aggregiert Tagebuch, Gesundheit, Training, Routen
- dog-profile.js: Button "Lebens-Timeline" + _showTimelineModal mit vertikaler Timeline, Jahreszahl-Marker, kategoriespezifische Farben, Milestone-Hervorhebung
2026-05-04 21:03:46 +02:00
40de0f38aa
Feature: Tierarzt-Bewertungen — Sterne-Rating pro Praxis mit Detail-Modal (SW by-v700)
2026-05-04 21:02:49 +02:00
c5030024b0
Feature: Hunde-Buch — druckbare HTML-Tagebuchansicht als PDF (SW by-v700)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-04 21:01:54 +02:00