Closed jechton closed 7 months ago
The JellfyingATV client isn't compatible with the current 10.9 build. You'll need to use the stable branch (10.8.z) until the app supports it.
I will start work on 10.9 support once the first alpha/beta/rc/whatever is released. Closing as wontfix for now.
Describe the bug
Open Jellyfin, no local servers discovered. Enter IP. Use Quick Connect to log in, works correctly. as soon as logged in, client crashes. On subsequent openings, client crashes.
Logs
Stack Trace: org.jellyfin.sdk.api.client.exception.InvalidStatusException: Invalid HTTP status in response: 500 at org.jellyfin.sdk.api.client.KtorClient.request$suspendImpl(KtorClient.kt:109) at org.jellyfin.sdk.api.client.KtorClient$request$1.invokeSuspend(Unknown Source:19) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7839) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@5e3419, Dispatchers.Main.immediate]
Logcat:
01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:115) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:103) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697) 01-31 20:18:45.920 E/LeanbackChannelWorker(18071): at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684) 01-31 20:18:45.926 I/WM-WorkerWrapper(18071): Worker result RETRY for Work [ id=75131f31-ed3e-4240-b570-d6e3020b6cec, tags={ org.jellyfin.androidtv.integration.LeanbackChannelWorker } ]
01-31 20:18:45.943 D/ACRA (18071): onActivityPaused class org.jellyfin.androidtv.ui.startup.StartupActivity 01-31 20:18:45.964 I/ActivityThemeExtensionsKt(18071): Applying theme DARK 01-31 20:18:45.966 D/ACRA (18071): onActivityCreated class org.jellyfin.androidtv.ui.browsing.MainActivity 01-31 20:18:45.988 D/ACRA (18071): onActivityStarted class org.jellyfin.androidtv.ui.browsing.MainActivity 01-31 20:18:45.990 D/ACRA (18071): onActivityResumed class org.jellyfin.androidtv.ui.browsing.MainActivity 01-31 20:18:46.052 D/Compose Focus(18071): Owner FocusChanged(true) 01-31 20:18:46.197 I/HomeRowsFragment(18071): Updating audio queue in HomeFragment (onQueueStatusChanged) 01-31 20:18:46.200 I/org.jellyfin.sdk.api.client.KtorClient(18071): GET http://192.168.1.187:8096/LiveTv/Programs/Recommended?userId=7ebceb6f-2911-44e1-af41-40e8a41dd4b6&limit=1&isAiring=true&imageTypeLimit=1&enableTotalRecordCount=false 01-31 20:18:46.204 D/Compose Focus(18071): Owner FocusChanged(false) 01-31 20:18:46.272 D/Compose Focus(18071): Owner FocusChanged(true) 01-31 20:18:46.278 D/Compose Focus(18071): Owner FocusChanged(false) 01-31 20:18:46.280 I/HomeRowsFragment(18071): Updating audio queue in HomeFragment (onResume) 01-31 20:18:46.611 D/ACRA (18071): onActivityStopped class org.jellyfin.androidtv.ui.startup.StartupActivity 01-31 20:18:46.626 D/ACRA (18071): onActivityDestroyed class org.jellyfin.androidtv.ui.startup.StartupActivity 01-31 20:18:46.627 D/Compose Focus(18071): Owner FocusChanged(false) 01-31 20:18:46.627 D/Compose Focus(18071): Owner FocusChanged(true) 01-31 20:18:46.628 D/Compose Focus(18071): Owner FocusChanged(false) 01-31 20:18:46.650 D/jellyfin-apiclient(18071): Adding request to queue: http://192.168.1.187:8096/Users/7ebceb6f-2911-44e1-af41-40e8a41dd4b6/Views?format=json 01-31 20:18:46.681 I/org.jellyfin.sdk.api.client.KtorClient(18071): GET http://192.168.1.187:8096/Users/7ebceb6f-2911-44e1-af41-40e8a41dd4b6/Items/Resume?limit=50&fields=PrimaryImageAspectRatio&fields=Overview&fields=ItemCounts&fields=DisplayPreferencesId&fields=ChildCount&mediaTypes=Video&imageTypeLimit=1&enableTotalRecordCount=false&enableImages=true&excludeActiveSessions=false 01-31 20:18:46.712 I/org.jellyfin.sdk.api.client.KtorClient(18071): GET http://192.168.1.187:8096/Users/7ebceb6f-2911-44e1-af41-40e8a41dd4b6/Items/Resume?limit=50&fields=PrimaryImageAspectRatio&fields=Overview&fields=ItemCounts&fields=DisplayPreferencesId&fields=ChildCount&mediaTypes=Audio&imageTypeLimit=1&enableTotalRecordCount=false&enableImages=true&excludeActiveSessions=false 01-31 20:18:46.728 D/jellyfin-apiclient(18071): Adding request to queue: http://192.168.1.187:8096/Shows/NextUp?Fields=PrimaryImageAspectRatio%2COverview%2CChildCount&UserId=7ebceb6f-2911-44e1-af41-40e8a41dd4b6&Limit=50&ImageTypeLimit=1&format=json 01-31 20:18:46.734 I/org.jellyfin.sdk.api.client.KtorClient(18071): GET http://192.168.1.187:8096/Users/7ebceb6f-2911-44e1-af41-40e8a41dd4b6/Views?includeHidden=false 01-31 20:18:46.902 D/jellyfin-apiclient(18071): Adding request to queue: http://192.168.1.187:8096/Users/7ebceb6f-2911-44e1-af41-40e8a41dd4b6/Items/Latest?ParentId=9d7ad6af-e9af-a2da-b1a2-f6e00ad28fa6&Fields=PrimaryImageAspectRatio%2COverview%2CChildCount%2CSeriesPrimaryImage&Limit=50&GroupItems=true&format=json 01-31 20:18:46.905 D/jellyfin-apiclient(18071): Adding request to queue: http://192.168.1.187:8096/Users/7ebceb6f-2911-44e1-af41-40e8a41dd4b6/Items/Latest?ParentId=f137a2dd-21bb-c1b9-9aa5-c0f6bf02a805&Fields=PrimaryImageAspectRatio%2COverview%2CChildCount%2CSeriesPrimaryImage&Limit=50&GroupItems=true&format=json 01-31 20:18:46.908 D/jellyfin-apiclient(18071): Adding request to queue: http://192.168.1.187:8096/Users/7ebceb6f-2911-44e1-af41-40e8a41dd4b6/Items/Latest?ParentId=a656b907-eb3a-7353-2e40-e44b968d0225&Fields=PrimaryImageAspectRatio%2COverview%2CChildCount%2CSeriesPrimaryImage&Limit=50&GroupItems=true&format=json
01-31 20:18:46.982 E/Volley (18071): [36669] NetworkUtility.shouldRetryException: Unexpected response code 500 for http://192.168.1.187:8096/Users/7ebceb6f-2911-44e1-af41-40e8a41dd4b6/Items/Latest?ParentId=f137a2dd-21bb-c1b9-9aa5-c0f6bf02a805&Fields=PrimaryImageAspectRatio%2COverview%2CChildCount%2CSeriesPrimaryImage&Limit=50&GroupItems=true&format=json 01-31 20:18:47.026 D/ItemRowAdapterHelperKt(18071): Creating items from 0 existing and 0 new, adapter size is 0 01-31 20:18:47.034 E/ACRA (18071): ACRA caught a InvalidStatusException for org.jellyfin.androidtv 01-31 20:18:47.034 E/ACRA (18071): org.jellyfin.sdk.api.client.exception.InvalidStatusException: Invalid HTTP status in response: 500 01-31 20:18:47.034 E/ACRA (18071): at org.jellyfin.sdk.api.client.KtorClient.request$suspendImpl(KtorClient.kt:109) 01-31 20:18:47.034 E/ACRA (18071): at org.jellyfin.sdk.api.client.KtorClient$request$1.invokeSuspend(Unknown Source:19) 01-31 20:18:47.034 E/ACRA (18071): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) 01-31 20:18:47.034 E/ACRA (18071): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) 01-31 20:18:47.034 E/ACRA (18071): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) 01-31 20:18:47.034 E/ACRA (18071): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun.resumeRootWith(SuspendFunctionGun.kt:191) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun.loop(SuspendFunctionGun.kt:147) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun.access$loop(SuspendFunctionGun.kt:15) 01-31 20:18:47.034 E/ACRA (18071): at io.ktor.util.pipeline.SuspendFunctionGun$continuation$1.resumeWith(SuspendFunctionGun.kt:93) 01-31 20:18:47.034 E/ACRA (18071): at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:46) 01-31 20:18:47.034 E/ACRA (18071): at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) 01-31 20:18:47.034 E/ACRA (18071): at android.os.Handler.handleCallback(Handler.java:938) 01-31 20:18:47.034 E/ACRA (18071): at android.os.Handler.dispatchMessage(Handler.java:99) 01-31 20:18:47.034 E/ACRA (18071): at android.os.Looper.loopOnce(Looper.java:201) 01-31 20:18:47.034 E/ACRA (18071): at android.os.Looper.loop(Looper.java:288)
01-31 20:18:47.034 E/ACRA (18071): at android.app.ActivityThread.main(ActivityThread.java:7839) 01-31 20:18:47.034 E/ACRA (18071): at java.lang.reflect.Method.invoke(Native Method) 01-31 20:18:47.034 E/ACRA (18071): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) 01-31 20:18:47.034 E/ACRA (18071): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) 01-31 20:18:47.034 E/ACRA (18071): Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@5e3419, Dispatchers.Main.immediate] 01-31 20:18:47.035 D/ACRA (18071): Building report 01-31 20:18:47.035 D/ACRA (18071): Starting collectors with priority FIRST 01-31 20:18:47.036 D/ACRA (18071): Calling collector org.acra.collector.LogCatCollector 01-31 20:18:47.037 D/ACRA (18071): Calling collector org.acra.collector.DropBoxCollector 01-31 20:18:47.037 D/ACRA (18071): Collector org.acra.collector.DropBoxCollector completed 01-31 20:18:47.038 D/ACRA (18071): Calling collector org.acra.collector.StacktraceCollector 01-31 20:18:47.040 D/ACRA (18071): Collector org.acra.collector.StacktraceCollector completed 01-31 20:18:47.043 D/ACRA (18071): Retrieving logcat output (buffer:default)...
Application version
0.16.4
Where did you install the app from?
Google Play
Device information
Chromecast HD
Android version
Android 12
Jellyfin server version
10.9.0