From 6234d6e092accfedd4fbad383eae53c9519b031e Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 6 Feb 2024 09:18:35 +0100 Subject: [PATCH] Fix API break and change from SDK 0.1.97 --- .../messages/impl/MessagesPresenter.kt | 2 +- .../impl/timeline/TimelinePresenter.kt | 2 +- .../matrix/api/room/MessageEventType.kt | 10 +++++-- .../libraries/matrix/impl/RustMatrixClient.kt | 30 +++++++++---------- .../matrix/impl/room/MessageEventType.kt | 16 ++++++++-- 5 files changed, 39 insertions(+), 21 deletions(-) diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt index d378014e2f..5f21e5b348 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/MessagesPresenter.kt @@ -139,7 +139,7 @@ class MessagesPresenter @AssistedInject constructor( val userHasPermissionToSendMessage by room.canSendMessageAsState(type = MessageEventType.ROOM_MESSAGE, updateKey = syncUpdateFlow.value) val userHasPermissionToRedactOwn by room.canRedactOwnAsState(updateKey = syncUpdateFlow.value) val userHasPermissionToRedactOther by room.canRedactOtherAsState(updateKey = syncUpdateFlow.value) - val userHasPermissionToSendReaction by room.canSendMessageAsState(type = MessageEventType.REACTION_SENT, updateKey = syncUpdateFlow.value) + val userHasPermissionToSendReaction by room.canSendMessageAsState(type = MessageEventType.REACTION, updateKey = syncUpdateFlow.value) val roomName: AsyncData by remember { derivedStateOf { roomInfo?.name?.let { AsyncData.Success(it) } ?: AsyncData.Uninitialized } } diff --git a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt index a0d7ebf771..1ce24dff5d 100644 --- a/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt +++ b/features/messages/impl/src/main/kotlin/io/element/android/features/messages/impl/timeline/TimelinePresenter.kt @@ -97,7 +97,7 @@ class TimelinePresenter @AssistedInject constructor( val paginationState by timeline.paginationState.collectAsState() val syncUpdateFlow = room.syncUpdateFlow.collectAsState() val userHasPermissionToSendMessage by room.canSendMessageAsState(type = MessageEventType.ROOM_MESSAGE, updateKey = syncUpdateFlow.value) - val userHasPermissionToSendReaction by room.canSendMessageAsState(type = MessageEventType.REACTION_SENT, updateKey = syncUpdateFlow.value) + val userHasPermissionToSendReaction by room.canSendMessageAsState(type = MessageEventType.REACTION, updateKey = syncUpdateFlow.value) val prevMostRecentItemId = rememberSaveable { mutableStateOf(null) } val newItemState = remember { mutableStateOf(NewEventState.None) } diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MessageEventType.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MessageEventType.kt index 109e50e602..ea9e37cfd6 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MessageEventType.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MessageEventType.kt @@ -28,9 +28,15 @@ enum class MessageEventType { KEY_VERIFICATION_KEY, KEY_VERIFICATION_MAC, KEY_VERIFICATION_DONE, - REACTION_SENT, + REACTION, ROOM_ENCRYPTED, ROOM_MESSAGE, ROOM_REDACTION, - STICKER + STICKER, + POLL_END, + POLL_RESPONSE, + POLL_START, + UNSTABLE_POLL_END, + UNSTABLE_POLL_RESPONSE, + UNSTABLE_POLL_START, } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index 26bc775e55..2ea2699e42 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -76,12 +76,12 @@ import kotlinx.coroutines.withTimeout import org.matrix.rustcomponents.sdk.BackupState import org.matrix.rustcomponents.sdk.Client import org.matrix.rustcomponents.sdk.ClientDelegate -import org.matrix.rustcomponents.sdk.FilterStateEventType import org.matrix.rustcomponents.sdk.FilterTimelineEventType import org.matrix.rustcomponents.sdk.NotificationProcessSetup import org.matrix.rustcomponents.sdk.PowerLevels import org.matrix.rustcomponents.sdk.Room import org.matrix.rustcomponents.sdk.RoomListItem +import org.matrix.rustcomponents.sdk.StateEventType import org.matrix.rustcomponents.sdk.TaskHandle import org.matrix.rustcomponents.sdk.TimelineEventTypeFilter import org.matrix.rustcomponents.sdk.use @@ -203,20 +203,20 @@ class RustMatrixClient( private val eventFilters = TimelineEventTypeFilter.exclude( listOf( - FilterStateEventType.ROOM_ALIASES, - FilterStateEventType.ROOM_CANONICAL_ALIAS, - FilterStateEventType.ROOM_GUEST_ACCESS, - FilterStateEventType.ROOM_HISTORY_VISIBILITY, - FilterStateEventType.ROOM_JOIN_RULES, - FilterStateEventType.ROOM_PINNED_EVENTS, - FilterStateEventType.ROOM_POWER_LEVELS, - FilterStateEventType.ROOM_SERVER_ACL, - FilterStateEventType.ROOM_TOMBSTONE, - FilterStateEventType.SPACE_CHILD, - FilterStateEventType.SPACE_PARENT, - FilterStateEventType.POLICY_RULE_ROOM, - FilterStateEventType.POLICY_RULE_SERVER, - FilterStateEventType.POLICY_RULE_USER, + StateEventType.ROOM_ALIASES, + StateEventType.ROOM_CANONICAL_ALIAS, + StateEventType.ROOM_GUEST_ACCESS, + StateEventType.ROOM_HISTORY_VISIBILITY, + StateEventType.ROOM_JOIN_RULES, + StateEventType.ROOM_PINNED_EVENTS, + StateEventType.ROOM_POWER_LEVELS, + StateEventType.ROOM_SERVER_ACL, + StateEventType.ROOM_TOMBSTONE, + StateEventType.SPACE_CHILD, + StateEventType.SPACE_PARENT, + StateEventType.POLICY_RULE_ROOM, + StateEventType.POLICY_RULE_SERVER, + StateEventType.POLICY_RULE_USER, ).map(FilterTimelineEventType::State) ) diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MessageEventType.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MessageEventType.kt index a117c1d313..bce74bc2db 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MessageEventType.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/MessageEventType.kt @@ -31,11 +31,17 @@ fun MessageEventType.map(): MessageLikeEventType = when (this) { MessageEventType.KEY_VERIFICATION_KEY -> MessageLikeEventType.KEY_VERIFICATION_KEY MessageEventType.KEY_VERIFICATION_MAC -> MessageLikeEventType.KEY_VERIFICATION_MAC MessageEventType.KEY_VERIFICATION_DONE -> MessageLikeEventType.KEY_VERIFICATION_DONE - MessageEventType.REACTION_SENT -> MessageLikeEventType.REACTION_SENT + MessageEventType.REACTION -> MessageLikeEventType.REACTION MessageEventType.ROOM_ENCRYPTED -> MessageLikeEventType.ROOM_ENCRYPTED MessageEventType.ROOM_MESSAGE -> MessageLikeEventType.ROOM_MESSAGE MessageEventType.ROOM_REDACTION -> MessageLikeEventType.ROOM_REDACTION MessageEventType.STICKER -> MessageLikeEventType.STICKER + MessageEventType.POLL_END -> MessageLikeEventType.POLL_END + MessageEventType.POLL_RESPONSE -> MessageLikeEventType.POLL_RESPONSE + MessageEventType.POLL_START -> MessageLikeEventType.POLL_START + MessageEventType.UNSTABLE_POLL_END -> MessageLikeEventType.UNSTABLE_POLL_END + MessageEventType.UNSTABLE_POLL_RESPONSE -> MessageLikeEventType.UNSTABLE_POLL_RESPONSE + MessageEventType.UNSTABLE_POLL_START -> MessageLikeEventType.UNSTABLE_POLL_START } fun MessageLikeEventType.map(): MessageEventType = when (this) { @@ -50,9 +56,15 @@ fun MessageLikeEventType.map(): MessageEventType = when (this) { MessageLikeEventType.KEY_VERIFICATION_KEY -> MessageEventType.KEY_VERIFICATION_KEY MessageLikeEventType.KEY_VERIFICATION_MAC -> MessageEventType.KEY_VERIFICATION_MAC MessageLikeEventType.KEY_VERIFICATION_DONE -> MessageEventType.KEY_VERIFICATION_DONE - MessageLikeEventType.REACTION_SENT -> MessageEventType.REACTION_SENT + MessageLikeEventType.REACTION -> MessageEventType.REACTION MessageLikeEventType.ROOM_ENCRYPTED -> MessageEventType.ROOM_ENCRYPTED MessageLikeEventType.ROOM_MESSAGE -> MessageEventType.ROOM_MESSAGE MessageLikeEventType.ROOM_REDACTION -> MessageEventType.ROOM_REDACTION MessageLikeEventType.STICKER -> MessageEventType.STICKER + MessageLikeEventType.POLL_END -> MessageEventType.POLL_END + MessageLikeEventType.POLL_RESPONSE -> MessageEventType.POLL_RESPONSE + MessageLikeEventType.POLL_START -> MessageEventType.POLL_START + MessageLikeEventType.UNSTABLE_POLL_END -> MessageEventType.UNSTABLE_POLL_END + MessageLikeEventType.UNSTABLE_POLL_RESPONSE -> MessageEventType.UNSTABLE_POLL_RESPONSE + MessageLikeEventType.UNSTABLE_POLL_START -> MessageEventType.UNSTABLE_POLL_START }