Commit graph

26 commits

Author SHA1 Message Date
250f8390cf Timeline: Sprungleiste über dem Monat/Jahr-Pill
Ein Tipp auf das Pill öffnet eine Leiste mit allen Jahren, die Ereignisse
enthalten, samt Dichte (Punkte bis drei, sonst Zahl); ab zwölf Jahren
kommt eine Jahrzehnte-Zeile zum Scrubben dazu. Hat das gewählte Jahr
Ereignisse in mehreren Monaten, erscheint eine Monatszeile, in der nur
belegte Monate aktiv sind. Ein Jahr springt sofort, ein Monat zentriert
dessen Ereignisse; Tippen außerhalb oder Escape schließt.

Ersetzt das q-menu im Pill, das durch doppeltes Umschalten nie sichtbar
wurde. Die Timeline liefert dafür einen Jahr/Monat-Index und kann auf
einen Monat zentrieren.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-25 09:31:35 +00:00
ab23c9f4ef Client-Logging, getrennte Rate-Limits und Ladezustand für Bilder
Auf dem Testserver lief die App beim Scrollen langer Timelines in ein 429:
nach jeder Scroll-Pause ging sofort ein PUT /settings raus, und jedes
sichtbare Vorschaubild zählte auf dasselbe Limit von 300/min. Danach
blieben Bilder leer und "Einstellungen konnten nicht gespeichert werden"
erschien.

Backend: Medien-Reads bekommen einen eigenen Limiter (media, 1200/min),
POST /client-logs nimmt Warnungen und Fehler der App an (client-logs,
30/min) und schreibt sie in den täglichen Kanal `client`; Exceptions
tragen user_id, path und method im Kontext.

Frontend: Einstellungen gehen frühestens 1,5 s nach der letzten Änderung
und nur bei geändertem Inhalt zum Server, 429/Netzfehler werden still mit
Backoff wiederholt, nur eine Ablehnung wird gemeldet. Bilder laufen durch
ein Gate (6 parallel, Retry-After, 3 Versuche) und fallen auf einen
Platzhalter statt auf einen kaputten Pfad zurück. Neuer clientLog-Service
mit IndexedDB-Puffer, Dedupe und Batch-Versand, globaler Fehlerfang im
Boot, Protokoll im Entwickler-Tab. Drei pulsierende Punkte statt weißer
Fläche in Timeline-Punkt, Key Image und Medienkacheln.

Dokumentation in documentation/logging.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-25 09:31:35 +00:00
522deffa1a Hintergründe: 15 kuratierte Bilder statt Testfotos
Elf universelle Hintergründe von grafisch bis fotografisch (Tinte, Goldstaub,
Horizont, Kohle, Leinen, Nebel, Dämmerung, Nachthimmel, Tusche, Papier,
Aquarell) plus vier v2-Fassungen zur Abstimmung, alle 2048² JPEG mit
320er Vorschauen (7 MB statt 48 MB). Auswahl, Reihenfolge und Helligkeit
stehen in src/config/backgrounds.js; der Picker zeigt Name und aktuelle
Wahl, das Logo folgt der Bildhelligkeit, Presets zeigen auf die neuen
Bilder, alte Pfade werden beim Laden auf den Nachfolger umgeschrieben.
Der Service Worker cacht nur die Vorschauen vor.

Werkzeuge zum Neu-Rendern (SVG-Builder, Gemini-Prompts) liegen in
dev/tools/backgrounds, die Sichtungs-Renders bleiben lokal (gitignore).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-25 09:31:09 +00:00
83c6c5813d Frontend: Offline-Warteschlange, PWA, Event-Panel und Markenauftritt
Offline
- Alle Schreibzugriffe von API-Nutzern laufen über eine Warteschlange in
  IndexedDB (services/syncQueue.js): FIFO, zusammengefasste Updates,
  Wiederholung bei Netz/Sichtbarkeit/Backoff, 4xx wird als Fehler gemeldet.
- Medien-Uploads liegen mit Bytes in der Queue, erscheinen sofort mit
  Marker und werden nach dem Upload durch das Server-Objekt ersetzt.
- PWA-Modus mit Service Worker für die App-Hülle; API nie gecacht.
  npm run build erzeugt dist/pwa.
- Speicherzustand im Panel: ausstehend / Fehler mit Wiederholen-Knopf,
  Verbindungsanzeige im Header.

