Cannot login with Jellyfin from Symfonium

Issue description:

I’m trying to log in from Symfonium through my jellyfin instance, but the app receives a 401 status code with the correct credentials. Logging in through other clients works flawlessly.

It used to work fine some months ago.

Logs:

Upload description: Lexedia’s log file, using https://jf.lexedia.moe

Additional information:

 

 

Reproduction steps:

 

 

Media provider:

Jellyfin

Screenshots:

 

    

Check Jellyfin logs or your proxy logs, I can’t tell more than what’s in the logs and the server returning 401.

Well, the weird thing is that jellyfin seems to accept the authentication request and successfully sends an access token

jellyfin_server_1     | [12:16:21] [INF] [11] Jellyfin.Api.Auth.CustomAuthenticationHandler: AuthenticationScheme: CustomAuthentication was challenged.
jellyfin_server_1     | [12:16:22] [INF] [13] Jellyfin.Server.Implementations.Users.UserManager: Authentication request for Rapougnac has succeeded.
jellyfin_server_1     | [12:16:22] [INF] [13] Emby.Server.Implementations.Session.SessionManager: Current/Max sessions for user Rapougnac: 1/0
jellyfin_server_1     | [12:16:22] [INF] [13] Emby.Server.Implementations.Session.SessionManager: Logging out access token <token>
jellyfin_server_1     | [12:16:22] [INF] [13] Emby.Server.Implementations.Session.SessionManager: Creating new access token for user <token>

Can it be cloudflare blocking ? Or something on the proxy?

Doesn’t seem so, I also tried using the local IP and i get the same behaviour.
The thing I can think of is maybe Symfonium is aborting the request early while it’s still processing.

I will try to dig deeper to see what’s really happening.

Do you use a beta version of Jellyfin ?

I don’t, currently using the 10.10.7 version.
However, when retrying, now i have some more verbose logs

2025-07-01 17:50:21.383 Verbose/JellyfinLogger: Caching https://jf.lexedia.moe:443/System/Info as https://jf.lexedia.moe/System/Info
2025-07-01 17:50:21.384 Verbose/JellyfinLogger: --> [901] GET https://jf.lexedia.moe/System/Info
2025-07-01 17:50:21.384 Verbose/JellyfinLogger: --> [901] END GET
2025-07-01 17:50:21.558 Verbose/JellyfinLogger: <-- [901] 401 https://jf.lexedia.moe/System/Info (173ms, 0-byte body)
2025-07-01 17:50:21.559 Verbose/JellyfinLogger: <-- [901] END HTTP (173ms, 0-byte body)
2025-07-01 17:50:21.560 Verbose/JellyfinLogger: Caching https://jf.lexedia.moe:443/Users/AuthenticateByName as https://jf.lexedia.moe/Users/AuthenticateByName
2025-07-01 17:50:32.502 Verbose/QueryBuilder: Query: COUNT on download_items, count=0 | (download_items.status=0) - '' [2.08ms]
2025-07-01 17:50:45.998 Verbose/StateManager: New state (false): false-false-false 
2025-07-01 17:50:45.999 Verbose/MediaProviderManager: Scheduling providers: false / false / false
2025-07-01 17:51:21.641 Error/JellyfinLogger: Error during auth
java.net.SocketTimeoutException: timeout
	at y20.v.k(Unknown Source:11)
	at y20.p.d(Unknown Source:64)
	at b0.u.c(Unknown Source:4)
	at w20.b.a(Unknown Source:206)
	at w20.g.b(Unknown Source:122)
	at v20.b.a(Unknown Source:105)
	at w20.g.b(Unknown Source:122)
	at t20.a.a(Unknown Source:114)
	at w20.g.b(Unknown Source:122)
	at w20.a.a(Unknown Source:132)
	at w20.g.b(Unknown Source:122)
	at w20.i.a(Unknown Source:192)
	at w20.g.b(Unknown Source:122)
	at id.a.a(Unknown Source:245)
	at w20.g.b(Unknown Source:122)
	at v20.m.g(Unknown Source:82)
	at v20.m.e(Unknown Source:45)
	at se.a.j(Unknown Source:119)
	at be.a.a(Unknown Source:239)
	at w20.g.b(Unknown Source:122)
	at id.a.a(Unknown Source:18)
	at w20.g.b(Unknown Source:122)
	at v20.m.g(Unknown Source:82)
	at v20.j.run(Unknown Source:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:929)

