Profil synkronisering
Der er to typer profiler. Den ene til den løbende konto, og de fra kontakter. Da dette vcard indeholder oplysninger, såsom avatar og visningsnavn, bør det synkroniseres så hurtigt som muligt. Men det skal kun sendes, når det er nødvendigt, for at undgå unødvendige dataoverførsler. Formatet, der bruges til at gemme profilerne, er en [vCard] (https://en.wikipedia.org/wiki/VCard) (https://datatracker.ietf.org/doc/html/rfc6350)
Hvor er profiler gemt?
Selv
Det er i ${idPath_}/profile.vcf
f.eks.: .local/share/jami/xxxxxx/profile.vcf
på GNU/Linux.
Kontakter
Fordi denne logik stadig administreres pr. klient, afhænger det af klienten.
Når en profil sendes
Opkald
I begyndelsen af et opkald sender normalt klienten vCard. Denne metode bør dog fjernes til fordel for den anden placeret i daemon.
Send til kontaktens enheder
Når du forbinder med en ny enhed, er der en SIP eller en synkroniseringskanale. Når denne kanal er klar, tjekker vi, om vi skal sende profilen. For at gøre dette, sammenlignes profilen hash med den i cacheen (${cacheDir}/${accId}/vcard/sha3
som ~/.cache/jami/xxxxx/vcard/sha3
på GNU/Linux), og filen ${cacheDir}/${accId}/vcard/deviceId
).
Multidivis
Hvis profilen sendes, og enheden er fra samme konto, kontrolleres samtaler og vi sender profiler af alle medlemmer. Kanalnavnet vil være »\({conversationId}/profil/\){memberUri}.vcf«. Adfærd testet i daemon/test/unitTest/syncHistory/syncHistory.cpp