Profil senkronizasyonu
Profillerin iki türü vardır. Bir tanesi geçerli hesap için ve kişilerden. Bu vcard, avatar ve görüntü adı gibi bilgileri içerdiği için, mümkün olduğunca çabuk senkronize edilmelidir. Ancak, gereksiz veri aktarımlarından kaçınmak için yalnızca gönderilmelidir. Profilleri depolamak için kullanılan biçim bir [vCard] (https://en.wikipedia.org/wiki/VCard) (https://datatracker.ietf.org/doc/html/rfc6350)
Profiller nerede saklanıyor?
Kendisi
${idPath_}/profile.vcf
örneğin: .local/share/jami/xxxxxx/profile.vcf
GNU/Linux’da.
İletişimler
Bu mantık hala her istemci tarafından yönetildiği için, istemciye bağlıdır. Ancak, Desktop’ta, bu birleştirilmiş ve: ${idPath_}/profiles/${base64(uri)}.vcf
Bir profil gönderildiğinde
Çağrılar
Bir çağrının başında genellikle istemci vCard’ı gönderir. Bununla birlikte, bu yöntem, daemon’da bulunan diğerine tercih edilmelidir.
Bağlantı cihazlarına gönder
Yeni bir cihazla bağlantı kurduğunda, bir SIP veya senkronize kanal yapılır. Bu kanal hazır olduğunda, profilin gönderilmesi gerekmediğini kontrol ederiz. Bunu yapmak için, profilin hashini önbellekte bulunan profille karşılaştırırız (${cacheDir}/${accId}/vcard/sha3
gibi ~/.cache/jami/xxxxx/vcard/sha3
on GNU/Linux), ve dosya ${cacheDir}/${accId}/vcard/deviceId
) kontrol edilir.
Çoklu cihazlar
Profil gönderildiğinde ve cihaz aynı hesaptan ise, konuşmalar kontrol edilir ve tüm üyelerin profillerini gönderiyoruz. Kanal adı “\({conversationId}/profile/\){memberUri}.vcf” olacaktır. daemon/test/unitTest/syncHistory/syncHistory.cpp