Membre depuis plus d'un an, pb de passage des certifications

L’affichage du bouton se trouve ici.

Le boolean de condition requirements.needRenew se trouve :

requirements.needRenew = (!requirements.needMembership && !requirements.revoked &&
  requirements.membershipExpiresIn <= csSettings.data.timeWarningExpireMembership &&
  requirements.membershipPendingExpiresIn <= 0) ||
  (requirements.wasMember && !requirements.revoked && requirements.membershipExpiresIn === 0 &&
  requirements.membershipPendingExpiresIn === 0);

Les valeurs de base de requirements sont définit ici:

requirements: get('/wot/requirements/:pubkey?pubkey=true')

Dont voici la requête pour Veronique: https://g1v1.p2p.legal/wot/requirements/6uJHfgrTM2amzkVXwfUP7dn8SdzAkW72XzQ9D3f3bj93?pubkey=true


Si on décortique needRenew :

Vaut true si

Soit:
needMembership == false
revoked == false
membershipExpiresIn <= 2592000 * 2 (2 mois)
membershipPendingExpiresIn <= 0 (En l’occurrence peut valoir 0 mais pas inférieur à 0, donc revient à vérifié si == 0, je pense que c’est une coquille n’entraînant pas de bug)

Soit:
wasMember == true
revoked == false
membershipExpiresIn == 0
membershipPendingExpiresIn == 0


Le boolean needMembership est définit juste au dessus de needRenew:

requirements.needMembership = (!requirements.revoked && requirements.membershipExpiresIn <= 0 && requirements.membershipPendingExpiresIn <= 0 && !requirements.wasMember);

Tous le reste des valeurs provient de la requête BMA wot/requirements
ci-dessus.


Ce qui donne pour Véronique:

Soit:
:white_check_mark: false == false (car wasMember == true)
:white_check_mark: false == false
:white_check_mark: 0 <= 2592000 * 2
:white_check_mark: 0 <= 0

Soit:
:white_check_mark: true == true
:white_check_mark: false == false
:white_check_mark: 0 == 0
:white_check_mark: 0 == 0

Conclusion: Les deux conditions sont positives, donc je ne comprends pas pourquoi ce bouton ne s’affiche pas dans ce cas.
Le soucis vient soit d’une autre condition ailleurs lié à l’interface, soit de l’utilisateur.


:grey_question: Peut être que loading vaut true ici: ng-if="!loading && formData.requirements.needRenew" et ng-disabled="loading" lors de l’affichage du bouton, ça pourrait expliquer. Mais là on s’enfonce trop dans le fonctionnement d’angular 1 pour moi. (je ne crois pas en cette possibilité)


:grey_question: Ca peut être un soucis de cache de Cesium:

requirements: function(params, cache) {
  // No cache by default
  if (cache !== true) return exports.raw.wot.requirements(params);
  return exports.raw.wot.requirementsWithCache(params);
},

[...]

requirementsWithCache: get('/wot/requirements/:pubkey?pubkey=true', csCache.constants.LONG)

Si le cache est définit (je ne sais pas où), mais le commentaire indique qu’il n’y en a pas par défaut.


:grey_question: Ou bien simplement le Cesium de Véronique connecté à un mauvais nœud Duniter.


J’ai légèrement refactoré les conditions de needRenew dans une MR dans le but de simplifier un peu la lecture en évitant des redondances, même si c’est léger.

2 Likes

Si elle n’a pas le bouton “renouveler l’adhésion”, elle peut peut-être passer par “option”, “renouveler l’adhésion”

@Urbavcl83 as-tu essayé de passer par “mon compte” “options” “renouveler l’adhésion” ?

on a vérifié en visio et sur une extension firefox bien réglé , pas de bouton donc si ça ne revient pas aujourd’ hui on tente une révocation pour ne pas laissé de doutes croisés. on a déjà fait pour des mots de passe pas costaud etc mais dans de telles conditions ça mérite de croiser les doigts

