diff --git a/crates/matrix-sdk/src/room/timeline/builder.rs b/crates/matrix-sdk/src/room/timeline/builder.rs index f22a23fb4..13073766e 100644 --- a/crates/matrix-sdk/src/room/timeline/builder.rs +++ b/crates/matrix-sdk/src/room/timeline/builder.rs @@ -25,11 +25,9 @@ use ruma::events::{ }; use tracing::error; -use super::{ - inner::TimelineInner, - to_device::{handle_forwarded_room_key_event, handle_room_key_event}, - Timeline, TimelineEventHandlerHandles, -}; +#[cfg(feature = "e2e-encryption")] +use super::to_device::{handle_forwarded_room_key_event, handle_room_key_event}; +use super::{inner::TimelineInner, Timeline, TimelineEventHandlerHandles}; use crate::room; /// Builder that allows creating and configuring various parts of a diff --git a/crates/matrix-sdk/src/room/timeline/event_handler.rs b/crates/matrix-sdk/src/room/timeline/event_handler.rs index 76722ab48..411e8e865 100644 --- a/crates/matrix-sdk/src/room/timeline/event_handler.rs +++ b/crates/matrix-sdk/src/room/timeline/event_handler.rs @@ -185,6 +185,7 @@ pub(super) enum TimelineItemPosition { #[derive(Default)] pub(super) struct HandleEventResult { pub(super) item_added: bool, + #[cfg(feature = "e2e-encryption")] pub(super) item_removed: bool, pub(super) items_updated: u16, } @@ -325,6 +326,8 @@ impl<'a> TimelineEventHandler<'a> { if !self.result.item_added { trace!("No new item added"); + + #[cfg(feature = "e2e-encryption")] if let Flow::Remote { position: TimelineItemPosition::Update(idx), .. } = self.flow { // If add was not called, that means the UTD event is one that // wouldn't normally be visible. Remove it. diff --git a/crates/matrix-sdk/src/room/timeline/inner.rs b/crates/matrix-sdk/src/room/timeline/inner.rs index c73f968c4..b5e43af2b 100644 --- a/crates/matrix-sdk/src/room/timeline/inner.rs +++ b/crates/matrix-sdk/src/room/timeline/inner.rs @@ -12,20 +12,22 @@ // See the License for the specific language governing permissions and // limitations under the License. -use std::{ - collections::{BTreeSet, HashMap}, - sync::Arc, -}; +#[cfg(feature = "e2e-encryption")] +use std::collections::BTreeSet; +use std::{collections::HashMap, sync::Arc}; use async_trait::async_trait; use eyeball_im::{ObservableVector, VectorSubscriber}; use im::Vector; use indexmap::{IndexMap, IndexSet}; +#[cfg(feature = "e2e-encryption")] +use matrix_sdk_base::crypto::OlmMachine; use matrix_sdk_base::{ - crypto::OlmMachine, deserialized_responses::{EncryptionInfo, SyncTimelineEvent, TimelineEvent}, locks::{Mutex, MutexGuard}, }; +#[cfg(feature = "e2e-encryption")] +use ruma::RoomId; use ruma::{ events::{ fully_read::FullyReadEvent, @@ -34,16 +36,12 @@ use ruma::{ AnyMessageLikeEventContent, AnySyncTimelineEvent, }, serde::Raw, - EventId, MilliSecondsSinceUnixEpoch, OwnedEventId, OwnedTransactionId, OwnedUserId, RoomId, + EventId, MilliSecondsSinceUnixEpoch, OwnedEventId, OwnedTransactionId, OwnedUserId, TransactionId, UserId, }; -use tracing::{ - debug, error, - field::{self, debug}, - info, info_span, warn, Instrument as _, -}; +use tracing::{debug, error, field::debug, instrument, trace, warn}; #[cfg(feature = "e2e-encryption")] -use tracing::{instrument, trace}; +use tracing::{field, info, info_span, Instrument as _}; use super::{ event_handler::{ diff --git a/crates/matrix-sdk/src/room/timeline/tests/mod.rs b/crates/matrix-sdk/src/room/timeline/tests/mod.rs index 45f125da8..15e9bb717 100644 --- a/crates/matrix-sdk/src/room/timeline/tests/mod.rs +++ b/crates/matrix-sdk/src/room/timeline/tests/mod.rs @@ -45,6 +45,7 @@ use super::{inner::RoomDataProvider, Profile, TimelineInner, TimelineItem}; mod basic; mod echo; +#[cfg(feature = "e2e-encryption")] mod encryption; mod invalid; mod read_receipts; diff --git a/xtask/src/ci.rs b/xtask/src/ci.rs index 29e228469..65f264b16 100644 --- a/xtask/src/ci.rs +++ b/xtask/src/ci.rs @@ -191,7 +191,10 @@ fn check_docs() -> Result<()> { fn run_feature_tests(cmd: Option) -> Result<()> { let args = BTreeMap::from([ - (FeatureSet::NoEncryption, "--no-default-features --features sled,native-tls"), + ( + FeatureSet::NoEncryption, + "--no-default-features --features sled,native-tls,experimental-sliding-sync", + ), (FeatureSet::NoSled, "--no-default-features --features e2e-encryption,native-tls"), (FeatureSet::NoEncryptionAndSled, "--no-default-features --features native-tls"), (