Ğecko talks / user support

Salut Poka,

La clé Ğ1 source est : FZkxdBu8FPASmZ9QDCNoTahfjobL6EXUwwJUqX51DerX

C’est un compte membre depuis plus d’un an maintenant.

J’ai fait le transfert après le 12/12/2022. Cela devait être en février dernier ou en mars.

J’avoue ignorer si le solde du compte émetteur était correct.

Pour les soldes des 2 autres comptes, ils étaient correctes, les comptes recepteurs étaient déjà alimentés avec quelques ĞD transférés depuis le comptes principal il y a 3 ou 4 ou plus semaines. Désolé, impossible de vérifier l’historique car Ğecko me dit “Aucun serveur disponible” pour l’instant.

Pour l’erreur, je te joins le screenshot, j’avais zapé de l’avoir fait. Cette erreur à eu lieu plusieurs fois avant de tout réinitialiser Ğecko.

Vu pour le reste et merci pour tes réponses à leur sujet.

Je reste à ta disposition bien que là où je suis actuellement, l’internet fonctionne de façon très moyenne et je ne dispose que de mon téléphone.

Bonne soirée et avec plaisir pour l’aide apporté au développement de Ğecko

Je viens de découvrir une ancienne capture d’écran (en pj) de mon portefeuille principal initial. On voit clairement que la clé public Ğecko est différente de la clé public Ğecko actuelle que tu retrouvera dans mon premier message.

Ce qui me fait me rappeler que juste avant l’erreur et la réinitialisation de Ğecko, j’ai créé un 4ème portefeuille qui était vide et qui n’est pas réapparu après la réinitialisation. Malheureusement, je n’ai pas sa clé Ğecko pour savoir si c’est ce portefeuille vide que j’ai aujourd’hui en portefeuille principal ou pas.

Merci. Cette clé correspond à cette adresse en v2: 5GxT4rR8z1MEMwNkEoa1eooWuNvc6K1W5SetzX8zvqwyStiC

Ton identité ainsi que ton solde ont bien été migré le 15 Avril vers cette adresse: 5CPhpL7AxSJsn1PHdaMAABxe2nm9CcVuirGxx5bnUkQTZHWf

Tu as ensuite fait 4 transactions depuis cette adresse. Tu peux vérifier ça en collant l’une de ces adresses sur gecko web par exemple.
Tu avais donc bien accès à ce compte depuis ce coffre (ce mnemonic).

Du coup, le seul scénario qui j’imagine est que tu aurais créé plus de 10 portefeuilles dans ton coffre, et que tu as migré ce compte vers un portefeuille supérieur à 10, qui n’est donc pas scanné lors de l’import.
Est-ce le cas ?

Il faudrait changer la méthode de scan pour éviter ce problème, ou bien limiter le nombre de portefeuilles dans son coffre.
Je vais regarder ça pour la prochaine version.
En attendant, si c’est bien le soucis, tu peux essayer de créer manuellement de nouvelles dérivations via les paramètres du coffre, à partir de la dérivation 20, avec un pas de 2 (20, 22, 24…) jusqu’à tomber sur ton portefeuille (pas besoin d’aller très loin, cela dépends du nombre de portefeuille que tu aurais créé à l’époque).

Salut Poka,

Je n’avais que 4 portefeuilles, le principal qui a récupéré l’import des Ğ1 (celui qui a disparu) et 3 secondaires.

J’ai malgré tout créé toutes les dérivations paires de 20 à 50 et tous les coffres sont à 0.0ĞD. En revanche je constate que plusieurs des dérivations portent le même nom (portefeuille 6 = 10 fois et portefeuille 16 = 5 fois). Est-ce normal ou suis-je allé trop vite ?

Une info qui peut avoir son importance, j’avais un des portefeuille secondaire à qui j’ai pu donner une certification et l’identité a ensuite été validé par mes soins. Est-ce que 2 identités dans un même coffre mettrait la zizanie lors d’un réimport ?
C’est un point (donner une certification à un portefeuille dans son propre coffre) que je souhaitais aborder avec toi par la suite, mais cela peut avour son importance aujourd’hui.

Si pour faciliter les échanges tu veux que l’on se téléphone, je peux te filer mon tel en mp.

