Cesium : Nouvelle version 1.4.17 et 1.5.x (en test)

Une nouvelle version de Cesium v1.4.17 est disponible en test :

Nouveauté du socle technique

J’ai passé plus d’une semaine à revoir complément la compilation. Résultat :

  • compatible nodejs 10
  • ionic-cli : compatible dernière version (npm install -g ionic) pour le lancement (ionic serve) et la compilation (ionic cordova build android)
  • la gestion des dépendances se fait uniquent via le packagé.json (plus de librairies dans www/js/vendor)
  • l’installation est compatible avec yarn (nom install -g yarn). j’ai complement supprimé l’usage de bower, qui obsolète.
  • j’ai migré la compilation vers gulp v3 et optimiser le rechargement du navigateur dans ‹ ionic serve ›
  • nombreuses mise a jour de lib : angularJS, leaflet, plugins cordova, etc.

Bref, j’ai remis Cesium sur les rails pour un environnement de dev digne de ce nom !

Reste a voir les éventuelles régressions : a vous de jouer !!

Nouveautés fonctionnelles

  • dans Mon Compte et Mes opérations, vous pouvez choisir un portefeuille secondaire plus rapidement, avec sur la version desktop la possibilité d’ajout.
  • dans le formulaire de paiement, le changement d’unité n’est plus un bouton, mais directement une liste déroulante;
  • le scan de QRCode est à nouveau opérationnel !
8 J'aimes

J’ai également fait des optimisations dans les requêtes BMA, pour pallier au problème de temps de reponse sur Duniter. J’ai activé un « cache » plus long, et fais en sorte que ce cache soit persisté dans le localStoragr du navigateur, notamment booster la navigation sur les mobiles : la réouverture de l’application conserve donc une partie du cache.

Pour voir ce cache, et son contenu, rdv dans la console de développeur d’un navigateur.

C’est une nouveauté qu’il convient de bien tester, car l’apparition de fork peut mettre le cache en défaut (incohérence).
J’aurais sûrement des retouches a faire…

1 J'aime

Bonne nouvelle !

Sous Android 4.4.4, à l’installation, j’ai une erreur :

erreur d’analyse
Une erreur est survenue lors de l’analyse du package

Les tests ne peuvent se poursuivre faute d’installation réussie.

Peux tu vérifier la version du SDK correspondante ? J’ai du monté de version a cause de Cordova et des recommandations de différents plugins.

Alors euh…

Depuis le tel, je sais pas faire. Mais j’ai trouvé ceci :

Le sdk pourrait être Android 4.4.2 (API 19).

Mise à jour du paquet Debian sur Ubuntu 14.04 sans soucis. Une transaction effectuée avec succès.

2 J'aimes

Ah oui, c’est ca : j’ai du passé a l’API 20. Ça doit être ça le soucis. Je regarderai la semaine prochaine si je peux me passer du plugin Cordova qui pose problème

1 J'aime

@matograine j’ai fait une nouvelle version 1.4.18, compatible normalement avec l’API 19. Peux tu tester et me redire stp ?

L’installation fonctionne :+1:

1 J'aime

Salut @kimamila !

Suite à ton message sur l’autre forum, j’ai vérifié le bug remonté pour la v1.4.12. Je ne parle donc que de comptes ayant une source unique validée, ou en attente d’être validée en BC.

Bug 1

  • le comportement a bien changé entre la v1.3.11 et la v1.4.12 :
    • en 1.3.11 je peux faire des virements sans attendre la validation en BC, donc enchaîner des tx (voir bloc 492249 )

    • en 1.4.12 / 1.4.18 je dois attendre la validation en BC (mais ce n’est pas toujours suffisant), sinon j’ai l’erreur : Veuillez attendre le calcul du prochain bloc (toutes vos sources ont été utilisées). Pour moi c’est une perte de fonctionnalité, mais je comprends que ça permet d’éviter des pertes de transactions.

