Skip to content
Snippets Groups Projects
Commit 2c5b54e5 authored by Taras's avatar Taras
Browse files

Fix key sharing

parent 1b15e9bf
No related branches found
No related tags found
No related merge requests found
......@@ -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
......@@ -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) {
......
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment