MatrixSynapse/synapse
Brendan Abolivier 708cef88cf
Discard retention policies when retrieving state
Purge jobs don't delete the latest event in a room in order to keep the forward extremity and not break the room. On the other hand, get_state_events, when given an at_token argument calls filter_events_for_client to know if the user can see the event that matches that (sync) token. That function uses the retention policies of the events it's given to filter out those that are too old from a client's view.

Some clients, such as Riot, when loading a room, request the list of members for the latest sync token it knows about, and get confused to the point of refusing to send any message if the server tells it that it can't get that information. This can happen very easily with the message retention feature turned on and a room with low activity so that the last event sent becomes too old according to the room's retention policy.

An easy and clean fix for that issue is to discard the room's retention policies when retrieving state.
2019-11-28 19:26:26 +00:00
..
_scripts
api Merge branch 'develop' into babolivier/message_retention 2019-11-26 17:53:57 +00:00
app Merge branch 'master' into develop 2019-11-26 14:15:30 +00:00
appservice
config Clarifications for the email configuration settings. (#6423) 2019-11-28 09:29:18 +00:00
crypto
events Merge branch 'develop' into babolivier/message_retention 2019-11-26 17:53:57 +00:00
federation Implementation of MSC2314 (#6176) 2019-11-28 08:54:07 +11:00
groups
handlers Discard retention policies when retrieving state 2019-11-28 19:26:26 +00:00
http
logging
metrics
module_api
push
replication Prevent account_data content from being sent over TCP replication (#6333) 2019-11-26 13:58:39 +00:00
res/templates
rest add etag and count to key backup endpoints (#5858) 2019-11-27 16:14:44 -05:00
server_notices
spam_checker_api
state
static
storage Remove local threepids on account deactivation (#6426) 2019-11-28 10:40:42 +00:00
streams
util
__init__.py 1.6.0 2019-11-26 13:28:40 +00:00
event_auth.py
notifier.py
python_dependencies.py
secrets.py
server.py Fix startup error when http proxy is defined. (#6421) 2019-11-26 18:10:50 +00:00
server.pyi
types.py
visibility.py Discard retention policies when retrieving state 2019-11-28 19:26:26 +00:00