mirror of
https://mau.dev/maunium/synapse.git
synced 2024-10-01 01:36:05 -04:00
4a7c58642c
Based on [MSC3575](https://github.com/matrix-org/matrix-spec-proposals/pull/3575): Sliding Sync This iteration only focuses on returning the list of room IDs in the sliding window API (without sorting/filtering). Rooms appear in the Sliding sync response based on: - `invite`, `join`, `knock`, `ban` membership events - Kicks (`leave` membership events where `sender` is different from the `user_id`/`state_key`) - `newly_left` (rooms that were left during the given token range, > `from_token` and <= `to_token`) - In order for bans/kicks to not show up, you need to `/forget` those rooms. This doesn't modify the event itself though and only adds the `forgotten` flag to `room_memberships` in Synapse. There isn't a way to tell when a room was forgotten at the moment so we can't factor it into the from/to range. ### Example request `POST http://localhost:8008/_matrix/client/unstable/org.matrix.msc3575/sync` ```json { "lists": { "foo-list": { "ranges": [ [0, 99] ], "sort": [ "by_notification_level", "by_recency", "by_name" ], "required_state": [ ["m.room.join_rules", ""], ["m.room.history_visibility", ""], ["m.space.child", "*"] ], "timeline_limit": 100 } } } ``` Response: ```json { "next_pos": "s58_224_0_13_10_1_1_16_0_1", "lists": { "foo-list": { "count": 1, "ops": [ { "op": "SYNC", "range": [0, 99], "room_ids": [ "!MmgikIyFzsuvtnbvVG:my.synapse.linux.server" ] } ] } }, "rooms": {}, "extensions": {} } ``` |
||
---|---|---|
.. | ||
__init__.py | ||
_base.py | ||
account_data.py | ||
account_validity.py | ||
account.py | ||
appservice_ping.py | ||
auth_issuer.py | ||
auth.py | ||
capabilities.py | ||
devices.py | ||
directory.py | ||
events.py | ||
filter.py | ||
initial_sync.py | ||
keys.py | ||
knock.py | ||
login_token_request.py | ||
login.py | ||
logout.py | ||
media.py | ||
models.py | ||
mutual_rooms.py | ||
notifications.py | ||
openid.py | ||
password_policy.py | ||
presence.py | ||
profile.py | ||
push_rule.py | ||
pusher.py | ||
read_marker.py | ||
receipts.py | ||
register.py | ||
relations.py | ||
rendezvous.py | ||
report_event.py | ||
room_keys.py | ||
room_upgrade_rest_servlet.py | ||
room.py | ||
sendtodevice.py | ||
sync.py | ||
tags.py | ||
thirdparty.py | ||
tokenrefresh.py | ||
transactions.py | ||
user_directory.py | ||
versions.py | ||
voip.py |