Belle journée

1 Like

Bonjour à tous, je vais la demande ici, je voudrai bien le lien pour tester Ğecko sur IOS.

Merci

1 Like

Bonjour @sucupira ,

Pour le moment, pour tester Ğecko sur iOS, il faut envoyer un message privé à @cgeek , qui vous ajoutera dans la liste de testeur sur testFlight de Apple.

Suite à quoi vous recevrez un email vous permettant d’installer l’app.

Mail envoyé.

J’ai essayé d’importer mon compte v1 avec ğecko.
F8DoNzvUb11EftKqsodEnuJBbJiPh5rt16z9dADCS2cK:Fvq
Mais j’ai un solde à zéro alors que le nombre de certif semble bon…

Par contre, en important mon compte portefeuille 7Jb3BLoLztKMqyA64ozfxB9aXqN9tsfKCprmMGFWm4Wz:6DD
de 5344.69 ğ1 je passe à 5341.67 gdev, les frais de création de compte sans doute.
Je pense qu’il faudrait aussi éviter les frais de création de compte lors de la migration.

Ta clé publique v1 correspond à l’adresse ss58 5GosZYTL75W3J4K8JvtRjeNBrYAz3tgEqxV1Si5XPurJScvz.

Le soucis semble venir de Ğecko étant donnée que les données semblent correctes en blockchain

Cependant chez moi ton solde s’affiche correctement donc je dois investiguer:

J’ai oublié de le dire dans la réunion de ce soir : je vais voir pour refaire un build Gecko pour iPhone car la version beta a expiré, et pour bénéficier de tes correctifs et évolutions.

2 Likes

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 :laughing:
  • 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.

6 Likes

Ça déménage !! Pour ceux qui ont un compte membre et voudraient tester le parcours de certification de manière utile, vous pouvez piocher dans Listes des membres ĞDev en attente de certifications

1 Like

Quand j’essaie de certifier bgallois, je passe par la recherche de compte et je colle sa clé publique, je vois son compte dans la liste (tout seul bien sur)
quand je clique dessus j’arrive sur cet écran et çà mouline sans résultat…

2 Likes

J’ai bien une issue Sentry correspondante: Sentry

Ce qui me permet reproduire précisément ton essaie, qui n’est plus une erreur dans ce dernier build de Gecko car j’avais comme par hasard changé ma manière de détecter la correspondance des adresses.

Auparavant en mode aveugle comme à l’ancienne sur la v1:

