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.
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
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
@bpresles il doit y avoir un souci avec ta conf réseau, si tu utilise nginx, voici le bloc a rajouter a la conf de ton vhost BMA afin que les websocket BMA restent ouvert :
Pour info, je livre maintenant un fichier checksum sha256 (contenant le sha256 du ZIP et du APK Android. Les autres fichiers n’y sont pas encore).
Ca va permettre d’ajouter un niveau de sécurité sur les livrables.
Par la suite, je verrai pour signer ce fichier .sha256 avec la clef Duniter Cesium. Ainsi, pour pourrait avoir des mises à jour automatique qui vérifie l’intégrité des livrables. Par exemple pour une mise à jour directement depuis Cesium desktop. @cgeek tu n’avais dis que c’était possible je crois, en nodeJS ? Le truc que je maitrise pas, c’est la gestion des droits d’accès dans de tels scripts… Cesium desktop étant installé dans /opt en root sous Debian, j’aurais du mal à y rajouter des fichiers, non ? Une idée ?
Attention : cette vue est en encore instable, en particulier car elle dépends de la version des pods Cesium, qui sont en cours de mise à jour, vers cesium-plus-pod v1.5.0
Attention 2 : il faut désactiver les bulles d’aide (dans les paramètres) sinon une autre page s’ouvre de manière intempestive… je vais corriger ca
Je crois que tu as changé des choses dans la manière de faire les build et je ne sais plus comment la faire, en fait. Car là je ne vois pas de tags utilisables sur clients / Cesium-grp / cesium-desktop · GitLab qui est le repo sur lequel je me basais avant.
@bpresles ce que tu ne sais pas, oui ce n’est peut être pas assez clair dans la doc. C’est qu’il y aussi des websocket derrière l’api BMA. Si dans ton cas bma est sous la location / alors il faut que tu configure /ws
Tu peut tester si ton websocket BMA fonctionne bien avec la commande silkaj diffi :
silkaj -p g1.presles.fr diffi
Laisse un terminal ouvert avec cette commande et repasse 30min plus tard, les infos ce sont elles bien mises a jours avec les nouveaux blocs reçus ?
Bon j’ai réussi à builder, cela n’a pas été une mince affaire, il a fallut que je reparte de zéro (clone propre). Et a noter que le build (en tous cas iOS, avec « ionic cordova prepare ios ») n’est pas complet si on ne fait pas un build web avant (il manque des fichiers dans www/dist/dist_js (es et map notamment)).
L’upload est en cours pour la 1.4.20 que je vais mettre d’abord sur TestFlight, pour valider avant mise en ligne publique sur l’AppStore.
Merci !
Si ca peut te rassurer, j’ai vraiment du bosser comme un dingue pour en arriver à cette refonte de la gestion des dépendances… Il m’a fallu faire des diff de chacune des librairies, pour etre sur d’avoir la même version, puis les upgrader une à une, et vérifier le cas échéant les régression, etc. J’ai refait entièrement le build gulp, quelques hooks, etc.
Maintenant, tout devrait etre plus propre, et surtout beaucoup plus rapide à compiler. Le JS optimisé devrait etre aussi etre plus compact, etc.
Bref, je crois qu’il fallait en passer par là, car Cesium2 et l’API GVA ont du mal à sortir de terre… Difficile pour moi d’avancer sur GVA sans savoir comment @cgeek veut coder les accès à la BDD dédiée. (mais j’ai confiance qu’il va nous faire un beau truc !).Cesium V1 a encore de beaux jours devant lui, et cette version 1.5 est une 1ere remise au propre
Je penses qu’on pourrait aussi améliorer la gestion du code, notamment avec ce refactoring :
mettre les controller (js) et les templates (HTML) ensemble, par écran ou composant. J’avais suivi des préconisations de Ionic mais à l’usage c’est très pénible qu’ils soient séparé.
mettre les plugins/* et le coeur de Cesium au même niveau
Pourquoi pas essayer de passer en typescript. J’ai trouvé un app starter qui fait ca, tout en restant en Ionic V1 et AngularJS. Ca permettrait de pouvoir plus facilement récupérer du code dans Cesium2… Mais c’est un travail qui me semble énorme. @cgeek si tu as des idées la dessus… vis à vis de ton expérience sur Duniter.
@kimamila : Merci pour tout le travail effectué sur Césium. Ça reste pour beaucoup le premier contact avec la monnaie libre donc ce que tu fais à un gros impact.
@elois : Il y a une doc pour mettre duniter correctement derrière un proxy nginx / apache / haproxy / autre ? Je me souviens pas d’avoir vu passer l’histoire de « /ws » pour les websockets…