filter: apply to all sync requests
This commit is contained in:
parent
1aff564e7c
commit
2bf5b1a5d5
|
@ -64,13 +64,10 @@ pub async fn sync(
|
|||
since: Option<String>,
|
||||
number_tries: u32,
|
||||
) -> Result<SyncResponse, SyncError> {
|
||||
let initial = since.is_none();
|
||||
let timeline_not_types = [String::from("m.call.*")];
|
||||
let timeline_types = [String::from("m.room.message"), String::from("m.sticker")];
|
||||
let state_types = [String::from("m.room.*")];
|
||||
let sync_settings = if !initial {
|
||||
SyncSettings::new().timeout(Duration::from_secs(30))
|
||||
} else {
|
||||
|
||||
// Don't filter event fields, it breaks deserialization.
|
||||
// Clearly the Matrix API is very static-typing-unfriendly right now.
|
||||
let filter = assign!(FilterDefinition::empty(), {
|
||||
|
@ -95,12 +92,11 @@ pub async fn sync(
|
|||
}),
|
||||
});
|
||||
|
||||
SyncSettings::new().filter(Filter::FilterDefinition(filter))
|
||||
};
|
||||
let sync_settings = SyncSettings::new().filter(Filter::FilterDefinition(filter));
|
||||
|
||||
let sync_settings = match since.clone() {
|
||||
Some(sync_token) => sync_settings.token(sync_token),
|
||||
None => sync_settings,
|
||||
None => sync_settings.timeout(Duration::from_secs(30)),
|
||||
};
|
||||
|
||||
match session_client.sync_once(sync_settings).await {
|
||||
|
|
Loading…
Reference in New Issue