Jami-identificaties

Er zijn veel identificaties in Jami. We moeten de benaming van deze identificaties verenigen tussen alle implementaties.

  • Jami Infohash of Jami Public Key Fingerprint: een vingerafdruk van een openbare sleutel zoals 3d1112ab2bb089370c0744a44bb0786418d40b

  • Registreerde naam: een gebruikersnaam die wordt geassocieerd met een Jami Infohash op de blockchain zoals jeandupont

  • URI: een Jami of SIP URI zoals jami:3d1112ab2bb089370c0744a44bb0786418d40b of jami:jeandupont of <sip:nnnnn@host:5060>. Moet voldoen aan [rfc3986]https://tools.ietf.org/html/rfc3986). Als het een SIP URI is, moet het voldoen aan rfc3261#19.1.

  • Canonische URI: jami:3d1112ab2bb089370c0744a44bb0786418d40b of sip:nnnnn@host:5060. De meest vereenvoudigde vorm van de URI. De geregistreerde naam moet worden opgelost, bevat geen <> halve of weergave naam. Voorvoegsel met het schema (jami: of sip: of sips:).

  • Gebruikers-ID: geregistreerde naam (voorkeur) of vingerafdruk van de openbare sleutel. Gebruikers-geconfronteerde identificatiecode voor een publieke sleutel van een account.

  • Displayname of Profielnaam: een bewerkbare gebruikers gedefinieerde profielnaam zoals Jean Dupont.

Bij het weergeven van een contact:

 _____
|photo|   Display name or User ID
|_____|   User ID
  • Als de naam van het Display leeg is, wordt de gebruikers-ID in plaats daarvan weergegeven

  • Als beide lijnen dezelfde inhoud hebben, wordt alleen de eerste lijn weergegeven

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

  • Indien geen foto beschikbaar is, kan een plaatshouder met een Canonical URI-specifieke achtergrondkleur worden gebruikt:

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

Kleurwaarden zijn uit het materiaalpalet: https://material.io/tools/color

! [références_couleurs_jami]