Commentaire au bug 1

Je me permets de commenter la vision des choses que tu donnes :

Justement, certaines personnes (entre autres lorsqu’elles découvrent la Ğ1, mais aussi des fonds Gmixés ou des portefeuilles temporaires) utilisent des comptes uniquement en dépense, avec un seul approvisionnement. Le fait de devoir attendre entre plusieurs versements est pour moi une perte de fonctionnalité et une frustration.

Si comme tu le dis, c’est une fonctionnalité pour attendre l’enregistrement BC, alors je pense que le message d’erreur signalé (v1.4.11, il a peut-être changé en .18) :

Pas assez de change pour effectuer le virement en une seule transaction. Montant maximal : XG1`

… pourrait être amélioré en :

Pas assez de change pour effectuer le virement en une seule transaction. Montant maximal : XG1. Veuillez attendre la validation de vos transactions précédentes, ou vérifier que vous avez assez de monnaie.`

Bug 2

Je fais toujours des virements depuis des comptes possédant une unique source valide. cas de « veuillez patienter… » spécifique à 1.4.18 :

  • j’ai fait un premier virement, validé en BC.
  • les données ont été actualisées plusieurs fois manuellement après l’arrivée d’un bloc
  • je fais un deuxième virement
  • →le pop-up Veuillez patienter s’ouvre. Je vois l’affichage de « mes opérations » changer en arrière-plan derrière la fenêtre de virement, mais je n’y ai pas accès car Veuillez patienter reste au premier plan. Le virement a bien été envoyé, mais Cesium est bloqué. Je dois relancer Cesium.

C’est tout pour le moment. J’ai conscience que ce post est un peu fouillis, n’hésite pas à me poser des questions. Je créerai les issues dans quelques jours, pour trouver une formulation plus claire.

Sinon :

  • installation sur Debian 10 OK
  • certification OK
  • transfo portefeuille > membre OK
  • enregistrement certif.revoc. OK
  • certification OK
    … Il y a pas un cahier de tests, dans un coin ?

tests sur la version .deb et la version web.zip avec Firefox, sur Debian 10.

4 J'aimes

J’ai édité le premier post pour y noter les nouveautés fonctionnelles.

Tenté d’installer la 1.4.18 par dessus 1.3.1 sur Linux Mint 19 :

dpkg: avertissement: old cesium-desktop package pre-removal script subprocess returned error exit status 1
dpkg: tentative d'exécution du script du nouveau paquet à la place...
dpkg: erreur de traitement de l'archive /home/poka/Téléchargements/cesium-desktop-v1.4.18-linux-x64.deb (--unpack) :
 new cesium-desktop package pre-removal script subprocess returned error exit status 1
chmod: impossible d'accéder à '/opt/cesium': Aucun fichier ou dossier de ce type
cp: impossible d'évaluer '/opt/cesium': Aucun fichier ou dossier de ce type
/var/lib/dpkg/info/cesium-desktop.postinst: ligne 18 : cd: /opt/cesium-g1-test/nw/: Aucun fichier ou dossier de ce type
sed: impossible de lire package.json: Aucun fichier ou dossier de ce type
ln: impossible de créer le lien symbolique '/usr/bin/cesium-g1-test': Le fichier existe
sed: impossible de lire cesium/index.html: Aucun fichier ou dossier de ce type
sed: impossible de lire cesium/debug.html: Aucun fichier ou dossier de ce type
sed: impossible de lire cesium/config.js: Aucun fichier ou dossier de ce type
sed: impossible de lire cesium/config.js: Aucun fichier ou dossier de ce type
sed: impossible de lire cesium/node.js: Aucun fichier ou dossier de ce type
sed: impossible de lire cesium/node.js: Aucun fichier ou dossier de ce type
/var/lib/dpkg/info/cesium-desktop.postinst: ligne 31 : cd: /opt/cesium/nw/: Aucun fichier ou dossier de ce type
sed: impossible de lire cesium/index.html: Aucun fichier ou dossier de ce type
sed: impossible de lire cesium/debug.html: Aucun fichier ou dossier de ce type
dpkg : error while cleaning up:
 installed cesium-desktop package post-installation script subprocess returned error exit status 2
