diff --git a/crates/matrix-sdk-common/src/deserialized_responses.rs b/crates/matrix-sdk-common/src/deserialized_responses.rs index 99209eb1e7..356c3133c3 100644 --- a/crates/matrix-sdk-common/src/deserialized_responses.rs +++ b/crates/matrix-sdk-common/src/deserialized_responses.rs @@ -474,8 +474,9 @@ impl TimelineEvent { /// Returns a reference to the (potentially decrypted) Matrix event inside /// this `TimelineEvent`. - pub fn event(&self) -> &Raw { - &self.inner_event + pub fn event(&self) -> &Raw { + // TODO: make `inner_event` an AnySyncTimelineEvent instead. + self.inner_event.cast_ref() } /// If the event was a decrypted event that was successfully decrypted, get diff --git a/crates/matrix-sdk-ui/src/notification_client.rs b/crates/matrix-sdk-ui/src/notification_client.rs index df182d7de8..98cf977569 100644 --- a/crates/matrix-sdk-ui/src/notification_client.rs +++ b/crates/matrix-sdk-ui/src/notification_client.rs @@ -552,9 +552,7 @@ impl NotificationClient { let mut timeline_event = response.event.ok_or(Error::ContextMissingEvent)?; let state_events = response.state; - if let Some(decrypted_event) = - self.retry_decryption(&room, timeline_event.event().cast_ref()).await? - { + if let Some(decrypted_event) = self.retry_decryption(&room, timeline_event.event()).await? { timeline_event = decrypted_event; } diff --git a/crates/matrix-sdk-ui/src/timeline/event_item/content/message.rs b/crates/matrix-sdk-ui/src/timeline/event_item/content/message.rs index e470c61b55..2d9756a78c 100644 --- a/crates/matrix-sdk-ui/src/timeline/event_item/content/message.rs +++ b/crates/matrix-sdk-ui/src/timeline/event_item/content/message.rs @@ -26,7 +26,7 @@ use ruma::{ MessageType, Relation, RoomMessageEventContent, RoomMessageEventContentWithoutRelation, SyncRoomMessageEvent, }, - AnyMessageLikeEventContent, AnySyncMessageLikeEvent, AnyTimelineEvent, + AnyMessageLikeEventContent, AnySyncMessageLikeEvent, AnySyncTimelineEvent, BundledMessageLikeRelations, Mentions, }, html::RemoveReplyFallback, @@ -298,7 +298,7 @@ impl RepliedToEvent { room_data_provider: &P, ) -> Result { let event = match timeline_event.event().deserialize() { - Ok(AnyTimelineEvent::MessageLike(event)) => event, + Ok(AnySyncTimelineEvent::MessageLike(event)) => event, _ => { return Err(TimelineError::UnsupportedEvent); } diff --git a/crates/matrix-sdk/tests/integration/client.rs b/crates/matrix-sdk/tests/integration/client.rs index a93c876ea2..ce3e1ad127 100644 --- a/crates/matrix-sdk/tests/integration/client.rs +++ b/crates/matrix-sdk/tests/integration/client.rs @@ -755,8 +755,8 @@ async fn test_encrypt_room_event() { .expect("We should be able to deserialize the decrypted event"); assert_let!( - ruma::events::AnyTimelineEvent::MessageLike( - ruma::events::AnyMessageLikeEvent::RoomMessage(message_event) + ruma::events::AnySyncTimelineEvent::MessageLike( + ruma::events::AnySyncMessageLikeEvent::RoomMessage(message_event) ) = event ); diff --git a/crates/matrix-sdk/tests/integration/room/common.rs b/crates/matrix-sdk/tests/integration/room/common.rs index 362b700506..6bac169f9c 100644 --- a/crates/matrix-sdk/tests/integration/room/common.rs +++ b/crates/matrix-sdk/tests/integration/room/common.rs @@ -19,7 +19,7 @@ use ruma::{ member::MembershipState, message::RoomMessageEventContent, }, - AnyStateEvent, AnySyncStateEvent, AnyTimelineEvent, StateEventType, + AnySyncStateEvent, AnySyncTimelineEvent, StateEventType, }, mxc_uri, room_id, }; @@ -671,7 +671,7 @@ async fn test_event() { let timeline_event = room.event(event_id, None).await.unwrap(); assert_let!( - AnyTimelineEvent::State(AnyStateEvent::RoomTombstone(event)) = + AnySyncTimelineEvent::State(AnySyncStateEvent::RoomTombstone(event)) = timeline_event.event().deserialize().unwrap() ); assert_eq!(event.event_id(), event_id); diff --git a/testing/matrix-sdk-integration-testing/src/tests/nse.rs b/testing/matrix-sdk-integration-testing/src/tests/nse.rs index ee2407687b..859a378310 100644 --- a/testing/matrix-sdk-integration-testing/src/tests/nse.rs +++ b/testing/matrix-sdk-integration-testing/src/tests/nse.rs @@ -18,8 +18,7 @@ use matrix_sdk::{ message::{MessageType, OriginalSyncRoomMessageEvent, RoomMessageEventContent}, }, room_key::ToDeviceRoomKeyEvent, - AnyMessageLikeEventContent, AnySyncTimelineEvent, AnyTimelineEvent, - OriginalSyncMessageLikeEvent, + AnyMessageLikeEventContent, AnySyncTimelineEvent, OriginalSyncMessageLikeEvent, }, serde::Raw, EventEncryptionAlgorithm, OwnedEventId, OwnedRoomId, RoomId, @@ -425,7 +424,7 @@ async fn decrypt_event( let Ok(deserialized) = decrypted.event().deserialize() else { return None }; - let AnyTimelineEvent::MessageLike(message) = &deserialized else { return None }; + let AnySyncTimelineEvent::MessageLike(message) = &deserialized else { return None }; let Some(AnyMessageLikeEventContent::RoomMessage(content)) = message.original_content() else { return None; diff --git a/testing/matrix-sdk-integration-testing/src/tests/room.rs b/testing/matrix-sdk-integration-testing/src/tests/room.rs index 53c17331f0..7c94aac516 100644 --- a/testing/matrix-sdk-integration-testing/src/tests/room.rs +++ b/testing/matrix-sdk-integration-testing/src/tests/room.rs @@ -8,8 +8,8 @@ use matrix_sdk::{ api::client::room::create_room::v3::Request as CreateRoomRequest, assign, event_id, events, events::{ - room::message::RoomMessageEventContent, AnyRoomAccountDataEventContent, AnyStateEvent, - AnyTimelineEvent, EventContent, + room::message::RoomMessageEventContent, AnyRoomAccountDataEventContent, + AnySyncStateEvent, AnySyncTimelineEvent, EventContent, }, serde::Raw, uint, @@ -180,7 +180,7 @@ async fn test_event_with_context() -> Result<()> { // Last event is the m.room.encryption event. let event = prev_events[9].event().deserialize().unwrap(); - assert_matches!(event, AnyTimelineEvent::State(AnyStateEvent::RoomEncryption(_))); + assert_matches!(event, AnySyncTimelineEvent::State(AnySyncStateEvent::RoomEncryption(_))); // There are other events before that (room creation, alice joining). assert!(prev_messages.end.is_some());