diff --git a/composeApp/src/commonMain/kotlin/dev/krtirtho/spotube/modules/plugin/PluginScreen.kt b/composeApp/src/commonMain/kotlin/dev/krtirtho/spotube/modules/plugin/PluginScreen.kt index f01f5266..6f0029a9 100644 --- a/composeApp/src/commonMain/kotlin/dev/krtirtho/spotube/modules/plugin/PluginScreen.kt +++ b/composeApp/src/commonMain/kotlin/dev/krtirtho/spotube/modules/plugin/PluginScreen.kt @@ -676,16 +676,20 @@ fun PluginScreen( val service = selectedService ?: return@LaunchedEffect + try { + service.use { + val pluginRequiresAuth = + coreAPI.requiresAuthentication + requiresAuth = pluginRequiresAuth + if (!pluginRequiresAuth) return@use - service.use { - val pluginRequiresAuth = - coreAPI.requiresAuthentication - requiresAuth = pluginRequiresAuth - if (!pluginRequiresAuth) return@use - - coreAPI.loggedInFlow.collect { loggedIn -> - isLoggedIn = loggedIn + coreAPI.loggedInFlow.collect { loggedIn -> + isLoggedIn = loggedIn + } } + } catch (_: Exception) { + // Service may have been stopped/closed + // concurrently when the plugin selection changed } }