forked-synapse/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 Add room context api 2015-10-28 13:45:56 +00:00
_base.py Update some comments 2015-11-13 10:31:15 +00:00
admin.py Remove completely unused concepts from codebase 2015-08-25 16:23:06 +01:00
appservice.py Fix bug where synapse was sending AS user queries incorrectly. 2015-06-17 17:26:03 +01:00
auth.py Allow guests to register and call /events?room_id= 2015-11-04 17:29:07 +00:00
directory.py Disallow whitespace in aliases here too 2015-05-14 13:21:55 +01:00
events.py Open up /events to anonymous users for room events only 2015-11-05 14:32:26 +00:00
federation.py Fix missing profile data in federation joins 2015-11-12 16:19:55 +00:00
identity.py Add endpoint that proxies ID server request token and errors if the given email is in use on this Home Server. 2015-08-04 14:37:09 +01:00
message.py Merge pull request #367 from matrix-org/daniel/readafterleave 2015-11-12 15:22:02 +00:00
presence.py Allow guest users to join and message rooms 2015-11-10 16:57:13 +00:00
private_user_data.py Open up /events to anonymous users for room events only 2015-11-05 14:32:26 +00:00
profile.py Treat setting your display name to the empty string as removing it (SYN-186). 2015-05-14 14:19:59 +01:00
receipts.py Open up /events to anonymous users for room events only 2015-11-05 14:32:26 +00:00
register.py Allow guests to register and call /events?room_id= 2015-11-04 17:29:07 +00:00
room.py Fix missing profile data in federation joins 2015-11-12 16:19:55 +00:00
search.py Be explicit about what we're doing 2015-11-05 17:26:19 +00:00
sync.py Fix a few race conditions in the state calculation 2015-11-13 10:39:09 +00:00
typing.py Open up /events to anonymous users for room events only 2015-11-05 14:32:26 +00:00