Sincronizzazione del profilo
Ci sono due tipi di profili: quello per il conto corrente e quello dei contatti. Poiché questa vcard contiene informazioni, come l’avatar e il nome del display, dovrebbe essere sincronizzata il prima possibile. Ma, deve essere inviata solo quando necessario, per evitare trasmissioni di dati non necessarie. Il formato utilizzato per memorizzare i profili è una [vCard] (https://en.wikipedia.org/wiki/VCard) (https://datatracker.ietf.org/doc/html/rfc6350)
Dove sono archiviati i profili?
Automazione
È in ${idPath_}/profile.vcf
es. .local/share/jami/xxxxxx/profile.vcf
su GNU/Linux.
Contatti
Poiché questa logica è ancora gestita per cliente, dipende dal cliente. Tuttavia, su Desktop, questo è unificato e memorizzato in: ${idPath_}/profili/${base64(uri)}.vcf
Quando viene inviato un profilo
Chiamate
All’inizio di una chiamata, generalmente il cliente invia la vCard. Tuttavia, questo metodo deve essere rimosso a favore dell’altro situato nel daemon.
Inviare ai dispositivi dei contatti
Quando si connette a un nuovo dispositivo, viene eseguito un canale di sincronizzazione o SIP. Quando questo canale è pronto, controlliamo se dobbiamo inviare il profilo. Per questo, il hash del profilo viene confrontato con quello nella cache (${cacheDir}/${accId}/vcard/sha3
come ~/.cache/jami/xxxxx/vcard/sha3
on GNU/Linux), e viene verificato il file ${cacheDir}/${accId}/vcard/deviceId
.
Dispositivi multi-unità
Se il profilo viene inviato e il dispositivo è dallo stesso account, le conversazioni vengono controllate e inviamo i profili di tutti i membri. Il nome del canale sarà «\({conversationId}/profile/\){memberUri}.vcf». Comportamento testato in daemon/test/unitTest/syncHistory/syncHistory.cpp