Bonjour à tous, je viens de me rappeler que mon pc lenovo précédent a lâché (impossible d’utiliser le bonton de raz) mi aout, au moment ou j’aurais du renouveler l’adhésion…(qui a pris du retard)… du coup, il y a toujours une instance de cesium que je n’ai pas désinstallé et qui cause pb peut -être… Ness, vérification faite, rien de neuf sur cesium…merci à toi pour ton assistance technique, je révoque le compte ce we, pas trop le temps en ce moment! merci à tous pour vos bons conseils

1 Like

Juste pour être sur

Oui Maaltir, je l’ai fait plusieurs fois… mais il n’y avait pas de demande d’adhésion en surbrillance comme la 1e fois…

Chez moi dans le menu options, même si le bouton Renouveler l’adhesion est grisé je peux tout de même cliquer dessus, Cesium m’avertis que j’en ai pas besoin mais me permet de le faire tout de même.

Pour aller plus loin, vous pouvez clique droit dans Cesium puis:

  • inspecter
  • onglet Réseau
  • clique gauche 1 fois n’importe où dans cet onglet (refreash si vide)
  • ctrl+f “requirements”
  • Sélectionner la seule ligne dispo dans Réseau
  • onglet Réponse dans le cadre de droite
  • clique droit sur identites: [{…}]
  • “copier la valeur”
  • nous coller le résultat ici.
1 Like

Oui merci Poka comme je l’avais retranscrit plus haut, j’ai une case grisée aussi et il me dit aussi votre adhesion n’a pas besoin d’être renouvelée…

je suis allée dans la colonne réseau mais là en faisant ct f… je n’ai aucune valeur sauf
effetuez 1 requete
cliquez sur le bouton

alors je n’avais pas recharge la page… mais il me sort des noeuds… il semble pas trouver requirements

style de la 1e ligne: {
“duniter”: {
“software”: “duniter”,
“version”: “1.8.7”,
“forkWindowSize”: 100,
“storage”: {
“transactions”: true,
“wotwizard”: false
}
}
}

{

il ne trouve pas requirements

Alors, presque :slight_smile:

J’ai oublié de préciser qu’il faut vous rendre sur la page “Mon compte” avant d’effectuer cette action.

Peek 14-12-2023 18-41

Désolé pour cette gymnastique, c’est pour nous aider à comprendre votre problème.

ok merci etat 200
https://dharma.ynh.fr/bma/wot/requirements/6uJHfgrTM2amzkVXwfUP7dn8SdzAkW72XzQ9D3f3bj93?pubkey=true

identities [ {…} ]

mince, ya rien dans identites…

Oui, mais vous pouvez quand même cliquer sur la case grisé, et cliquer cliquer encore sur “ok”.

membershipPendingExpiresIn 31353566

Le problème vient donc de là.
Le noeud dharma.ynh.fr est correctement synchronisé au réseau et à jour, mais il a un demande d’adhésion en mempool qui ne s’est pas propagé.

Avec cette valeur on obtiens donc:

Soit:
:white_check_mark: false == false (car wasMember == true)
:white_check_mark: false == false
:white_check_mark: 0 <= 2592000 * 2
:x: 31353566 <= 0

Soit:
:white_check_mark: true == true
:white_check_mark: false == false
:white_check_mark: 0 == 0
:x: 31353566 == 0

D’où l’absence de bouton de renouvellement d’adhésion.

Vous avez également 8 certifications en attente de validation, contre 4 certifications validés sur le reste du réseau.

Essayez de vous connecter à un autre noeud Duniter, comme g1.duniter.org ou g1v1.p2p.legal par exemple, et de retenter la renouvellement.

Le soucis est donc bien une histoire de propagation de mempool.


edit: d’ailleurs la propagation semble effective sur g1.duniter.org, mais pas sur 3 autres noeuds au hasard que j’ai pris depuis l’onglet réseau de Cesium, comme https://g1.leprette.fr/bma/wot/requirements/6uJHfgrTM2amzkVXwfUP7dn8SdzAkW72XzQ9D3f3bj93?pubkey=true

Donc peut être qu’il suffit d’attendre le temps que la propagation se termine…

ok pour g1.duniter.org du coup il se positionne en mode expert…

Voilà donc je suis sur g1.duniter.org, j’ai refait une demande de renouvellement…
donc Poka, il suffirait que j’attende qques jours de plus?

Oui

ok merci Poka