diff --git a/crates/matrix-sdk-ui/src/timeline/controller/metadata.rs b/crates/matrix-sdk-ui/src/timeline/controller/metadata.rs index d179164a9..0957dc291 100644 --- a/crates/matrix-sdk-ui/src/timeline/controller/metadata.rs +++ b/crates/matrix-sdk-ui/src/timeline/controller/metadata.rs @@ -20,7 +20,8 @@ use tracing::trace; use super::{ super::{ - reactions::Reactions, rfind_event_by_id, TimelineItem, TimelineItemKind, TimelineUniqueId, + reactions::Reactions, rfind_event_by_id, subscriber::skip::SkipCount, TimelineItem, + TimelineItemKind, TimelineUniqueId, }, read_receipts::ReadReceipts, state::PendingPollEvents, @@ -37,6 +38,8 @@ pub(in crate::timeline) struct TimelineMetadata { /// This value is constant over the lifetime of the metadata. internal_id_prefix: Option, + pub(super) subscriber_skip_count: SkipCount, + /// The hook to call whenever we run into a unable-to-decrypt event. /// /// This value is constant over the lifetime of the metadata. @@ -107,6 +110,7 @@ impl TimelineMetadata { is_room_encrypted: Option, ) -> Self { Self { + subscriber_skip_count: SkipCount::new(), own_user_id, next_internal_id: Default::default(), reactions: Default::default(), diff --git a/crates/matrix-sdk-ui/src/timeline/subscriber.rs b/crates/matrix-sdk-ui/src/timeline/subscriber.rs index 4f51ee2b0..e12053e00 100644 --- a/crates/matrix-sdk-ui/src/timeline/subscriber.rs +++ b/crates/matrix-sdk-ui/src/timeline/subscriber.rs @@ -59,7 +59,7 @@ pub mod skip { const MAXIMUM_NUMBER_OF_INITIAL_ITEMS: usize = 20; - #[derive(Clone)] + #[derive(Clone, Debug)] pub struct SkipCount { count: SharedObservable, }