Profil synkronisering

Det finns två typer av profiler. Den för det aktuella kontot och de från kontakter. Eftersom detta vcard innehåller information, såsom avatar och visningsnamn, bör det synkroniseras så snart som möjligt. Men det måste skickas endast när det behövs för att undvika onödiga dataöverföringar.

Var finns de förvaras?

Själv

Det finns i ${idPath_}/profil.vcf t.ex.: .local/share/jami/xxxxxx/profile.vcf på GNU/Linux.

Kontakter

Eftersom denna logik fortfarande hanteras per klient, beror det på klienten. Men på Desktop, är detta enhetligt och lagras i: ${idPath_}/profiles/${base64(uri)}.vcf

När en profil skickas

Samtal

Vid början av ett samtal skickar kunden vanligtvis vCard. Men denna metod bör tas bort till förmån för den andra som ligger i daemon.

Skicka till kontaktens enheter

När du ansluter till en ny enhet görs en SIP eller en synkroniseringskanal. När denna kanal är klar kontrollerar vi om vi behöver skicka profilen. För att göra detta jämförs profilen med den i cache (${cacheDir}/${accId}/vcard/sha3 som ~/.cache/jami/xxxxx/vcard/sha3 på GNU/Linux), och filen ${cacheDir}/${accId}/vcard/deviceId kontrolleras.

Multidivis

Om profilen skickas och enheten är från samma konto, kontrolleras samtal och vi skickar profiler av alla medlemmar. Kanalnamnet kommer att vara ”\({conversationId}/profil/\){memberUri}.vcf”. beteende testat i daemon/test/unitTest/syncHistory/syncHistory.cpp