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.
3.0 KiB
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=1beim Lesen,ownedundownedSourcebeim Ändern)
Behoben
-
Der Container konnte seine Migrationen nicht einspielen. Das Laufzeitimage bekam die Prisma-CLI, indem einzelne Ordner aus
node_moduleskopiert wurden — dabei fehlten transitive Abhängigkeiten von@prisma/config(effectund 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/googlelä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
prismaund@prisma/engineserlaubt 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.ymlprüft bei jedem Push Typen, Tests und Produktionsbuild gegen eine echte PostgreSQL-Instanz;release.ymllegt beim Pushen eines Versions-Tags das Release mit den Notizen ausreleases/vX.Y.Z.mdan. - Diagrammfarben und ihre Prüfwerte in
docs/DESIGN.mdfestgehalten; das öffentliche Profil in die Anleitung aufgenommen.
Entfernt
- Die ungenutzte
images-Konfiguration innext.config.ts.next/imagekommt nirgends zum Einsatz — damit entfällt auch das sicherheitsrelevant aussehendedangerouslyAllowSVG, das ohnehin wirkungslos war.