Commit graph

  • aefdac87ad Wetter-Pill: Niederschlag = Höchstwert der nächsten 3 Std statt Tages-Max rene 2026-06-05 20:01:32 +02:00
  • fd6be50762 Offline-Plan: Umsetzungsstand (Kern fertig + verifiziert, Follow-ups offen) rene 2026-06-05 19:54:29 +02:00
  • 5337ddfa05 Offline-Karten: Welten-FAB Segment 5 + Download-Trigger (flag-gated) rene 2026-06-05 19:53:55 +02:00
  • 8f13f4d38d Offline-Karten: Kern implementiert (Region-Download → IndexedDB → Offline-Render) rene 2026-06-05 19:46:18 +02:00
  • 2a809a9a0b Fix: Tiles-Cache-Bust — versionierte PMTiles-URL + version-bewusstes Caching rene 2026-06-05 19:18:43 +02:00
  • 80b56c32ab Offline-Plan: Routen-Korridor an Routen-Feature anbinden (fehlende Verbindung) rene 2026-06-05 18:03:53 +02:00
  • f38301a391 Offline-Plan: 'Offline-Inhalte laden' mit Bereichsauswahl für Mehrtages-Wanderungen rene 2026-06-05 18:00:59 +02:00
  • 27e7590eed Offline-Plan: Pfoten-Indikator (Welten-FAB) Segment 5 als Kopplung festgehalten rene 2026-06-05 17:55:33 +02:00
  • d1e44ebfb9 Offline-Plan: Referenz-Radius 10→5 km (gemessen 6,4 MB Stadt / 2,6 MB Land), Budget ~7 MB rene 2026-06-05 17:52:20 +02:00
  • daa44946f1 Docs/Karten-Plan: Wetter-Chip Niederschlag auf nächste 3h-Max umstellen rene 2026-06-05 17:48:59 +02:00
  • 827ea95191 Tiles-Progress: Stufe 4 zeigt echte planetiler-Phase statt Müll-ETA rene 2026-06-05 17:21:08 +02:00
  • 43b1e8026f Docs: Offline-Karten-Plan (GL/Vektor) — budget-getrieben + adaptives Funkloch-Lernen rene 2026-06-05 17:16:16 +02:00
  • 29076bcdff Tiles: Fortschritts-Snapshot-Skript (Stufe/Balken/ETA) für Build-Monitoring + .gitignore rene 2026-06-05 16:50:52 +02:00
  • d11794355c Tiles: DACH + alle Anrainer (15 Länder) + Einzel-PBFs nach Merge freigeben rene 2026-06-05 16:15:20 +02:00
  • c7201aa07b Karten-Attribution: standardmäßig eingeklappt (nur ⓘ) + doppelten Hinweis entfernt rene 2026-06-05 15:48:11 +02:00
  • da6451a1c7 Karten: Mitglieder-Karte (Forum) auf GL + verwaiste Orte-Seite gelöscht rene 2026-06-05 15:28:51 +02:00
  • 720971d252 Routen-Detailkarte: WebGL-Kontext-Leak gefixt → bleibt GL + zoomt auf Route rene 2026-06-05 15:10:12 +02:00
  • d203ab17a8 Routen: Detail/Vorschlag-Zoom robust (ResizeObserver) + Navi-Sperrbildschirm nur per Fingerabdruck rene 2026-06-05 14:47:15 +02:00
  • 285928f6f7 Karten: Routen-Übersichtskarte klickbar + Tagebuch-Karten auf GL rene 2026-06-05 14:23:22 +02:00
  • 1defeec537 Routen-Vorschau: echtes Karten-PNG (Basemap+Route) statt nackter SVG-Form rene 2026-06-05 13:57:47 +02:00
  • a0d16ba800 Fix: Seiten-Crash bleibt nicht mehr für die ganze Session hängen rene 2026-06-05 13:48:58 +02:00
  • d96fa9e24e Seitenkarten destroy(): GL-Karte beim Seitenwechsel freigeben (WebGL-Kontext-Leak) rene 2026-06-05 13:16:38 +02:00
  • 27a3f954a4 Routen-Fixes: Richtungspfeile (SVG-interne Rotation) + Filter standardmäßig zu rene 2026-06-05 13:13:14 +02:00
  • fbaf7c5409 Routen-GL-Fix: Detail/Suggest-Karte fittet Route korrekt (Modal-0×0-Timing) rene 2026-06-05 13:01:19 +02:00
  • 96119e02ef Seitenkarten GL Runde 2: Events, Gassi, Routen + Facade-Erweiterung rene 2026-06-05 12:48:09 +02:00
  • 5844f1ef51 Seitenkarten auf MapLibre GL (Facade) — Runde 1: Giftköder + Verlorene rene 2026-06-05 12:33:01 +02:00
  • 9c4b999331 GL-Style: Straßennummern (A9/B304/ST2078) + Straßenarten farblich rene 2026-06-05 12:05:01 +02:00
  • eaf7801e6b GL-Style: Schutzgebiete (park) als Umrandung statt Füllung + Wald dunkler rene 2026-06-05 11:59:02 +02:00
  • 04b2d8aeb8 GL-Style: Landbedeckung nach Klasse (Wald/Wiese/Moor unterscheidbar) rene 2026-06-05 11:53:14 +02:00
  • cc1fdb00b1 GL-Style: kräftigere Schrift (Open Sans Semibold, self-hosted), sattere Farben, Bahntrassen rene 2026-06-05 11:47:52 +02:00
  • fc9cac410c GL-Style: Pfade von Straßen trennen + Infodichte (Hausnummern, POI-Namen) rene 2026-06-05 11:35:24 +02:00
  • 3523a44a0b MapLibre: GL als Staging-Default + Feinschliff (Cluster-Zahlen, Theme-Robustheit) rene 2026-06-05 11:26:55 +02:00
  • 425f99effb MapLibre-Port 3b+3c: Wetter + GPS-Aufzeichnung für GL entgaten rene 2026-06-05 11:19:40 +02:00
  • 9c959dd632 GL-Karte: Ortsnamen-Labels (Glyphs self-hosted) + ScaleControl raus (lag unter der Status-Pill) rene 2026-06-05 11:09:08 +02:00
  • 4d0cd0f460 Karten-Fix: fraktionalen MapLibre-Zoom für Scan-Schwelle runden rene 2026-06-05 11:01:09 +02:00
  • 980338d7f1 Karten-Fix: Scan-Race bei schnellen Zoom-Folgen (Z16→Z13→Z14 → keine Marker) rene 2026-06-05 10:56:08 +02:00
  • d447de2b8d GL-Cluster: weißes Kategorie-Icon mittig auf Cluster-Kreis (clsym-Layer + cli-Icon-Variante) rene 2026-06-05 10:47:36 +02:00
  • 2ccf75e076 Karten-Fix: Overlay-Button-Zonen click-through (blockierten Karten-Pannen) rene 2026-06-05 10:43:17 +02:00
  • 2d7eca16a7 MapLibre-Port 3a-Fix: Scanner-Endlosschleife (resize im Scan) + Pinch-Page-Zoom + Rotation rene 2026-06-05 10:26:35 +02:00
  • ef16ec92ba MapLibre-Port 3a: ?mapgl=1/0 früh in boot.js erfassen + GL-App-Pfad headless end-to-end verifiziert (2936 reale Marker, Popup, null Fehler) rene 2026-06-05 10:16:15 +02:00
  • 542106e77b MapLibre-Port Runde 3a: MapGLMarkers in map.js verdrahtet (flag-gated) rene 2026-06-05 10:06:54 +02:00
  • 11922c1d22 MapLibre-Port Runde 2: GL-Marker-Subsystem (map-gl-markers.js) + headless Test-Harness rene 2026-06-05 09:52:45 +02:00
  • 63c9be68c6 MapLibre-Port Runde 1: Engine-Fundament (flag-gated, Default Leaflet) rene 2026-06-05 09:37:59 +02:00
  • a27695d9c6 MapLibre-Perf-Test: /maplibre-perf-test (Basemap + 600 Cluster-Marker, GPU) — Handy-Proof vor dem Umbau rene 2026-06-05 09:24:13 +02:00
  • 5e354f7e8e MapLibre-Migration M1: Geometrie-Style-Modul (MapGLStyle, Light+Dark, kein Glyph) für zentrale Karte rene 2026-06-05 09:20:41 +02:00
  • 7d761bb342 NOTAUS: Vektor-Basemap hart deaktiviert — protomaps-leaflet hängt App auf dem Handy auf rene 2026-06-05 09:12:01 +02:00
  • 1d64dc5d70 Fix: zentrale Karte nutzte window.UI (undefined) statt bare UI → immer Raster-Branch rene 2026-06-05 09:06:09 +02:00
  • 5cb7c3091d Diagnose: /ui-vector-test — testet echten ui.js-Vektor-Pfad (UI.map.create) ohne Auth rene 2026-06-05 09:01:58 +02:00
  • b0fece16c8 Fix: CSP worker-src 'self' blob: (SW-Registrierung war durch blob:-only blockiert) + Vektor-Basemap auf Staging default-an rene 2026-06-05 08:52:36 +02:00
  • 736c326635 Tile-Server: Isolations-Testseite /leaflet-vector-test (protomaps-leaflet + DACH, ohne App-Shell) rene 2026-06-05 08:39:43 +02:00
  • 647aa684db Vektor-Basemap: zentrale Karte (pages/map.js) integrieren — sie umging UI.map.create rene 2026-06-05 08:28:11 +02:00
  • b2262a8e86 Vektor-Basemap: ?vectormap=1/0 früh in boot.js erfassen (überlebt Query-Stripping beim Boot) + APP_VER bump rene 2026-06-05 07:57:21 +02:00
  • 9006c85434 Bump APP_VER 1173→1174 (Vektor-Basemap-Integration) rene 2026-06-04 22:26:42 +02:00
  • 2b5afcf0ae Tile-Server: Vektor-Basemap in PWA integrieren (protomaps-leaflet, Feature-Flag) rene 2026-06-04 21:53:07 +02:00
  • a561759034 Tile-Server-Spike: MapLibre-Testseite /maplibre-test (vendored maplibre-gl+pmtiles) rene 2026-06-04 20:42:35 +02:00
  • e5a2953a80 Tile-Server: HEAD-Support für /tiles (Dateigröße-Probe ohne 405) rene 2026-06-04 20:35:06 +02:00
  • bdadde8b98 Tile-Server: eigene Range-fähige /tiles-Route (StaticFiles liefert hinter BaseHTTPMiddleware kein 206) rene 2026-06-04 20:31:57 +02:00
  • d9ecdb15fb Tile-Server-Spike: /tiles StaticFiles-Mount + tiles/ vom Tar/Git ausschließen rene 2026-06-04 20:27:33 +02:00
  • cde019cacf Docs: Übergabe Tile-Server (planetiler→PMTiles→MapLibre, Staging-Spike-Plan) rene 2026-06-04 19:57:59 +02:00
  • 545b57c723 Fix: Account-Löschung FK-sicher über alle Tabellen (defer_foreign_keys + Introspektion) rene 2026-06-04 19:21:18 +02:00
  • 1448782564 UX: Welten-Editor — Hinweis dass ✕ ausblendet (nicht löscht) rene 2026-06-04 18:36:42 +02:00
  • 258ccf84ee Feature: Alter fließt in Kalorienbedarf ein (Lebensphasen-Faktoren) rene 2026-06-04 18:04:16 +02:00
  • cca9a9c70f Fix: Ernährungs-Rechner übernimmt Gewicht+Alter aus Hundeprofil rene 2026-06-04 17:59:34 +02:00
  • 0e77c04eee Fix: gespeichertes Futter-Profil beim Öffnen sichtbar (war hinter Berechnung versteckt) rene 2026-06-04 17:53:03 +02:00
  • 3513aeadb0 Fix: Referral-Code überlebt App-Schließen (localStorage statt sessionStorage) rene 2026-06-04 17:38:14 +02:00
  • 7945087a6c Fix: Routen-Bewertungen (Kommentare) waren für niemanden sichtbar rene 2026-06-04 17:25:40 +02:00
  • 78866206b4 Feature: Routenaufzeichnung übersteht App-Updates (Guard + Persistenz) rene 2026-06-04 17:13:23 +02:00
  • ddfb9474ef Bump auf v1166 (Versionen synchron halten) rene 2026-06-04 16:53:26 +02:00
  • 959fd81a9b Fix: Forum-Cooldown blockierte JEDEN Post (Zeitzonen-Bug) rene 2026-06-04 16:50:45 +02:00
  • c07b1cc01b Fix: restliche CSP-blockierte Inline-Handler — Bild-Fallbacks (globaler data-fb Error-Handler) + Hover-Effekte (CSS-Utilities + data-hover-play) rene 2026-06-04 16:22:43 +02:00
  • 2ddd8ac350 Fix: alle funktionalen Inline-Event-Handler → addEventListener/Delegation (von CSP-Härtung 65cfa25 app-weit blockiert) rene 2026-06-04 13:59:27 +02:00
  • 152fde716c Fix: Freunde Annehmen/Ablehnen/Chat per Event-Delegation statt Inline-onclick (von CSP-Härtung 65cfa25 blockiert), SW v1163 rene 2026-06-04 13:35:53 +02:00
  • 55b354e865 Freunde: Annehmen/Ablehnen-Buttons mit Text-Label (Icon-only war für Nutzer nicht erkennbar) + Fix /apifriends/same-breed Slash-Bug, SW v1162 rene 2026-06-04 12:27:01 +02:00
  • f5b5bb2289 Streak: entkoppelt vom App-Öffnen — nur noch echte Touren zählen rene 2026-06-04 09:40:12 +02:00
  • 667ed91f33 Routen: Bestätigungs-Toast nach Ablaufen + "X× gelaufen · zuletzt" auf der Karte rene 2026-06-04 09:34:03 +02:00
  • 91624dac25 Fix: gelaufene km bei Routen-Navigation gehen verloren wenn nicht über In-App-Zurück geschlossen wird (Angie-Bug) rene 2026-06-04 09:09:07 +02:00
  • 684ffa3b46 OSM-Verknüpfung: In-App-Hilfe „Konto erstellen" (umgebungsabhängig) rene 2026-06-03 22:04:42 +02:00
  • b4cafc0363 OSM-Verknüpfung: Post-Link-Redirect auf Einstellungen (/#settings) statt App-Root rene 2026-06-03 22:02:42 +02:00
  • 9afbf24535 OSM-Beiträge: "Hund willkommen?" 👍/👎 (dog=yes/no) + Umdrehen rene 2026-06-03 21:49:44 +02:00
  • 57849515ea OSM-Beiträge: Map-Button (dog=yes), Changeset-Upload, Confirm/Pro-Job rene 2026-06-03 21:40:50 +02:00
  • dc9c0d2cc0 Build 1156: SW-Cache-Bust für OSM-Verknüpfung/dog=yes-UI (Frontend-Änderung) rene 2026-06-03 21:24:11 +02:00
  • 1cfaa0264f OSM-Beiträge: dog=yes-Erfassung mit GPS/Zeit-Anti-Fraud + Gamification-Zähler rene 2026-06-03 21:20:32 +02:00
  • 46caa05020 OSM-Verknüpfung (Modell A): OAuth2-Fundament für Nutzer-Beiträge rene 2026-06-03 21:14:36 +02:00
  • 4bc7454258 POI-Karte: Offline-Import aus OSM statt Live-Overpass-Scan (Build 4) rene 2026-06-03 20:44:32 +02:00
  • 214543559c Marketing-Cockpit (MARKETING.md) + Flyer (HTML-Quellen & Print-PDFs); unsplash/ ignoriert rene 2026-06-03 17:24:47 +02:00
  • 10e39ed135 Karten-Ausbau (OSM), Forum-Erweiterung, UI-Komponenten, Refactor Tagebuch/Gassi (DRY), Landing/SEO — APP_VER 1155 rene 2026-06-03 17:24:47 +02:00
  • 2d907f6370 Öffentliche /help-Seite — Server-rendered FAQ ohne Login rene 2026-05-30 19:34:12 +02:00
  • d23d696745 Tagesfoto-Cache validieren + bei Diary/Media-Löschung mit-bereinigen rene 2026-05-30 19:00:56 +02:00
  • f934560a12 Routenübersicht: immer Karten-Preview statt erstem Foto, Kamera-Badge bei Routen mit Bildern rene 2026-05-30 18:16:46 +02:00
  • 4cfce1051f Pro-Badge im Profil: zeigt jetzt korrekten Tier statt veraltetem is_premium rene 2026-05-30 18:10:57 +02:00
  • 8d2cc279ae Navigation: worlds-back-Pfeil sichtbar bei Page-zu-Page-Sprung rene 2026-05-30 18:00:14 +02:00
  • bd9acda084 User-Löschen: Upgrade-Anfragen + Hund-Daten mit aufräumen (Admin + Self-Delete) rene 2026-05-30 17:51:24 +02:00
  • 6bc63e3818 dog-profile: 'Später erinnern'-Button auf Standalone-Anlage-Seite rene 2026-05-30 17:38:12 +02:00
  • 7a10db2da4 Bump APP_VER 1133 → 1134 (SW-Cache-Bust für Onboarding/Welcome-Fix) rene 2026-05-30 17:28:29 +02:00
  • b5b1510565 Release v1.6.0 v1.6.0 rene 2026-05-30 17:22:34 +02:00
  • fb9620fbcb Onboarding: 'Los geht's' navigiert direkt zum vollen Hunde-Profil-Formular statt Mini-Wizard. Welcome-'Hund anlegen' nutzt echten Event-Listener statt inline onclick. rene 2026-05-30 17:19:11 +02:00
  • 2d43618dc8 Onboarding-Wizard: kein Stuck-State mehr bei vorhandenem Hund rene 2026-05-30 17:07:24 +02:00
  • 0685f3b8ef Welcome-Dashboard: Tagesfoto wird serverseitig pro Tag gecacht rene 2026-05-30 12:55:48 +02:00
  • 9b0c286aa3 Expenses: GET /api/expenses/categories liefert die Kategorien rene 2026-05-30 12:31:59 +02:00
  • 7b3041fc94 DRY: Notiz-Modal zentral in UI.noteModal (11 divergierte Kopien entfernt, ~750 Z. weniger); Fix: Founder-Race in jobs.py atomar + founder_number, SW v1133 rene 2026-05-29 10:51:42 +02:00