fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.6.18 (#4894)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
This commit is contained in:
renovate[bot] 2025-06-18 15:10:47 +00:00 committed by GitHub
parent b2e17622ed
commit 31bb1848e4
23 changed files with 193 additions and 89 deletions

View file

@ -10,6 +10,7 @@ package io.element.android.libraries.matrix.api.room
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.core.SessionId
import io.element.android.libraries.matrix.api.core.ThreadId
import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.room.draft.ComposerDraft
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
@ -219,17 +220,17 @@ interface BaseRoom : Closeable {
/**
* Store the given `ComposerDraft` in the state store of this room.
*/
suspend fun saveComposerDraft(composerDraft: ComposerDraft): Result<Unit>
suspend fun saveComposerDraft(composerDraft: ComposerDraft, threadRoot: ThreadId?): Result<Unit>
/**
* Retrieve the `ComposerDraft` stored in the state store for this room.
*/
suspend fun loadComposerDraft(): Result<ComposerDraft?>
suspend fun loadComposerDraft(threadRoot: ThreadId?): Result<ComposerDraft?>
/**
* Clear the `ComposerDraft` stored in the state store for this room.
*/
suspend fun clearComposerDraft(): Result<Unit>
suspend fun clearComposerDraft(threadRoot: ThreadId?): Result<Unit>
/**
* Reports a room as inappropriate to the server.

View file

@ -131,6 +131,7 @@ interface Timeline : AutoCloseable {
* @param zoomLevel Optional zoom level to display the map at.
* @param assetType Optional type of the location asset.
* Set to SENDER if sharing own location. Set to PIN if sharing any location.
* @param replyParameters Optional reply parameters to use when sending the location.
*/
suspend fun sendLocation(
body: String,
@ -138,6 +139,7 @@ interface Timeline : AutoCloseable {
description: String? = null,
zoomLevel: Int? = null,
assetType: AssetType? = null,
replyParameters: ReplyParameters?,
): Result<Unit>
suspend fun sendVoiceMessage(

View file

@ -28,6 +28,9 @@ sealed interface MessageShield {
/** The sender was previously verified but is not anymore. */
data class VerificationViolation(val isCritical: Boolean) : MessageShield
/** The sender of the event does not match the owner of the device that created the Megolm session. */
data class MismatchedSender(val isCritical: Boolean) : MessageShield
}
val MessageShield.isCritical: Boolean
@ -38,4 +41,5 @@ val MessageShield.isCritical: Boolean
is MessageShield.UnverifiedIdentity -> isCritical
is MessageShield.SentInClear -> isCritical
is MessageShield.VerificationViolation -> isCritical
is MessageShield.MismatchedSender -> isCritical
}

View file

@ -14,6 +14,7 @@ import io.element.android.libraries.matrix.api.core.DeviceId
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.core.SessionId
import io.element.android.libraries.matrix.api.core.ThreadId
import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.room.BaseRoom
import io.element.android.libraries.matrix.api.room.MessageEventType
@ -266,24 +267,24 @@ class RustBaseRoom(
}
}
override suspend fun saveComposerDraft(composerDraft: ComposerDraft): Result<Unit> = withContext(roomDispatcher) {
override suspend fun saveComposerDraft(composerDraft: ComposerDraft, threadRoot: ThreadId?): Result<Unit> = withContext(roomDispatcher) {
runCatchingExceptions {
Timber.d("saveComposerDraft: $composerDraft into $roomId")
innerRoom.saveComposerDraft(composerDraft.into())
Timber.d("saveComposerDraft: $composerDraft into $roomId for thread root: $threadRoot")
innerRoom.saveComposerDraft(composerDraft.into(), threadRoot = threadRoot?.value)
}
}
override suspend fun loadComposerDraft(): Result<ComposerDraft?> = withContext(roomDispatcher) {
override suspend fun loadComposerDraft(threadRoot: ThreadId?): Result<ComposerDraft?> = withContext(roomDispatcher) {
runCatchingExceptions {
Timber.d("loadComposerDraft for $roomId")
innerRoom.loadComposerDraft()?.into()
Timber.d("loadComposerDraft for $roomId with thread root: $threadRoot")
innerRoom.loadComposerDraft(threadRoot?.value)?.into()
}
}
override suspend fun clearComposerDraft(): Result<Unit> = withContext(roomDispatcher) {
override suspend fun clearComposerDraft(threadRoot: ThreadId?): Result<Unit> = withContext(roomDispatcher) {
runCatchingExceptions {
Timber.d("clearComposerDraft for $roomId")
innerRoom.clearComposerDraft()
Timber.d("clearComposerDraft for $roomId with thread root: $threadRoot")
innerRoom.clearComposerDraft(threadRoot = threadRoot?.value)
}
}

View file

@ -485,6 +485,7 @@ class RustTimeline(
description: String?,
zoomLevel: Int?,
assetType: AssetType?,
replyParameters: ReplyParameters?,
): Result<Unit> = withContext(dispatcher) {
runCatchingExceptions {
inner.sendLocation(
@ -493,6 +494,7 @@ class RustTimeline(
description = description,
zoomLevel = zoomLevel?.toUByte(),
assetType = assetType?.toInner(),
replyParams = replyParameters?.map(),
)
}
}

View file

@ -176,6 +176,7 @@ private fun ShieldState?.map(): MessageShield? {
ShieldStateCode.UNVERIFIED_IDENTITY -> MessageShield.UnverifiedIdentity(isCritical)
ShieldStateCode.SENT_IN_CLEAR -> MessageShield.SentInClear(isCritical)
ShieldStateCode.VERIFICATION_VIOLATION -> MessageShield.VerificationViolation(isCritical)
ShieldStateCode.MISMATCHED_SENDER -> MessageShield.MismatchedSender(isCritical)
}
}

View file

@ -11,6 +11,7 @@ import io.element.android.libraries.core.bool.orFalse
import io.element.android.libraries.matrix.api.core.EventId
import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.core.SessionId
import io.element.android.libraries.matrix.api.core.ThreadId
import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.room.BaseRoom
import io.element.android.libraries.matrix.api.room.MessageEventType
@ -198,11 +199,14 @@ class FakeBaseRoom(
return Result.success(Unit)
}
override suspend fun saveComposerDraft(composerDraft: ComposerDraft) = saveComposerDraftLambda(composerDraft)
override suspend fun saveComposerDraft(
composerDraft: ComposerDraft,
threadRoot: ThreadId?
) = saveComposerDraftLambda(composerDraft)
override suspend fun loadComposerDraft() = loadComposerDraftLambda()
override suspend fun loadComposerDraft(threadRoot: ThreadId?) = loadComposerDraftLambda()
override suspend fun clearComposerDraft() = clearComposerDraftLambda()
override suspend fun clearComposerDraft(threadRoot: ThreadId?) = clearComposerDraftLambda()
override suspend fun getUpdatedIsEncrypted(): Result<Boolean> = simulateLongTask {
Result.success(info().isEncrypted.orFalse())

View file

@ -304,7 +304,8 @@ class FakeTimeline(
description: String?,
zoomLevel: Int?,
assetType: AssetType?,
) -> Result<Unit> = { _, _, _, _, _ ->
replyParameters: ReplyParameters?,
) -> Result<Unit> = { _, _, _, _, _, _ ->
lambdaError()
}
@ -314,6 +315,7 @@ class FakeTimeline(
description: String?,
zoomLevel: Int?,
assetType: AssetType?,
replyParameters: ReplyParameters?,
): Result<Unit> = simulateLongTask {
sendLocationLambda(
body,
@ -321,6 +323,7 @@ class FakeTimeline(
description,
zoomLevel,
assetType,
replyParameters,
)
}