شناسه های Jami

شناسه های زیادی در Jami وجود دارد. ما باید نامگذاری این شناسه ها را بین تمام پیاده سازی ها متحد کنیم. این صفحه به انواع مختلف شناسه های مورد استفاده در Jami با نمونه های مربوطه اشاره دارد.

  • Jami Infohash یا Jami Public Key Fingerprint: یک اثر انگشت کلید عمومی مانند 3d1112ab2bb089370c0744a44bb0786418d40b

  • نام ثبت شده: یک نام کاربری مرتبط با یک Jami Infohash در بلاکچین مانند jeandupont

  • URI: یک URI Jami یا SIP مانند jami:3d1112ab2bb089370c0744a44bb0786418d40b یا jami:jeandupont یا <sip:nnnnn@host:5060>. باید مطابق با [rfc3986] باشد.

  • ** URI کانونیک**: jami:3d1112ab2bb089370c0744a44bb0786418d40b یا sip:nnnnn@host:5060. ساده ترین شکل URI. نام ثبت شده باید حل شود، شامل <> دسته بندی یا نام نمایش نیست. با طرح (jami: یا sip: یا sips:) پیشگویی شده است.

  • ** شناسه کاربر**: نام ثبت شده (ترجیعی) یا اثر انگشت کلید عمومی. شناسه کاربر برای کلید عمومی حساب.

  • ** نام صفحه نمایش** یا ** نام پروفایل**: نام پروفایل قابل ویرایش تعریف شده توسط کاربر مانند Jean Dupont.

هنگام نمایش یک تماس:

 _____
|photo|   Display name or User ID
|_____|   User ID
  • اگر نام نمایش خالی باشد، شناسه کاربر نشان داده می شود

  • اگر هر دو خط محتوای مشابه داشته باشند، تنها خط اول نمایش داده می شود

  • اگر هیچ عکس وجود نداشته باشد و نام ثبت شده (خاتم) یا نام نمایش (سیپ) موجود باشد، می توان با اولین حرف این نام برای تولید یک جای گیرنده استفاده کرد. در غیر این صورت یک جای گیرنده عمومی استفاده می شود.

  • اگر هیچ عکس در دسترس نباشد، می توان از یک جای گیرنده با رنگ پس زمینه خاص URI کانونیکی استفاده کرد:

final int[] contactColors = {
    color.red_500, color.pink_500,
    color.purple_500, color.deep_purple_500,
    color.indigo_500, color.blue_500,
    color.cyan_500, color.teal_500,
    color.green_500, color.light_green_500,
    color.grey_500, color.lime_500,
    color.amber_500, color.deep_orange_500,
    color.brown_500, color.blue_grey_500
};

int generateAvatarColor(String canonicalUri) {
    if (isEmpty(canonicalUri))
        return R.color.grey_500;
    String h = md5(canonicalUri);
    if (h == null)
        return R.color.grey_500;
    int colorIndex = Integer.parseInt(h.charAt(0) + "", 16);
    return contactColors[colorIndex % contactColors.length];
}

ارزش های رنگ از پالت مواد هستند: https://material.io/tools/color

références_couleurs_jami