Des erreurs ont été rencontrées pendant l'exécution :
 /home/poka/Téléchargements/cesium-desktop-v1.4.18-linux-x64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Comment faire pour le désinstaller complètement et le réinstaller ?

@poka tu peux tenter un sudo dpkg remove cesium ou un truc du genre.
As tu bien installer avec les même privilèges ?

Non la solution pour moi a été:

$ sudo rm /var/lib/dpkg/info/cesium-desktop.*

$ sudo dpkg -i cesium-desktop-v1.4.18-linux-x64.deb 
dpkg: avertissement: le fichier contenant la liste des fichiers du paquet « cesium-desktop » étant manquant, il est considéré qu'aucun fichier du paquet n'est actuellement installé
(Lecture de la base de données... 432373 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de cesium-desktop-v1.4.18-linux-x64.deb ...
Dépaquetage de cesium-desktop (1.4.18) sur (1.3.11) ...
Paramétrage de cesium-desktop (1.4.18) ...
Traitement des actions différées (« triggers ») pour desktop-file-utils (0.23+linuxmint8) ...
Traitement des actions différées (« triggers ») pour gnome-menus (3.13.3-11ubuntu1.1) ...
Traitement des actions différées (« triggers ») pour mime-support (3.60ubuntu1) ...

:+1:

@kimamila Vive le cache !!

Ca augmente grandement l’expérience utilisateur, c’est génial bravo.

Bon je comprends le soucis qui pourraient intervenir suite aux fork je vois que ce sont des adaptations à faire, mais c’est super. L’app fait beaucoup plus fluide dans son ensemble en 1.4.18 qu’en 1.3.11

Je ne sais pas si c’est une régression, mais lorsqu’on tente un virement directement en cliquant assez vite sur les boutons depuis l’annuaire, le destinataire ne se charge jamais.

Il faut cliquer sur le bouton « FAIRE UN VIREMENT » n’importe quand avant le début de l’animation d’affichage des éléments de la page pour produire le bug.

Fermer et ouvrir de nouveau le popup de virement affiche directement le bon destinataire sans problème.

Cela se produit à tous les coups au premier chargement d’un profile lors de la session.

1 J'aime

Ah oui je vois. C’est que l’identité n’est pas encore chargée, mais je devrais pouvoir corriger simplement. Peux tu faire un ticket stp ?

1 J'aime
1 J'aime

Je crois que le cache empêche également la liste des blocs de se rafraîchir. Pour reproduire :

  • choisir « network »

  • regarder les blocs actuels

  • laisser passer 30 min/1h

  • observer que la liste des noeuds s’est mise à jour, mais pas la liste des blocs.

  • redémarrer Cesium pour avoir une liste des blocs à jour.

Pour le coup ce n’est pas un bug de cesium mais un mauvais paramétrage du serveur exposant BMA.
La liste des blocks se met a jours via un websocket BMA sous le subpath /ws.

Or, Duniter est rarement exposé directement, beaucoup d’utilisateurs ont un reverse proxy style Apache/nginx. Et par défaut, le subpath /ws n’est pas configuré ou mal configuré.
Du coup soit le websocket ne s’initie pas soit il expire a cause d’un timeout trop court (typiquement il ne se passe rien entre 2 blocs, ce qui peut être très long).

EDIT: Sur mon cesium desktop basé sur g1.librelois.fr, la liste des blocs reste bien a jours :slight_smile:

EDIT2: je n’ai pas accès a mon serveur la au taff, je peut vous donner la conf nginx qui vas bien ce soir si vous voulez :slight_smile:

2 J'aimes