diff --git a/src/api/client/context.rs b/src/api/client/context.rs index 4359ae12..5b6b516e 100644 --- a/src/api/client/context.rs +++ b/src/api/client/context.rs @@ -169,12 +169,14 @@ pub(crate) async fn get_context_route( start: events_before .last() .map(at!(0)) + .or(Some(base_token)) .as_ref() .map(ToString::to_string), end: events_after .last() .map(at!(0)) + .or(Some(base_token)) .as_ref() .map(ToString::to_string), diff --git a/src/api/client/message.rs b/src/api/client/message.rs index 88453de0..f1a10aa2 100644 --- a/src/api/client/message.rs +++ b/src/api/client/message.rs @@ -136,8 +136,6 @@ pub(crate) async fn get_message_events_route( .collect() .await; - let start_token = events.first().map(at!(0)).unwrap_or(from); - let next_token = events.last().map(at!(0)); if !cfg!(feature = "element_hacks") { @@ -156,7 +154,7 @@ pub(crate) async fn get_message_events_route( .collect(); Ok(get_message_events::v3::Response { - start: start_token.to_string(), + start: from.to_string(), end: next_token.as_ref().map(ToString::to_string), chunk, state, diff --git a/src/api/client/sync/v3.rs b/src/api/client/sync/v3.rs index 614970f0..80aa8184 100644 --- a/src/api/client/sync/v3.rs +++ b/src/api/client/sync/v3.rs @@ -945,7 +945,6 @@ async fn load_joined_room( let prev_batch = timeline_pdus .first() .map(at!(0)) - .map(|count| count.saturating_sub(1)) .as_ref() .map(ToString::to_string);