Wotwizard UI

Non ce serait en requêtant l’API graphQL donc, après la MAJ de ses données (qui doit se faire régulièrement j’imagine)

1 Like

On pourrait en effet faire de wotwizard-ui une app, et utiliser les souscriptions GraphQL pour les notifications, mais il ne faut pas perdre de vue que la partie serveur s’appuie sur un écosystème fragile : wotwizard requiert d’être installé à côté d’un noeud Duniter 1.7 car c’est la seule manière d’accéder aux données de la mempool. Ça limite le nombre de personnes qui souhaiteront l’installer (maintenir un noeud 1.7 est plus compliqué que 1.8) et donc on est très sensible au uptime des instances existantes.

Pour corriger ça, il faudrait réaliser la migration des données de la mempool initialement prévue pour Duniter 1.9 et les exposer via GVA. Ainsi, installer un noeud wotwizard ne nécessiterait pas de noeud Duniter, les informations seraient récupérées par GVA. Mais cette opération est extrêmement compliquée et aucun contributeur actif ne serait en mesure de la faire.

1 Like

En lisant @HugoTrentesaux, j’ai un doute. Tu parles de l’API graphQL de wwServer ou de celle à venir :thinking: de duniter ?

Je pense qu’il parle de l’API GraphQL de wotwizard. Le client wotwizard-ui fait des requêtes GraphQL à WotWizard pour afficher les données.

Oui, mon esprit s’était égaré.

Au fait, le wwServer de coinduf.eu a été mis au niveau de la dernière version de graphQL. Du coup, graphiQL bugue moins, mais bugue. Est-ce que tu peux regarder ce qui se passe. Je ne comprends pas l’erreur affichée.

Je ne comprends pas non plus l’erreur, mais elle vient sûrement de graphiql. Il y a une erreur similaire ici, mais je ne pense pas que ce soit lié.

C’est étrange qu’il n’y ait aucun log d’erreur dans la console js. Il faut que j’investigue…

J’aimerais bien résoudre ce problème. Ce changement de version a quand même été un gros boulot.

Très bien la nouvelle interface, pourriez-vous aussi mettre la date des données de la blockchain/mise à jour de wotwizard-ui ? Parce que pas plus tard qu’aujourd’hui je suis allé vérifier la prévision d’un candidat (pseudo : Amparo) et elle n’apparaissait pas, mais dans WotWizard elle apparaît pour le 9 ou 14 janvier (je comprends parce que wot-wizard.duniter.org est à jour avec les données du candidat mempool).

image

Merci.

3 Likes

Oui j’y pensais :wink: ça me paraît effectivement être une donnée importante. Mais pour le moment, je travaille surtout sur l’internationalisation.

Oui j’ai remarqué ces différences de données cette semaine en travaillant sur wotwizard-ui et j’en ai fait part à @gerard94 qui m’a dit effectivement que c’était sûrement à cause de la mempool.
Pour le moment, il existe 2 endpoints graphQL pour wotwizard et wotwizard-ui ne requête pas le même que wot-wizard.duniter.org qui est une application serveur et peut donc interroger la mempool locale. Wot-wizard-ui est une app 100% javascript et ne peut requêter uniquement sur l’API graphQL.

Je viens de mettre en ligne l’internationalisation en 3 langues. N’hésitez pas à me remonter les erreurs ou les oublis.

4 Likes

Rah, cet avatar de chargement est top !

4 Likes

Grave, on est carrément déçus que ce soit si rapide à charger…

Petit retour d’essai de lancement de wotwizard-ui en mode dev en local.

  • La version de node à utiliser n’est pas précisé, je pars donc sur node 16.

- Je m’étonne de voir nuxt 2.2.0 dans les dépendences, qui date de 2018, alors que le dernière version est 2.15.0. Y a il une raison particulière ? Après un git diff je m’aperçois que la version indiqué de base était bien 2.15.8, je ne sais pas pourquoi mon environnement l’a remplacé pour 2.2.0…

  • Il m’a fallu supprimer package-lock.json sans quoi j’avais une erreur concernant ~i18n-klona étant introuvable, lors de mon npm run dev. Ne faudrait-il pas l’ajouter au .gitignore ?

  • J’ai dû installer 2 modules apollo manuellement:

These dependencies were not found:                                                                                                                         friendly-errors 23:54:45
                                                                                                                                                           friendly-errors 23:54:45
* apollo-link-context in ./graphql/index.js                                                                                                                friendly-errors 23:54:45
* apollo-link-http in ./graphql/index.js 

