Open fpeter8 opened 2 months ago
I just wanted to mention that this is still very much an issue, and on some shows a very annoying one, in the most current version of Jellyfin Android and Server 10.9.9. Specials seem to be treated as missing episodes so the 'Specials' season is showing for almost every show, and on some show seasons there are mixed-in random ""missing"" specials which makes it annoying to scroll through episodes.
the web client always sends the userId parameter; the TV client never does (in my testing)
In 10.9 this is no longer necessary
adding the userId parameter to the API calls sometimes fixes the issue (the server correctly filters these out from the response list)
This should not be possible, the API routes without an userId will behave exactly the same as the old routes with one. It infers the userId from the supplied access token.
Side note 1: During the exploratory rounds, I found this dependency in one of the Gradle files, and it seems suspiciously outdated: com.github.jellyfin.jellyfin-sdk-kotlin:android. Is this okay?
This is our old Java apiclient which is replaced with our new Kotlin SDK. I've been migrating all code for a few years now, and with 0.17 only a few parts of the old playback code use it. So it will be removed not that long from now.
Describe the bug
As a first step, I started with wireshark to see if the server or the client is supposed to filter these out. The web client do not receive missing episode information, while the TV client does. The API calls are also different for the same functionality in this client than in the web client. After reading the API documentation, comparing the two client's web traffic, and trying out modified calls to the API using
curl
, here are my findings:userId
parameter; the TV client never does (in my testing)userId
parameter to the API calls sometimes fixes the issue (the server correctly filters these out from the response list)isMissing=false
query parameter almost never works (I don't know if this is intended or not, might be a server bug)excludeItemTypes=Virtual
query parameter always works, but this would require client awareness of this setting, while the other clients rely exclusively on the server for this functionality.There are also several cases, where the main list has this filter applied, but the aggregated response fields do not. For example, during the Items query for the episodes of a season, I got only existing episodes, but the
ChildCount
was wrong for this list; it included the missing episodes as well.Side note 1: During the exploratory rounds, I found this dependency in one of the Gradle files, and it seems suspiciously outdated:
com.github.jellyfin.jellyfin-sdk-kotlin:android
. Is this okay? Side note 2: I have never worked on a Gradle or an Android project, so please bear with me.Logs
No response
Application version
0.16+
Where did you install the app from?
Google Play
Device information
Nvidia Shield TV Pro
Android version
Android 11?
Jellyfin server version
10.9.7