From 85b412ffedacd6e9badd51c4f5f21d560b94d1e1 Mon Sep 17 00:00:00 2001 From: Ivan Enderlin Date: Fri, 27 Sep 2024 08:17:02 +0200 Subject: [PATCH] client-api: `sync::v5::Request::timeline_limit` is not optional. (#1914) Contrary to MSC3575, MSC4186 has `timeline_limit` which is not optional. This patch changes `timeline_limit: Option` to `Int` directly. --- crates/ruma-client-api/src/sync/sync_events/v4.rs | 4 ++-- crates/ruma-client-api/src/sync/sync_events/v5.rs | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/crates/ruma-client-api/src/sync/sync_events/v4.rs b/crates/ruma-client-api/src/sync/sync_events/v4.rs index 677f1221..977abb83 100644 --- a/crates/ruma-client-api/src/sync/sync_events/v4.rs +++ b/crates/ruma-client-api/src/sync/sync_events/v4.rs @@ -980,7 +980,7 @@ impl From for SyncRequestList { #[cfg(feature = "unstable-msc4186")] impl From for RoomDetailsConfig { fn from(value: v5::request::RoomDetails) -> Self { - Self { required_state: value.required_state, timeline_limit: value.timeline_limit } + Self { required_state: value.required_state, timeline_limit: Some(value.timeline_limit) } } } @@ -1000,7 +1000,7 @@ impl From for RoomSubscription { fn from(value: v5::request::RoomSubscription) -> Self { Self { required_state: value.required_state, - timeline_limit: value.timeline_limit, + timeline_limit: Some(value.timeline_limit), include_heroes: value.include_heroes, } } diff --git a/crates/ruma-client-api/src/sync/sync_events/v5.rs b/crates/ruma-client-api/src/sync/sync_events/v5.rs index 095f9ae4..4be8c914 100644 --- a/crates/ruma-client-api/src/sync/sync_events/v5.rs +++ b/crates/ruma-client-api/src/sync/sync_events/v5.rs @@ -154,8 +154,7 @@ pub mod request { pub required_state: Vec<(StateEventType, String)>, /// The maximum number of timeline events to return per room. - #[serde(skip_serializing_if = "Option::is_none")] - pub timeline_limit: Option, + pub timeline_limit: UInt, /// Include the room heroes. #[serde(skip_serializing_if = "Option::is_none")] @@ -171,8 +170,7 @@ pub mod request { pub required_state: Vec<(StateEventType, String)>, /// The maximum number of timeline events to return per room. - #[serde(skip_serializing_if = "Option::is_none")] - pub timeline_limit: Option, + pub timeline_limit: UInt, } /// Sliding sync request extensions (see [`super::Request::extensions`]).