Handle avatar-URL optimization user_avatar_url_field_optional
#254
Labels
a-api
Implementing specific parts of the Zulip server API
help wanted
performance
Smooth and responsive UI; fixing jank, stutters, and lag
Milestone
That is, the
user_avatar_url_field_optional
client capability in the Zulip API:https://zulip.com/api/register-queue#parameter-client_capabilities
At the moment, we claim that capability in our registerQueue requests; but we don't actually implement what we need on our side in order to handle it, so we end up with missing avatars. We'll shortly flip that so that we no longer claim the capability, getting correct behavior. But then we should actually implement the logic (there's not much to it), and re-enable the optimization.
For how the implementation can work, see
FallbackAvatarURL
in zulip-mobile's src/utils/avatar.js. In particular seevalidateAndConstructInstance
andget
. I think we can probably do the implementation with less code than is in zulip-mobile, though.At the moment our
User.avatarUrl
field gets deserialized in a way that doesn't distinguish whether the server leftavatar_url
out or set it to null. We'll need to distinguish those in order to handleclient_gravatar
(a separate issue)… but the fallback avatar URLs should work for all users. So for this issue we should be fine without that distinction.The text was updated successfully, but these errors were encountered: