summary refs log tree commit diff
path: root/synapse/handlers
diff options
context:
space:
mode:
authorDavid Baker <dave@matrix.org>2014-12-18 15:06:11 +0000
committerDavid Baker <dave@matrix.org>2014-12-18 15:06:11 +0000
commit0a6664493a6277d6b7b78b54e0b2a6da591ad158 (patch)
treea01e93cb31ca94d83dba6a9a381997b88f5b3a25 /synapse/handlers
parentThank you, pyflakes (diff)
parentMerge branch 'hotfixes-v0.5.4' of github.com:matrix-org/synapse (diff)
downloadsynapse-0a6664493a6277d6b7b78b54e0b2a6da591ad158.tar.xz
Merge branch 'master' into pushers
Diffstat (limited to 'synapse/handlers')
-rw-r--r--synapse/handlers/presence.py5
-rw-r--r--synapse/handlers/room.py6
2 files changed, 10 insertions, 1 deletions
diff --git a/synapse/handlers/presence.py b/synapse/handlers/presence.py
index b55d589daf..815d40f166 100644
--- a/synapse/handlers/presence.py
+++ b/synapse/handlers/presence.py
@@ -651,11 +651,16 @@ class PresenceHandler(BaseHandler):
             logger.debug("Incoming presence update from %s", user)
 
             observers = set(self._remote_recvmap.get(user, set()))
+            if observers:
+                logger.debug(" | %d interested local observers %r", len(observers), observers)
 
             rm_handler = self.homeserver.get_handlers().room_member_handler
             room_ids = yield rm_handler.get_rooms_for_user(user)
+            if room_ids:
+                logger.debug(" | %d interested room IDs %r", len(room_ids), room_ids)
 
             if not observers and not room_ids:
+                logger.debug(" | no interested observers or room IDs")
                 continue
 
             state = dict(push)
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py
index 88955160c5..a000b44036 100644
--- a/synapse/handlers/room.py
+++ b/synapse/handlers/room.py
@@ -519,7 +519,11 @@ class RoomMemberHandler(BaseHandler):
             user_id=user.to_string(), membership_list=membership_list
         )
 
-        defer.returnValue([r.room_id for r in rooms])
+        # For some reason the list of events contains duplicates
+        # TODO(paul): work out why because I really don't think it should
+        room_ids = set(r.room_id for r in rooms)
+
+        defer.returnValue(room_ids)
 
     @defer.inlineCallbacks
     def _do_local_membership_update(self, event, membership, snapshot,