diff options
author | Erik Johnston <erik@matrix.org> | 2017-06-13 10:19:26 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2017-06-13 10:19:26 +0100 |
commit | 6ae8373d40f9008ab80dd7894c4c79beb7ceca48 (patch) | |
tree | 5c0a0834f7cc77c530b7699f54ac9110b78e4eaf /synapse | |
parent | Merge pull request #2266 from matrix-org/erikj/host_in_room (diff) | |
download | synapse-6ae8373d40f9008ab80dd7894c4c79beb7ceca48.tar.xz |
Don't assume existance of events when updating user directory
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/handlers/user_directory.py | 9 |
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 |