mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2024-12-20 02:44:19 -05:00
fddedd51d9
Be a bit more careful about how we calculate the state to be returned by /sync. In a few places, it was possible for /sync to return slightly later state than that represented by the next_batch token and the timeline. In particular, the following cases were susceptible: * On a full state sync, for an active room * During a per-room incremental sync with a timeline gap * When the user has just joined a room. (Refactor check_joined_room to make it less magical) Also, use store.get_state_for_events() (and thus the existing stategroups) to calculate the state corresponding to a particular sync position, rather than state_handler.compute_event_context(), which recalculates from first principles (and tends to miss some state). Merged from PR https://github.com/matrix-org/synapse/pull/372 |
||
---|---|---|
.. | ||
engines | ||
schema | ||
util | ||
__init__.py | ||
_base.py | ||
appservice.py | ||
background_updates.py | ||
directory.py | ||
end_to_end_keys.py | ||
event_federation.py | ||
events.py | ||
filtering.py | ||
keys.py | ||
media_repository.py | ||
prepare_database.py | ||
presence.py | ||
profile.py | ||
push_rule.py | ||
pusher.py | ||
receipts.py | ||
registration.py | ||
rejections.py | ||
room.py | ||
roommember.py | ||
search.py | ||
signatures.py | ||
state.py | ||
stream.py | ||
tags.py | ||
transactions.py |