Streaming-Verfügbarkeit beantwortet nur die halbe Frage: manche Filme laufen nirgends mehr, die hat man gekauft und liegen zu Hause — in Jellyfin, Plex, Emby, auf dem NAS oder als Scheibe. Bewusst getrennt vom Feld „wo schaue ich das": das eine sagt, wo ein Titel gerade läuft, und das ändert sich ständig; das andere sagt, was einem gehört, und das bleibt. Auf der Detailseite steht die Sammlung deshalb vor der Verfügbarkeit — was man hat, ist die verlässlichere Antwort. Durchgezogen bis in Filter, Export, CSV-Import und REST-API.
60 lines
3.0 KiB
Markdown
60 lines
3.0 KiB
Markdown
# Flimmer 0.7.0
|
|
|
|
„Hab ich" — Titel, die in der eigenen Sammlung liegen. Dazu die Nacharbeiten
|
|
aus der Abnahme: das Docker-Image wurde zum ersten Mal wirklich gebaut und
|
|
gestartet, und dabei kamen Fehler ans Licht, die nur der echte Containerstart
|
|
zeigt.
|
|
|
|
### Hinzugefügt
|
|
|
|
- **Eigene Sammlung**: Jeder Eintrag lässt sich als „hab ich" markieren, mit
|
|
Angabe wo — Jellyfin, Plex, Emby, NAS, Blu-ray, DVD oder frei getippt.
|
|
Bewusst getrennt vom Feld „wo schaue ich das": Streaming-Verfügbarkeit kommt
|
|
und geht, der gekaufte Film auf dem Heimserver bleibt. Gerade die Titel, die
|
|
nirgends mehr laufen, will man ja wiederfinden.
|
|
- Abzeichen auf der Posterkachel und im Kopf der Detailseite
|
|
- Auf der Detailseite steht die Sammlung **vor** der Streaming-Verfügbarkeit
|
|
— was man hat, ist die verlässlichere Antwort auf „wo kann ich das schauen"
|
|
- Eigener Filter in der Bibliothek samt Zähler
|
|
- In Export (CSV und JSON), CSV-Import und REST-API (`?sammlung=1` beim
|
|
Lesen, `owned` und `ownedSource` beim Ändern)
|
|
|
|
### Behoben
|
|
|
|
- **Der Container konnte seine Migrationen nicht einspielen.** Das Laufzeitimage
|
|
bekam die Prisma-CLI, indem einzelne Ordner aus `node_modules` kopiert wurden
|
|
— dabei fehlten transitive Abhängigkeiten von `@prisma/config` (`effect` und
|
|
weitere). Die CLI wird jetzt in einer eigenen Build-Stufe vollständig
|
|
installiert und liegt im Laufzeitimage unter `/node_modules`, wo sie den
|
|
getracten Abhängigkeitsbaum der Anwendung nicht stört.
|
|
|
|
- **Der Build hing im Container am Schriftabruf.** `next/font/google` lädt
|
|
Outfit beim Bauen von Google herunter — das macht den Build von einer
|
|
Netzverbindung abhängig und blieb im Container hängen. Die variable Fassung
|
|
liegt jetzt als Datei im Repository; weder beim Bauen noch zur Laufzeit geht
|
|
eine Anfrage nach außen. Für eine selbst gehostete Anwendung ist das ohnehin
|
|
das Richtige.
|
|
- **npm blockierte Prismas Install-Skripte** (Voreinstellung seit npm 11),
|
|
wodurch im Image die plattformpassende Engine fehlen konnte. Sie sind jetzt
|
|
gezielt für `prisma` und `@prisma/engines` erlaubt statt pauschal.
|
|
|
|
### Hinzugefügt
|
|
|
|
- **Erscheinungsmeldung für Watchlist-Filme.** Der Schalter dafür stand schon im
|
|
Profil, verschickt wurde bisher nichts. Betrachtet wird ein Zeitfenster der
|
|
letzten Tage statt eines Zustandswechsels — TMDB verschiebt Termine
|
|
gelegentlich, und ein einmal verpasstes Datum soll die Meldung nicht für
|
|
immer verhindern.
|
|
- **Gitea-Actions-Workflows**: `ci.yml` prüft bei jedem Push Typen, Tests und
|
|
Produktionsbuild gegen eine echte PostgreSQL-Instanz; `release.yml` legt beim
|
|
Pushen eines Versions-Tags das Release mit den Notizen aus
|
|
`releases/vX.Y.Z.md` an.
|
|
- Diagrammfarben und ihre Prüfwerte in `docs/DESIGN.md` festgehalten; das
|
|
öffentliche Profil in die Anleitung aufgenommen.
|
|
|
|
### Entfernt
|
|
|
|
- Die ungenutzte `images`-Konfiguration in `next.config.ts`. `next/image` kommt
|
|
nirgends zum Einsatz — damit entfällt auch das sicherheitsrelevant aussehende
|
|
`dangerouslyAllowSVG`, das ohnehin wirkungslos war.
|