همگام سازی پروفایل

دو نوع پروفایل وجود دارد. یکی برای حساب جاری و دیگری از تماس ها. از آنجا که این vcard شامل اطلاعات مانند اوتار و نام نمایش است، باید به زودی هماهنگ شود. اما، باید تنها زمانی که لازم است ارسال شود تا از انتقال داده های غیر ضروری جلوگیری شود. فرمت مورد استفاده برای ذخیره پروفایل ها یک [vCard] است.

پروفایل ها کجا ذخیره شده؟

خود

این در ${idPath_}/profile.vcf به عنوان مثال: .local/share/jami/xxxxxx/profile.vcf در GNU/Linux است.

تماس ها

از آنجا که این منطق هنوز در هر مشتری مدیریت می شود، بستگی به مشتری دارد. با این حال، در Desktop، این یکپارچه شده و به: ${idPath_}/profiles/${base64(uri)}.vcf ذخیره می شود.

وقتی یک پروفایل ارسال می شود

تماس‌ها

در آغاز تماس، معمولا مشتری vCard را ارسال می کند. با این حال، این روش باید به نفع دیگری که در دایمون واقع شده است حذف شود.

به دستگاه های تماس بفرستید

هنگامی که به یک دستگاه جدید متصل می شویم، یک کانال SIP یا یک کانال هم وقت سازی انجام می شود. هنگامی که این کانال آماده است، ما بررسی می کنیم که آیا ما نیاز به ارسال پروفایل داریم. برای انجام این کار، هش پروفایل با آن در کیش (${cacheDir}/${accId}/vcard/sha3 مانند ~/.cache/jami/xxxxx/vcard/sha3 در GNU/Linux) مقایسه می شود و فایل ${cacheDir}/${accId}/vcard/deviceId بررسی می شود. حساب cf. Jami:: needToSendProfile() . اگر موجود نباشد، پروفایل حساب ارسال می شود. به طور معمول، نام کانال "vcard://xxx" خواهد بود که در آن صادر کننده پروفایل ارسال می شود.

دستگاه های چندگانه

اگر پروفایل ارسال شود و دستگاه از همان حساب باشد، مکالمه ها بررسی می شوند و ما پروفایل های همه اعضای را ارسال می کنیم. نام کانال "${conversationId}/profile/${memberUri}.vcf" خواهد بود. رفتار آزمایش شده در daemon/test/unitTest/syncHistory/syncHistory.cpp