Fix 404 on /profile when the display name is empty but not the avatar (#16012)
parent
a461f1f846
commit
a719b703d9
|
@ -0,0 +1 @@
|
|||
Fix 404 not found code returned on profile endpoint when the display name is empty but not the avatar URL.
|
|
@ -68,7 +68,7 @@ class ProfileHandler:
|
|||
|
||||
if self.hs.is_mine(target_user):
|
||||
profileinfo = await self.store.get_profileinfo(target_user)
|
||||
if profileinfo.display_name is None:
|
||||
if profileinfo.display_name is None and profileinfo.avatar_url is None:
|
||||
raise SynapseError(404, "Profile was not found", Codes.NOT_FOUND)
|
||||
|
||||
return {
|
||||
|
|
|
@ -179,6 +179,16 @@ class ProfileTestCase(unittest.HomeserverTestCase):
|
|||
|
||||
self.assertEqual("http://my.server/me.png", avatar_url)
|
||||
|
||||
def test_get_profile_empty_displayname(self) -> None:
|
||||
self.get_success(self.store.set_profile_displayname(self.frank, None))
|
||||
self.get_success(
|
||||
self.store.set_profile_avatar_url(self.frank, "http://my.server/me.png")
|
||||
)
|
||||
|
||||
profile = self.get_success(self.handler.get_profile(self.frank.to_string()))
|
||||
|
||||
self.assertEqual("http://my.server/me.png", profile["avatar_url"])
|
||||
|
||||
def test_set_my_avatar(self) -> None:
|
||||
self.get_success(
|
||||
self.handler.set_avatar_url(
|
||||
|
|
Loading…
Reference in New Issue