Je me posais la question de l’utilité des pending membership (≈ demandes d’adhésion). Ce qui est rigolo c’est qu’en cherchant sur le forum, le premier résultat est un bug : First ĞDev bug: Pending membership expiration remove membership even if it is no longer pending.
En gros dans Duniter v1 :
- on fait une demande d’adhésion
- on reçoit des certifications
- si la demande d’adhésion n’est pas validée à temps (règle de distance inclue), le dossier est perdu, il faut re-obtenir les certifications (mais les certificateurs n’ont pas subi le délai de certification ni le coût en stock), le pseudo déclaré peut être réutilisé
Et en Duniter v2 actuellement :
- on fait une demande d’adhésion (automatiquement à la création de l’identité)
- on reçoit des certifications
- si la demande d’adhésion n’est pas validée à temps (règle de distance inclue), l’identité est perdue, il faut re-obtenir les certifications et les certificateurs ont quand même subi le délai de certification et le coût en stock (les certifications ne sont supprimées que pour une identité au statut “validée” ??), le pseudo déclaré ne peut pas être réutilisé.
Et en plus, en Duniter v2 on a l’adhésion forgeron :
- on fait une demande d’adhésion forgeron
- si la demande forgeron n’est pas validée à temps, le comportement reste à tester :
- peut-être que ça supprime l’identité (cf ticket #155)
- sinon ça n’a pas d’incidence, il suffit de redemander l’adhésion forgeron et les certifications sont toujours là
- en plus on peut recevoir des certifications forgeron même sans avoir fait de demande d’adhésion forgeron
Je suis de plus en plus convaincu qu’avoir fait de wot une pallet instanciable qui a des comportements différents en fonction de IsSubWot introduit une complexité difficile à appréhender. (cf réflexion Pallets instanciables et vérifications d'adhésion).
Et je me demande également à quoi servent les pending membership. Répondent-elles vraiment à un besoin ? Dans les deux cas (adhésion normale et forgeron) ?
À priori, toute identité créée et non révoquée devrait souhaiter être membre, y a-t-il besoin de différencier celles qui souhaitent devenir membre (pending membership) et celles qui ne le souhaitent pas ?
Par contre ce n’est pas le cas pour la toile forgeron. On a noté que ce serait bien de limiter les certifications forgeron aux candidats pour l’être. Mais actuellement c’est un bug, les certifications peuvent être émises qu’il y ait une demande en cours ou pas. Et même quand on révoque l’adhésion forgeron, les certifications sont toujours là.
J’ai l’intuition (mais pas encore vérifié) qu’en éliminant les pending membership et l’instance membership forgeron, on retirerait pas mal de bugs et simplifierait le fonctionnement.
Il faut que je prenne le temps de proposer un fonctionnement alternatif détaillé. Voilà les critères à remplir (ou pas ?) :
- après une trop longue période pendant laquelle une identité n’est pas/plus membre de la toile principale, cette identité est supprimée (mais pas les certifications), (le pseudo est-il à nouveau disponible ?)
- toute identité peut recevoir des certifications normales à tout moment, qu’elle soit membre ou pas
- la “demande d’adhésion” n’a pas besoin d’être formulée pour la toile principale (la seule raison de l’existence d’une identité est d’être membre)
- la “demande d’adhésion forgeron” est une condition nécessaire à la réception de certifications forgeron
- un forgeron peut changer sa clé forgeron pour plus de sécurité
- l’identité peut toujours révoquer son adhésion forgeron