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
- 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