diff --git a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/EventSendState.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/EventSendState.kt index d41bc2edc0..0c70096b1a 100644 --- a/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/EventSendState.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/item/event/EventSendState.kt @@ -20,6 +20,7 @@ import io.element.android.libraries.matrix.api.core.EventId sealed interface EventSendState { object NotSentYet : EventSendState + object Canceled : EventSendState data class SendingFailed( val error: String diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/notification/RustNotificationService.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/notification/RustNotificationService.kt index 8b630cd64a..52d1598cff 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/notification/RustNotificationService.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/notification/RustNotificationService.kt @@ -35,7 +35,7 @@ class RustNotificationService( eventId: EventId ): Result { return runCatching { - client.getNotificationItem(roomId.value, eventId.value).use(notificationMapper::map) + client.getNotificationItem(roomId.value, eventId.value)?.use(notificationMapper::map) } } } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt index bbb9c8fe2a..d8bb928d8f 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/item/event/EventTimelineItemMapper.kt @@ -70,6 +70,7 @@ fun RustEventSendState?.map(): EventSendState? { RustEventSendState.NotSentYet -> EventSendState.NotSentYet is RustEventSendState.SendingFailed -> EventSendState.SendingFailed(error) is RustEventSendState.Sent -> EventSendState.Sent(EventId(eventId)) + RustEventSendState.Cancelled -> EventSendState.Canceled } }