summary refs log tree commit diff
path: root/synapse/handlers/room_member.py
diff options
context:
space:
mode:
authorPatrick Cloke <patrickc@matrix.org>2020-12-02 08:40:21 -0500
committerPatrick Cloke <patrickc@matrix.org>2020-12-02 08:40:21 -0500
commit16744644f665991eb7b6a41e8c16e71ccdb71709 (patch)
tree8c607ab32dc9881a2c7c71e5632b71557e1999e1 /synapse/handlers/room_member.py
parentMerge remote-tracking branch 'origin/develop' into matrix-org-hotfixes (diff)
parentFix a regression when grandfathering SAML users. (#8855) (diff)
downloadsynapse-16744644f665991eb7b6a41e8c16e71ccdb71709.tar.xz
Merge branch 'release-v1.24.0' of github.com:matrix-org/synapse into matrix-org-hotfixes
Diffstat (limited to 'synapse/handlers/room_member.py')
-rw-r--r--synapse/handlers/room_member.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/synapse/handlers/room_member.py b/synapse/handlers/room_member.py

index 4e693a419e..4d8ffe8821 100644 --- a/synapse/handlers/room_member.py +++ b/synapse/handlers/room_member.py
@@ -366,7 +366,15 @@ class RoomMemberHandler(metaclass=abc.ABCMeta): # later on. content = dict(content) - if not self.allow_per_room_profiles or requester.shadow_banned: + # allow the server notices mxid to set room-level profile + is_requester_server_notices_user = ( + self._server_notices_mxid is not None + and requester.user.to_string() == self._server_notices_mxid + ) + + if ( + not self.allow_per_room_profiles and not is_requester_server_notices_user + ) or requester.shadow_banned: # Strip profile data, knowing that new profile data will be added to the # event's content in event_creation_handler.create_event() using the target's # global profile.