Passkeys und die Jellyfin-Anbindung als groessere Bausteine, dazu vier Nacharbeiten aus dem Betrieb. Changelog, Release-Notiz, DEVLOG und die bebilderte Anleitung nachgezogen. Die Anleitung hat zwei neue Abschnitte samt Screenshots: „Anmelden per Passkey" und ein Bild im Jellyfin-Abschnitt. Beide Aufnahmen brauchen Gegenstellen — einen Authenticator und einen Medienserver. Damit `npm run screenshots` reproduzierbar bleibt, stellt das Skript sie jetzt selbst bereit: der virtuelle Authenticator kommt ueber CDP vom Browser, der Jellyfin-Nachbau sind ein paar Zeilen HTTP im Skript. Beide Spuren raeumt es nach der Aufnahme ueber die Oberflaeche wieder weg. Der Merkposten zum Entwicklungsmodus in CLAUDE.md war zu absolut: dass unter Playwright nichts hydratisiert, stimmt nicht durchgehend — im Screenshot-Lauf gegen denselben Dev-Server funktionierten die Klicks. Der Eintrag beschreibt jetzt das Beobachtete statt einer Regel, die nicht traegt, und nennt die Pruefung, mit der sich der Zustand feststellen laesst. Dazu neu: APP_URL muss zum aufgerufenen Port passen, sonst scheitern Passkeys am Ursprungsabgleich. Alle Screenshots neu aufgenommen — die Einstellungsseite hatte sich durch die neuen Abschnitte ohnehin geaendert.
This commit is contained in:
@@ -103,6 +103,49 @@ Alle Zeiten per `date`-Befehl erfasst (Europe/Berlin), nicht geschätzt.
|
||||
|
||||
---
|
||||
|
||||
## Issue-Runde (v0.8.0)
|
||||
|
||||
Ab hier lief die Arbeit issue-getrieben: jede Aufgabe mit eigenem Branch,
|
||||
Zeiterfassung in Gitea und Freigabe durch Florian. Die Zeiten unten sind die
|
||||
gemessenen Stopwatch-Werte, nicht die Wanduhr — dazwischen lagen Pausen.
|
||||
|
||||
| # | Issue | Dauer | Was passiert ist |
|
||||
|---|---|---|---|
|
||||
| 8.1 | #2 Titelraster | 6 min | Titelblock auf zwei Zeilen festgenagelt; vorher und nachher vermessen |
|
||||
| 8.2 | #4 Standardreihenfolge | 15 min | Feld war da und wurde ausgewertet — es fehlte nur der Weg, es zu setzen |
|
||||
| 8.3 | #5 Gesehen zurücknehmen | 10 min | Der Knopf war ein `<p>`; die Gegenfunktion für Filme fehlte ganz |
|
||||
| 8.4 | #3 Träge Suche | 7 min | Das Ladesignal wurde erzeugt und weggeworfen; zwei Verdächtige durch Messung entlastet |
|
||||
| 8.5 | #6 Passkeys | 20 min | WebAuthn als dritter Weg in dieselbe Sitzung, geprüft mit virtuellem Authenticator |
|
||||
| 8.6 | #1 Jellyfin | 19 min | Bestand und Sichtungen über die TMDB-Kennung, Stufe 1 und 2 |
|
||||
|
||||
**Issues gesamt: 1 h 17 min** (2026-09-01 21:22 – 2026-09-02 07:25)
|
||||
|
||||
Dazu ohne Zeiterfassung: die Nacharbeit an `update.sh` (Rückfall auf den
|
||||
Container-Healthcheck), die Merkposten in `CLAUDE.md` und diese Version
|
||||
selbst — Changelog, Screenshots, Release.
|
||||
|
||||
### Was dabei auffiel
|
||||
|
||||
1. **Zwei eigene Vermutungen hielten der Messung nicht stand.** Bei #3 hatte
|
||||
ich Facetten-Abfragen und blockierende Poster als Ursachen benannt. Gemessen
|
||||
an 2000 Einträgen kosten die Facetten 12 ms, und bei künstlich um 1500 ms
|
||||
verzögerten Bildern stehen die Treffer 891 ms vor den Bildern im DOM. Beide
|
||||
blieben deshalb unangetastet.
|
||||
2. **Ein Nebenpunkt in einem Issue war schlicht falsch.** Ich hatte bei #5
|
||||
behauptet, die Einblendung biete ein wirkungsloses Zurücknehmen an — sie
|
||||
prüft aber längst auf `ids.length > 0`.
|
||||
3. **Der Changelog zu 0.7.1 beschrieb eine Funktion, die es nicht gab.** Die
|
||||
Rückfallprüfung über den Container-Healthcheck stand dort, war aber nie
|
||||
umgesetzt. Jetzt ist sie es.
|
||||
4. **Ein Abgleich mit null Treffern war kein Fehler.** Der erste Jellyfin-Lauf
|
||||
gegen die Beispieldaten übernahm keine einzige Sichtung — korrektes
|
||||
Entdoppeln, die Episoden waren im Seed längst abgehakt.
|
||||
5. **Sitzungen über nacktes HTTP gehen nicht.** Das Cookie ist in der
|
||||
Produktion `Secure`; auf einer LAN-IP kommt man deshalb gar nicht herein,
|
||||
ohne Fehlermeldung. Nicht behoben, festgehalten.
|
||||
|
||||
---
|
||||
|
||||
## Gesamtübersicht
|
||||
|
||||
| Etappe | Version | Dauer |
|
||||
@@ -114,8 +157,9 @@ Alle Zeiten per `date`-Befehl erfasst (Europe/Berlin), nicht geschätzt.
|
||||
| 5 — Dashboard, Kalender, Statistik | 0.5.0 | 15 min |
|
||||
| 6 — Benachrichtigungen, Sync, Import/Export, API, PWA | 0.6.0 | 31 min |
|
||||
| Nacharbeiten — Docker verifiziert, eigene Sammlung | 0.7.0 | 51 min |
|
||||
| Issue-Runde — Passkeys, Jellyfin, vier Nacharbeiten | 0.8.0 | 77 min |
|
||||
|
||||
**Gesamtentwicklungszeit: 3 h 07 min** (187 min, 2026-09-01, 18:09 – 21:16)
|
||||
**Gesamtentwicklungszeit: 4 h 24 min** (264 min, 2026-09-01 18:09 – 2026-09-02 07:25)
|
||||
|
||||
### Womit die Zeit verging
|
||||
|
||||
|
||||
Reference in New Issue
Block a user