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