summary refs log tree commit diff
path: root/synapse/rest/client/capabilities.py
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/rest/client/capabilities.py')
-rw-r--r--synapse/rest/client/capabilities.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/synapse/rest/client/capabilities.py b/synapse/rest/client/capabilities.py

index 63b8a9364a..ebd5a33ea5 100644 --- a/synapse/rest/client/capabilities.py +++ b/synapse/rest/client/capabilities.py
@@ -92,6 +92,23 @@ class CapabilitiesRestServlet(RestServlet): "enabled": self.config.experimental.msc3664_enabled, } + if self.config.experimental.msc4133_enabled: + response["capabilities"]["uk.tcpip.msc4133.profile_fields"] = { + "enabled": True, + } + + # Ensure this is consistent with the legacy m.set_displayname and + # m.set_avatar_url. + disallowed = [] + if not self.config.registration.enable_set_displayname: + disallowed.append("displayname") + if not self.config.registration.enable_set_avatar_url: + disallowed.append("avatar_url") + if disallowed: + response["capabilities"]["uk.tcpip.msc4133.profile_fields"][ + "disallowed" + ] = disallowed + return HTTPStatus.OK, response