mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2024-12-29 21:36:09 -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 |
||
---|---|---|
.. | ||
api | ||
app | ||
appservice | ||
config | ||
crypto | ||
events | ||
federation | ||
handlers | ||
http | ||
metrics | ||
push | ||
rest | ||
static/client | ||
storage | ||
streams | ||
util | ||
__init__.py | ||
notifier.py | ||
python_dependencies.py | ||
server.py | ||
state.py | ||
types.py |