From 6ddc8ba36f40aa9767c068febdea8772f422c8a9 Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Thu, 25 Aug 2022 15:56:48 +0200 Subject: [PATCH] refactor!: Rename [Sync]RoomEvent to [Sync]TimelineEvent --- .../matrix-sdk-crypto-js/src/responses.rs | 4 +-- .../matrix-sdk-crypto-nodejs/src/responses.rs | 4 +-- .../matrix-sdk-ffi/src/backward_stream.rs | 4 +-- bindings/matrix-sdk-ffi/src/messages.rs | 4 +-- crates/matrix-sdk-appservice/src/lib.rs | 17 ++++----- crates/matrix-sdk-base/src/client.rs | 4 +-- crates/matrix-sdk-base/src/rooms/normal.rs | 10 +++--- .../src/store/integration_tests.rs | 20 +++++------ .../matrix-sdk-base/src/store/memory_store.rs | 8 ++--- crates/matrix-sdk-base/src/store/mod.rs | 4 +-- crates/matrix-sdk-base/src/timeline_stream.rs | 18 +++++----- .../src/deserialized_responses.rs | 35 ++++++++++--------- crates/matrix-sdk-crypto/src/machine.rs | 8 ++--- .../matrix-sdk-indexeddb/src/state_store.rs | 10 +++--- crates/matrix-sdk-sled/src/state_store.rs | 8 ++--- crates/matrix-sdk/src/event_handler/mod.rs | 4 +-- crates/matrix-sdk/src/room/common.rs | 34 +++++++++--------- .../tests/integration/room/common.rs | 20 ++++++----- testing/matrix-sdk-test/src/appservice.rs | 2 +- 19 files changed, 113 insertions(+), 105 deletions(-) diff --git a/bindings/matrix-sdk-crypto-js/src/responses.rs b/bindings/matrix-sdk-crypto-js/src/responses.rs index 3452bdee3..9d9fac1cf 100644 --- a/bindings/matrix-sdk-crypto-js/src/responses.rs +++ b/bindings/matrix-sdk-crypto-js/src/responses.rs @@ -200,8 +200,8 @@ impl DecryptedRoomEvent { } } -impl From for DecryptedRoomEvent { - fn from(value: matrix_sdk_common::deserialized_responses::RoomEvent) -> Self { +impl From for DecryptedRoomEvent { + fn from(value: matrix_sdk_common::deserialized_responses::TimelineEvent) -> Self { Self { event: value.event.json().get().to_owned().into(), encryption_info: value.encryption_info, diff --git a/bindings/matrix-sdk-crypto-nodejs/src/responses.rs b/bindings/matrix-sdk-crypto-nodejs/src/responses.rs index 3797ddf1a..30425197c 100644 --- a/bindings/matrix-sdk-crypto-nodejs/src/responses.rs +++ b/bindings/matrix-sdk-crypto-nodejs/src/responses.rs @@ -196,8 +196,8 @@ impl DecryptedRoomEvent { } } -impl From for DecryptedRoomEvent { - fn from(value: matrix_sdk_common::deserialized_responses::RoomEvent) -> Self { +impl From for DecryptedRoomEvent { + fn from(value: matrix_sdk_common::deserialized_responses::TimelineEvent) -> Self { Self { event: value.event.json().get().to_owned(), encryption_info: value.encryption_info } } } diff --git a/bindings/matrix-sdk-ffi/src/backward_stream.rs b/bindings/matrix-sdk-ffi/src/backward_stream.rs index b3c281ef5..4b664675a 100644 --- a/bindings/matrix-sdk-ffi/src/backward_stream.rs +++ b/bindings/matrix-sdk-ffi/src/backward_stream.rs @@ -2,7 +2,7 @@ use core::pin::Pin; use std::sync::Arc; use futures_core::Stream; -use matrix_sdk::{deserialized_responses::SyncRoomEvent, locks::Mutex, Result}; +use matrix_sdk::{deserialized_responses::SyncTimelineEvent, locks::Mutex, Result}; use tokio_stream::StreamExt; use tracing::error; @@ -11,7 +11,7 @@ use super::{ RUNTIME, }; -type MsgStream = Pin> + Send>>; +type MsgStream = Pin> + Send>>; pub struct BackwardsStream { stream: Arc>, diff --git a/bindings/matrix-sdk-ffi/src/messages.rs b/bindings/matrix-sdk-ffi/src/messages.rs index 83e5881fa..216c801ee 100644 --- a/bindings/matrix-sdk-ffi/src/messages.rs +++ b/bindings/matrix-sdk-ffi/src/messages.rs @@ -5,7 +5,7 @@ pub use matrix_sdk::ruma::events::room::{ message::RoomMessageEventContent as MessageEventContent, MediaSource, }; use matrix_sdk::{ - deserialized_responses::SyncRoomEvent, + deserialized_responses::SyncTimelineEvent, ruma::events::{ room::{ message::{ImageMessageEventContent, MessageFormat, MessageType}, @@ -144,7 +144,7 @@ impl AnyMessage { } } -pub fn sync_event_to_message(sync_event: SyncRoomEvent) -> Option> { +pub fn sync_event_to_message(sync_event: SyncTimelineEvent) -> Option> { match sync_event.event.deserialize() { Ok(AnySyncTimelineEvent::MessageLike(AnySyncMessageLikeEvent::RoomMessage( SyncMessageLikeEvent::Original(m), diff --git a/crates/matrix-sdk-appservice/src/lib.rs b/crates/matrix-sdk-appservice/src/lib.rs index 81a9d15e4..f3265c8b3 100644 --- a/crates/matrix-sdk-appservice/src/lib.rs +++ b/crates/matrix-sdk-appservice/src/lib.rs @@ -609,7 +609,7 @@ mod tests { let uri = "/_matrix/app/v1/transactions/1?access_token=hs_token"; let mut transaction_builder = TransactionBuilder::new(); - transaction_builder.add_room_event(TimelineTestEvent::Member); + transaction_builder.add_timeline_event(TimelineTestEvent::Member); let transaction = transaction_builder.build_json_transaction(); let appservice = appservice(None, None).await?; @@ -634,7 +634,7 @@ mod tests { let uri = "/_matrix/app/v1/transactions/1?access_token=hs_token"; let mut transaction_builder = TransactionBuilder::new(); - transaction_builder.add_room_event(TimelineTestEvent::Member); + transaction_builder.add_timeline_event(TimelineTestEvent::Member); let transaction = transaction_builder.build_json_transaction(); let appservice = appservice(None, None).await?; @@ -740,8 +740,9 @@ mod tests { let uri = "/_matrix/app/v1/transactions/1?access_token=invalid_token"; let mut transaction_builder = TransactionBuilder::new(); - let transaction = - transaction_builder.add_room_event(TimelineTestEvent::Member).build_json_transaction(); + let transaction = transaction_builder + .add_timeline_event(TimelineTestEvent::Member) + .build_json_transaction(); let appservice = appservice(None, None).await?; @@ -765,7 +766,7 @@ mod tests { let uri = "/_matrix/app/v1/transactions/1"; let mut transaction_builder = TransactionBuilder::new(); - transaction_builder.add_room_event(TimelineTestEvent::Member); + transaction_builder.add_timeline_event(TimelineTestEvent::Member); let transaction = transaction_builder.build_json_transaction(); let appservice = appservice(None, None).await?; @@ -804,7 +805,7 @@ mod tests { let uri = "/_matrix/app/v1/transactions/1?access_token=hs_token"; let mut transaction_builder = TransactionBuilder::new(); - transaction_builder.add_room_event(TimelineTestEvent::Member); + transaction_builder.add_timeline_event(TimelineTestEvent::Member); let transaction = transaction_builder.build_json_transaction(); warp::test::request() @@ -852,11 +853,11 @@ mod tests { let uri_2 = "/sub_path/_matrix/app/v1/transactions/2?access_token=hs_token"; let mut transaction_builder = TransactionBuilder::new(); - transaction_builder.add_room_event(TimelineTestEvent::Member); + transaction_builder.add_timeline_event(TimelineTestEvent::Member); let transaction_1 = transaction_builder.build_json_transaction(); let mut transaction_builder = TransactionBuilder::new(); - transaction_builder.add_room_event(TimelineTestEvent::MemberNameChange); + transaction_builder.add_timeline_event(TimelineTestEvent::MemberNameChange); let transaction_2 = transaction_builder.build_json_transaction(); let appservice = appservice(None, None).await?; diff --git a/crates/matrix-sdk-base/src/client.rs b/crates/matrix-sdk-base/src/client.rs index af9d42cf2..a1afc8156 100644 --- a/crates/matrix-sdk-base/src/client.rs +++ b/crates/matrix-sdk-base/src/client.rs @@ -27,7 +27,7 @@ use matrix_sdk_common::deserialized_responses::TimelineSlice; use matrix_sdk_common::{ deserialized_responses::{ AmbiguityChanges, JoinedRoom, LeftRoom, MembersResponse, Rooms, SyncResponse, - SyncRoomEvent, Timeline, + SyncTimelineEvent, Timeline, }, instant::Instant, }; @@ -272,7 +272,7 @@ impl BaseClient { for event in ruma_timeline.events { #[allow(unused_mut)] - let mut event: SyncRoomEvent = event.into(); + let mut event: SyncTimelineEvent = event.into(); match event.event.deserialize() { Ok(e) => { diff --git a/crates/matrix-sdk-base/src/rooms/normal.rs b/crates/matrix-sdk-base/src/rooms/normal.rs index 1910dffba..6b511254f 100644 --- a/crates/matrix-sdk-base/src/rooms/normal.rs +++ b/crates/matrix-sdk-base/src/rooms/normal.rs @@ -54,7 +54,7 @@ use crate::{ }; #[cfg(feature = "experimental-timeline")] use crate::{ - deserialized_responses::{SyncRoomEvent, TimelineSlice}, + deserialized_responses::{SyncTimelineEvent, TimelineSlice}, timeline_stream::{TimelineStreamBackward, TimelineStreamError, TimelineStreamForward}, }; @@ -508,8 +508,8 @@ impl Room { pub async fn timeline( &self, ) -> StoreResult<( - impl Stream, - impl Stream>, + impl Stream, + impl Stream>, )> { // We need to hold the lock while we create the stream so that we don't lose new // sync responses @@ -544,7 +544,7 @@ impl Room { /// If you need also a backward stream you should use /// [`timeline`][`crate::Room::timeline`] #[cfg(feature = "experimental-timeline")] - pub async fn timeline_forward(&self) -> StoreResult> { + pub async fn timeline_forward(&self) -> StoreResult> { let mut forward_timeline_streams = self.forward_timeline_streams.lock().await; let event_ids = Arc::new(DashSet::new()); @@ -562,7 +562,7 @@ impl Room { #[cfg(feature = "experimental-timeline")] pub async fn timeline_backward( &self, - ) -> StoreResult>> { + ) -> StoreResult>> { let mut backward_timeline_streams = self.backward_timeline_streams.lock().await; let sync_token = self.store.get_sync_token().await?; let event_ids = Arc::new(DashSet::new()); diff --git a/crates/matrix-sdk-base/src/store/integration_tests.rs b/crates/matrix-sdk-base/src/store/integration_tests.rs index 304ab090c..9a6ccb74c 100644 --- a/crates/matrix-sdk-base/src/store/integration_tests.rs +++ b/crates/matrix-sdk-base/src/store/integration_tests.rs @@ -80,7 +80,7 @@ macro_rules! statestore_integration_tests { #[cfg(feature = "experimental-timeline")] use $crate::{ http::Response, - deserialized_responses::{ RoomEvent, SyncRoomEvent, TimelineSlice}, + deserialized_responses::{SyncTimelineEvent, TimelineEvent, TimelineSlice}, }; use $crate::{ media::{MediaFormat, MediaRequest, MediaThumbnailSize}, @@ -642,7 +642,7 @@ macro_rules! statestore_integration_tests { .unwrap(); let timeline = &sync.rooms.join[room_id].timeline; - let events: Vec = timeline.events.iter().cloned().map(Into::into).collect(); + let events: Vec = timeline.events.iter().cloned().map(Into::into).collect(); stored_events.extend(events.iter().rev().cloned()); @@ -664,15 +664,15 @@ macro_rules! statestore_integration_tests { let messages = MessageResponse::try_from_http_response( Response::builder() .body(serde_json::to_vec(&*test_json::ROOM_MESSAGES_BATCH_1).expect("Parsing ROOM_MESSAGES_BATCH_1 failed")) - .unwrap(), + .unwrap(), ) .unwrap(); - let events: Vec = messages + let events: Vec = messages .chunk .iter() .cloned() - .map(|event| RoomEvent { event, encryption_info: None }.into()) + .map(|event| TimelineEvent { event, encryption_info: None }.into()) .collect(); stored_events.append(&mut events.clone()); @@ -693,11 +693,11 @@ macro_rules! statestore_integration_tests { ) .unwrap(); - let events: Vec = messages + let events: Vec = messages .chunk .iter() .cloned() - .map(|event| RoomEvent { event, encryption_info: None }.into()) + .map(|event| TimelineEvent { event, encryption_info: None }.into()) .collect(); stored_events.append(&mut events.clone()); @@ -719,7 +719,7 @@ macro_rules! statestore_integration_tests { .unwrap(); let timeline = &sync.rooms.join[room_id].timeline; - let events: Vec = timeline.events.iter().cloned().map(Into::into).collect(); + let events: Vec = timeline.events.iter().cloned().map(Into::into).collect(); let prev_stored_events = stored_events; stored_events = events.iter().rev().cloned().collect(); @@ -758,14 +758,14 @@ macro_rules! statestore_integration_tests { async fn check_timeline_events( room_id: &RoomId, store: &dyn StateStore, - stored_events: &[SyncRoomEvent], + stored_events: &[SyncTimelineEvent], expected_end_token: Option<&str>, ) { let (timeline_iter, end_token) = store.room_timeline(room_id).await.unwrap().unwrap(); assert_eq!(end_token.as_deref(), expected_end_token); - let timeline = timeline_iter.collect::>>().await; + let timeline = timeline_iter.collect::>>().await; let expected: Vec = stored_events.iter().map(|a| a.event_id().expect("event id doesn't exist")).collect(); let found: Vec = timeline.iter().map(|a| a.as_ref().expect("object missing").event_id().clone().expect("event id missing")).collect(); diff --git a/crates/matrix-sdk-base/src/store/memory_store.rs b/crates/matrix-sdk-base/src/store/memory_store.rs index 90c9869a5..b6a952176 100644 --- a/crates/matrix-sdk-base/src/store/memory_store.rs +++ b/crates/matrix-sdk-base/src/store/memory_store.rs @@ -56,7 +56,7 @@ use crate::{ MinimalRoomMemberEvent, }; #[cfg(feature = "experimental-timeline")] -use crate::{deserialized_responses::SyncRoomEvent, StoreError}; +use crate::{deserialized_responses::SyncTimelineEvent, StoreError}; /// In-Memory, non-persistent implementation of the `StateStore` /// @@ -671,7 +671,7 @@ impl MemoryStore { async fn room_timeline( &self, room_id: &RoomId, - ) -> Result>, Option)>> { + ) -> Result>, Option)>> { let (events, end_token) = if let Some(data) = self.room_timeline.get(room_id) { (data.events.clone(), data.end.clone()) } else { @@ -852,7 +852,7 @@ impl StateStore for MemoryStore { async fn room_timeline( &self, room_id: &RoomId, - ) -> Result>, Option)>> { + ) -> Result>, Option)>> { self.room_timeline(room_id).await } } @@ -864,7 +864,7 @@ struct TimelineData { pub start_position: isize, pub end: Option, pub end_position: isize, - pub events: BTreeMap, + pub events: BTreeMap, pub event_id_to_position: HashMap, } diff --git a/crates/matrix-sdk-base/src/store/mod.rs b/crates/matrix-sdk-base/src/store/mod.rs index 926a608cc..49b85c93d 100644 --- a/crates/matrix-sdk-base/src/store/mod.rs +++ b/crates/matrix-sdk-base/src/store/mod.rs @@ -61,7 +61,7 @@ use ruma::{ pub type BoxStream = Pin + Send>>; #[cfg(feature = "experimental-timeline")] -use crate::deserialized_responses::{SyncRoomEvent, TimelineSlice}; +use crate::deserialized_responses::{SyncTimelineEvent, TimelineSlice}; use crate::{ deserialized_responses::MemberEvent, media::MediaRequest, @@ -376,7 +376,7 @@ pub trait StateStore: AsyncTraitDeps { async fn room_timeline( &self, room_id: &RoomId, - ) -> Result>, Option)>>; + ) -> Result>, Option)>>; } /// Convenience functionality for state stores. diff --git a/crates/matrix-sdk-base/src/timeline_stream.rs b/crates/matrix-sdk-base/src/timeline_stream.rs index b9fe31ea0..b06eeb712 100644 --- a/crates/matrix-sdk-base/src/timeline_stream.rs +++ b/crates/matrix-sdk-base/src/timeline_stream.rs @@ -11,7 +11,7 @@ use thiserror::Error; use tracing::trace; use crate::{ - deserialized_responses::{SyncRoomEvent, TimelineSlice}, + deserialized_responses::{SyncTimelineEvent, TimelineSlice}, store::Result, }; @@ -35,8 +35,8 @@ pub enum TimelineStreamError { /// A `Stream` of timeline of a room pub struct TimelineStreamBackward<'a> { receiver: mpsc::Receiver, - stored_events: Option>>, - pending: Vec, + stored_events: Option>>, + pending: Vec, event_ids: Arc>, token: Option, } @@ -74,7 +74,7 @@ impl<'a> TimelineStreamBackward<'a> { pub(crate) fn new( event_ids: Arc>, token: Option, - stored_events: Option>>, + stored_events: Option>>, ) -> (Self, mpsc::Sender) { let (sender, receiver) = mpsc::channel(CHANNEL_LIMIT); let self_ = Self { event_ids, pending: Vec::new(), stored_events, token, receiver }; @@ -85,7 +85,7 @@ impl<'a> TimelineStreamBackward<'a> { fn handle_new_slice( &mut self, slice: TimelineSlice, - ) -> Poll>> { + ) -> Poll>> { // Check if this is the batch we are expecting if self.token.is_some() && self.token != Some(slice.start) { trace!("Store received a timeline batch that wasn't expected"); @@ -123,7 +123,7 @@ impl<'a> TimelineStreamBackward<'a> { } impl<'a> Stream for TimelineStreamBackward<'a> { - type Item = Result; + type Item = Result; fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { let this = self.get_mut(); if let Some(stored_events) = &mut this.stored_events { @@ -168,7 +168,7 @@ impl<'a> Stream for TimelineStreamBackward<'a> { /// A `Stream` of timeline of a room pub struct TimelineStreamForward { receiver: mpsc::Receiver, - pending: Vec, + pending: Vec, event_ids: Arc>, } @@ -204,7 +204,7 @@ impl TimelineStreamForward { (self_, sender) } - fn handle_new_slice(&mut self, slice: TimelineSlice) -> Poll> { + fn handle_new_slice(&mut self, slice: TimelineSlice) -> Poll> { // There is a gap in the timeline. Therefore, terminate the stream. if slice.limited { return Poll::Ready(None); @@ -226,7 +226,7 @@ impl TimelineStreamForward { } impl Stream for TimelineStreamForward { - type Item = SyncRoomEvent; + type Item = SyncTimelineEvent; fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll> { let this = self.get_mut(); diff --git a/crates/matrix-sdk-common/src/deserialized_responses.rs b/crates/matrix-sdk-common/src/deserialized_responses.rs index e00746429..9cd5f21f9 100644 --- a/crates/matrix-sdk-common/src/deserialized_responses.rs +++ b/crates/matrix-sdk-common/src/deserialized_responses.rs @@ -94,7 +94,7 @@ pub struct EncryptionInfo { /// A customized version of a room event coming from a sync that holds optional /// encryption info. #[derive(Clone, Debug, Deserialize, Serialize)] -pub struct SyncRoomEvent { +pub struct SyncTimelineEvent { /// The actual event. pub event: Raw, /// The encryption info about the event. Will be `None` if the event was not @@ -102,25 +102,26 @@ pub struct SyncRoomEvent { pub encryption_info: Option, } -impl SyncRoomEvent { - /// Get the event id of this `SyncRoomEvent` if the event has any valid id. +impl SyncTimelineEvent { + /// Get the event id of this `SyncTimelineEvent` if the event has any valid + /// id. pub fn event_id(&self) -> Option { self.event.get_field::("event_id").ok().flatten() } } -impl From> for SyncRoomEvent { +impl From> for SyncTimelineEvent { fn from(inner: Raw) -> Self { Self { encryption_info: None, event: inner } } } -impl From for SyncRoomEvent { - fn from(o: RoomEvent) -> Self { - // This conversion is unproblematic since a SyncRoomEvent is just a - // RoomEvent without the room_id. By converting the raw value in this - // way, we simply cause the `room_id` field in the json to be ignored by - // a subsequent deserialization. +impl From for SyncTimelineEvent { + fn from(o: TimelineEvent) -> Self { + // This conversion is unproblematic since a SyncTimelineEvent is just a + // TimelineEvent without the room_id. By converting the raw value in + // this way, we simply cause the `room_id` field in the json to be + // ignored by a subsequent deserialization. Self { encryption_info: o.encryption_info, event: o.event.cast() } } } @@ -158,7 +159,7 @@ impl SyncResponse { } #[derive(Clone, Debug)] -pub struct RoomEvent { +pub struct TimelineEvent { /// The actual event. pub event: Raw, /// The encryption info about the event. Will be `None` if the event was not @@ -258,7 +259,7 @@ pub struct Timeline { pub prev_batch: Option, /// A list of events. - pub events: Vec, + pub events: Vec, } impl Timeline { @@ -282,7 +283,7 @@ pub struct TimelineSlice { pub limited: bool, /// A list of events. - pub events: Vec, + pub events: Vec, /// Whether this is a timeline slice obtained from a `SyncResponse` pub sync: bool, @@ -290,7 +291,7 @@ pub struct TimelineSlice { impl TimelineSlice { pub fn new( - events: Vec, + events: Vec, start: String, end: Option, limited: bool, @@ -379,7 +380,7 @@ mod tests { user_id, MilliSecondsSinceUnixEpoch, }; - use super::{RoomEvent, SyncRoomEvent}; + use super::{SyncTimelineEvent, TimelineEvent}; #[test] fn room_event_to_sync_room_event() { @@ -395,9 +396,9 @@ mod tests { }; let room_event = - RoomEvent { event: Raw::new(&event).unwrap().cast(), encryption_info: None }; + TimelineEvent { event: Raw::new(&event).unwrap().cast(), encryption_info: None }; - let converted_room_event: SyncRoomEvent = room_event.into(); + let converted_room_event: SyncTimelineEvent = room_event.into(); let converted_event: AnySyncTimelineEvent = converted_room_event.event.deserialize().unwrap(); diff --git a/crates/matrix-sdk-crypto/src/machine.rs b/crates/matrix-sdk-crypto/src/machine.rs index a2d523434..1d27ecc72 100644 --- a/crates/matrix-sdk-crypto/src/machine.rs +++ b/crates/matrix-sdk-crypto/src/machine.rs @@ -20,7 +20,7 @@ use std::{ use dashmap::DashMap; use matrix_sdk_common::{ - deserialized_responses::{AlgorithmInfo, EncryptionInfo, RoomEvent, VerificationState}, + deserialized_responses::{AlgorithmInfo, EncryptionInfo, TimelineEvent, VerificationState}, locks::Mutex, }; use ruma::{ @@ -1052,7 +1052,7 @@ impl OlmMachine { room_id: &RoomId, event: &EncryptedEvent, content: &SupportedEventEncryptionSchemes<'_>, - ) -> MegolmResult { + ) -> MegolmResult { if let Some(session) = self .store .get_inbound_group_session( @@ -1105,7 +1105,7 @@ impl OlmMachine { ) .await?; - Ok(RoomEvent { encryption_info: Some(encryption_info), event: decrypted_event }) + Ok(TimelineEvent { encryption_info: Some(encryption_info), event: decrypted_event }) } else { self.key_request_machine .create_outgoing_key_request( @@ -1132,7 +1132,7 @@ impl OlmMachine { &self, event: &Raw, room_id: &RoomId, - ) -> MegolmResult { + ) -> MegolmResult { let event = event.deserialize()?; let content = match &event.content.scheme { diff --git a/crates/matrix-sdk-indexeddb/src/state_store.rs b/crates/matrix-sdk-indexeddb/src/state_store.rs index e7962f7f5..90dbbb849 100644 --- a/crates/matrix-sdk-indexeddb/src/state_store.rs +++ b/crates/matrix-sdk-indexeddb/src/state_store.rs @@ -34,7 +34,7 @@ use matrix_sdk_base::{ MinimalStateEvent, RoomInfo, }; #[cfg(feature = "experimental-timeline")] -use matrix_sdk_base::{deserialized_responses::SyncRoomEvent, store::BoxStream}; +use matrix_sdk_base::{deserialized_responses::SyncTimelineEvent, store::BoxStream}; use matrix_sdk_store_encryption::{Error as EncryptionError, StoreCipher}; #[cfg(feature = "experimental-timeline")] use ruma::{ @@ -976,7 +976,7 @@ impl IndexeddbStateStore { .get(&position_key)? .await? .map(|e| { - self.deserialize_event::(e) + self.deserialize_event::(e) .map_err(StoreError::from) }) .transpose()? @@ -1440,7 +1440,7 @@ impl IndexeddbStateStore { async fn room_timeline( &self, room_id: &RoomId, - ) -> Result>, Option)>> { + ) -> Result>, Option)>> { let tx = self.inner.transaction_on_multi_with_mode( &[KEYS::ROOM_TIMELINE, KEYS::ROOM_TIMELINE_METADATA], IdbTransactionMode::Readonly, @@ -1463,7 +1463,7 @@ impl IndexeddbStateStore { let end_token = tlm.end; #[allow(clippy::needless_collect)] - let timeline: Vec> = timeline + let timeline: Vec> = timeline .get_all_with_key(&self.encode_to_range(KEYS::ROOM_TIMELINE, room_id)?)? .await? .iter() @@ -1644,7 +1644,7 @@ impl StateStore for IndexeddbStateStore { async fn room_timeline( &self, room_id: &RoomId, - ) -> StoreResult>, Option)>> { + ) -> StoreResult>, Option)>> { self.room_timeline(room_id).await.map_err(|e| e.into()) } } diff --git a/crates/matrix-sdk-sled/src/state_store.rs b/crates/matrix-sdk-sled/src/state_store.rs index d3c2b2af5..c13d7bdc0 100644 --- a/crates/matrix-sdk-sled/src/state_store.rs +++ b/crates/matrix-sdk-sled/src/state_store.rs @@ -32,7 +32,7 @@ use matrix_sdk_base::{ MinimalStateEvent, RoomInfo, }; #[cfg(feature = "experimental-timeline")] -use matrix_sdk_base::{deserialized_responses::SyncRoomEvent, store::BoxStream}; +use matrix_sdk_base::{deserialized_responses::SyncTimelineEvent, store::BoxStream}; use matrix_sdk_store_encryption::{Error as KeyEncryptionError, StoreCipher}; #[cfg(feature = "experimental-timeline")] use ruma::{ @@ -1296,7 +1296,7 @@ impl SledStateStore { async fn room_timeline( &self, room_id: &RoomId, - ) -> Result>, Option)>> { + ) -> Result>, Option)>> { let db = self.clone(); let key = self.encode_key(TIMELINE_METADATA, room_id); let metadata: Option = db @@ -1469,7 +1469,7 @@ impl SledStateStore { .room_timeline .get(position_key.as_ref())? .map(|e| { - self.deserialize_value::(&e) + self.deserialize_value::(&e) .map_err(SledStoreError::from) }) .transpose()? @@ -1711,7 +1711,7 @@ impl StateStore for SledStateStore { async fn room_timeline( &self, room_id: &RoomId, - ) -> StoreResult>, Option)>> { + ) -> StoreResult>, Option)>> { self.room_timeline(room_id).await.map_err(|e| e.into()) } } diff --git a/crates/matrix-sdk/src/event_handler/mod.rs b/crates/matrix-sdk/src/event_handler/mod.rs index d6652dad0..4602e61e5 100644 --- a/crates/matrix-sdk/src/event_handler/mod.rs +++ b/crates/matrix-sdk/src/event_handler/mod.rs @@ -46,7 +46,7 @@ use std::{ use anymap2::any::CloneAnySendSync; use matrix_sdk_base::{ - deserialized_responses::{EncryptionInfo, SyncRoomEvent}, + deserialized_responses::{EncryptionInfo, SyncTimelineEvent}, SendOutsideWasm, SyncOutsideWasm, }; use ruma::{events::AnySyncStateEvent, serde::Raw, OwnedRoomId}; @@ -366,7 +366,7 @@ impl Client { pub(crate) async fn handle_sync_timeline_events( &self, room: &Option, - timeline_events: &[SyncRoomEvent], + timeline_events: &[SyncTimelineEvent], ) -> serde_json::Result<()> { #[derive(Deserialize)] struct TimelineEventDetails<'a> { diff --git a/crates/matrix-sdk/src/room/common.rs b/crates/matrix-sdk/src/room/common.rs index f67d5282c..5ac900590 100644 --- a/crates/matrix-sdk/src/room/common.rs +++ b/crates/matrix-sdk/src/room/common.rs @@ -5,12 +5,12 @@ use futures_channel::mpsc; use futures_core::stream::Stream; use futures_util::{SinkExt, TryStreamExt}; use matrix_sdk_base::{ - deserialized_responses::{MembersResponse, RoomEvent}, + deserialized_responses::{MembersResponse, TimelineEvent}, store::StateStoreExt, }; #[cfg(feature = "experimental-timeline")] use matrix_sdk_base::{ - deserialized_responses::{SyncRoomEvent, TimelineSlice}, + deserialized_responses::{SyncTimelineEvent, TimelineSlice}, TimelineStreamError, }; use matrix_sdk_common::locks::Mutex; @@ -87,7 +87,7 @@ pub struct Messages { pub end: Option, /// A list of room events. - pub chunk: Vec, + pub chunk: Vec, /// A list of state events relevant to showing the `chunk`. pub state: Vec>, @@ -245,7 +245,7 @@ impl Common { chunk: http_response .chunk .into_iter() - .map(|event| RoomEvent { event, encryption_info: None }) + .map(|event| TimelineEvent { event, encryption_info: None }) .collect(), #[cfg(feature = "e2e-encryption")] chunk: Vec::with_capacity(http_response.chunk.len()), @@ -262,10 +262,10 @@ impl Common { if let Ok(event) = machine.decrypt_room_event(event.cast_ref(), room_id).await { event } else { - RoomEvent { event, encryption_info: None } + TimelineEvent { event, encryption_info: None } } } else { - RoomEvent { event, encryption_info: None } + TimelineEvent { event, encryption_info: None } }; response.chunk.push(decrypted_event); @@ -275,7 +275,7 @@ impl Common { http_response .chunk .into_iter() - .map(|event| RoomEvent { event, encryption_info: None }), + .map(|event| TimelineEvent { event, encryption_info: None }), ); } @@ -369,8 +369,10 @@ impl Common { #[cfg(feature = "experimental-timeline")] pub async fn timeline( &self, - ) -> Result<(impl Stream, impl Stream>)> - { + ) -> Result<( + impl Stream, + impl Stream>, + )> { let (forward_store, backward_store) = self.inner.timeline().await?; let room = self.to_owned(); @@ -438,7 +440,7 @@ impl Common { /// # }); /// ``` #[cfg(feature = "experimental-timeline")] - pub async fn timeline_forward(&self) -> Result> { + pub async fn timeline_forward(&self) -> Result> { Ok(self.inner.timeline_forward().await?) } @@ -502,7 +504,7 @@ impl Common { /// # }); /// ``` #[cfg(feature = "experimental-timeline")] - pub async fn timeline_backward(&self) -> Result>> { + pub async fn timeline_backward(&self) -> Result>> { let backward_store = self.inner.timeline_backward().await?; let room = self.to_owned(); @@ -535,7 +537,7 @@ impl Common { }); let messages = self.messages(options).await?; let timeline = TimelineSlice::new( - messages.chunk.into_iter().map(SyncRoomEvent::from).collect(), + messages.chunk.into_iter().map(SyncTimelineEvent::from).collect(), messages.start, messages.end, false, @@ -549,7 +551,7 @@ impl Common { } /// Fetch the event with the given `EventId` in this room. - pub async fn event(&self, event_id: &EventId) -> Result { + pub async fn event(&self, event_id: &EventId) -> Result { let request = get_room_event::v3::Request::new(self.room_id(), event_id); let event = self.client.send(request, None).await?.event; @@ -563,11 +565,11 @@ impl Common { return Ok(event); } } - Ok(RoomEvent { event, encryption_info: None }) + Ok(TimelineEvent { event, encryption_info: None }) } #[cfg(not(feature = "e2e-encryption"))] - Ok(RoomEvent { event, encryption_info: None }) + Ok(TimelineEvent { event, encryption_info: None }) } pub(crate) async fn request_members(&self) -> Result> { @@ -1031,7 +1033,7 @@ impl Common { pub async fn decrypt_event( &self, event: &Raw, - ) -> Result { + ) -> Result { if let Some(machine) = self.client.olm_machine() { Ok(machine.decrypt_room_event(event.cast_ref(), self.inner.room_id()).await?) } else { diff --git a/crates/matrix-sdk/tests/integration/room/common.rs b/crates/matrix-sdk/tests/integration/room/common.rs index ac855e524..563ca73bb 100644 --- a/crates/matrix-sdk/tests/integration/room/common.rs +++ b/crates/matrix-sdk/tests/integration/room/common.rs @@ -179,7 +179,7 @@ async fn test_state_event_getting() { #[cfg(feature = "experimental-timeline")] async fn room_timeline_with_remove() { use futures_util::StreamExt; - use matrix_sdk::deserialized_responses::SyncRoomEvent; + use matrix_sdk::deserialized_responses::SyncTimelineEvent; use wiremock::matchers::query_param; let (client, server) = logged_in_client().await; @@ -245,8 +245,10 @@ async fn room_timeline_with_remove() { "$098237280074GZeOm2:localhost", ]; - let forward_events = - forward_stream.take(expected_forward_events.len()).collect::>().await; + let forward_events = forward_stream + .take(expected_forward_events.len()) + .collect::>() + .await; for (r, e) in forward_events.into_iter().zip(expected_forward_events.iter()) { assert_eq!(&r.event_id().unwrap().as_str(), e); @@ -264,7 +266,7 @@ async fn room_timeline_with_remove() { let backward_events = backward_stream .take(expected_backwards_events.len()) - .collect::>>() + .collect::>>() .await; for (r, e) in backward_events.into_iter().zip(expected_backwards_events.iter()) { @@ -276,7 +278,7 @@ async fn room_timeline_with_remove() { #[cfg(feature = "experimental-timeline")] async fn room_timeline() { use futures_util::StreamExt; - use matrix_sdk::deserialized_responses::SyncRoomEvent; + use matrix_sdk::deserialized_responses::SyncTimelineEvent; use wiremock::matchers::query_param; let (client, server) = logged_in_client().await; @@ -325,8 +327,10 @@ async fn room_timeline() { "$098237280074GZeOm2:localhost", ]; - let forward_events = - forward_stream.take(expected_forward_events.len()).collect::>().await; + let forward_events = forward_stream + .take(expected_forward_events.len()) + .collect::>() + .await; for (r, e) in forward_events.into_iter().zip(expected_forward_events.iter()) { assert_eq!(&r.event_id().unwrap().as_str(), e); @@ -354,7 +358,7 @@ async fn room_timeline() { let backward_events = backward_stream .take(expected_backwards_events.len()) - .collect::>>() + .collect::>>() .await; for (r, e) in backward_events.into_iter().zip(expected_backwards_events.iter()) { diff --git a/testing/matrix-sdk-test/src/appservice.rs b/testing/matrix-sdk-test/src/appservice.rs index 83df31df5..46e6e02dc 100644 --- a/testing/matrix-sdk-test/src/appservice.rs +++ b/testing/matrix-sdk-test/src/appservice.rs @@ -28,7 +28,7 @@ impl TransactionBuilder { } /// Add a room event. - pub fn add_room_event(&mut self, event: TimelineTestEvent) -> &mut Self { + pub fn add_timeline_event(&mut self, event: TimelineTestEvent) -> &mut Self { let mut val = event.into_json_value(); value_with_room_id(&mut val);