diff options
author | Matthew Hodgson <matthew@arasphere.net> | 2018-08-28 23:25:58 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-28 23:25:58 +0100 |
commit | b1580f50fea05ce02dc4663adb23704b33e30bf3 (patch) | |
tree | ab84baecbcf9c33ef3015c159c11bb2a7279c8ec | |
parent | Merge pull request #3758 from matrix-org/erikj/admin_contact (diff) | |
download | synapse-b1580f50fea05ce02dc4663adb23704b33e30bf3.tar.xz |
don't return non-LL-member state in incremental sync state blocks (#3760)
don't return non-LL-member state in incremental sync state blocks
-rw-r--r-- | changelog.d/3760.bugfix | 1 | ||||
-rw-r--r-- | synapse/handlers/sync.py | 9 |
2 files changed, 9 insertions, 1 deletions
diff --git a/changelog.d/3760.bugfix b/changelog.d/3760.bugfix new file mode 100644 index 0000000000..ce61fb8a2b --- /dev/null +++ b/changelog.d/3760.bugfix @@ -0,0 +1 @@ +Don't return non-LL-member state in incremental sync state blocks diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py index 648debc8aa..ef20c2296c 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py @@ -745,9 +745,16 @@ class SyncHandler(object): state_ids = {} if lazy_load_members: if types: + # We're returning an incremental sync, with no "gap" since + # the previous sync, so normally there would be no state to return + # But we're lazy-loading, so the client might need some more + # member events to understand the events in this timeline. + # So we fish out all the member events corresponding to the + # timeline here, and then dedupe any redundant ones below. + state_ids = yield self.store.get_state_ids_for_event( batch.events[0].event_id, types=types, - filtered_types=filtered_types, + filtered_types=None, # we only want members! ) if lazy_load_members and not include_redundant_members: |