Merge #19: Version 0.9.0
This commit is contained in:
@@ -7,6 +7,99 @@ die Versionierung [Semantic Versioning](https://semver.org/lang/de/).
|
||||
|
||||
## [Unveröffentlicht]
|
||||
|
||||
## [0.9.0] — 2026-09-02
|
||||
|
||||
**Errungenschaften** — Abzeichen für erreichte Meilensteine. Dazu die
|
||||
**Auswahlliste** beim Jellyfin-Abgleich, ohne die die Anbindung auf einer
|
||||
gewachsenen Mediathek kaum etwas ausrichtete.
|
||||
|
||||
> ⚠️ **Beim Aktualisieren kommt eine Migration mit** (`errungenschaften`). Der
|
||||
> Container spielt sie beim Start selbst ein; `./update.sh` legt vorher eine
|
||||
> Sicherung an.
|
||||
|
||||
### Hinzugefügt
|
||||
|
||||
- **Errungenschaften.** Zwanzig feste Abzeichen, dazu dynamische für
|
||||
vollständig gesehene Filmreihen und abgeschlossene Universen. Zu finden
|
||||
unten auf der Statistikseite.
|
||||
|
||||
Sie tauchen auf, wenn etwas erreicht ist, und bleiben dann — **keine
|
||||
Streaks**, die reißen, wenn man eine Woche nichts schaut, keine
|
||||
Fortschrittsbalken, die drängeln. Wer eine Sichtung zurücknimmt, verliert
|
||||
kein Abzeichen; es wieder einzukassieren wäre kleinlich.
|
||||
|
||||
Ein paar davon: *Der lange Atem* (eine Serie mit hundert Episoden komplett),
|
||||
*Treu geblieben* (über ein Jahr an demselben Titel), *Durchgemacht*
|
||||
(zwischen drei und fünf Uhr morgens abgehakt), *Zeitreisender* (Titel aus
|
||||
sieben Jahrzehnten), *Strenges Urteil* (einmal die Note 1 vergeben).
|
||||
|
||||
Für **ganze Filmreihen** braucht es keine gepflegte Liste: TMDB gruppiert
|
||||
sie selbst, und die Zugehörigkeit steht beim Import schon am Titel. Wer alle
|
||||
Spider-Man-Filme gesehen hat, bekommt sie als Reihe angerechnet. Für
|
||||
bekannte Reihen gibt es einen eigenen Namen, sonst heißt es schlicht „Reihe
|
||||
komplett — …".
|
||||
|
||||
Beim ersten Öffnen wird die ganze Historie einmal **stumm** ausgewertet —
|
||||
eine gewachsene Bibliothek soll nicht zwei Dutzend Meldungen auf einmal
|
||||
auslösen. Erst danach wird gemeldet, was neu dazukommt. Auf dem öffentlichen
|
||||
Profil lassen sich die Abzeichen zeigen oder ausblenden.
|
||||
|
||||
- **Auswahlliste für Jellyfin-Titel, die Flimmer nicht kennt.** Beim ersten
|
||||
Abgleich einer gewachsenen Mediathek passierte bisher etwas Ernüchterndes:
|
||||
Jellyfin meldet tausend Einträge, und Flimmer ordnet **keinen einzigen** zu,
|
||||
weil der Katalog sie nicht kennt.
|
||||
|
||||
Jetzt steht unter dem Bericht eine Liste zum Anhaken. Was ausgewählt ist,
|
||||
holt Flimmer von TMDB — bei Serien samt Staffeln und Episoden — und nimmt es
|
||||
mit „hab ich · Jellyfin" in die Bibliothek auf.
|
||||
|
||||
Die Liste fasst zusammen: Führt Jellyfin drei Dateien zum selben Film
|
||||
(Extended Edition, zweite Fassung), steht er einmal da, mit dem Vermerk, wie
|
||||
viele Dateien darauf zeigen. Einträge, denen in Jellyfin die TMDB-Kennung
|
||||
fehlt, bleiben sichtbar, sind aber nicht auswählbar — dort kann Flimmer
|
||||
nichts holen.
|
||||
|
||||
Geholt werden hundert je Lauf; der Rest bleibt für den nächsten Klick. Ein
|
||||
einzelner Fehlschlag beendet den Lauf nicht, und **aus der Liste verschwindet
|
||||
nur, was tatsächlich ankam**.
|
||||
|
||||
### Geändert
|
||||
|
||||
- Der Bericht des Medienserver-Abgleichs war auf **50 Einträge** gekürzt —
|
||||
bei über tausend gelesenen ein Blick durchs Schlüsselloch. Jetzt bis 1000,
|
||||
und was darüber hinausgeht, wird gezählt statt stillschweigend
|
||||
abgeschnitten.
|
||||
- Das Häkchen beim Abgleich heißt jetzt „**Bekannte** Titel dabei in die
|
||||
Bibliothek aufnehmen". Es nimmt auf, was Flimmer *kennt*; die neue
|
||||
Auswahlliste holt, was es *nicht kennt*. Der Unterschied stand vorher
|
||||
nirgends — und war der Grund, warum das Häkchen bei einer frischen Instanz
|
||||
nichts bewirkte.
|
||||
- Einblendungen kennen einen dritten Ton für Erfolge.
|
||||
- `npm run screenshots` hebt für Ausschnittaufnahmen die klebende Kopfleiste
|
||||
auf; sie legte sich sonst über die Überschrift.
|
||||
|
||||
### Behoben
|
||||
|
||||
- Im Bericht stand eine Serie als **Film**, weil der Typ aus dem Umkehrschluss
|
||||
„keine Episode, also Film" abgeleitet wurde. Er kommt jetzt aus dem Item.
|
||||
|
||||
### Getestet
|
||||
|
||||
93 Tests (vorher 78). Neu: der Regelkatalog der Errungenschaften samt
|
||||
Stummschaltung, Entdopplung und Zeitzonenrechnung; die Auswahlliste samt
|
||||
Zusammenfassung, Fehlschlägen und Rechteprüfung.
|
||||
|
||||
Ein Test hat dabei einen Fehler gefunden, den man leicht übersieht: Die Regel
|
||||
„zwischen drei und fünf Uhr" las die Stunde aus der formatierten Zeichenkette,
|
||||
und auf Deutsch liefert das System dafür **„03 Uhr"** — als Zahl gelesen wird
|
||||
daraus nichts. Das Abzeichen wäre nie vergeben worden.
|
||||
|
||||
### Anleitung
|
||||
|
||||
`docs/ANLEITUNG.md` hat zwei neue Abschnitte: **Errungenschaften** mit
|
||||
Screenshot und **Titel, die Flimmer noch nicht kennt** im Jellyfin-Kapitel.
|
||||
|
||||
|
||||
## [0.8.0] — 2026-09-02
|
||||
|
||||
Zwei größere Bausteine: **Anmeldung per Passkey** und die **Jellyfin-Anbindung**.
|
||||
|
||||
@@ -115,6 +115,8 @@ Statistiken, Benachrichtigungen, REST-API, PWA. Oberflächensprache **Deutsch**.
|
||||
- ✅ **Nacharbeiten** (v0.7.0/0.7.1) — Docker verifiziert, „hab ich", `update.sh`. 51 min.
|
||||
- ✅ **Issue-Runde** (v0.8.0) — Passkeys, Jellyfin-Anbindung, Standardreihenfolge,
|
||||
Rückmeldung beim Tippen, Titelraster, Filmsichtung zurücknehmen. 77 min.
|
||||
- ✅ **Zweite Runde** (v0.9.0) — Errungenschaften, Auswahlliste für unbekannte
|
||||
Jellyfin-Titel. 37 min.
|
||||
|
||||
Ab v0.8.0 wird **issue-getrieben** gearbeitet: eigener Branch je Issue,
|
||||
Zeiterfassung in Gitea, Freigabe durch Florian. Details im DEVLOG.
|
||||
|
||||
@@ -146,6 +146,41 @@ selbst — Changelog, Screenshots, Release.
|
||||
|
||||
---
|
||||
|
||||
## Zweite Issue-Runde (v0.9.0)
|
||||
|
||||
| # | Issue | Dauer | Was passiert ist |
|
||||
|---|---|---|---|
|
||||
| 9.1 | #15 Errungenschaften | 22 min | Regelkatalog auf einem gemeinsamen Datensatz; Filmreihen über die TMDB-Zugehörigkeit statt einer gepflegten Liste |
|
||||
| 9.2 | #16 Titel nachladen | 15 min | Aus dem Bericht wird eine Auswahlliste; was Flimmer nicht kennt, kommt auf Wunsch aus TMDB |
|
||||
|
||||
**Issues gesamt: 37 min** (2026-09-02, 09:47 – 11:13)
|
||||
|
||||
Dazu ohne Zeiterfassung: zwei Issues angelegt (#15 und #16), diese Version
|
||||
selbst und die Nachträge an der Anleitung.
|
||||
|
||||
### Was dabei auffiel
|
||||
|
||||
1. **Ein Test hat eine Formatierungsfalle aufgedeckt.** Die Regel „zwischen
|
||||
drei und fünf Uhr" las die Stunde aus der formatierten Zeichenkette; auf
|
||||
Deutsch liefert `Intl` dafür „03 Uhr", und `Number("03 Uhr")` ist `NaN`.
|
||||
Das Abzeichen wäre nie vergeben worden.
|
||||
2. **Ich hatte ein fragwürdiges Verhalten in einem Test festgeschrieben.**
|
||||
Der erste Entwurf strich auch *gescheiterte* Titel aus der Auswahlliste,
|
||||
und der Test hielt das fest. Erst beim Durchklicken fiel auf, wie ärgerlich
|
||||
das wäre — Code und Test wurden korrigiert.
|
||||
3. **Ein Klickweg hat eine falsche Beschriftung gezeigt.** Eine Serie stand
|
||||
als „Film" in der Liste, weil der Typ aus dem Umkehrschluss „keine Episode,
|
||||
also Film" kam.
|
||||
4. **Der Entwicklungs-Stub kann nur suchen.** Er speist sich aus dem lokalen
|
||||
Katalog und kann deshalb per Definition nichts liefern, was dort fehlt —
|
||||
der Importpfad ließ sich nur über Fixtures belegen, nicht über die
|
||||
Oberfläche.
|
||||
5. **Zwei parallele Branches, kein Konflikt.** Beide zweigten von `main` ab
|
||||
und fassten dieselben drei Dateien an. Der Merge lief glatt; geprüft wurde
|
||||
trotzdem die Kombination auf `main`, nicht nur die einzelnen Zweige.
|
||||
|
||||
---
|
||||
|
||||
## Gesamtübersicht
|
||||
|
||||
| Etappe | Version | Dauer |
|
||||
@@ -158,8 +193,9 @@ selbst — Changelog, Screenshots, Release.
|
||||
| 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 |
|
||||
| Zweite Runde — Errungenschaften, Titel nachladen | 0.9.0 | 37 min |
|
||||
|
||||
**Gesamtentwicklungszeit: 4 h 24 min** (264 min, 2026-09-01 18:09 – 2026-09-02 07:25)
|
||||
**Gesamtentwicklungszeit: 5 h 01 min** (301 min, 2026-09-01 18:09 – 2026-09-02 11:13)
|
||||
|
||||
### Womit die Zeit verging
|
||||
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "flimmer",
|
||||
"version": "0.8.0",
|
||||
"version": "0.9.0",
|
||||
"private": true,
|
||||
"description": "Flimmer — selbst hostbarer Serien- und Film-Tracker",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
# Flimmer 0.9.0
|
||||
|
||||
**Errungenschaften** — Abzeichen für erreichte Meilensteine. Dazu die
|
||||
**Auswahlliste** beim Jellyfin-Abgleich, ohne die die Anbindung auf einer
|
||||
gewachsenen Mediathek kaum etwas ausrichtete.
|
||||
|
||||
> ⚠️ **Beim Aktualisieren kommt eine Migration mit** (`errungenschaften`). Der
|
||||
> Container spielt sie beim Start selbst ein; `./update.sh` legt vorher eine
|
||||
> Sicherung an.
|
||||
|
||||
### Hinzugefügt
|
||||
|
||||
- **Errungenschaften.** Zwanzig feste Abzeichen, dazu dynamische für
|
||||
vollständig gesehene Filmreihen und abgeschlossene Universen. Zu finden
|
||||
unten auf der Statistikseite.
|
||||
|
||||
Sie tauchen auf, wenn etwas erreicht ist, und bleiben dann — **keine
|
||||
Streaks**, die reißen, wenn man eine Woche nichts schaut, keine
|
||||
Fortschrittsbalken, die drängeln. Wer eine Sichtung zurücknimmt, verliert
|
||||
kein Abzeichen; es wieder einzukassieren wäre kleinlich.
|
||||
|
||||
Ein paar davon: *Der lange Atem* (eine Serie mit hundert Episoden komplett),
|
||||
*Treu geblieben* (über ein Jahr an demselben Titel), *Durchgemacht*
|
||||
(zwischen drei und fünf Uhr morgens abgehakt), *Zeitreisender* (Titel aus
|
||||
sieben Jahrzehnten), *Strenges Urteil* (einmal die Note 1 vergeben).
|
||||
|
||||
Für **ganze Filmreihen** braucht es keine gepflegte Liste: TMDB gruppiert
|
||||
sie selbst, und die Zugehörigkeit steht beim Import schon am Titel. Wer alle
|
||||
Spider-Man-Filme gesehen hat, bekommt sie als Reihe angerechnet. Für
|
||||
bekannte Reihen gibt es einen eigenen Namen, sonst heißt es schlicht „Reihe
|
||||
komplett — …".
|
||||
|
||||
Beim ersten Öffnen wird die ganze Historie einmal **stumm** ausgewertet —
|
||||
eine gewachsene Bibliothek soll nicht zwei Dutzend Meldungen auf einmal
|
||||
auslösen. Erst danach wird gemeldet, was neu dazukommt. Auf dem öffentlichen
|
||||
Profil lassen sich die Abzeichen zeigen oder ausblenden.
|
||||
|
||||
- **Auswahlliste für Jellyfin-Titel, die Flimmer nicht kennt.** Beim ersten
|
||||
Abgleich einer gewachsenen Mediathek passierte bisher etwas Ernüchterndes:
|
||||
Jellyfin meldet tausend Einträge, und Flimmer ordnet **keinen einzigen** zu,
|
||||
weil der Katalog sie nicht kennt.
|
||||
|
||||
Jetzt steht unter dem Bericht eine Liste zum Anhaken. Was ausgewählt ist,
|
||||
holt Flimmer von TMDB — bei Serien samt Staffeln und Episoden — und nimmt es
|
||||
mit „hab ich · Jellyfin" in die Bibliothek auf.
|
||||
|
||||
Die Liste fasst zusammen: Führt Jellyfin drei Dateien zum selben Film
|
||||
(Extended Edition, zweite Fassung), steht er einmal da, mit dem Vermerk, wie
|
||||
viele Dateien darauf zeigen. Einträge, denen in Jellyfin die TMDB-Kennung
|
||||
fehlt, bleiben sichtbar, sind aber nicht auswählbar — dort kann Flimmer
|
||||
nichts holen.
|
||||
|
||||
Geholt werden hundert je Lauf; der Rest bleibt für den nächsten Klick. Ein
|
||||
einzelner Fehlschlag beendet den Lauf nicht, und **aus der Liste verschwindet
|
||||
nur, was tatsächlich ankam**.
|
||||
|
||||
### Geändert
|
||||
|
||||
- Der Bericht des Medienserver-Abgleichs war auf **50 Einträge** gekürzt —
|
||||
bei über tausend gelesenen ein Blick durchs Schlüsselloch. Jetzt bis 1000,
|
||||
und was darüber hinausgeht, wird gezählt statt stillschweigend
|
||||
abgeschnitten.
|
||||
- Das Häkchen beim Abgleich heißt jetzt „**Bekannte** Titel dabei in die
|
||||
Bibliothek aufnehmen". Es nimmt auf, was Flimmer *kennt*; die neue
|
||||
Auswahlliste holt, was es *nicht kennt*. Der Unterschied stand vorher
|
||||
nirgends — und war der Grund, warum das Häkchen bei einer frischen Instanz
|
||||
nichts bewirkte.
|
||||
- Einblendungen kennen einen dritten Ton für Erfolge.
|
||||
- `npm run screenshots` hebt für Ausschnittaufnahmen die klebende Kopfleiste
|
||||
auf; sie legte sich sonst über die Überschrift.
|
||||
|
||||
### Behoben
|
||||
|
||||
- Im Bericht stand eine Serie als **Film**, weil der Typ aus dem Umkehrschluss
|
||||
„keine Episode, also Film" abgeleitet wurde. Er kommt jetzt aus dem Item.
|
||||
|
||||
### Getestet
|
||||
|
||||
93 Tests (vorher 78). Neu: der Regelkatalog der Errungenschaften samt
|
||||
Stummschaltung, Entdopplung und Zeitzonenrechnung; die Auswahlliste samt
|
||||
Zusammenfassung, Fehlschlägen und Rechteprüfung.
|
||||
|
||||
Ein Test hat dabei einen Fehler gefunden, den man leicht übersieht: Die Regel
|
||||
„zwischen drei und fünf Uhr" las die Stunde aus der formatierten Zeichenkette,
|
||||
und auf Deutsch liefert das System dafür **„03 Uhr"** — als Zahl gelesen wird
|
||||
daraus nichts. Das Abzeichen wäre nie vergeben worden.
|
||||
|
||||
### Anleitung
|
||||
|
||||
`docs/ANLEITUNG.md` hat zwei neue Abschnitte: **Errungenschaften** mit
|
||||
Screenshot und **Titel, die Flimmer noch nicht kennt** im Jellyfin-Kapitel.
|
||||
Reference in New Issue
Block a user