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):
|
if self.hs.is_mine(target_user):
|
||||||
profileinfo = await self.store.get_profileinfo(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)
|
raise SynapseError(404, "Profile was not found", Codes.NOT_FOUND)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -179,6 +179,16 @@ class ProfileTestCase(unittest.HomeserverTestCase):
|
||||||
|
|
||||||
self.assertEqual("http://my.server/me.png", avatar_url)
|
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:
|
def test_set_my_avatar(self) -> None:
|
||||||
self.get_success(
|
self.get_success(
|
||||||
self.handler.set_avatar_url(
|
self.handler.set_avatar_url(
|
||||||
|
|
Loading…
Reference in New Issue