diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml index c6930dba26e38c3f9008d04f04d1210b5be1198a..3547ecd15aece3eab425ec28bd9114494f388060 100644 --- a/.idea/jarRepositories.xml +++ b/.idea/jarRepositories.xml @@ -36,5 +36,10 @@ <option name="name" value="MavenRepo" /> <option name="url" value="https://repo.maven.apache.org/maven2/" /> </remote-repository> + <remote-repository> + <option name="id" value="maven2" /> + <option name="name" value="maven2" /> + <option name="url" value="https://gitlab.futo.org/api/v4/projects/130/packages/maven" /> + </remote-repository> </component> </project> \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/DefaultMembershipService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/DefaultMembershipService.kt index fa6c2a95843ab884861f99e33702099228d44ef2..477d970f3e4bd3bcde555b582c7b916698449710 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/DefaultMembershipService.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/membership/DefaultMembershipService.kt @@ -30,8 +30,6 @@ import org.matrix.android.sdk.api.session.room.members.MembershipService import org.matrix.android.sdk.api.session.room.members.RoomMemberQueryParams import org.matrix.android.sdk.api.session.room.model.Membership import org.matrix.android.sdk.api.session.room.model.RoomMemberSummary -import org.matrix.android.sdk.internal.crypto.store.db.model.CryptoRoomEntity -import org.matrix.android.sdk.internal.crypto.store.db.query.getById import org.matrix.android.sdk.internal.database.mapper.asDomain import org.matrix.android.sdk.internal.database.model.RoomMemberSummaryEntity import org.matrix.android.sdk.internal.database.model.RoomMemberSummaryEntityFields @@ -157,11 +155,7 @@ internal class DefaultMembershipService @AssistedInject constructor( } private suspend fun sendShareHistoryKeysIfNeeded(userId: String) { - val room = monarchy.fetchCopied { - CryptoRoomEntity.getById(it, roomId) - } ?: return - if (room.shouldEncryptForInvitedMembers == true && room.shouldShareHistory) - cryptoService.sendSharedHistoryKeys(roomId, userId, null) + cryptoService.sendSharedHistoryKeys(roomId, userId, null) } override suspend fun invite3pid(threePid: ThreePid) { diff --git a/matrix-sdk-android/src/rustCrypto/java/org/matrix/android/sdk/internal/crypto/RustCryptoService.kt b/matrix-sdk-android/src/rustCrypto/java/org/matrix/android/sdk/internal/crypto/RustCryptoService.kt index a1a31698e4dda5c250cc0eaf460436ca2807fb32..3cb7aabb8cbda48715f0420506b0fa5a8f5ef231 100755 --- a/matrix-sdk-android/src/rustCrypto/java/org/matrix/android/sdk/internal/crypto/RustCryptoService.kt +++ b/matrix-sdk-android/src/rustCrypto/java/org/matrix/android/sdk/internal/crypto/RustCryptoService.kt @@ -901,6 +901,8 @@ internal class RustCryptoService @Inject constructor( override suspend fun prepareToEncrypt(roomId: String) = prepareToEncrypt.invoke(roomId, ensureAllMembersAreLoaded = true) override suspend fun sendSharedHistoryKeys(roomId: String, userId: String, sessionInfoSet: Set<SessionInfo>?) { + val cryptoInfo = cryptoStore.getRoomCryptoInfo(roomId) ?: return + if (cryptoInfo.shouldShareHistory.not()) return withContext(coroutineDispatchers.crypto) { downloadKeysIfNeeded(listOf(userId)) getUserDevices(userId)