summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2016-05-24 11:21:34 +0100
committerErik Johnston <erik@matrix.org>2016-05-24 11:21:34 +0100
commit1c5ed2a19ba6da4478c54df072e623598c0ea60d (patch)
tree1679db9edba6807b7c1d9b7b3c811fd27812262a /synapse
parentOnly include non-offline presence in initial sync (diff)
downloadsynapse-1c5ed2a19ba6da4478c54df072e623598c0ea60d.tar.xz
Only work out newly_joined_users for incremental sync
Diffstat (limited to 'synapse')
-rw-r--r--synapse/handlers/sync.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py

index 8143171c11..476dcf38e2 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py
@@ -699,12 +699,15 @@ class SyncHandler(object): # Now we want to get any newly joined users newly_joined_users = set() - for joined_sync in sync_result_builder.joined: - it = itertools.chain(joined_sync.timeline.events, joined_sync.state.values()) - for event in it: - if event.type == EventTypes.Member: - if event.membership == Membership.JOIN: - newly_joined_users.add(event.state_key) + if sync_result_builder.since_token: + for joined_sync in sync_result_builder.joined: + it = itertools.chain( + joined_sync.timeline.events, joined_sync.state.values() + ) + for event in it: + if event.type == EventTypes.Member: + if event.membership == Membership.JOIN: + newly_joined_users.add(event.state_key) defer.returnValue((newly_joined_rooms, newly_joined_users))