I’m running into an issue when connecting to a Jellyfin server with Infuse, related to session limits.
When a user has a maximum number of sessions configured on the Jellyfin server, trying to log in through Infuse leads to incorrect behavior:
The app takes a long time to attempt the connection.
Then it returns an error saying the username or password is incorrect.
However, this is misleading. The credentials are valid, the actual issue is that the maximum number of sessions has been reached (“session limit exceeded” on the server side, I reproduced the error easily with a Docker container).
Additionally, even after successfully logging in, the session may suddenly stop working later on. When that happens, Infuse is no longer able to connect to the server, without any clear explanation or recovery option.
From what I can tell:
Jellyfin does return a proper error indicating a session limit issue (from what I see on the response from the web-ui)
But Infuse seems to interpret it as an authentication failure.
This leads to a confusing user experience, as it suggests invalid credentials instead of a session-related limitation.
At the moment, I haven’t found any workaround, short of manually clearing sessions on the server side.
Could you please look into handling this specific case differently, and possibly surface a more accurate error message?
(Also, they’re clearly missing a quick code connection option.)
When the session limit is reached, Jellyfin responds with a 401 error which is the same thing you get when an invalid user/password are entered - so it’s hard to distinguish between these.
Jellyfin access limits behave differently than both Emby and Plex, which have access limits that apply to video playback connections. The access limits in Jellyfin apply to all connections, so if you have these enabled you may run into these issues when attempting to browse Jellyfin from 2 devices at once.
And that need to be verified (I just pull and build the last version for now) but there also an error message into the body that can be used to tell user what wrong.
And from what I see in the source code (In not a .Net expert, but I know how to read a code)
Jellyfin use The Emby Server implementation for the session manager.
Don’t know if is this is the real implementation from Emby or if Jellyfin use the same interface, and they implement their own.
But from what I this now jellyfin just use a middleware to catch error ArgumentException => StatusCodes.Status400BadRequest, AuthenticationException => StatusCodes.Status401Unauthorized, SecurityException => StatusCodes.Status403Forbidden, DirectoryNotFoundException => StatusCodes.Status404NotFound, FileNotFoundException => StatusCodes.Status404NotFound, ResourceNotFoundException => StatusCodes.Status404NotFound, MethodNotAllowedException => StatusCodes.Status405MethodNotAllowed,
Like I said I’m not an expert, I’m a better PHP expert.
But if Jellyfin need to be a bit adapted to work better with Infuse I can try something’s.