Stop paginating on TimelineStartReached

This commit is contained in:
2023-11-05 15:25:45 +01:00
parent ec13ce08d7
commit 06e3228bbc

View File

@ -205,10 +205,11 @@ impl SingleClientRoomBuffer {
let room_id = self.room_id.clone();
let timeline = self.timeline.clone();
let mut back_pagination_status = timeline.back_pagination_status();
if back_pagination_status.get() == BackPaginationStatus::Paginating {
match back_pagination_status.get() {
BackPaginationStatus::Paginating | BackPaginationStatus::TimelineStartReached => {
// We are already waiting for a backfill from the server
return;
}
},
BackPaginationStatus::Idle => {
tokio::spawn(async move {
tracing::info!("Starting pagination for {}", room_id);
timeline
@ -223,6 +224,8 @@ impl SingleClientRoomBuffer {
// Wait for the task we just spawned to change the status, so we don't risk starting
// a new one in the meantime
back_pagination_status.next().await;
},
}
}
}