fix: set limited to true when skipping messages in /sync

This commit is contained in:
Timo 2020-08-19 18:26:39 +02:00
parent e457e19088
commit f23fb32e95
No known key found for this signature in database
GPG key ID: 24DA7517711A2BA4
5 changed files with 24 additions and 10 deletions

View file

@ -60,10 +60,10 @@ pub fn search_events_route(
Ok::<_, Error>(SearchResult {
context: None,
rank: None,
result: dbg!(db
result: db
.rooms
.get_pdu_from_id(dbg!(&result))?
.map(|pdu| pdu.to_room_event())),
.get_pdu_from_id(&result)?
.map(|pdu| pdu.to_room_event()),
})
})
.filter_map(|r| r.ok())

View file

@ -69,13 +69,14 @@ pub async fn sync_events_route(
// They /sync response doesn't always return all messages, so we say the output is
// limited unless there are events in non_timeline_pdus
//let mut limited = false;
let mut limited = false;
let mut state_pdus = Vec::new();
for pdu in non_timeline_pdus {
if pdu.state_key.is_some() {
state_pdus.push(pdu);
}
limited = true;
}
let mut send_member_count = false;
@ -271,7 +272,7 @@ pub async fn sync_events_route(
notification_count,
},
timeline: sync_events::Timeline {
limited: joined_since_last_sync,
limited: limited || joined_since_last_sync,
prev_batch,
events: room_events,
},