diff --git a/crates/matrix-sdk-base/Changelog.md b/crates/matrix-sdk-base/Changelog.md index 152d680d2..2e3c70628 100644 --- a/crates/matrix-sdk-base/Changelog.md +++ b/crates/matrix-sdk-base/Changelog.md @@ -21,6 +21,8 @@ - `can_send_state` - `can_trigger_room_notification` - Move `StateStore::get_member_event` to `StateStoreExt` +- `StateStore::get_stripped_room_infos` is deprecated. All room infos should now be returned by + `get_room_infos`. ## 0.5.1 diff --git a/crates/matrix-sdk-base/src/store/integration_tests.rs b/crates/matrix-sdk-base/src/store/integration_tests.rs index 07399eb2b..d73ac5066 100644 --- a/crates/matrix-sdk-base/src/store/integration_tests.rs +++ b/crates/matrix-sdk-base/src/store/integration_tests.rs @@ -307,11 +307,9 @@ impl StateStoreIntegrationTests for DynStateStore { assert!(self.get_kv_data(StateStoreDataKey::SyncToken).await?.is_some()); assert!(self.get_presence_event(user_id).await?.is_some()); assert_eq!(self.get_room_infos().await?.len(), 2, "Expected to find 2 room infos"); - assert_eq!( - self.get_stripped_room_infos().await?.len(), - 1, - "Expected to find 1 stripped room info" - ); + #[allow(deprecated)] + let stripped_rooms = self.get_stripped_room_infos().await?; + assert_eq!(stripped_rooms.len(), 1, "Expected to find 1 stripped room info"); assert!(self .get_account_data_event(GlobalAccountDataEventType::PushRules) .await? @@ -740,7 +738,9 @@ impl StateStoreIntegrationTests for DynStateStore { async fn test_persist_invited_room(&self) -> Result<()> { self.populate().await?; - assert_eq!(self.get_stripped_room_infos().await?.len(), 1); + #[allow(deprecated)] + let stripped_rooms = self.get_stripped_room_infos().await?; + assert_eq!(stripped_rooms.len(), 1); Ok(()) } @@ -751,7 +751,9 @@ impl StateStoreIntegrationTests for DynStateStore { assert!(self.get_member_event(room_id, user_id).await.unwrap().is_none()); assert_eq!(self.get_room_infos().await.unwrap().len(), 0); - assert_eq!(self.get_stripped_room_infos().await.unwrap().len(), 0); + #[allow(deprecated)] + let stripped_rooms = self.get_stripped_room_infos().await?; + assert_eq!(stripped_rooms.len(), 0); let mut changes = StateChanges::default(); changes @@ -768,7 +770,9 @@ impl StateStoreIntegrationTests for DynStateStore { self.get_member_event(room_id, user_id).await.unwrap().unwrap().deserialize().unwrap(); assert!(matches!(member_event, MemberEvent::Sync(_))); assert_eq!(self.get_room_infos().await.unwrap().len(), 1); - assert_eq!(self.get_stripped_room_infos().await.unwrap().len(), 0); + #[allow(deprecated)] + let stripped_rooms = self.get_stripped_room_infos().await?; + assert_eq!(stripped_rooms.len(), 0); let members = self.get_user_ids(room_id, RoomMemberships::empty()).await.unwrap(); assert_eq!(members, vec![user_id.to_owned()]); @@ -782,7 +786,9 @@ impl StateStoreIntegrationTests for DynStateStore { self.get_member_event(room_id, user_id).await.unwrap().unwrap().deserialize().unwrap(); assert!(matches!(member_event, MemberEvent::Stripped(_))); assert_eq!(self.get_room_infos().await.unwrap().len(), 1); - assert_eq!(self.get_stripped_room_infos().await.unwrap().len(), 1); + #[allow(deprecated)] + let stripped_rooms = self.get_stripped_room_infos().await?; + assert_eq!(stripped_rooms.len(), 1); let members = self.get_user_ids(room_id, RoomMemberships::empty()).await.unwrap(); assert_eq!(members, vec![user_id.to_owned()]); @@ -800,7 +806,9 @@ impl StateStoreIntegrationTests for DynStateStore { self.remove_room(room_id).await?; assert_eq!(self.get_room_infos().await?.len(), 1, "room is still there"); - assert_eq!(self.get_stripped_room_infos().await?.len(), 1); + #[allow(deprecated)] + let stripped_rooms = self.get_stripped_room_infos().await?; + assert_eq!(stripped_rooms.len(), 1); assert!(self.get_state_event(room_id, StateEventType::RoomName, "").await?.is_none()); assert!( @@ -853,7 +861,9 @@ impl StateStoreIntegrationTests for DynStateStore { self.remove_room(stripped_room_id).await?; assert!(self.get_room_infos().await?.is_empty(), "still room info found"); - assert!(self.get_stripped_room_infos().await?.is_empty(), "still stripped room info found"); + #[allow(deprecated)] + let stripped_rooms = self.get_stripped_room_infos().await?; + assert!(stripped_rooms.is_empty(), "still stripped room info found"); Ok(()) } } diff --git a/crates/matrix-sdk-base/src/store/traits.rs b/crates/matrix-sdk-base/src/store/traits.rs index 86bc870e1..375e5f6e1 100644 --- a/crates/matrix-sdk-base/src/store/traits.rs +++ b/crates/matrix-sdk-base/src/store/traits.rs @@ -153,6 +153,7 @@ pub trait StateStore: AsyncTraitDeps { async fn get_room_infos(&self) -> Result, Self::Error>; /// Get all the pure `RoomInfo`s the store knows about. + #[deprecated = "Use get_room_infos instead and filter by RoomState"] async fn get_stripped_room_infos(&self) -> Result, Self::Error>; /// Get all the users that use the given display name in the given room. @@ -400,6 +401,7 @@ impl StateStore for EraseStateStoreError { self.0.get_room_infos().await.map_err(Into::into) } + #[allow(deprecated)] async fn get_stripped_room_infos(&self) -> Result, Self::Error> { self.0.get_stripped_room_infos().await.map_err(Into::into) } diff --git a/crates/matrix-sdk-sqlite/src/state_store.rs b/crates/matrix-sdk-sqlite/src/state_store.rs index cde2d96eb..4a5cb2485 100644 --- a/crates/matrix-sdk-sqlite/src/state_store.rs +++ b/crates/matrix-sdk-sqlite/src/state_store.rs @@ -1522,6 +1522,8 @@ mod migration_tests { // Check all room infos are there. assert_eq!(store.get_room_infos().await.unwrap().len(), 5); - assert_eq!(store.get_stripped_room_infos().await.unwrap().len(), 2); + #[allow(deprecated)] + let stripped_rooms = store.get_stripped_room_infos().await.unwrap(); + assert_eq!(stripped_rooms.len(), 2); } }