Identificadors Jami

Hi ha molts identificadors en Jami. Hem de unificar el nom d’aquests identificadors entre totes les implementacions. Aquesta pàgina fa referència a diversos tipus d’identificadors utilitzats en Jami amb exemples rellevants.

  • Jami Infohash o Jami public key fingerprint: una impronta d’una clau pública com 3d1112ab2bb089370c0744a44bb0786418d40b

  • Nom registrat: un nom d’usuari associat a un Jami Infohash en la cadena de blocs com jeandupont

  • URI: un Jami o SIP URI com jami:3d1112ab2bb089370c0744a44bb0786418d40b o jami:jeandupont o <sip:nnnnn@host:5060>. Ha de ser conforme amb [rfc3986]https://tools.ietf.org/html/rfc3986). Si és un SIP URI, ha de ser conforme amb rfc3261#19.1.

  • ** URI canònic**: jami:3d1112ab2bb089370c0744a44bb0786418d40b o sip:nnnnn@host:5060. La forma més simplificada de l’URI. El nom registrat ha de ser resolt, no inclou <> brackets o nom de pantalla. Prefixat amb el esquema (jami: o sip: o sips:).

  • ID d’usuari: nom registrat (preferit) o impronta digital de clau pública. Identificador orientat a l’usuari per a una clau pública de compte.

  • Nom de pantalla o Nom de perfil: un nom de perfil definit per l’usuari editable com Jean Dupont.

En mostrar un contacte:

 _____
|photo|   Display name or User ID
|_____|   User ID
  • Si el nom de l’Embran està buit, es mostra en lloc d’aquest l’ID d’usuari

  • Si ambdues línies tenen el mateix contingut, només es mostra la primera línia

  • 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.

  • Si no hi ha cap foto disponible, es pot utilitzar un marcador amb un color de fons específic per a l’URI canònic:

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];
}

Els valors de color són de la paleta de materials: https://material.io/tools/color

! [références_couleurs_jami]