bool isAddress(address) {
  final RegExp regExp = RegExp(
    r'^[a-zA-Z0-9]+$',
    caseSensitive: false,
    multiLine: false,
  );

  if (regExp.hasMatch(address) == true &&
      address.length > 45 &&
      address.length < 52) {
    return true;
  } else {
    return false;
  }

Et désormais en utilisant la lib polkadot.js directement:

Future<bool> isAddress(String address) async {
  final sub = Provider.of<SubstrateSdk>(homeContext, listen: false);
  return await sub.sdk.api.account.checkAddressFormat(address, sub.initSs58) ??
      false;
}

Tu as oublié une lettre à la fin de l’adresse de bgallois: 5F6xAX1k6eRKUGrF7exifKcS2K2SB781Cn6soV1kahjwkGpg

Ca ne devrait plus se reproduire.
Aussi lorsque tu as une adresse de copié dans ton presse papier, quand tu va sur l’écran de recherche, le bouton d’action est directement actif et indique “Coller l’adresse depuis le presse-papier”. Ta juste à cliquer et tu arrives sur le compte, plus simple que de coller dans la zone de recherche et passer par l’écran de résultat.
Mais les deux doivent fonctionner, que ce soit une adresse valide ou non. Tu confirmes ?


Du coup ya quelques nouveauté encore dans ce build (que je ne pensais pas publier maintenant, mais j’ai ajouter un meilleur catch error pour être sûr à 100% que l’erreur de maaltir ne de reproduise jamais, donc je préfère sortir ça maintenant):

  • Le suivi des transactions se fait directement sur l’écran d’activité du compte émetteur, plus d’écran spécifique à ça pour les paiements :slight_smile:
  • Affiche les avatars vraiment dans toutes les listes dans l’app
  • fix du bouton portefeuille de l’app bar
  • Adaptation de la taille du text à certains endroits. J’y vais vraiment à taton en grossissement et rétrécissement, ce n’est pas très pros ce que je fais là dessus, il faudra probablement encore homogénéiser mieux les tailles de texte dans l’app. Pas facile de bien se rendre compte dans le grand émulateur.
  • Nouvel écran de migration d’identité: Désormais vous pouvez migrer votre identité vers un portefeuille extérieure (sans ça c’est un peu inutile…). Vous rentrer votre nouveau mnemonic ainsi que l’adresse de destination, gecko check si l’adresse appartiens à une des dérivations, et procède à la migration si les checks sont ok.
  • Changement du system de pagination GraphQL pour l’historique des transactions: J’ai troqué l’API relay d’hasura par la pagination classic avec offset et numéro de page incrémentale. Il n’y a donc plus de soucis pour remonter jusqu’au tout début de l’historique de chaque compte.
  • Possibilité de refresh l’historique ainsi que la vue certifs émises/reçus en tirant l’écran vers le bas (pull to refresh), sans reloader tous l’écran, plutôt optimisé.
  • fix: affichage correct des certifications reçus sur l’écran en question, aupravant il affichait les certifs émises aussi bien dans la partie reçus que émise… bug là depuis quelque temps.
  • Connection websocket graphql global pour l’indexer et le datapod dès le démarrage de l’app. Donc maintenant toutes les connections dans gecko mobile sont en websocket, il n’y a plus de requêtes http. Ca permet de garder chaque connection active tant que l’app est lancé, et ne pas recréer de nouvelle connexion à chaque requête. Et ça m’ouvre la voie pour permettre d’automatiquement changer de endpoint indexer si il tombe pendant que l’app tourne, en tâche de fond.
  • Verrouillage du cas d’erreur de Maaltir

3 Likes

Je confirme, je m’étais planté en faisant le copier collé, le bouton d’action est directement actif quand il a une adresse valide dans le presse-papier, et grisé si c’est une adresse invalide.
Mais quand je fais un retour arrière après avoir trouvé le compte, si je copie autre chose dans le presse-papier, le bouton reste actif.
Et inversement, si je n’avais pas une bonne adresse la première fois et que je copie une bonne adresse, le bouton reste grisé. Et dans ce cas-là, il mouline pour trouver un résultat qui ne viens pas…

Il semble que les certifs d’un nouvel entrant n’apparaissent pas, est-ce normal tant qu’il n’en a pas 5 ?

1 Like

Oui tant qu’il est pas membre l’indexer ne les indexes pas étrangement. Ca sera probablement pas le cas avec squid.


Ok je connaissais ce comportement @Maaltir , et j’espérais que personne ne remarque ça ahaha.

Bon du coup j’ai résolu ça, comme j’ai pu … fix: listen clipboard changes in search screen (f1208846) · Commits · clients / Ğecko · GitLab

2 Likes

Étrange en effet, ça doit être toujours le même bug où les événements ne sont pas ajoutés dans le bon ordre sur duniter-indexer. Et en effet sur squid je n’ai pas ce pb :

3 Likes

2 posts were split to a new topic: Quel indexeur utiliser et scan réseau

J’ai enfin réussi à installer Gecko sur un téléphone “moderne” qui n’a pas de pilotes bloqués comme replicant (je suis avec le système /e/ !).
Je vois juste des portefeuilles, je vois pas où sont les certifs, et j’ai l’impression de ne pas trouver de pseudos parce que je ne trouve pas de portefeuille avec la recherche “poka”.

Bon… je vais prendre le temps de regarder, en tout cas ma clé publique est 5CK6hcoF7yysnP2k1P4DnhRcuPrmNaQ7sYsVb88VUareVsLP

Quand je fais “importer son ancien compte”, il me fait une roulette qui dure super longtemps, et ça marche pas car va pas plus loin… (j’aurais peut-être dû essayer sous android avant de tout virer pour mettre /e/ :sweat_smile: )

Ğecko n’est pas à jour, les changements de runtime et d’indexer n’ont pas été réperctués. Le projet est en standbye en attendant que le reste de l’écosystème se stabilise.

Désolé :wink:

2 Likes