base: Return early if we get a duplicate sync response.

master
Damir Jelić 2020-05-13 12:26:07 +02:00
parent 676633eec1
commit 993dc8264a
1 changed files with 7 additions and 0 deletions

View File

@ -633,6 +633,13 @@ impl BaseClient {
&self,
response: &mut api::sync::sync_events::Response,
) -> Result<()> {
// The server might respond multiple times with the same sync token, in
// that case we already received this response and there's nothing to
// do.
if self.sync_token.read().await.as_ref() == Some(&response.next_batch) {
return Ok(());
}
*self.sync_token.write().await = Some(response.next_batch.clone());
#[cfg(feature = "encryption")]