Enforce HS disabling E2EE in DM creation too (Element Pro) (#7292)

This part was missing from the implementation of this Element Pro feature, which incorrectly only applied to rooms.
This commit is contained in:
Jorge Martin Espinosa
2026-07-29 11:17:41 +02:00
committed by GitHub
parent 00dcf48f28
commit 674354b1a6
8 changed files with 50 additions and 10 deletions
@@ -84,7 +84,7 @@ interface MatrixClient {
suspend fun ignoreUser(userId: UserId): Result<Unit>
suspend fun unignoreUser(userId: UserId): Result<Unit>
suspend fun createRoom(createRoomParams: CreateRoomParameters): Result<RoomId>
suspend fun createDM(userId: UserId): Result<RoomId>
suspend fun createDM(userId: UserId, isEncrypted: Boolean): Result<RoomId>
suspend fun getProfile(userId: UserId): Result<MatrixUser>
suspend fun searchUsers(searchTerm: String, limit: Long): Result<MatrixSearchUserResults>
suspend fun setDisplayName(displayName: String): Result<Unit>
@@ -18,6 +18,7 @@ import io.element.android.libraries.matrix.api.core.UserId
suspend fun MatrixClient.startDM(
userId: UserId,
createIfDmDoesNotExist: Boolean,
isEncryped: Boolean,
): StartDMResult {
return findDM(userId)
.fold(
@@ -25,7 +26,7 @@ suspend fun MatrixClient.startDM(
if (existingDM != null) {
StartDMResult.Success(existingDM, isNew = false)
} else if (createIfDmDoesNotExist) {
createDM(userId).fold(
createDM(userId, isEncryped).fold(
{ StartDMResult.Success(it, isNew = true) },
{ StartDMResult.Failure(it) }
)