diff --git a/synapse/rest/client/capabilities.py b/synapse/rest/client/capabilities.py
index 5c0e3a5680..6682da077a 100644
--- a/synapse/rest/client/capabilities.py
+++ b/synapse/rest/client/capabilities.py
@@ -12,6 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
import logging
+from http import HTTPStatus
from typing import TYPE_CHECKING, Tuple
from synapse.api.room_versions import KNOWN_ROOM_VERSIONS, MSC3244_CAPABILITIES
@@ -54,6 +55,15 @@ class CapabilitiesRestServlet(RestServlet):
},
},
"m.change_password": {"enabled": change_password},
+ "m.set_displayname": {
+ "enabled": self.config.registration.enable_set_displayname
+ },
+ "m.set_avatar_url": {
+ "enabled": self.config.registration.enable_set_avatar_url
+ },
+ "m.3pid_changes": {
+ "enabled": self.config.registration.enable_3pid_changes
+ },
}
}
@@ -62,6 +72,9 @@ class CapabilitiesRestServlet(RestServlet):
"org.matrix.msc3244.room_capabilities"
] = MSC3244_CAPABILITIES
+ # Must be removed in later versions.
+ # Is only included for migration.
+ # Also the parts in `synapse/config/experimental.py`.
if self.config.experimental.msc3283_enabled:
response["capabilities"]["org.matrix.msc3283.set_displayname"] = {
"enabled": self.config.registration.enable_set_displayname
@@ -76,7 +89,7 @@ class CapabilitiesRestServlet(RestServlet):
if self.config.experimental.msc3440_enabled:
response["capabilities"]["io.element.thread"] = {"enabled": True}
- return 200, response
+ return HTTPStatus.OK, response
def register_servlets(hs: "HomeServer", http_server: HttpServer) -> None:
|