From 682049b45a2ca7b668dbb261508df36f99d2c4e8 Mon Sep 17 00:00:00 2001 From: Scarriffle Date: Sun, 20 Sep 2026 11:10:38 +0200 Subject: [PATCH] Staffeln ohne eigenes Plakat blieben grau MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Die Bildadresse entstand aus der Kennung, nicht aus einer Antwort des Servers: jeder Titel ohne eigenes Plakat trug eine Adresse, die mit „nicht gefunden" antwortet. Und weil ein 404 zu Recht nicht wiederholt wird, blieb die Kachel für immer grau. Betroffen waren vor allem Staffeln — die haben bei Jellyfin oft kein eigenes Bild, sondern leihen das der Serie. Genau diesen Rückfall gab es nur für Folgen, nicht für Staffeln. Beides behoben: kein Bild, keine Adresse — und eine Staffel darf sich nehmen, was die Serie hat. Dieselbe Vorsicht stand eine Zeile tiefer schon beim Hintergrundbild. Co-Authored-By: Claude Opus 5 --- Flixy/Views/Home/MediaRow.swift | 7 +++++++ .../Sources/JellyfinKit/JellyfinItem+Media.swift | 12 +++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Flixy/Views/Home/MediaRow.swift b/Flixy/Views/Home/MediaRow.swift index 013f80e..6ba7684 100644 --- a/Flixy/Views/Home/MediaRow.swift +++ b/Flixy/Views/Home/MediaRow.swift @@ -107,6 +107,10 @@ extension MediaItem { var rowArtworkPath: String? { switch kind { case .episode: thumb ?? seriesThumb + // Eine Staffel hat bei Jellyfin oft gar kein eigenes Bild — sie leiht + // sich das der Serie. Ohne diesen Rückfall blieb „Nachtstreife, + // Staffel 7" eine graue Fläche, obwohl die Serie ein Plakat hat. + case .season: art ?? thumb ?? seriesArt ?? seriesThumb default: art ?? thumb } } @@ -119,6 +123,9 @@ extension MediaItem { var posterArtworkPath: String? { switch kind { case .episode: seriesThumb ?? parentThumb ?? thumb + // Das eigene Staffelplakat zuerst: es zeigt die Staffel. Gibt es + // keines, ist das der Serie allemal besser als nichts. + case .season: thumb ?? seriesThumb default: thumb } } diff --git a/Packages/FlixyKit/Sources/JellyfinKit/JellyfinItem+Media.swift b/Packages/FlixyKit/Sources/JellyfinKit/JellyfinItem+Media.swift index 04a216e..1ccd7b2 100644 --- a/Packages/FlixyKit/Sources/JellyfinKit/JellyfinItem+Media.swift +++ b/Packages/FlixyKit/Sources/JellyfinKit/JellyfinItem+Media.swift @@ -20,7 +20,17 @@ extension JellyfinItem { // Jellyfin führt beide auf einer Zehnerskala, wie Plex auch. rating: criticRating.map { $0 / 10 } ?? communityRating, audienceRating: communityRating, - thumb: imageBase.primary(itemID: id, tag: imageTags?["Primary"]), + // **Nur wenn es auch eines gibt** — dieselbe Vorsicht wie eine + // Zeile tiefer beim Hintergrundbild, die hier gefehlt hat. + // + // Die Adresse entsteht aus der Kennung, nicht aus einer Antwort + // des Servers. Ohne die Prüfung trug jeder Titel ohne eigenes + // Plakat eine Adresse, die mit „nicht gefunden" antwortet — und + // weil ein 404 zu Recht nicht wiederholt wird, blieb die Kachel + // für immer grau. Betroffen waren vor allem Staffeln: die haben + // bei Jellyfin oft kein eigenes Bild, sondern leihen das der + // Serie. Ist hier nichts, darf die Kachel genau das tun. + thumb: imageTags?["Primary"].map { imageBase.primary(itemID: id, tag: $0) }, // Nur wenn es auch eines gibt: die Adresse entsteht aus der // Kennung, nicht aus einer Antwort des Servers — ohne diese // Prüfung stünde hinter jedem Titel ohne Hintergrundbild eine