当用户A和用户B都在线并且其中一个更改了头像时,用户的所有名单都会收到一个vanka-temp更新元素的状态节,其中图像的sha1哈希用作头像。
<presence from='juliet@capulet.com/balcony'>
<x xmlns='vcard-temp:x:update'>
<photo>sha1-hash-of-image</photo>
</x>
</presence>
但是,当时没有为当前离线的用户生成此类通知/节,因此这样的客户端在显示的头像中没有显示任何变化。
当有任何变化时,离线用户如何才能从名册中获得v-card更新?即使没有变化,我也不想要求所有名单上的vCard。
答案 0 :(得分:0)
我认为支持协议的客户端应该在所有在线数据包中包含头像,而不仅仅是在更改时。如XEP-0153: vCard-Based Avatars中所述:
如果客户支持此处定义的协议,则必须包含 在它发送的每个在线广播中更新子元素,并且应该 还包括定向存在节中的更新子节点(例如, 加入多用户聊天时发送的定向存在(XEP-0045)[5] 间)。
这意味着离线用户将获得正确的状态,并且可以在他们在线时更新头像。