summary refs log tree commit diff
diff options
context:
space:
mode:
authorMohit Rathee <mohit.rathee2505@gmail.com>2023-08-01 18:44:02 +0530
committerGitHub <noreply@github.com>2023-08-01 09:14:02 -0400
commit5eb3fd785bdbf2ae07031f13a6ac5fb578adc338 (patch)
tree95c637b7dc13357cc8ac2e620a51d480e1e2ad46
parentAdd metrics tracking for eviction to ResponseCache (#16028) (diff)
downloadsynapse-5eb3fd785bdbf2ae07031f13a6ac5fb578adc338.tar.xz
Trim whitespace when setting display names (#16031)
-rw-r--r--changelog.d/16031.bugfix1
-rw-r--r--synapse/handlers/profile.py2
-rw-r--r--tests/rest/client/test_profile.py12
3 files changed, 14 insertions, 1 deletions
diff --git a/changelog.d/16031.bugfix b/changelog.d/16031.bugfix
new file mode 100644

index 0000000000..e48bf3975c --- /dev/null +++ b/changelog.d/16031.bugfix
@@ -0,0 +1 @@ +Remove leading and trailing spaces when setting a display name. diff --git a/synapse/handlers/profile.py b/synapse/handlers/profile.py
index c7fe101cd9..c2109036ec 100644 --- a/synapse/handlers/profile.py +++ b/synapse/handlers/profile.py
@@ -163,7 +163,7 @@ class ProfileHandler: 400, "Displayname is too long (max %i)" % (MAX_DISPLAYNAME_LEN,) ) - displayname_to_set: Optional[str] = new_displayname + displayname_to_set: Optional[str] = new_displayname.strip() if new_displayname == "": displayname_to_set = None diff --git a/tests/rest/client/test_profile.py b/tests/rest/client/test_profile.py
index 27c93ad761..ecae092b47 100644 --- a/tests/rest/client/test_profile.py +++ b/tests/rest/client/test_profile.py
@@ -68,6 +68,18 @@ class ProfileTestCase(unittest.HomeserverTestCase): res = self._get_displayname() self.assertEqual(res, "test") + def test_set_displayname_with_extra_spaces(self) -> None: + channel = self.make_request( + "PUT", + "/profile/%s/displayname" % (self.owner,), + content={"displayname": " test "}, + access_token=self.owner_tok, + ) + self.assertEqual(channel.code, 200, channel.result) + + res = self._get_displayname() + self.assertEqual(res, "test") + def test_set_displayname_noauth(self) -> None: channel = self.make_request( "PUT",