MatrixSynapse/synapse/storage
Erik Johnston 8cb44da4aa Fix race in sync when joining room
The race happens when the user joins a room at the same time as doing a
sync. We fetch the current token and then get the rooms the user is in.
If the join happens after the current token, but before we get the rooms
we end up sending down a partial room entry in the sync.

This is fixed by looking at the stream ordering of the membership
returned by get_rooms_for_user, and handling the case when that stream
ordering is after the current token.
2018-03-07 11:55:31 +00:00
..
engines Store state groups separately from events (#2784) 2018-02-06 14:31:24 +00:00
schema Comments 2018-02-16 11:35:01 +00:00
util Fix assertion to stop transaction queue getting wedged 2017-03-15 12:16:55 +00:00
__init__.py Merge branch 'develop' of github.com:matrix-org/synapse into erikj/split_stream_store 2018-03-01 16:26:42 +00:00
_base.py Fix bug with delayed cache invalidation stream 2018-03-02 14:45:15 +00:00
account_data.py Fewer lies are better 2018-03-01 17:08:17 +00:00
appservice.py Remove ability for AS users to call /events and /sync 2018-03-05 15:44:46 +00:00
background_updates.py Reinstate event_search_postgres_gist handler 2018-02-02 14:32:51 +00:00
client_ips.py Make __init__ consitstent across Store heirarchy 2017-11-13 10:46:07 +00:00
deviceinbox.py Make __init__ consitstent across Store heirarchy 2017-11-13 10:46:07 +00:00
devices.py Make __init__ consitstent across Store heirarchy 2017-11-13 10:46:07 +00:00
directory.py Fix cache invalidation on deletion 2018-03-05 15:29:03 +00:00
end_to_end_keys.py Remove redundant invalidation 2017-05-23 09:46:59 +01:00
event_federation.py Split out SignatureStore and EventFederationStore 2018-03-01 14:17:53 +00:00
event_push_actions.py Merge pull request #2943 from matrix-org/rav/fix_find_first_stream_ordering_after_ts 2018-03-05 12:26:14 +00:00
events.py Fix race in sync when joining room 2018-03-07 11:55:31 +00:00
events_worker.py Split EventsWorkerStore into separate file 2018-02-23 11:01:21 +00:00
filtering.py replaced json.dumps with encode_canonical_json 2017-06-21 14:48:12 +02:00
group_server.py Fix typo 2017-11-09 15:56:16 +00:00
keys.py Invalidate signing key cache when we gat an update 2017-09-20 01:32:42 +01:00
media_repository.py Keep track of last access time for local media 2018-01-17 10:24:43 +00:00
openid.py Add an openidish mechanism for proving to third parties that you own a given user_id 2016-05-05 13:42:44 +01:00
prepare_database.py Keep track of last access time for local media 2018-01-17 10:24:43 +00:00
presence.py Actually call invalidate 2017-03-24 13:28:20 +00:00
profile.py fix StoreError syntax 2017-12-05 11:09:31 +00:00
push_rule.py Move storage functions for push calculations 2018-02-27 13:58:16 +00:00
pusher.py Move storage functions for push calculations 2018-02-27 13:58:16 +00:00
receipts.py Fix missing invalidations for receipt storage 2018-02-21 15:19:54 +00:00
registration.py Split registration store 2018-03-02 13:48:27 +00:00
rejections.py copyrights 2016-01-07 04:26:29 +00:00
room.py Split up RoomStore 2018-03-01 14:01:19 +00:00
roommember.py Fix race in sync when joining room 2018-03-07 11:55:31 +00:00
search.py remove overzealous exception handling 2018-02-14 15:54:09 +00:00
signatures.py Stub out broken function only used for cache 2018-03-01 16:44:13 +00:00
state.py Don't serialize current state over replication 2018-02-15 13:53:18 +00:00
stream.py Merge pull request #2946 from matrix-org/rav/timestamp_to_purge 2018-03-06 11:20:23 +00:00
tags.py Update copyright 2018-02-23 10:33:55 +00:00
transactions.py Make __init__ consitstent across Store heirarchy 2017-11-13 10:46:07 +00:00
user_directory.py Fix SQL for user search 2018-01-27 17:21:57 +00:00