Event
- Event entsteht erst mit dem ersten Eintrag; jede Löschung fragt nach.
- Key Image als 4:3-Rahmen, Galerie mit Video, mehrere Sprachnotizen mit
  Notiz, Live-Pegel beim Aufnehmen, WAV-Umwandlung für lokale Aufnahmen.
- Neue Felder: Zeitraum, Kategorie, Personen, Meilenstein; Stimmung als
  kompakte Zeile mit ausklappbarer Punktfarbe.

Oberfläche
- Untere Leiste: Darstellung und Zoom links, Jahres-Pille mittig, Plus rechts.
- Logos und Goldpalette, Login neu, zehn Wellen-Presets mit Vorschau,
  Hintergrundbilder als Kacheln, Kontomenü und Einstellungen bereinigt,
  Escape schließt Ebenen, größere Touch-Ziele.
- Alten Sync-Service und ungenutzte Legacy-Seiten entfernt.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-25 07:00:35 +00:00
f79dcb9928 Optimiere LifeWave-Timeline-Performance und entferne toten Code in _src
- TimelineView: Shader-Event-Mapping in computed ausgelagert, deep-Watch
  entfernt, natives Wheel-Scrolling statt @wheel.prevent
- Events-Store: shallowRef statt tiefer Reaktivität, String-Sortierung
  statt Date-Objekten, getGlowColor memoized, DB-Writes debounced
- Edits werden jetzt dedupliziert als 'update' in die SyncQueue geschrieben
  (vorher gingen Änderungen beim Sync verloren)
- useImageCache: In-Flight-Deduping, Cache-Limit mit revokeObjectURL
- FloatingLines: Antialiasing aus (Fullscreen-Quad), deep-Watches entfernt
- Ungenutzte Seiten/Komponenten entfernt (~6.700 Zeilen, nicht geroutet)
- implementation-plan.md: Hinweis zu update-Action im Sync ergänzt
2026-07-07 15:54:35 +00:00
c1514999be APP als Hybrid Version - Anbindung an API 2026-06-05 09:54:12 +02:00
d054732bf5 30-04-2026 2026-04-30 14:54:39 +02:00
761b1156c1 10-04-2026 2026-04-22 12:57:10 +02:00
70a7776da5 25-02-2025 2026-03-06 14:01:49 +01:00
98084de7d0 20-02-2026 2026-03-06 13:56:20 +01:00
c62234e1ca docker setup
# Conflicts:
#	.gitignore
#	backend/vite.config.js
#	frontend/package-lock.json
2026-03-06 13:46:43 +01:00
Tilman Behrend
9fe2bcade3 update sample entry 2025-09-24 12:58:48 +02:00
Tilman Behrend
d598751598 add video poster and audio sample, alter deploment 2025-09-24 11:54:33 +02:00
Tilman Behrend
f1d1d3f96d add poster to videos 2025-09-24 10:27:30 +02:00
Tilman Behrend
825f1899ea add login to index page 2025-09-22 13:11:57 +02:00
Tilman Behrend
7d2ed57347 detail page: add tile gallery 2025-09-22 09:55:24 +02:00
Tilman Behrend
5402f98d05 add entry detail page 2025-09-21 17:47:28 +02:00
Tilman Behrend
4ab0ca00ad remove some background colors snd shadows 2025-09-19 09:23:56 +02:00
Tilman Behrend
6c909ea6e7 refactor. edit page with new selection pages 2025-09-18 23:04:10 +02:00
Tilman Behrend
d9621e6a90 edit page: change order of elements 2025-09-18 09:13:08 +02:00
Tilman Behrend
fd5bc7faea edit page: change footer and order order of elements 2025-09-18 09:05:48 +02:00
Tilman Behrend
ccd7adf0cb adjust footer edit page 2025-09-15 11:04:42 +02:00
Tilman Behrend
646355d0f9 Add entry edit form and options 2025-09-14 22:59:50 +02:00
Tilman Behrend
7b55e8770c add several pages and life wave 2025-08-31 22:58:40 +02:00
Tilman Behrend
734255aad2 add menu structure and off canvas on the right side 2025-06-02 01:03:35 +02:00
Kevin Adametz
56aa7836f4 first commit 2025-04-01 10:49:26 +02:00