logo
pub struct SyncRequestListFilters {
    pub is_dm: Option<bool>,
    pub spaces: Vec<String, Global>,
    pub is_encrypted: Option<bool>,
    pub is_invite: Option<bool>,
    pub is_tombstoned: Option<bool>,
    pub room_types: Vec<String, Global>,
    pub not_room_types: Vec<String, Global>,
    pub room_name_like: Option<String>,
    pub tags: Vec<String, Global>,
    pub not_tags: Vec<String, Global>,
    pub extensions: BTreeMap<String, Value, Global>,
}
Available on (crate features client-api-c or client-api-s) and (crate features client or server) and crate feature api and crate feature unstable-msc3575 only.
Expand description

Filter for a sliding sync list, set at request.

All fields are applied with AND operators, hence if is_dm is true and is_encrypted is true then only encrypted DM rooms will be returned. The absence of fields implies no filter on that criteria: it does NOT imply false.

Filters are considered sticky, meaning that the filter only has to be provided once and their parameters ‘sticks’ for future requests until a new filter overwrites them.

Fields

is_dm: Option<bool>

Whether to return DMs, non-DM rooms or both.

Flag which only returns rooms present (or not) in the DM section of account data. If unset, both DM rooms and non-DM rooms are returned. If false, only non-DM rooms are returned. If true, only DM rooms are returned.

spaces: Vec<String, Global>

Only list rooms that are spaces of these or all.

A list of spaces which target rooms must be a part of. For every invited/joined room for this user, ensure that there is a parent space event which is in this list. If unset, all rooms are included. Servers MUST NOT navigate subspaces. It is up to the client to give a complete list of spaces to navigate. Only rooms directly in these spaces will be returned.

is_encrypted: Option<bool>

Whether to return encrypted, non-encrypted rooms or both.

Flag which only returns rooms which have an m.room.encryption state event. If unset, both encrypted and unencrypted rooms are returned. If false, only unencrypted rooms are returned. If true, only encrypted rooms are returned.

is_invite: Option<bool>

Whether to return invited Rooms, only joined rooms or both.

Flag which only returns rooms the user is currently invited to. If unset, both invited and joined rooms are returned. If false, no invited rooms are returned. If true, only invited rooms are returned.

is_tombstoned: Option<bool>

Whether to return Rooms with tombstones, only rooms without tombstones or both.

Flag which only returns rooms which have an m.room.tombstone state event. If unset, both tombstoned and un-tombstoned rooms are returned. If false, only un-tombstoned rooms are returned. If true, only tombstoned rooms are returned.

room_types: Vec<String, Global>

Only list rooms of given create-types or all.

If specified, only rooms where the m.room.create event has a type matching one of the strings in this array will be returned. If this field is unset, all rooms are returned regardless of type. This can be used to get the initial set of spaces for an account.

not_room_types: Vec<String, Global>

Only list rooms that are not of these create-types, or all.

Same as “room_types” but inverted. This can be used to filter out spaces from the room list.

room_name_like: Option<String>

Only list rooms matching the given string, or all.

Filter the room name. Case-insensitive partial matching e.g ‘foo’ matches ‘abFooab’. The term ‘like’ is inspired by SQL ‘LIKE’, and the text here is similar to ‘%foo%’.

tags: Vec<String, Global>

Filter the room based on its room tags.

If multiple tags are present, a room can have any one of the listed tags (OR’d).

not_tags: Vec<String, Global>

Filter the room based on its room tags.

Takes priority over tags. For example, a room with tags A and B with filters tags:[A] not_tags:[B] would NOT be included because not_tags takes priority over tags. This filter is useful if your Rooms list does NOT include the list of favourite rooms again.

extensions: BTreeMap<String, Value, Global>

Extensions may add further fields to the filters.

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Deserialize this value from the given Serde deserializer. Read more
Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more