npm install --save apollo-link-context apollo-link-http
Les versions installés ainsi correspondes bien aux versions indiqués dans le package.json

  • Le endpoint par defaut est https://wwgql.coinduf.eu. Est-il possible d’ajouter d’autres endpoints dans graphql/endpoints.js, quitte à les commenter, juste pour ne pas être bloqué si celui-ci est down ? Car je n’en connais pas d’autres.

  • npm run dev ne me donne plus d’erreur, mais lorsque j’essai d’ouvrir la page, j’ai un cercle de chargement sans fin, et cette erreur dans ma console:

TypeError: Cannot read properties of undefined (reading 'defaultClient')
    at eval (apollo.plugin.2b57d534.js?9001:30:1)
    at _callee2$ (index.js?f26e:65:1)
    at tryCatch (runtime.js?96cf:63:1)
    at Generator.invoke [as _invoke] (runtime.js?96cf:294:1)
    at Generator.eval [as next] (runtime.js?96cf:119:1)
    at asyncGeneratorStep (asyncToGenerator.js?1da1:3:1)
    at _next (asyncToGenerator.js?1da1:25:1)

Cette erreur a été résolut avec la commande npm audit fix --force.
Cela à corrigé plusieurs erreurs, je ne suis donc pas certains de ce qui a résolu ce problème précis, mais je pense que c’est le fait d’avoir upgradé apollo vers la version 4.0.1-rc.5, d’après la lecture de ce ticket.

Une fois ces détails passés, j’ai une instance wotwizard-ui fonctionnelle en local :slight_smile:
Je prends le temps de noter mes problèmes et résolutions pour faire gagner du temps au prochains, et peut être faire résoudre ces quelques problèmes :wink:

2 Likes

Je confirme que coinduf.eu fonctionne en ce moment.

Ça a l’air de fonctionner, super.

Pour info, c’est la première fois que je travaille avec Vue.js. C’est même la première fois que j’utilise npm quasiment :stuck_out_tongue: Oui c’est Node16.

Oui sûrement.

Oui .En plus, si j’ai bien compris, il faut ajouter un client alternatif dans nuxt.config.js en copiant le fichier /graphql/index.js en client2.js dans lequel tu importeras ton nouveau endpoint ajouté dans graphql/endpoints.js

Par exemple :

apollo: {
    clientConfigs: {
        default: '~/graphql',
        alternativeClient: '~/graphql/client2.js'
    }
}

La seule fois où j’ai tenté un npm audit --force, j’ai tout pété :stuck_out_tongue: Si tu penses pouvoir mettre à jour les dépendances, vas-y :wink:

C’est fait :wink:

Hormis ces histoires de dépendances, cette MR ajoute juste le nombre de certifications entre parenthèse ici:

J’ai aussi réparé le fait que le thème sélectionné ne soit pas sauvegardé après rechargement de la page, ça m’insupportait.

3 Likes

Tu est tro fort!! Merci.

Voilà quelques erreurs en espagnol:

“lasificar” ça manque la C ->“Clasificar”
“expedientes pendientes” → “candidaturas pendientes”
“Entradas y salidas de la web de confianza” → " Entradas y salidas de la red de confianza"
“Bienvenido a” → Entran
“Adios a” → Salen
“Aquí están de nuevo” → Regresan
“WEB DE CONFIANZA” → “RED DE CONFIANZA”
“Ingrese el inicio de un apodo o clave pública” → “Introduce el comienzo de un pseudónimo o llave pública”
Certificados enviados → Certificaciones enviadas
Núm de certificados disponibles → Núm. de certificaciones disponibles
Fecha antes de quedarse sin certificados → Fecha antes de quedarse sin certificaciones
Calidad → Calidad de enlace

est-ce que tu peux mettre un traduction de le titre WotWizard sur le grand text en haut à gauche… par exemple en mettant en anglais… “The Web of Trust’s wizard”… de sorte qu’en français ce serait “Le magicien de la Toile de Confiançe” au “El mago de la Red de Confianza” en espagnol… (juste un idee)…

Peut-être pourrait-il y avoir une page de FAQ (ou un texte d’aide ou une popup d’aide, ou un lien vers une page dans les forums) pour les termes techniques comme “Distance” “Qualité” etc… afin que les nouvelles personnes sachent ce qu’ils signifient ?

2 Likes

Le fichier de traduction espagnole se trouve ici:

Sais-tu comment forker le dépôt et contribuer par toi même pour ces traductions ?

1 Like