summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrew Morgan <1342360+anoadragon453@users.noreply.github.com>2020-11-02 18:01:09 +0000
committerGitHub <noreply@github.com>2020-11-02 18:01:09 +0000
commite89bd3ea923cd9d1e33ff1be3c94dc6d838837e0 (patch)
tree5bd215bd28227add4a3db479876f44435dd0c61b
parentAdd base pushrule to notify for jitsi conferences (#8286) (diff)
downloadsynapse-e89bd3ea923cd9d1e33ff1be3c94dc6d838837e0.tar.xz
Improve error messages of non-str displayname/avatar_url (#8705)
This PR fixes two things:

* Corrects the copy/paste error of telling the client their displayname is wrong when they are submitting an `avatar_url`.
* Returns a `M_INVALID_PARAM` instead of `M_UNKNOWN` for non-str type parameters.

Reported by @t3chguy.
-rw-r--r--changelog.d/8705.misc1
-rw-r--r--synapse/handlers/profile.py8
2 files changed, 7 insertions, 2 deletions
diff --git a/changelog.d/8705.misc b/changelog.d/8705.misc
new file mode 100644
index 0000000000..1189464a02
--- /dev/null
+++ b/changelog.d/8705.misc
@@ -0,0 +1 @@
+Improve the error returned when a non-string displayname or avatar_url is used when updating a user's profile.
\ No newline at end of file
diff --git a/synapse/handlers/profile.py b/synapse/handlers/profile.py
index 14348faaf3..74a1ddd780 100644
--- a/synapse/handlers/profile.py
+++ b/synapse/handlers/profile.py
@@ -189,7 +189,9 @@ class ProfileHandler(BaseHandler):
                 )
 
         if not isinstance(new_displayname, str):
-            raise SynapseError(400, "Invalid displayname")
+            raise SynapseError(
+                400, "'displayname' must be a string", errcode=Codes.INVALID_PARAM
+            )
 
         if len(new_displayname) > MAX_DISPLAYNAME_LEN:
             raise SynapseError(
@@ -273,7 +275,9 @@ class ProfileHandler(BaseHandler):
                 )
 
         if not isinstance(new_avatar_url, str):
-            raise SynapseError(400, "Invalid displayname")
+            raise SynapseError(
+                400, "'avatar_url' must be a string", errcode=Codes.INVALID_PARAM
+            )
 
         if len(new_avatar_url) > MAX_AVATAR_URL_LEN:
             raise SynapseError(