feat: reconnect disconnected WS when app goes into foreground
Signed-off-by: Infi <infi@infi.sh>
This commit is contained in:
parent
05265476d1
commit
765ce2b3fa
|
|
@ -54,7 +54,9 @@ import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.core.app.NotificationManagerCompat
|
import androidx.core.app.NotificationManagerCompat
|
||||||
import androidx.hilt.navigation.compose.hiltViewModel
|
import androidx.hilt.navigation.compose.hiltViewModel
|
||||||
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
|
import androidx.lifecycle.compose.LifecycleEventEffect
|
||||||
import androidx.lifecycle.viewModelScope
|
import androidx.lifecycle.viewModelScope
|
||||||
import androidx.navigation.NavController
|
import androidx.navigation.NavController
|
||||||
import chat.revolt.BuildConfig
|
import chat.revolt.BuildConfig
|
||||||
|
|
@ -307,6 +309,13 @@ fun ChatRouterScreen(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LifecycleEventEffect(Lifecycle.Event.ON_RESUME) {
|
||||||
|
if (RealtimeSocket.disconnectionState == DisconnectionState.Disconnected) {
|
||||||
|
RealtimeSocket.updateDisconnectionState(DisconnectionState.Reconnecting)
|
||||||
|
scope.launch { RevoltAPI.connectWS() }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
LaunchedEffect(drawerState) {
|
LaunchedEffect(drawerState) {
|
||||||
snapshotFlow { drawerState.currentValue }
|
snapshotFlow { drawerState.currentValue }
|
||||||
.distinctUntilChanged()
|
.distinctUntilChanged()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue