Mediatheken ohne bekannte Art verschwanden wortlos

`isSupported` war `movie || show`. Alles Übrige fiel heraus — auch eine
Mediathek mit gemischtem Inhalt, die Jellyfin ohne `CollectionType`
meldet. Wer Filme und Serien nicht getrennt hat, sah sie nirgends:
nicht in der Seitenleiste, nicht auf der Startseite, und nirgends eine
Meldung. Eine unbekannte Art ist kein Grund, etwas zu verschweigen.

Musik, Fotos und Live-TV bleiben draußen, und das aus jeweils eigenem
Grund — jetzt aufgezählt statt stillschweigend.

Die Attrappe blättert außerdem richtig: vorher kam immer alles auf
einmal und `TotalRecordCount` war die Länge der Antwort, womit eine App,
die richtig blättert, genauso aussah wie eine, die es gar nicht
versucht. Damit ist belegt, dass die Mediathek alle 252 Titel holt —
in fünf Seiten, bis StartIndex 240.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-09-20 11:10:38 +02:00
co-authored by Claude Opus 5
parent 682049b45a
commit 9c66727aca
3 changed files with 55 additions and 3 deletions
@@ -143,6 +143,10 @@ public struct JellyfinBackend: MediaBackend {
switch library.kind {
case .movie: items.append(URLQueryItem(name: "IncludeItemTypes", value: "Movie"))
case .show: items.append(URLQueryItem(name: "IncludeItemTypes", value: "Series"))
// Gemischter Inhalt: Filme **und** Serien, aber eben nur die. Ohne
// diese Angabe liefert `Recursive` auch jede einzelne Folge, und das
// Raster füllt sich mit Folge 3 von Staffel 2 statt mit Titeln.
case .other: items.append(URLQueryItem(name: "IncludeItemTypes", value: "Movie,Series"))
default: break
}
@@ -30,8 +30,22 @@ public struct MediaLibrary: Sendable, Equatable, Identifiable {
///
/// Musik und Fotos sind bewusst außen vor: sie bräuchten eigene Ansichten
/// und eigene Wiedergabe, und eine halbherzige Musikansicht ist schlechter
/// als gar keine.
public var isSupported: Bool { kind == .movie || kind == .show }
/// als gar keine. Live-TV hat einen eigenen Bildschirm und gehört nicht
/// noch einmal in die Mediathekenliste.
///
/// **`other` zählt dazu.** Hier stand vorher `movie || show`, und alles
/// Übrige fiel wortlos heraus — auch eine Mediathek mit gemischtem
/// Inhalt, die Jellyfin ohne `CollectionType` meldet. Wer Filme und
/// Serien nicht getrennt hat, sah sie nirgends: nicht in der
/// Seitenleiste, nicht auf der Startseite, nirgends eine Meldung. Eine
/// unbekannte Art ist kein Grund, etwas zu verschweigen — sie ist nur
/// ein Grund, nichts über den Inhalt anzunehmen.
public var isSupported: Bool {
switch kind {
case .movie, .show, .other: true
case .music, .photo, .liveTV: false
}
}
}
/// Eine Reihe auf der Startseite oder in den Suchergebnissen.