Allow per-room profile to be used for server notice user (#8799)
This applies even if the feature is disabled at the server level with `allow_per_room_profiles`. The server notice not being a real user it doesn't have an user profile.pull/8851/head
parent
f8d13ca13d
commit
9f0f274fe0
|
@ -0,0 +1 @@
|
||||||
|
Allow per-room profiles to be used for the server notice user.
|
|
@ -346,7 +346,15 @@ class RoomMemberHandler(metaclass=abc.ABCMeta):
|
||||||
# later on.
|
# later on.
|
||||||
content = dict(content)
|
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
|
# 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
|
# event's content in event_creation_handler.create_event() using the target's
|
||||||
# global profile.
|
# global profile.
|
||||||
|
|
Loading…
Reference in New Issue