المعرفات الجمي

هناك العديد من المعرفات في Jami. نحتاج إلى توحيد تسمية هذه المعرفات بين جميع التنفيذات. هذه الصفحة تشير إلى أنواع مختلفة من المعرفات المستخدمة في Jami مع أمثلة ذات صلة.

  • جامي انفوهاش أو جامي مفتاح عام بصمة أصابع: بصمة أصابع مفتاح عام مثل 3d1112ab2bb089370c0744a44bb0786418d40b

  • اسم مسجل: اسم مستخدم مرتبط بـ Jami Infohash على بلوكتشين مثل jeandupont

  • URI: يُرجع على أوريكا جامي أو SIP مثل jami:3d1112ab2bb089370c0744a44bb0786418d40b أو jami:jeandupont أو <sip:nnnnn@host:5060>. يجب أن تكون متوافقة مع [rfc3986]https://tools.ietf.org/html/rfc3986). إذا كان SIP URI، يجب أن تكون متوافقة مع rfc3261#19.1.

  • ** URI القنوني**: jami:3d1112ab2bb089370c0744a44bb0786418d40b أو sip:nnnnn@host:5060. الشكل الأكثر تبسيطا من URI. يجب حل الاسم المسجل ، لا يتضمن <> العوامل أو اسم العرض. مقدمة مع النظام (jami: أو sip: أو sips:).

  • معلومات عن المستخدم: اسم مسجل (أفضل) أو بصمة أصابع مفتاح عام.

  • ** اسم العرض** أو ** اسم الملف الشخصي**: اسم ملف الشخصي المحدد من قبل المستخدم يمكن تحريره مثل Jean Dupont.

عند عرض اتصال:

 _____
|photo|   Display name or User ID
|_____|   User ID
  • إذا كان اسم العرض فارغًا ، سيتم عرض معرف المستخدم بدلاً من ذلك

  • إذا كانت كل الخطين تحتوي على نفس المحتوى، يتم عرض الخط الأول فقط

  • If no photo is available and a registered name (jami) or display name (sip) is available, the first letter of this name can be used to generate a placeholder. Otherwise a generic placeholder is used.

  • إذا لم تكن هناك صورة متاحة، يمكن استخدام حافظ مكان مع لون خلفية محددة لـ URI Canonical:

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