summary refs log tree commit diff
path: root/synapse/handlers/message.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2016-03-04 15:29:45 +0000
committerErik Johnston <erik@matrix.org>2016-03-04 15:29:45 +0000
commit1a1abd8d05be59a38f8fcd1100a313739ff92627 (patch)
treee9a4d607a2caa8efc9610662900551e022e3b8a8 /synapse/handlers/message.py
parentMerge pull request #598 from Rugvip/invite-state (diff)
parentSpelling (diff)
downloadsynapse-1a1abd8d05be59a38f8fcd1100a313739ff92627.tar.xz
Merge pull request #624 from matrix-org/erikj/invite_profile
Add profile information to invites
Diffstat (limited to 'synapse/handlers/message.py')
-rw-r--r--synapse/handlers/message.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py
index cace1cb82a..e92c74d07b 100644
--- a/synapse/handlers/message.py
+++ b/synapse/handlers/message.py
@@ -196,12 +196,25 @@ class MessageHandler(BaseHandler):
 
         if builder.type == EventTypes.Member:
             membership = builder.content.get("membership", None)
+            target = UserID.from_string(builder.state_key)
+
             if membership == Membership.JOIN:
-                joinee = UserID.from_string(builder.state_key)
                 # If event doesn't include a display name, add one.
                 yield collect_presencelike_data(
-                    self.distributor, joinee, builder.content
+                    self.distributor, target, builder.content
                 )
+            elif membership == Membership.INVITE:
+                profile = self.hs.get_handlers().profile_handler
+                content = builder.content
+
+                try:
+                    content["displayname"] = yield profile.get_displayname(target)
+                    content["avatar_url"] = yield profile.get_avatar_url(target)
+                except Exception as e:
+                    logger.info(
+                        "Failed to get profile information for %r: %s",
+                        target, e
+                    )
 
         if token_id is not None:
             builder.internal_metadata.token_id = token_id