Skip to content
Snippets Groups Projects
Commit 583add34 authored by Paul "LeoNerd" Evans's avatar Paul "LeoNerd" Evans
Browse files

Use the "collect_presencelike_data" distributor signal instead of re-implementing its behaviour

parent 50718825
No related branches found
No related tags found
No related merge requests found
......@@ -581,8 +581,8 @@ class RoomMemberHandler(BaseHandler):
room_id = event.room_id
# If event doesn't include a display name, add one.
yield self._fill_out_join_content(
joinee, event.content
yield self.distributor.fire(
"collect_presencelike_data", joinee, event.content
)
# XXX: We don't do an auth check if we are doing an invite
......@@ -637,34 +637,6 @@ class RoomMemberHandler(BaseHandler):
"user_joined_room", user=user, room_id=room_id
)
@defer.inlineCallbacks
def _fill_out_join_content(self, user_id, content):
# If event doesn't include a display name, add one.
# TODO(paul): This really ought to use the distributor's
# collect_presencelike_data signal instead.
profile_handler = self.hs.get_handlers().profile_handler
if "displayname" not in content:
try:
display_name = yield profile_handler.get_displayname(
user_id
)
if display_name:
content["displayname"] = display_name
except:
logger.exception("Failed to set display_name")
if "avatar_url" not in content:
try:
avatar_url = yield profile_handler.get_avatar_url(
user_id
)
if avatar_url:
content["avatar_url"] = avatar_url
except:
logger.exception("Failed to set avatar_url")
@defer.inlineCallbacks
def _should_invite_join(self, room_id, prev_state, do_auth):
logger.debug("_should_invite_join: room_id: %s", room_id)
......
......@@ -69,6 +69,8 @@ class RoomMemberHandlerTestCase(unittest.TestCase):
self.distributor = hs.get_distributor()
self.hs = hs
self.distributor.declare("collect_presencelike_data")
self.handlers.room_member_handler = RoomMemberHandler(self.hs)
self.handlers.profile_handler = ProfileHandler(self.hs)
self.room_member_handler = self.handlers.room_member_handler
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment