Stable/ws2p v1.1
I've fixed the important issues for a better ws2p connectivity, the code is close and functional, it only waits for your validations.
Merge request reports
Activity
assigned to @c-geek
assigned to @librelois
- Edited by Éloïs
Changelog :
- rewriting the prioritization of connections #1185 (closed)
- multi-version management preparation
- creation of a clique between all nodes of the same key
- Do not count own key in connection quotas
- regularly reconnect to the entire network until quotas are reached.
- store and display the uuid of the nodes to which you connect.
- add a step field in WS2P Head #1205 (closed)
- Broadcast a V2 head (lower compatibility guaranteed by a regex since 1.6.11) #1177 (closed)
- ws2p network renewal: delete 1 connection from each time to force the network to remain dynamic #1219 (closed)
- ws2p private : apply the quota to the number of keys rather than the number of connections #1220 (closed)
- WS2P HEAD : add freeMemberRoom and freeMirorRoom fields #1214 (closed)
Edited by nanocryk10 12 this.maxSize = maxSize || 10 11 13 } 12 14 13 async acceptNewSandBoxEntry(element:any, pubkey:string) { 14 if (element.pubkey === pubkey) { 15 async acceptNewSandBoxEntry(element:T, pubkey:string) { 16 // Accept any document which has the exception pubkey (= the node pubkey) 17 if (element.issuers !== undefined && element.issuers.indexOf(pubkey) !== -1) { Houlà tu remonte une ancienne MR de la branche typage sur dev, aucun rapport avec cette MR là, historiquement le champ issuers n'existait pas je l'avais d'abord rajouter sur 1 seul document puis progressivement sur tous c'est pour cela que le test existait, effectivement désormais il ne sert plus je le supprime ...
changed this line in version 2 of the diff
Si bien sûr qu'il sert ce test : il permet d'accepter immédiatement tout document dont l'émetteur (ou faisant partie des émetteurs en cas de transaction) d'être accepté par le nœud s'il partage la même clé publique.
Bref, les documents d'un émetteur sont acceptés par son nœud.
Edited by Cédric Moreau@c-geek on parlais de la 1ère condition
element.issuers !== undefined
que j'ai d'ailleurs supprimer, pas de la 2ème ;)
added 1 commit
- 121cebe4 - [fix] wrong head v2 broadcasting & prevent fileds injection
Je cherchais la doc WS2P et à mon grand regret je n'ai rien trouvé ! ( https://git.duniter.org/nodes/typescript/duniter/tree/stable/ws2p-v1.1/doc )
On pourrait déjà faire un document simple qui rappelle les ressources disponibles actuellement sur ce sujet :
- la définition initiale : https://forum.duniter.org/t/nouvelle-api-ws2p/3067
- le tutoriel sur WS2P : https://duniter.org/fr/wiki/duniter/configurer/#configurer-ws2p
Oui elle n'existe pas je me suis fait un ticket #1228 (closed) mais je vais attendre que ws2p se stabilise avant de la rédigée car son fonctionnement risque encore de varier fortement selon les problèmes constatés, c'est encore trop frais !
Edited by ÉloïsJ'ai regardé un peu tout cela ce matin : je trouve que le code WS2P devient complexe et qu'il est difficile à suivre. Du coup faute d'avoir des tests unitaires ciblant précisément chaque composante de WS2P, je te laisse décider de merger @librelois, et m'en remets aux essais en pré-production pour vérifier que tout cela fonctionne correctement.
Je rédigerai des tests c'est sûr, mais ce sera dans le cadre d'un refactoring pour découpler toute la logique. Donc ce sera dans un second temps.
Si possible, verrouillons le comportement de WS2P en 1.6 à cette MR.
Ok pour verrouiller le comportement de WS2P en 1.6 à cette MR. Je propose de merger et de faire une pré-release que l'on testera le temps nécessaire (au moins 1 semaine voir plus). S'il y a des problèmes gênants je ferais un correctif rapidement et si tout semble bien fonctionner au bout d'un temps suffisamment long alors on poussera la version officielle.
Je vais rajouter un dernier commit ce soir pour empêcher l'injection de champs dans les head !
added 1 commit
- febdf7f7 - [fix] ws2p heads : prevent fields injection & refactoring headsReceived
move to !1220 (merged)