fix (identity change) : ensure we can configure to observe RoomMemberIdentityStateChange in non encrypted room if needed

This commit is contained in:
ganfra 2025-06-04 22:27:40 +02:00
parent 0ded7f7f34
commit df5e4062ec
6 changed files with 437 additions and 45 deletions

View file

@ -15,7 +15,7 @@ import io.element.android.libraries.architecture.Presenter
import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.encryption.EncryptionService
import io.element.android.libraries.matrix.api.room.JoinedRoom
import io.element.android.libraries.matrix.ui.room.observeRoomMemberIdentityStateChange
import io.element.android.libraries.matrix.ui.room.roomMemberIdentityStateChange
import kotlinx.collections.immutable.persistentListOf
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
@ -30,7 +30,7 @@ class IdentityChangeStatePresenter @Inject constructor(
override fun present(): IdentityChangeState {
val coroutineScope = rememberCoroutineScope()
val roomMemberIdentityStateChange by produceState(persistentListOf()) {
observeRoomMemberIdentityStateChange(room)
room.roomMemberIdentityStateChange(waitForEncryption = true).collect { value = it }
}
fun handleEvent(event: IdentityChangeEvent) {