While developing Channels' social feature, it was needed to render profile images when listing channel members or displaying messages for people that is not a friend or is not nearby in the world. Retrieving a profile image from the Catalysts implies knowing which is the file in the Content server and it can be hard to know with just the address of the user.
The first option implies a huge impact on performance and user experience because it has to wait for all users to resolve their profiles in order to display the information. The second option implies the possibility of inconsistencies. It introduces a complex logic in the Kernel that is hard to maintain and doesn't guarantee the existence of the image.
The decision is to implement an HTTP endpoint that given a user address it returns the corresponding image from the Catalysts. It can also be re-used by other systems:
GET https://synapse.decentraland.org/profile-pictures/{address}
Internally, it will retrieve the user Profile from Lambdas and redirect the request to the
corresponding URL (face256
) or a default image in case of Profile absense.
Accepted