diff options
author | Matthew Hodgson <matthew@matrix.org> | 2018-03-19 01:00:12 +0000 |
---|---|---|
committer | Matthew Hodgson <matthew@matrix.org> | 2018-03-19 01:00:12 +0000 |
commit | 478af0f72005708dbbed23e30c547c3d66c07c0e (patch) | |
tree | 3b504643faf90465643489cb08f8d16cb641927d /synapse/handlers/sync.py | |
parent | only get member state IDs for incremental syncs if we're filtering (diff) | |
download | synapse-478af0f72005708dbbed23e30c547c3d66c07c0e.tar.xz |
reshuffle todo & comments
Diffstat (limited to 'synapse/handlers/sync.py')
-rw-r--r-- | synapse/handlers/sync.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py index 6b57afd97b..76f5057377 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py @@ -483,11 +483,15 @@ class SyncHandler(object): ) ] - # TODO: we should opportunistically deduplicate these members here - # within the same sync series (based on an in-memory cache) + # We can't remove redundant member types at this stage as it has + # to be done based on event_id, and we don't have the member + # event ids until we've pulled them out of the DB. if not types: + # an optimisation to stop needlessly trying to calculate + # member_state_ids filter_members = False + types.append((None, None)) # don't just filter to room members if full_state: @@ -559,6 +563,10 @@ class SyncHandler(object): else: state_ids = {} if filter_members: + # TODO: filter out redundant members based on their mxids (not their + # event_ids) at this point. We know we can do it based on mxid as this + # is an non-gappy incremental sync. + # strip off the (None, None) and filter to just room members types = types[:-1] if types: |