Je fais un petit point concernant les nouveautés des 3 derniers builds.
Je ne fait pas de point à chaque fois car je n’en ressent pas le besoin tant que nous somme sur une monnaie de test.
- Pas mal de corrections de bugs et de refacto en tous genre on été effectués sur l’ensemble du code.
- Le scan des dérivation lors de l’import scan désormais les 60 premières dérivations (auparavant 20) et est beaucoup plus rapide qu’avant, étant donné que j’ai scindé la génération des 60 dérivations, le requêtage du solde de ces 60 wallets en multiQuery en une seule grosse requête, et l’import des dérivations existantes
- L’activité de chaque compte affiche l’événement de migration d’identité au milieu de l’historique avec la l’ancienne addresse.
- Optimisation du chargement des usernames
- Apparition d’un mini tuto lorsque vous générés votre second wallet pour la première fois, pour vous expliquer que vous pouvez drag and drop une tuile sur l’autre pour effectuer une transaction entre vos wallets
- Information au sujet des frais de transactions disponible sur la fenêtre de transaction (popup ouvrable en cliquant sur le (i) à côté du montant du frais)
- Choix du wallet par defaut lors du paiement plus pratique, via un dropdown (liste défilante) au lieu d’un nouvel écran
- Amélioration du PDF d’impression du mnemonic
- Distinction de la tuile du portefeuille membre dans votre coffre, mise en valeurs, avec affichage du nombre de certifications émis/reçus
- Changement de methode pour le responsive, j’en profité pour globalement grossir légèrement tous les éléments et texte dans l’app que je trouvais trop petit sur grand écran. Vous me direz si ça ne vous parait pas trop gros.
- Implémentation des Datapods: Uniquement pour les avatars. Désormais, lorsque vous choisissez un avatar pour votre wallet, il sera uploadé directement sur le datapod (qui ne l’acceptera que si votre wallet à un solde non nulle). J’ai travaillé un système de cache dont je suis assez satisfait, basé sur la date de dernière mise à jours du profile, et celle de l’avatar locale.
- Tous les wallets dans les vues de recherches et contacts (partout) récupère leur avatar du datapod, qui comporte toutes les données importés de la G1, donc tous les avatars sont visibles pour tout le monde. Le système de cache de ce côté se fait par session, chaque avatar chargé est stocké localement et sera effacé au prochain redémarrage.
L’app vous informera de l’oublie de votre coffre pour cette montée de version, qui voit le modèle de donnée des wallets changer.
Ce n’est pas exhaustif mais j’essaie de rendre les nom de commit intelligibles pour le reste.
Pour la suite, voici quelques points que je compte travailler, pas forcément dans l’ordre:
- Changer le système de pagination de l’activité pour laisser tomber l’API relay, étant donné que leur équipe ne semble pas déterminé à la corriger: Limit number of rows parameter shouldn't be limiting with pagination using relay API · Issue #9578 · hasura/graphql-engine · GitHub
- Pourvoir migrer son identité vers un wallet extérieur à son coffre
- Implémenter le système de Distance, mais j’attends avant que les travaux avancent côté Duniter pour simplifier ce système
- Passer de l’indexer Hasura à Squid, ce qui sera l’occasion de voir ce qu’il manque à Squid, et peut être y contribuer
- Refonte totale du système de code PIN … Là dessus, je vais peut être me mettre à dos les plus sécuritaire d’entre vous, mais après de longues réflexion et analyse de ce qu’il se fait à côté, j’ai l’intention de lâcher cette histoire d’entropie, et de proposer à l’utilisateur de renseigner un code PIN numérique à 4 chiffres de son choix, simplement en vérifiant qu’il ne s’agit pas de code suite ni du répétition de 4 même chiffre. Je pense que ce sujet amènera des débats et discutions intéressantes. Le but pour moi n’étant pas d’empêcher un hacker qui se serait procurer votre fichier chiffré depuis votre stockage directement, mais simplement de protéger votre coffre via l’UI, avec attente d’1 minutes incrémentale à chaque suite de 3 échecs de code PIN par exemple.
Quelqu’un en possession de votre fichier chiffrer pourra le bruteforcer même avec les codes actuels, simplement il lui faudra quelques heures au lieu de 10 jours.
J’ai songé à l’idée de rallonger le PIN user avec un gros hash secret intégré à l’app et connu seulement par moi et les mainteneurs de Gecko, à renseigner en .env, mais là ça va rallonger encore plus nos débats - Changer le suivi des transactions pour les faire apparaître en cours directement sur la vue activité de son wallet, à la manière de gecko web.
- Réflexion sur l’utilisation ou non des autres champs de profiles datapod disponible, j’ai repris exactement ceux de Cs+ (les données G1 sont même importés), mais je ne sais pas encore ce que je vais utiliser ou non. C’est surtout le nom de portefeuille qui me pose question, je ne sais pas encore si je dois sync les noms de portefeuilles locaux avec ce champs, et permettre une recherche dessus (pour la recherche je ne pense vraiment pas, mais à voir…)
- Corriger les petits bugs que je vois déjà, comme l’inaction du bouton pour aller vers son coffre dans la bar d’action du bas, et les petits mouvements de l’avatar sur la vue profile lors du chargement…
Depuis ma reprise en Novembre, je me fait mes tickets sur papier uniquement, laissant de côté les issues du gitlab, mais j’ai commencé à les reprendre, je vais probablement me resynchroniser dessus prochainement.