2025-07-01 17:52:32.981 Verbose/StateManager: New state (true): true-false-false 
2025-07-01 17:52:32.982 Verbose/MediaProviderManager: Scheduling providers: true / false / true
2025-07-01 17:52:33.033 Verbose/QueryBuilder: Query: COUNT on download_items, count=0 | (download_items.status=0) - '' [7.50ms]
2025-07-01 17:52:34.103 Verbose/QueryBuilder: Query: COUNT on download_items, count=0 | (download_items.status=0) - '' [1.74ms]
2025-07-01 17:52:48.006 Error/jellyfin.add.client.info: IOException
javax.net.ssl.SSLHandshakeException: Handshake failed
	at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:288)
	at v20.d.j(Unknown Source:31)
	at v20.d.f(Unknown Source:141)
	at l5.j.a(Unknown Source:134)
	at v20.b.a(Unknown Source:18)
	at w20.g.b(Unknown Source:122)
	at t20.a.a(Unknown Source:114)
	at w20.g.b(Unknown Source:122)
	at w20.a.a(Unknown Source:132)
	at w20.g.b(Unknown Source:122)
	at w20.i.a(Unknown Source:192)
	at w20.g.b(Unknown Source:122)
	at rs.c.a(Unknown Source:641)
	at w20.g.b(Unknown Source:122)
	at id.a.a(Unknown Source:18)
	at w20.g.b(Unknown Source:122)
	at v20.m.g(Unknown Source:82)
	at v20.m.e(Unknown Source:45)
	at p8.e.c(Unknown Source:743)
	at xe.a.r(Unknown Source:147)
	at l00.a.d(Unknown Source:5)
	at l10.f0.run(Unknown Source:106)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:929)
Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x77e9bd9588: Failure in SSL library, usually a protocol error
error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER (external/boringssl/src/ssl/tls_record.cc:242 0x7881d16e6b:0x00000000)
	at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
	at com.android.org.conscrypt.NativeSsl.doHandshake(NativeSsl.java:387)
	at com.android.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(ConscryptFileDescriptorSocket.java:226)
	... 24 more

2025-07-01 17:52:48.044 Verbose/jellyfin.add.client.info: Test url http://192.168.1.10:8096/system/ping [0]: 200
2025-07-01 17:52:48.060 Error/NetworkUtils: Error mac read, /proc/net/arp: open failed: EACCES (Permission denied)
2025-07-01 17:52:48.061 Error/NetworkUtils: Error mac not found for: 192.168.1.10
2025-07-01 17:52:48.073 Verbose/JellyfinLogger: Caching http://192.168.1.10:8096/System/Info as http://192.168.1.10:8096/System/Info
2025-07-01 17:52:48.074 Verbose/JellyfinLogger: --> [838] GET http://192.168.1.10:8096/System/Info
2025-07-01 17:52:48.075 Verbose/JellyfinLogger: --> [838] END GET
2025-07-01 17:52:48.100 Verbose/JellyfinLogger: <-- [838] 401 Unauthorized http://192.168.1.10:8096/System/Info (23ms, 0-byte body)
2025-07-01 17:52:48.102 Verbose/JellyfinLogger: <-- [838] END HTTP (23ms, 0-byte body)
2025-07-01 17:52:48.103 Verbose/JellyfinLogger: Caching http://192.168.1.10:8096/Users/AuthenticateByName as http://192.168.1.10:8096/Users/AuthenticateByName
2025-07-01 17:52:59.203 Verbose/QueryBuilder: Query: COUNT on download_items, count=0 | (download_items.status=0) - '' [7.03ms]
2025-07-01 17:53:00.892 Verbose/StateManager: New state (false): false-false-false 
2025-07-01 17:53:00.892 Verbose/MediaProviderManager: Scheduling providers: false / false / false

I really don’t know how this is happening, tho, especially since JF sends no error whatsoever.

In that extract that is better the auth call timeout, are you sure there’s no issue with your proxy or some security that triggers with cloudflare ?

Okay, this is rather embarrassing, but apparently my firewall config got reset and so did WireGuard.
I didn’t really notice since “everything was kinda working” until I received this error from Symfonium.

So no issues from your side, I’m just really dumb, thank you for your time though, appreciate it.