diff --git a/Realtime/src/commonMain/kotlin/io/github/jan/supabase/realtime/RealtimeImpl.kt b/Realtime/src/commonMain/kotlin/io/github/jan/supabase/realtime/RealtimeImpl.kt index a638d7922..b44bdadbc 100644 --- a/Realtime/src/commonMain/kotlin/io/github/jan/supabase/realtime/RealtimeImpl.kt +++ b/Realtime/src/commonMain/kotlin/io/github/jan/supabase/realtime/RealtimeImpl.kt @@ -70,23 +70,6 @@ internal class RealtimeImpl(override val supabaseClient: SupabaseClient, overrid if (reconnect) { delay(config.reconnectDelay) Realtime.logger.d { "Reconnecting..." } - } else { - scope.launch { - supabaseClient.pluginManager.getPluginOrNull(Auth)?.sessionStatus?.collect { - if(status.value == Realtime.Status.CONNECTED) { - when(it) { - is SessionStatus.Authenticated -> updateJwt(it.session.accessToken) - is SessionStatus.NotAuthenticated -> { - if(config.disconnectOnSessionLoss) { - Realtime.logger.w { "No auth session found, disconnecting from realtime websocket"} - disconnect() - } - } - else -> {} - } - } - } - } } if (status.value == Realtime.Status.CONNECTED) return _status.value = Realtime.Status.CONNECTING @@ -105,8 +88,29 @@ internal class RealtimeImpl(override val supabaseClient: SupabaseClient, overrid Error while trying to connect to realtime websocket. Trying again in ${config.reconnectDelay} URL: $realtimeUrl """.trimIndent() } - disconnect() - connect(true) + scope.launch { + disconnect() + connect(true) + } + } + } + + override fun init() { + scope.launch { + supabaseClient.pluginManager.getPluginOrNull(Auth)?.sessionStatus?.collect { + if(status.value == Realtime.Status.CONNECTED) { + when(it) { + is SessionStatus.Authenticated -> updateJwt(it.session.accessToken) + is SessionStatus.NotAuthenticated -> { + if(config.disconnectOnSessionLoss) { + Realtime.logger.w { "No auth session found, disconnecting from realtime websocket"} + disconnect() + } + } + else -> {} + } + } + } } } diff --git a/gradle.properties b/gradle.properties index f93157e33..f8d7f0c36 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,4 +10,4 @@ kotlin.experimental.tryK2=false org.jetbrains.compose.experimental.uikit.enabled=true org.jetbrains.compose.experimental.jscanvas.enabled=true -supabase-version = 2.2.0 +supabase-version = 2.2.1