个人资料同步
由于此vcard包含信息,如avatar和显示名称,因此应尽快同步.但,它只应在必要时发送,以避免不必要的数据传输.存储个人资料的格式是[vCard] (https://en.wikipedia.org/wiki/VCard) (https://datatracker.ietf.org/doc/html/rfc6350)
存储的个人资料在哪里?
个人
〇${idPath_}/profile.vcf例如:
.local/share/jami/xxxxxx/profile.vcf`在 GNU/Linux上.
联系人
由于这个逻辑仍然由每个客户端管理,它取决于客户端.然而,在桌面上,这是统一的,存储在: ${idPath_}/profiles/${base64(uri)}.vcf
当一个个人资料发送时
呼叫
在调用开始时,客户端通常会发送vCard. 然而,该方法应该被移除,以有利于其它位于 daemon 中的方法.
发送到联系器件
当连接到新设备时,完成SIP或同步频道.当该频道准备好时,我们检查是否需要发送个人资料.此目的是将个人资料的哈希与缓存中的一个 (${cacheDir}/${accId}/vcard/sha3
像 ~/.cache/jami/xxxxx/vcard/sha3
on GNU/Linux) 进行比较.并且检查文件 ${cacheDir}/${accId}/vcard/deviceId
::.
多端设备
如果传输个人资料,设备来自同一帐户,会检查对话,我们将发送所有成员的个人资料.频道名称将是”\({conversationId}/profile/\){memberUri}.vcf”. ‧ daemon/test/unitTest/syncHistory/syncHistory.cpp`