MatrixSynapse/synapse/handlers
Richard van der Hoff fddedd51d9 Fix a few race conditions in the state calculation
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
2015-11-13 10:39:09 +00:00
..
__init__.py
_base.py Update some comments 2015-11-13 10:31:15 +00:00
admin.py
appservice.py
auth.py
directory.py
events.py
federation.py Fix missing profile data in federation joins 2015-11-12 16:19:55 +00:00
identity.py
message.py
presence.py
private_user_data.py
profile.py
receipts.py
register.py
room.py Fix missing profile data in federation joins 2015-11-12 16:19:55 +00:00
search.py
sync.py Fix a few race conditions in the state calculation 2015-11-13 10:39:09 +00:00
typing.py