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/sha3on 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