`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>
Jellyfin-Attrappe
Ein Server, der so tut, als wäre er Jellyfin — gerade so viel, dass die App sich anmelden und stöbern kann. Gedacht fürs Ansehen der Oberfläche, nicht fürs Prüfen der Protokollschicht; dafür gibt es Tests mit aufgezeichneten Antworten.
python3 Tools/JellyfinStub/server.py
Dann in der App Mit Jellyfin anmelden → 127.0.0.1 eintragen. Quick
Connect bestätigt sich nach drei Abfragen von selbst, damit der Bildschirm mit
dem Code sichtbar wird und die Anmeldung trotzdem durchläuft.
Die Bilder sind einfarbige Flächen, deren Farbe aus der Kennung des Titels entsteht. Das ist Absicht: so lässt sich auf einen Blick erkennen, ob der Aufmacher tatsächlich weiterwandert und ob eine Kachel das Bild zeigt, das zu ihr gehört.
Abgespielt wird sample.mp4 — zehn Sekunden Farbverlauf, mit einem kleinen
Swift-Programm erzeugt. Der Server beantwortet Bereichsanfragen, weil der
Systemplayer eine Datei nie am Stück holt.
Was hereinkommt, steht unter http://127.0.0.1:8096/__reports: jede
Wiedergabemeldung mit ihrem Anfragekörper. Damit lässt sich prüfen, ob die App
den Beginn meldet, ob der Fortschritt in Ticks ankommt und ob am Ende
abgeräumt wird.
Mit --unanalysed melden die Quellen keine Spuren. Dann entscheidet die App
wie bei einem Server, der eine Datei noch nicht untersucht hat.
Kein echter Server wird dabei angefasst, und es gehen keine Zugangsdaten über die Leitung.