From 8b481e2294c4dcd5afae3ef0794f614f4fa08674 Mon Sep 17 00:00:00 2001 From: Valere Date: Fri, 3 Apr 2020 13:34:38 +0200 Subject: [PATCH 1/3] Remove dead code --- .../db/model/IncomingRoomKeyRequestEntity.kt | 56 -------------- .../db/model/IncomingSecretRequestEntity.kt | 37 --------- .../db/model/OutgoingRoomKeyRequestEntity.kt | 77 ------------------- .../db/model/OutgoingSecretRequestEntity.kt | 63 --------------- 4 files changed, 233 deletions(-) delete mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/IncomingRoomKeyRequestEntity.kt delete mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/IncomingSecretRequestEntity.kt delete mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OutgoingRoomKeyRequestEntity.kt delete mode 100644 matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OutgoingSecretRequestEntity.kt diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/IncomingRoomKeyRequestEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/IncomingRoomKeyRequestEntity.kt deleted file mode 100644 index 31d7d3374e..0000000000 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/IncomingRoomKeyRequestEntity.kt +++ /dev/null @@ -1,56 +0,0 @@ -// /* -// * Copyright 2018 New Vector Ltd -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -// -// package im.vector.matrix.android.internal.crypto.store.db.model -// -// import im.vector.matrix.android.internal.crypto.IncomingRoomKeyRequest -// import im.vector.matrix.android.internal.crypto.model.rest.RoomKeyRequestBody -// import io.realm.RealmObject -// -// internal open class IncomingRoomKeyRequestEntity( -// var requestId: String? = null, -// var userId: String? = null, -// var deviceId: String? = null, -// // RoomKeyRequestBody fields -// var requestBodyAlgorithm: String? = null, -// var requestBodyRoomId: String? = null, -// var requestBodySenderKey: String? = null, -// var requestBodySessionId: String? = null -// ) : RealmObject() { -// -// fun toIncomingRoomKeyRequest(): IncomingRoomKeyRequest { -// return IncomingRoomKeyRequest( -// requestId = requestId, -// userId = userId, -// deviceId = deviceId, -// requestBody = RoomKeyRequestBody( -// algorithm = requestBodyAlgorithm, -// roomId = requestBodyRoomId, -// senderKey = requestBodySenderKey, -// sessionId = requestBodySessionId -// ) -// ) -// } -// -// fun putRequestBody(requestBody: RoomKeyRequestBody?) { -// requestBody?.let { -// requestBodyAlgorithm = it.algorithm -// requestBodyRoomId = it.roomId -// requestBodySenderKey = it.senderKey -// requestBodySessionId = it.sessionId -// } -// } -// } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/IncomingSecretRequestEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/IncomingSecretRequestEntity.kt deleted file mode 100644 index 9f2175329c..0000000000 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/IncomingSecretRequestEntity.kt +++ /dev/null @@ -1,37 +0,0 @@ -// /* -// * Copyright (c) 2020 New Vector Ltd -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -// -// package im.vector.matrix.android.internal.crypto.store.db.model -// -// import im.vector.matrix.android.internal.crypto.IncomingSecretShareRequest -// import io.realm.RealmObject -// -// internal open class IncomingSecretRequestEntity( -// var requestId: String? = null, -// var userId: String? = null, -// var deviceId: String? = null, -// var secretName: String? = null -// ) : RealmObject() { -// -// fun toIncomingSecretShareRequest(): IncomingSecretShareRequest { -// return IncomingSecretShareRequest( -// requestId = requestId, -// userId = userId, -// deviceId = deviceId, -// secretName = secretName -// ) -// } -// } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OutgoingRoomKeyRequestEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OutgoingRoomKeyRequestEntity.kt deleted file mode 100644 index 4eee322a6a..0000000000 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OutgoingRoomKeyRequestEntity.kt +++ /dev/null @@ -1,77 +0,0 @@ -// /* -// * Copyright 2018 New Vector Ltd -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -// -// package im.vector.matrix.android.internal.crypto.store.db.model -// -// import im.vector.matrix.android.internal.crypto.OutgoingRoomKeyRequest -// import im.vector.matrix.android.internal.crypto.ShareRequestState -// import im.vector.matrix.android.internal.crypto.model.rest.RoomKeyRequestBody -// import im.vector.matrix.android.internal.crypto.store.db.deserializeFromRealm -// import im.vector.matrix.android.internal.crypto.store.db.serializeForRealm -// import io.realm.RealmObject -// import io.realm.annotations.PrimaryKey -// -// internal open class OutgoingRoomKeyRequestEntity( -// @PrimaryKey var requestId: String? = null, -// var cancellationTxnId: String? = null, -// // Serialized Json -// var recipientsData: String? = null, -// // RoomKeyRequestBody fields -// var requestBodyAlgorithm: String? = null, -// var requestBodyRoomId: String? = null, -// var requestBodySenderKey: String? = null, -// var requestBodySessionId: String? = null, -// // State -// var state: Int = 0 -// ) : RealmObject() { -// -// /** -// * Convert to OutgoingRoomKeyRequest -// */ -// fun toOutgoingRoomKeyRequest(): OutgoingRoomKeyRequest { -// val cancellationTxnId = this.cancellationTxnId -// return OutgoingRoomKeyRequest( -// RoomKeyRequestBody( -// algorithm = requestBodyAlgorithm, -// roomId = requestBodyRoomId, -// senderKey = requestBodySenderKey, -// sessionId = requestBodySessionId -// ), -// getRecipients()!!, -// requestId!!, -// ShareRequestState.from(state) -// ).apply { -// this.cancellationTxnId = cancellationTxnId -// } -// } -// -// private fun getRecipients(): List>? { -// return deserializeFromRealm(recipientsData) -// } -// -// fun putRecipients(recipients: List>?) { -// recipientsData = serializeForRealm(recipients) -// } -// -// fun putRequestBody(requestBody: RoomKeyRequestBody?) { -// requestBody?.let { -// requestBodyAlgorithm = it.algorithm -// requestBodyRoomId = it.roomId -// requestBodySenderKey = it.senderKey -// requestBodySessionId = it.sessionId -// } -// } -// } diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OutgoingSecretRequestEntity.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OutgoingSecretRequestEntity.kt deleted file mode 100644 index 4a1c8ce46c..0000000000 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/store/db/model/OutgoingSecretRequestEntity.kt +++ /dev/null @@ -1,63 +0,0 @@ -// /* -// * Copyright (c) 2020 New Vector Ltd -// * -// * Licensed under the Apache License, Version 2.0 (the "License"); -// * you may not use this file except in compliance with the License. -// * You may obtain a copy of the License at -// * -// * http://www.apache.org/licenses/LICENSE-2.0 -// * -// * Unless required by applicable law or agreed to in writing, software -// * distributed under the License is distributed on an "AS IS" BASIS, -// * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// * See the License for the specific language governing permissions and -// * limitations under the License. -// */ -// -// package im.vector.matrix.android.internal.crypto.store.db.model -// -// import im.vector.matrix.android.internal.crypto.OutgoingSecretRequest -// import im.vector.matrix.android.internal.crypto.ShareRequestState -// import im.vector.matrix.android.internal.crypto.store.db.deserializeFromRealm -// import im.vector.matrix.android.internal.crypto.store.db.serializeForRealm -// import io.realm.RealmObject -// import io.realm.annotations.PrimaryKey -// -// internal open class OutgoingSecretRequestEntity( -// @PrimaryKey var requestId: String? = null, -// var cancellationTxnId: String? = null, -// // Serialized Json -// var recipientsData: String? = null, -// // RoomKeyRequestBody fields -// var secretName: String? = null, -// // State -// var state: Int = 0 -// ) : RealmObject() { -// -// /** -// * Convert to OutgoingRoomKeyRequest -// */ -// fun toOutgoingSecretRequest(): OutgoingSecretRequest { -// val cancellationTxnId = this.cancellationTxnId -// return OutgoingSecretRequest( -// secretName, -// getRecipients() ?: emptyList(), -// requestId!!, -// ShareRequestState.from(state) -// ).apply { -// this.cancellationTxnId = cancellationTxnId -// } -// } -// -// private fun getRecipients(): List>? { -// return try { -// deserializeFromRealm(recipientsData) -// } catch (failure: Throwable) { -// null -// } -// } -// -// fun putRecipients(recipients: List>?) { -// recipientsData = serializeForRealm(recipients) -// } -// } From c91bc82cd97490fc31561fd04a445c051665ac2c Mon Sep 17 00:00:00 2001 From: Valere Date: Fri, 3 Apr 2020 13:35:09 +0200 Subject: [PATCH 2/3] Fix / Ensure encryption set even if faield to fetch members --- .../matrix/android/internal/crypto/DefaultCryptoService.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DefaultCryptoService.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DefaultCryptoService.kt index d0a08b17ab..d3e5ada8cb 100755 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DefaultCryptoService.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/crypto/DefaultCryptoService.kt @@ -792,10 +792,11 @@ internal class DefaultCryptoService @Inject constructor( val params = LoadRoomMembersTask.Params(roomId) try { loadRoomMembersTask.execute(params) - val userIds = getRoomUserIds(roomId) - setEncryptionInRoom(roomId, event.content?.get("algorithm")?.toString(), true, userIds) } catch (throwable: Throwable) { Timber.e(throwable, "## onRoomEncryptionEvent ERROR FAILED TO SETUP CRYPTO ") + } finally { + val userIds = getRoomUserIds(roomId) + setEncryptionInRoom(roomId, event.content?.get("algorithm")?.toString(), true, userIds) } } } From 156e6114c1b07f20556137a30f3f680df425878b Mon Sep 17 00:00:00 2001 From: Valere Date: Fri, 3 Apr 2020 13:43:40 +0200 Subject: [PATCH 3/3] Updade change log --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 0b9d8d5991..6340889573 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -14,6 +14,7 @@ Bugfix 🐛: - Missing avatar/displayname after verification request message (#841) - Crypto | RiotX sometimes rotate the current device keys (#1170) - RiotX can't restore cross signing keys saved by web in SSSS (#1174) + - Failed to encrypt message in room (message stays in red), [thanks to pwr22] (#925) Translations 🗣: -