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
@@ -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.