|
|
85864d8ef2
|
Fix: laeufi.js UI.esc → UI.escape (nicht existent → crash → 🚧) (SW by-v917)
|
2026-05-13 20:27:22 +02:00 |
|
|
|
e11efa23f0
|
Fix: Zuchtkartei Header-Update nach Status-Laden — Zwingername korrekt (SW by-v913)
|
2026-05-13 20:07:54 +02:00 |
|
|
|
53f0cb37d6
|
Feature: Wurf-Buchstabe (A–Z) + Wurf-Name — DB, Backend, Formular, Kartenanzeige (SW by-v912)
|
2026-05-13 19:58:50 +02:00 |
|
|
|
ca9d9a05c5
|
UX: Privater-Header — Zwingername als H2-Überschrift, Logo 48px, alle 3 Züchterseiten (SW by-v911)
|
2026-05-13 19:54:30 +02:00 |
|
|
|
ccf5a8b7ba
|
UX: Privater-Header mit Zwingername + Logo auf allen Züchter-Seiten (SW by-v910)
|
2026-05-13 19:48:58 +02:00 |
|
|
|
a577e6d8d9
|
UX: Privater-Bereich-Header auf Zuchtkartei, Wurfverwaltung, Läufigkeit (SW by-v909)
|
2026-05-13 19:44:25 +02:00 |
|
|
|
7fb4177dbd
|
Fix: Breeder-FAB an document.body — verschwindet zuverlässig via destroy() (SW by-v908)
|
2026-05-13 19:40:21 +02:00 |
|
|
|
f35a0efbaf
|
UX: Zuchtkartei Toolbar flex-wrap — kein horizontaler Scroll mehr (SW by-v906)
|
2026-05-13 19:27:01 +02:00 |
|
|
|
a29c7574d3
|
UX: Zuchtkartei Tabs flex-wrap — umbrechen statt scrollen (SW by-v905)
|
2026-05-13 19:23:13 +02:00 |
|
|
|
c583b69923
|
UX: Zuchtkartei Gesundheit/Genetik/Titel als by-tab Pill-Tabs wie Übungen (SW by-v904)
|
2026-05-13 19:19:55 +02:00 |
|
|
|
38e7ad99ae
|
Fix: Profilfotos — breeder status liefert jetzt id, s.profile.id korrekt (SW by-v903)
|
2026-05-13 19:13:34 +02:00 |
|
|
|
f7a2a3861e
|
Feature: Zuchtkartei Profilfotos-Button — Upload, Logo setzen, Sichtbarkeit (SW by-v902)
|
2026-05-13 19:09:29 +02:00 |
|
|
|
c417891546
|
Fix+Feature: data-modal-close global fix, Breeder-Profil Logo+Galerie (SW by-v901)
|
2026-05-13 18:55:28 +02:00 |
|
|
|
b17706e7ba
|
Feature: Züchter-Profil Komplett-Redesign — Hero, Hunde+Tests, Würfe, Gesundheitsstatistik (SW by-v900)
|
2026-05-13 18:47:49 +02:00 |
|
|
|
d5a3a1bb05
|
Fix: Zuchtkartei Toolbar Mobile — overflow-x:auto + flex-shrink:0 (SW by-v899)
|
2026-05-13 18:27:02 +02:00 |
|
|
|
c15f1b10d0
|
UX: Breeder-Profil Back-FAB unten rechts + destroy() Hook in navigate() (SW by-v898)
|
2026-05-13 18:19:16 +02:00 |
|
|
|
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 |
|
|
|
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 |
|