Commit graph

  • a356626d39 Feature: Pflege-Routinen (Zecken-/Flohschutz, Krallen, Fellpflege) — neuer Pflege-Tab mit Erledigt+Auto-Wiedervorlage, Push-Erinnerungen, intervall_tage-Fix im INSERT, SW v1132 rene 2026-05-29 10:32:05 +02:00
  • 8c2bc0c445 Fix: Wetter-Alarm standortbezogen statt 5-Städte-Maximum — Abonnenten nach Standort clustern, lokale Tagesprognose, nur lokal warnen rene 2026-05-29 09:37:48 +02:00
  • cad34711b7 Welten: adaptive Abdunklung getrennt für oben (Banner+JETZT-Chips) und unten (Feature-Chips) — obere/untere Bildhälfte separat gemessen, SW v1131 rene 2026-05-29 09:31:32 +02:00
  • ac5b26f767 Welten: adaptive Abdunklung — Bildhelligkeit per Canvas messen, --wbg-dim dynamisch (hell→mehr, dunkel→wenig), Dark-Mode-Overlay berücksichtigt, SW v1130 rene 2026-05-29 09:26:32 +02:00
  • fa1ecfa0fb Fix: Welten-Chips letzte Zeile zentriert (Flex statt Grid), force-update setzt Cooldown gegen Dauerschleife, SW v1129 rene 2026-05-29 09:16:04 +02:00
  • 184522a7c7 Welten-Chips: bei <4 Chips auf dem Handy horizontal zentriert (Flex statt linksbündiges Grid), SW v1128 rene 2026-05-29 09:09:28 +02:00
  • ac291995bd Welten-Rahmen: gedämpfte Erdtöne (JETZT orange, HUND naturgrün #6B8055, WELT blaugrau #4A7A9B), SW v1127 rene 2026-05-29 09:03:47 +02:00
  • 8bf451c16c Welten-Rahmen: pro-Welt-Farbe via --wborder (JETZT/HUND orange, WELT blau, Alpha 0.55), JETZT-Chip-Reihe einbezogen, SW v1126 rene 2026-05-29 08:59:31 +02:00
  • 5c6af0991c Welten: WELT-Rahmen (blau 0.90) einheitlich auf allen Chips + Banner oben (info-card, reminder), SW v1125 rene 2026-05-29 08:55:44 +02:00
  • d468eed98f Welten: dim/blur einheitlich (WELT-Wert), TEST Chip-Rahmenstärke je Welt (JETZT schwach/HUND mittel/WELT stark), SW v1124 rene 2026-05-29 08:52:03 +02:00
  • bf67bf558f TEST: Chip/Banner-Abdunklung+Blur je Welt unterschiedlich (JETZT mild, HUND mittel, WELT stark reduziert), SW v1123 rene 2026-05-29 08:48:44 +02:00
  • 87c688d5b7 Wetter-Chip JETZT: Wetter- und Warn-Icon vertikal gestapelt statt nebeneinander (mehr Platz für Text), SW v1122 rene 2026-05-29 08:43:30 +02:00
  • b239eee0d6 Wetter: aktuelle Ist-Temperatur als Jetzt-Banner oben (API.weather.get parallel), SW v1121 rene 2026-05-29 08:36:30 +02:00
  • 26b515cede Fix: Anniversary-Job + RASFF 404, SW by-v1120 rene 2026-05-27 14:51:34 +02:00
  • c7a84438d1 Fix: Notes-Karten — Zeilenumbruch, Clamp + Detail-Modal beim Klick, SW by-v1119 rene 2026-05-27 14:42:47 +02:00
  • 1ff66a7083 Sicherheit + Tests + A11y, SW by-v1118 rene 2026-05-27 13:40:30 +02:00
  • 7751d303bb Revert: USER appuser in Dockerfile auskommentiert (DSM-ACL-Konflikt), SW by-v1117 rene 2026-05-27 13:06:25 +02:00
  • 83b1509168 Security: VAPID-Keys raus aus Git, Dockerfile USER appuser, SW by-v1116 rene 2026-05-27 13:02:12 +02:00
  • 35937ed51b Bündel 3: Security-Helper + Demo-Migration, SW by-v1115 rene 2026-05-27 11:27:00 +02:00
  • 297bd22f96 Bündel 2: Zentrale Helper für DRY-Cleanup, SW by-v1114 rene 2026-05-27 11:19:06 +02:00
  • c517c9281d Refactor: 1167 _esc() → UI.escape() in 36 Dateien, SW by-v1113 rene 2026-05-27 10:15:33 +02:00
  • e7939ce98e Bündel A-D: Race-Fixes, JWT-Cleanup, Storage-Watchdog, HTTPException, SW by-v1112 rene 2026-05-27 09:41:56 +02:00
  • 2d98eb9374 Fix: Friends-Avatare wieder Original-URL (kein Preview), SW by-v1111 rene 2026-05-27 09:25:19 +02:00
  • 8e75e2b1a7 Fix: previewFallback blendet kaputte Bilder aus statt Fragezeichen, SW by-v1110 rene 2026-05-27 09:20:10 +02:00
  • 2f37e0ed16 Perf: Freunde-Seite nutzt _preview.webp + lazy loading, SW by-v1109 rene 2026-05-27 08:50:09 +02:00
  • f6633d65b0 Erste-Hilfe: Telefonnummern für AT + CH eingetragen, SW by-v1108 rene 2026-05-27 08:45:43 +02:00
  • 73872e2c21 Sprint D: Karten-Familie auf UI.map.create+svgMarker konsolidiert, SW by-v1107 rene 2026-05-27 08:17:06 +02:00
  • c8ef4939f1 Fix: /force-update reload-Hänger + Cooldown persistent, SW by-v1106 rene 2026-05-27 08:02:54 +02:00
  • b0ae71ba69 Fix: Force-Update Cooldown + robusteres Cache-Clear, SW by-v1105 rene 2026-05-27 07:51:36 +02:00
  • 9a066cb24c Sprint C: Listen-Familie konsolidiert (Notes/Expenses/Health), SW by-v1104 rene 2026-05-27 07:31:21 +02:00
  • 1de39536af Sprint B: 5 neue UI-Helper für konsistente Patterns, SW by-v1103 rene 2026-05-27 07:19:52 +02:00
  • 459cd425f2 Design-System Sprint A: utilities.css + 948 Inline-Styles → Utility-Klassen, SW by-v1102 rene 2026-05-27 07:11:27 +02:00
  • 279f76714e Fix: Offline+Verify-Banner berücksichtigen safe-area-inset-top, SW by-v1101 rene 2026-05-27 06:27:18 +02:00
  • 65cfa25e59 Security: CSP gehärtet — unsafe-inline + unsafe-eval raus, SW by-v1100 rene 2026-05-27 06:23:47 +02:00
  • 15d319fbd5 Admin: POI-Statistik erweitert (Nutzer-POIs nach Typ + Labels), SW by-v1099 rene 2026-05-26 21:37:35 +02:00
  • cc4f030fd0 Feature: Hundesalons in der Karte, SW by-v1098 rene 2026-05-26 21:13:16 +02:00
  • 6ad7c4be77 Text: Rassen-Wiki Vergleichstabelle — '> 1.000' statt '1.003 (KI-angereichert)', SW by-v1097 rene 2026-05-26 20:51:46 +02:00
  • c785becd95 Fix: VERSION-Datei ins Docker-Image kopieren, SW by-v1096 rene 2026-05-26 20:13:35 +02:00
  • 9394bab1fb Big Sweep: Security + Race-Conditions + Tests + DSGVO + A11y, SW by-v1095 rene 2026-05-26 20:12:01 +02:00
  • 6224044654 Fix: Long-Press auf FAB 350ms statt 600ms + iOS-Textauswahl unterdrücken, SW by-v1094 rene 2026-05-26 19:18:38 +02:00
  • 61af803d99 UX: Step 4 wieder strikt + Long-Press auf FAB = Status-Modal, SW by-v1093 rene 2026-05-26 19:13:12 +02:00
  • 66d2d96a2f Fix: Step 4 toleranter + Prefetch im 60s-Interval, SW by-v1092 rene 2026-05-26 18:22:20 +02:00
  • 0ba0de12b3 UX: Wetter-Preset + robusteres Tile-Prefetch (gemeinsamer LastPos), SW by-v1091 rene 2026-05-26 17:10:52 +02:00
  • 2876469e91 UX: Offline-Pfote in Ban-Yaro-Braun statt Grün, SW by-v1090 rene 2026-05-26 16:00:25 +02:00
  • d47fb61abf Fix: /api/notes ins SW Cacheable-Liste aufnehmen, SW by-v1089 rene 2026-05-26 15:56:03 +02:00
  • 03725d6682 Fix: Offline-Pfote — Step 2+3 tolerant, mehr Prefetch, SW by-v1088 rene 2026-05-26 15:52:20 +02:00
  • 87462cb2fe UX: Offline-Pfote misst echte Offline-Bereitschaft, SW by-v1087 rene 2026-05-26 15:34:42 +02:00
  • 307b4a5486 UX: Offline-Pfote — automatischer Tile-Prefetch + Step 5 umgebaut, SW by-v1086 rene 2026-05-26 15:25:54 +02:00
  • 94f02dbe3a UX: Mehr Offline-Seiten precachen + nur Strich grün, SW by-v1085 rene 2026-05-26 15:14:07 +02:00
  • 95dccd03be Fix: Offline-Score Cache-Detection robust, SW by-v1084 rene 2026-05-26 15:06:43 +02:00
  • b9fe5b5bc3 UX: Offline-Score direkt im FAB statt separater Pfote, SW by-v1083 rene 2026-05-26 14:57:19 +02:00
  • 53c80b9bf6 Fix: Offline-Pfote sichtbar by-default, JS versteckt nur, SW by-v1082 rene 2026-05-26 14:43:56 +02:00
  • eb0f460304 Fix: Offline-Pfote per JS-Klasse sichtbar (Fallback zum CSS-Sibling), SW by-v1081 rene 2026-05-26 14:36:27 +02:00
  • 521b7b6bee UX: Offline-Pfote über FAB + nur in Welten sichtbar, SW by-v1080 rene 2026-05-26 14:30:57 +02:00
  • 06b91dc54b Fix: Offline-Pfote als schwebendes Element (Welten verstecken Header), SW by-v1079 rene 2026-05-26 14:24:45 +02:00
  • 776641fa65 Fix: Offline-Indicator Cache-Namen + Step-5-Check, SW by-v1078 rene 2026-05-26 14:18:47 +02:00
  • 8097d21605 Feature: Offline-Bereitschafts-Indikator (Pfote im Header), SW by-v1077 rene 2026-05-26 14:16:57 +02:00
  • 280213c11d UX: Rechnungs-Modal Footer für Mobile, SW by-v1076 rene 2026-05-26 14:03:09 +02:00
  • c4a82e96fd UX: Rechnungs-Edit-Modal status-bewusst + Storno-Button, SW by-v1075 rene 2026-05-26 13:59:40 +02:00
  • 5886e1b269 UX: Upgrades-Tab — Button zeigt vorhandene Rechnung an, SW by-v1074 rene 2026-05-26 13:50:03 +02:00
  • e5abdcab62 Fix: Tagebuch Foto-Löschen — null-crash + 404-Cleanup, SW by-v1073 rene 2026-05-26 13:38:11 +02:00
  • c03884cb81 Perf: 9 Performance-Fixes — SW by-v1072 rene 2026-05-26 06:30:36 +02:00
  • 3abf974d29 Feature: Parallele Bild-Uploads, Heartbeat last_seen, Admin zuletzt aktiv, SW by-v1071 rene 2026-05-25 20:26:58 +02:00
  • 9677d1e71a Fix: Pfoten-Button bleibt rechts (display:flex statt '' beim Einblenden), SW by-v1070 rene 2026-05-19 19:04:32 +02:00
  • 9f47cfe1d4 Fix: Pfoten-Button rechts neben Suchzeile (Dog-Chip eigene Zeile), SW by-v1069 rene 2026-05-19 19:02:22 +02:00
  • b1e4d7fce1 Bump: SW by-v1068 (Übungen-Redesign) rene 2026-05-19 18:58:12 +02:00
  • c5bb3ee2cb UX: 'Stand erfassen' als Pfoten-Button rechts neben Dog-Chip+Suche rene 2026-05-19 18:51:17 +02:00
  • 81b5199e18 Fix: Suche+Stand-erfassen Zeile als Flexbox (kein Table-Overflow mehr) rene 2026-05-19 18:46:32 +02:00
  • 4407b9b27f Fix: 'Stand erfassen' Button auf Mobile sichtbar (kein zweizeiliger Text) rene 2026-05-19 18:43:59 +02:00
  • 6fcc9d34d3 UX: Übung des Tages zeigt 'Stand erfassen →' statt '--' wenn kein Stand rene 2026-05-19 18:41:44 +02:00
  • dcb966ca54 Feature: Protokoll-Tab Toggle 'Nach Datum / Nach Übung' rene 2026-05-19 18:34:30 +02:00
  • 738571d958 Fix: Verlauf-Tab kein Endlos-Spinner + Save-422 bei null-Feldern rene 2026-05-19 18:28:56 +02:00
  • cc841ef6d7 Feature: Trainingsprotokoll-Tab in Übungen, kein Tagebuch-Spam rene 2026-05-19 18:17:50 +02:00
  • d2c2c59abb Fix: Züchter-Header (Wurfverwaltung/Zuchtkartei/Läufigkeit) Hell-Mode kompatibel (CSS-Variablen statt hardcoded Dark-Gradient), SW by-v1036 rene 2026-05-16 13:59:07 +02:00
  • 21b65a1e39 Fix: Asphalttemperatur-Formel temperaturabhängig (t_factor 0..1 zwischen 5-30°C), nicht mehr temperaturblind rene 2026-05-16 13:53:05 +02:00
  • 416f32b056 Fix: Chips gleichförmig bei großer iOS-Schriftgröße (height 74px statt min-height, max-height px statt em), SW by-v1035 rene 2026-05-16 13:51:03 +02:00
  • a736d66c47 UX: Panorama-Hinweis bleibt 4s sichtbar (erste 2x), Text + Querformat, SW by-v1034 rene 2026-05-16 13:03:42 +02:00
  • a65e5a2723 Feature: Dark-Mode Overlay auf Welten-Panorama (rgba 0,0,0,0.45), SW by-v1033 rene 2026-05-16 13:01:33 +02:00
  • a1c4d2ab2b Fix: /me-Endpoint gibt geburtstag zurück (war vergessen) rene 2026-05-16 12:57:19 +02:00
  • f0cf0f2243 Fix: users.geburtstag Migration robuster (PRAGMA table_info Check) rene 2026-05-16 12:18:48 +02:00
  • fc8d396247 Fix: Geburtstags-Banner nur für aktiven Hund rene 2026-05-16 12:13:15 +02:00
  • a50158d522 Fix: Worlds.refresh() nach Profil-Speichern aufrufen rene 2026-05-16 12:07:31 +02:00
  • b54d9fda99 Fix: users.geburtstag Migration + Format TT.MM statt MM-DD rene 2026-05-16 12:02:52 +02:00
  • a4377033ec Feature: User-Geburtstag im Profil + Glückwunsch in JETZT-Welt rene 2026-05-16 11:55:34 +02:00
  • 1328e2c4e3 Feature: HUND-Geburtstag-Hint für Nicht-aktiven Hund rene 2026-05-16 11:51:06 +02:00
  • d8b75fbcab Fix: Globaler Dark-Mode-Filter für alle Leaflet-Karten rene 2026-05-16 11:41:12 +02:00
  • 19640af288 Style: Marker + Cluster Rand Tactical-Olive statt Weiß rene 2026-05-16 11:35:01 +02:00
  • 059002670a Feature: Karten-UI vollständig Dark-Mode-fähig rene 2026-05-16 11:25:04 +02:00
  • 2cf0bc0d97 Fix: Karte CSS-Filter statt CartoDB Dark, Social Wrapper 860px rene 2026-05-16 11:19:37 +02:00
  • 721e630a34 Fix: Dark-Mode Karte + Badge-Farben + --c-bg-secondary rene 2026-05-16 11:11:09 +02:00
  • 161c1e3f73 Fix: --c-bg-secondary definiert, Zoom-Control 30px, Dark-Mode Karten rene 2026-05-16 10:50:10 +02:00
  • 1c187675a9 Fix: Zoom-Control padding-top zurück auf 28px (war 33 = zu tief) rene 2026-05-16 10:42:44 +02:00
  • e44414015a Fix: Karte — Zoom-Ausrichtung, 'Z14' kürzer, Marker-Count ausgeblendet rene 2026-05-16 10:39:12 +02:00
  • 562d64979f Fix: Karte — Filter-Button mit Label, kürzere Chip-Texte rene 2026-05-16 10:32:11 +02:00
  • 9a60c160a1 Feature: Läufigkeit-Spotlight in Züchter-Sektion (landing.html) rene 2026-05-16 10:23:46 +02:00
  • 835c0ada21 Fix: laeufi.js width:100% für konsistente Breite kollabiert/aufgeklappt SW by-v1016, APP_VER 1016 rene 2026-05-16 10:20:19 +02:00
  • af4a61f5b3 Fix: laeufi.js Desktop — margin:0 auto + padding für Zentrierung rene 2026-05-16 10:10:55 +02:00
  • ed9dd08c14 Desktop: Einheitliche Seitenbreite 860px via pc-desktop Klasse rene 2026-05-16 09:57:00 +02:00
  • 9816075c7e Desktop JETZT: world-top max-width 860px zentriert rene 2026-05-16 09:36:28 +02:00
  • f36bac7ded Desktop: W3-Overlays als zentrierte Dialogs (FAB + All-Chips) rene 2026-05-16 09:28:03 +02:00