个人资料同步

由于此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/sha3on GNU/Linux) 进行比较.并且检查文件 ${cacheDir}/${accId}/vcard/deviceId::.

多端设备

如果传输个人资料,设备来自同一帐户,会检查对话,我们将发送所有成员的个人资料.频道名称将是”\({conversationId}/profile/\){memberUri}.vcf”. ‧ daemon/test/unitTest/syncHistory/syncHistory.cpp`