summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorErik Johnston <erikj@jki.re>2017-06-13 10:55:41 +0100
committerGitHub <noreply@github.com>2017-06-13 10:55:41 +0100
commitde4cb50ca660aefa331cef62331805be4c019ccd (patch)
treedc94225dbbe596e9e9ba1357e490c52dd2379192 /synapse
parentMerge pull request #2277 from matrix-org/erikj/media (diff)
parentDon't assume existance of events when updating user directory (diff)
downloadsynapse-de4cb50ca660aefa331cef62331805be4c019ccd.tar.xz
Merge pull request #2276 from matrix-org/erikj/fix_user_di
Don't assume existence of events when updating user directory
Diffstat (limited to 'synapse')
-rw-r--r--synapse/handlers/user_directory.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/synapse/handlers/user_directory.py b/synapse/handlers/user_directory.py
index 02b720b654..ce5a506b74 100644
--- a/synapse/handlers/user_directory.py
+++ b/synapse/handlers/user_directory.py
@@ -225,7 +225,7 @@ class UserDirectoyHandler(object):
                         logger.debug("Server is still in room: %r", room_id)
 
                 if change:  # The user joined
-                    event = yield self.store.get_event(event_id)
+                    event = yield self.store.get_event(event_id, allow_none=True)
                     profile = ProfileInfo(
                         avatar_url=event.content.get("avatar_url"),
                         display_name=event.content.get("displayname"),
@@ -379,8 +379,11 @@ class UserDirectoyHandler(object):
         if not prev_event_id or not event_id:
             return
 
-        prev_event = yield self.store.get_event(prev_event_id)
-        event = yield self.store.get_event(event_id)
+        prev_event = yield self.store.get_event(prev_event_id, allow_none=True)
+        event = yield self.store.get_event(event_id, allow_none=True)
+
+        if not prev_event or not event:
+            return
 
         if event.membership != Membership.JOIN:
             return