diff options
author | Erik Johnston <erik@matrix.org> | 2017-09-18 17:13:03 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2017-09-18 17:13:03 +0100 |
commit | 2d1b7955aec60a2a5dabc7882b4081b794968d7c (patch) | |
tree | 9836bf8103979564cc58a278e23dcb9ef078fbfa /synapse/handlers/sync.py | |
parent | Merge pull request #2449 from matrix-org/erikj/rejoin_device_lists (diff) | |
download | synapse-2d1b7955aec60a2a5dabc7882b4081b794968d7c.tar.xz |
Don't filter out current state events from timeline
Diffstat (limited to 'synapse/handlers/sync.py')
-rw-r--r-- | synapse/handlers/sync.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py index c6b04a1683..bb78c25ee5 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py @@ -293,6 +293,11 @@ class SyncHandler(object): timeline_limit = sync_config.filter_collection.timeline_limit() block_all_timeline = sync_config.filter_collection.blocks_all_room_timeline() + # Pull out the current state, as we always want to include those events + # in the timeline if they're there. + current_state_ids = yield self.state.get_current_state_ids(room_id) + current_state_ids = frozenset(current_state_ids.itervalues()) + if recents is None or newly_joined_room or timeline_limit < len(recents): limited = True else: @@ -304,6 +309,7 @@ class SyncHandler(object): self.store, sync_config.user.to_string(), recents, + always_include_ids=current_state_ids, ) else: recents = [] @@ -339,6 +345,7 @@ class SyncHandler(object): self.store, sync_config.user.to_string(), loaded_recents, + always_include_ids=current_state_ids, ) loaded_recents.extend(recents) recents = loaded_recents |