anonymousland-synapse/synapse
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
..
api Allow guest users to join and message rooms 2015-11-10 16:57:13 +00:00
app Run the background updates when starting synapse. 2015-11-10 15:50:58 +00:00
appservice Cap the time to retry txns to appservices to 8.5 minutes 2015-10-21 10:10:55 +01:00
config Fix race creating directories 2015-11-12 11:58:48 +00:00
crypto Fix bug where we sometimes didn't fetch all the keys requested for a 2015-09-17 10:21:32 +01:00
events Update the other place check_joined_room is called 2015-10-30 11:15:37 +00:00
federation Fix missing profile data in federation joins 2015-11-12 16:19:55 +00:00
handlers Fix a few race conditions in the state calculation 2015-11-13 10:39:09 +00:00
http Retry dead servers a lot less often 2015-11-02 16:56:30 +00:00
metrics Check that /proc/self/fd exists before listing it 2015-09-07 16:45:55 +01:00
push Use raw string for regex here, otherwise \b is the backspace character. Fixes displayname matching. 2015-10-08 11:22:15 +01:00
rest Make handlers.sync return a state dictionary, instead of an event list. 2015-11-13 10:35:01 +00:00
static/client Use correct service url 2015-10-26 18:12:09 +00:00
storage Fix a few race conditions in the state calculation 2015-11-13 10:39:09 +00:00
streams Inform the client of new room tags using v1 /events 2015-10-29 15:21:09 +00:00
util Run the background updates when starting synapse. 2015-11-10 15:50:58 +00:00
__init__.py Bump changelog and version number 2015-11-05 17:20:28 +00:00
notifier.py Return non-room events from guest /events calls 2015-11-12 16:45:28 +00:00
python_dependencies.py Add nacl.bindings to the list of modules checked. Re-arrange import order to check packages after the packages they depend on 2015-09-01 16:51:10 +01:00
server.py Remove the LockManager class because it wasn't being used 2015-11-04 14:08:15 +00:00
state.py Update some comments 2015-11-13 10:31:15 +00:00
types.py Merge branch 'develop' into markjh/room_tags 2015-11-02 10:57:00 +00:00