diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py
index 1aded280c7..e06e8ff60c 100644
--- a/synapse/handlers/message.py
+++ b/synapse/handlers/message.py
@@ -389,6 +389,12 @@ class EventCreationHandler:
self.room_invite_state_types = self.hs.config.room_invite_state_types
+ self.membership_types_to_include_profile_data_in = (
+ {Membership.JOIN, Membership.INVITE, Membership.KNOCK}
+ if self.hs.config.include_profile_data_on_invite
+ else {Membership.JOIN, Membership.KNOCK}
+ )
+
self.send_event = ReplicationSendEventRestServlet.make_client(hs)
# This is only used to get at ratelimit function, and maybe_kick_guest_users
@@ -502,7 +508,7 @@ class EventCreationHandler:
membership = builder.content.get("membership", None)
target = UserID.from_string(builder.state_key)
- if membership in {Membership.JOIN, Membership.INVITE, Membership.KNOCK}:
+ if membership in self.membership_types_to_include_profile_data_in:
# If event doesn't include a display name, add one.
profile = self.profile_handler
content = builder.content
@@ -1181,7 +1187,8 @@ class EventCreationHandler:
event.unsigned[
"knock_room_state"
] = await self.store.get_stripped_room_state_from_event_context(
- context, DEFAULT_ROOM_STATE_TYPES,
+ context,
+ DEFAULT_ROOM_STATE_TYPES,
)
if event.type == EventTypes.Redaction:
|