Fix: ensure the effect is restarted on each sync update.

This commit is contained in:
Benoit Marty 2024-01-30 10:19:53 +01:00
parent aefad3faa1
commit a22653d7da

View file

@ -155,7 +155,7 @@ class MessagesPresenter @AssistedInject constructor(
mutableStateOf(false) mutableStateOf(false)
} }
LaunchedEffect(syncUpdateFlow) { LaunchedEffect(syncUpdateFlow.value) {
withContext(dispatchers.io) { withContext(dispatchers.io) {
canJoinCall = room.canUserJoinCall(room.sessionId).getOrDefault(false) canJoinCall = room.canUserJoinCall(room.sessionId).getOrDefault(false)
} }
@ -163,7 +163,7 @@ class MessagesPresenter @AssistedInject constructor(
val inviteProgress = remember { mutableStateOf<AsyncData<Unit>>(AsyncData.Uninitialized) } val inviteProgress = remember { mutableStateOf<AsyncData<Unit>>(AsyncData.Uninitialized) }
var showReinvitePrompt by remember { mutableStateOf(false) } var showReinvitePrompt by remember { mutableStateOf(false) }
LaunchedEffect(hasDismissedInviteDialog, composerState.hasFocus, syncUpdateFlow) { LaunchedEffect(hasDismissedInviteDialog, composerState.hasFocus, syncUpdateFlow.value) {
withContext(dispatchers.io) { withContext(dispatchers.io) {
showReinvitePrompt = !hasDismissedInviteDialog && composerState.hasFocus && room.isDirect && room.activeMemberCount == 1L showReinvitePrompt = !hasDismissedInviteDialog && composerState.hasFocus && room.isDirect && room.activeMemberCount == 1L
} }