34 lines
1.7 KiB
Markdown
34 lines
1.7 KiB
Markdown
# Flimmer 0.2.0
|
|
|
|
Metadaten: Flimmer spricht mit TMDB.
|
|
|
|
### Hinzugefügt
|
|
|
|
- **TMDB-Anbindung** für Suche (gemeinsam über Serien und Filme oder getrennt),
|
|
Detailabruf, Staffeln und Episoden, offizielle Collections sowie die
|
|
Streaming-Verfügbarkeit in der eingestellten Region. Zugang wahlweise über
|
|
den klassischen API-Schlüssel oder das Bearer-Token.
|
|
- **Gemeinsamer Katalog**: Titel werden über (Typ, TMDB-ID) dedupliziert — bei
|
|
mehreren Nutzern liegt jede Serie samt Episodenliste nur einmal in der
|
|
Datenbank. `ensureTitle` holt einen Titel nur, wenn er fehlt oder veraltet ist,
|
|
und fällt bei einem TMDB-Ausfall auf den lokalen Stand zurück.
|
|
- **Bild-Cache**: Poster und Hintergrundbilder werden einmal geholt und danach
|
|
über `/api/image` vom eigenen Server ausgeliefert. Größe und Pfad werden
|
|
streng geprüft, damit der Endpunkt kein offener Proxy wird.
|
|
- **Suchseite** mit Typfilter; die Anfrage steht in der URL und ist damit
|
|
teilbar. Getippte Eingaben werden kurz gesammelt, bevor gesucht wird.
|
|
- **Detailseite** je Titel mit Backdrop, Kopfdaten, Genres, Streamingdiensten
|
|
(mit den Akzentfarben der großen Anbieter) und aufklappbaren Staffeln samt
|
|
Episodenliste.
|
|
- **Testlauf ohne Schlüssel**: nachgebildete TMDB-Antworten unter `tests/` und
|
|
`npm test` prüfen den kompletten Importpfad gegen eine echte Datenbank.
|
|
|
|
### Behoben
|
|
|
|
- `importSeries` gab den Titel zurück, bevor Staffel- und Episodenzähler
|
|
geschrieben waren — die Zähler standen dadurch auf 0.
|
|
- Poster und Dienstlogos zeigten das kaputte Bildsymbol des Browsers, wenn ein
|
|
TMDB-Pfad ins Leere lief. Die Rückfalldarstellung liegt jetzt dauerhaft
|
|
darunter statt an einem `onError`-Handler zu hängen, der bei einem früh
|
|
gescheiterten Bild gar nicht mehr feuert.
|