summary refs log tree commit diff
diff options
context:
space:
mode:
authorPaul "LeoNerd" Evans <paul@matrix.org>2014-08-18 13:17:35 +0100
committerPaul "LeoNerd" Evans <paul@matrix.org>2014-08-18 13:17:35 +0100
commit7d324612ec92a9818860d0d0e1c4cff358fd6e5f (patch)
treef8002c7a0eeff9628a55cb1d923f2744bf9c2b94
parentwebclient: Tweak namespace of auto-complete directive. ng- should really only... (diff)
downloadsynapse-7d324612ec92a9818860d0d0e1c4cff358fd6e5f.tar.xz
Precent lack of presence visiblity from causing room /members/list to fail
-rw-r--r--synapse/rest/room.py12
1 files changed, 8 insertions, 4 deletions
diff --git a/synapse/rest/room.py b/synapse/rest/room.py
index 799dd58b2d..035209a19d 100644
--- a/synapse/rest/room.py
+++ b/synapse/rest/room.py
@@ -350,10 +350,14 @@ class RoomMemberListRestServlet(RestServlet):
 
         for event in members["chunk"]:
             target_user = self.hs.parse_userid(event["target_user_id"])
-            presence_state = yield self.handlers.presence_handler.get_state(
-                target_user=target_user, auth_user=user
-            )
-            event["content"].update(presence_state)
+            # Presence is an optional cache; don't fail if we can't fetch it
+            try:
+                presence_state = yield self.handlers.presence_handler.get_state(
+                    target_user=target_user, auth_user=user
+                )
+                event["content"].update(presence_state)
+            except:
+                pass
 
         defer.returnValue((200, members))