Make BaseRoom.getDirectRoomMember change when roomInfo.isDm changes (#6989)

With `derivedStateOf` this wasn't working as expected for some reason, resulting in the dm member being null and displaying the wrong `RoomType` in the room details screen
This commit is contained in:
Jorge Martin Espinosa
2026-06-08 15:50:56 +02:00
committed by GitHub
parent 9fd5277a48
commit 786c53ac06
@@ -13,6 +13,7 @@ import androidx.compose.runtime.State
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.derivedStateOf
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.room.BaseRoom
@@ -42,10 +43,8 @@ fun getRoomMemberAsState(roomMembersState: RoomMembersState, userId: UserId): St
@Composable
fun BaseRoom.getDirectRoomMember(roomMembersState: RoomMembersState): State<RoomMember?> {
val roomInfo by roomInfoFlow.collectAsState()
return remember {
derivedStateOf {
roomMembersState.getDirectRoomMember(roomInfo, sessionId)
}
return remember(roomInfo.isDm) {
mutableStateOf(roomMembersState.getDirectRoomMember(roomInfo, sessionId))
}
}