Browse Source

Fix room settings not treating unencrypted DMs as DMs (#3545)

pull/3546/head
Jorge Martin Espinosa 3 weeks ago committed by GitHub
parent
commit
2ce8bb7682
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomMembers.kt
  2. 4
      libraries/matrixui/src/test/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomMembersTest.kt

2
libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomMembers.kt

@ -44,7 +44,7 @@ fun MatrixRoom.getDirectRoomMember(roomMembersState: MatrixRoomMembersState): St
derivedStateOf { derivedStateOf {
roomMembers roomMembers
?.filter { it.membership.isActive() } ?.filter { it.membership.isActive() }
?.takeIf { it.size == 2 && isDirect && isEncrypted } ?.takeIf { it.size == 2 && isDirect }
?.find { it.userId != sessionId } ?.find { it.userId != sessionId }
} }
} }

4
libraries/matrixui/src/test/kotlin/io/element/android/libraries/matrix/ui/room/MatrixRoomMembersTest.kt

@ -60,7 +60,7 @@ class MatrixRoomMembersTest {
} }
@Test @Test
fun `getDirectRoomMember emit null if the room is not encrypted`() = runTest { fun `getDirectRoomMember emits other member even if the room is not encrypted`() = runTest {
val matrixRoom = FakeMatrixRoom( val matrixRoom = FakeMatrixRoom(
sessionId = A_USER_ID, sessionId = A_USER_ID,
isEncrypted = false, isEncrypted = false,
@ -71,7 +71,7 @@ class MatrixRoomMembersTest {
MatrixRoomMembersState.Ready(persistentListOf(roomMember1, roomMember2)) MatrixRoomMembersState.Ready(persistentListOf(roomMember1, roomMember2))
) )
}.test { }.test {
assertThat(awaitItem().value).isNull() assertThat(awaitItem().value).isEqualTo(roomMember2)
} }
} }

Loading…
Cancel
Save