Je prends quelques points en note ici pour notre prochaine visio @kimamila.
Types Duniter
J’ai tenté de réparer l’augmentation des types des API pour #27, ça permet d’avoir l’autocomplétion correcte, et les types corrects à la compilation, c’est-à-dire les types Duniter plutôt que les types Polkadot. Le résultat est dans mon commit 556a1565be6fb77ec2634966970b8e468f7625de
, on pourra regarder ça ensemble.
Gestion de l’état
J’ai mieux compris la séparation en modèles/contrôleurs/services/pages/formulaires/modules/composants/modal même si ça me paraît toujours lourdingue lourd. Par contre, je ne comprends pas quel est le parti pris pour afficher les données : quand est-ce qu’on prend le résultat dans squid ? Quand est-ce qu’on préfère l’API RPC directement ? Comment est-ce qu’on sait de quelle source est censée provenir une donnée ? À quel moment indique-t-on que l’on veut charger la donnée ?
Duplication de code
Il y a de la duplication de code entre wallet.page.html
et wot-details.page.html
pour ce qui concerne l’identité. Est-ce volontaire ou est-ce qu’il y a une factorisation à faire ? Ça participe à rendre le débuggage compliqué parce que deux vues en tout point identiques ne proviennent pas du même code.
Comment débugger
Ça rejoint un peu le point précédent, mais quand je ne comprends pas quelque chose, quel est le processus pour trouver l’info ? Le temps de rechargement est très long, donc je ne peux pas vraiment faire du debug-print ni afficher des objets dans la page. Comme il y a beaucoup de requêtes réseau, c’est difficile de savoir de quelle requête l’information est censée venir. De plus si on change le endpoint en paramètre, le endpoint revient à sa valeur par défaut au prochain rechargement. Comment forcer le bon endpoint squid.gdev.coinduf.eu
plutôt que gdev-squid.axiom-team.fr
qui semble cassé (@poka les logs ?).
Comment préserver l’état lors du reload ?
Pour tester le parcours de certification ou des échanges entre deux comptes, il est pratique d’avoir deux fenêtres ouvertes avec un compte différent connecté dans chaque fenêtre. J’ai testé ceci avec une fenêtre en navigation privée et une fenêtre normale, mais à chaque reload suite à une modification du code, le compte connecté sur les deux fenêtres est réglé au dernier compte connecté, ce qui force à refaire tout le parcours de connexion.