Sakia 0.50.x est sortie!

Il doit surement manquer le paquet sqlite3 sur ton système.
C’est pas très bien documenté à ce que j’ai pu trouver :

Pas de documentation claire pour une installation utilisateur.
Pour les développeurs c’est plus fournie, et ça parle de libsqlite3-dev.

Je sais lequel des deux paquets est manquant. Mais, ça serait dommage d’avoir besoin d’un paquet -dev pour de l’utilisation.

Attention, oui, rien n’est à jour dans les docs. Il faut que je fasse des installations pip dans un containeur pour voir ce qu’il manque et tout remettre à plat.

@moul a raison, la doc la plus fiable est celle pour les devs.

Quand tu installes un python avec Pyenv, il est compilé je crois et tu dois avoir sur ton système ssl-dev et sqlite3-dev pour qu’il inclut les modules python correspondants.

Tu devras sans doute supprimer et ré-installer la version python dans Pyenv que tu souhaites pour qu’elle inclut les modules sqlite3 et ssl.

1 J'aime

Je pense qu’Éloïs a installé avec pip, pas dans un environnement Python.
La distribution de Sakia se faisait via un binaire.
Ça devrait expliquer pourquoi la documentation d’installation pour l’utilisateur est délaissée.

je ne suis pas bien familier de python donc j’ai probablement oublié des trucs

j’ai installé sakia avec pip3 sur mon ubuntu 19.04.
puis lancé la commande « sakia » sans mon terminal zsh.
j’ai eu une popup qui disait que ça se connectait au réseau avec un bouton ok.
j’ai cliqué sur OK et boum, fin du monde!

une autre popup me propose de faire un rapport d’erreur sur github, a une adresse 404 (le dépot a du déménager)

et voici le rapport d’erreur:

An unhandled exception occured

----
Traceback (most recent call last):

File « /home/tykayn/.local/bin/sakia », line 10, in
sys.exit(main())

File « /home/tykayn/.local/lib/python3.7/site-packages/sakia/main.py », line 160, in main
loop.run_until_complete(app.initialize_blockchain())

File « /home/tykayn/.local/lib/python3.7/site-packages/quamash/init.py », line 286, in run_until_complete
raise RuntimeError(‹ Event loop stopped before Future completed. ›)

RuntimeError: Event loop stopped before Future completed.

edit: si je ne clique pas sur le bouton OK dans la fenêtre où ça parle de raccord réseau, ça ne plante pas et je vois ensuite la fenêtre qui propose la création de compte :smiley:

J’ai donc installé le paquet debian libsqlite3-dev et recompilé python (via pyenv) et cela a effectivement résolu le problème, mais si je clique sur le bouton ok de la fenêtre « connecting to the network », sakia plante :

$ sakia
[...]
ERROR:root:An unhandled exception occured
Traceback (most recent call last):
  File "/home/elois/.pyenv/versions/3.7.5/bin/sakia", line 10, in <module>
    sys.exit(main())
  File "/home/elois/.pyenv/versions/3.7.5/lib/python3.7/site-packages/sakia/main.py", line 160, in main
    loop.run_until_complete(app.initialize_blockchain())
  File "/home/elois/.pyenv/versions/3.7.5/lib/python3.7/site-packages/quamash/__init__.py", line 286, in run_until_complete
    raise RuntimeError('Event loop stopped before Future completed.')
RuntimeError: Event loop stopped before Future completed.
ERROR:root:Task was destroyed but it is pending!
task: <Task pending coro=<NetworkService.discovery_loop() running at /home/elois/.pyenv/versions/3.7.5/lib/python3.7/site-packages/sakia/services/network.py:229> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7f5edc0803d0>()]>>

Si j’attends sans rien faire, comme le recommande @matograine, la 1ère fenêtre me demande aussi de créer/enregistrer un compte membre, je trouve ça pas logique perso.
Si j’enregistre mon comte membre et je que clique sur le bouton pour récupérer mon document de révocation, rien ne se passe, et si je ferme la fenêtre, la seulement la fenêtre réseau de sakia apparaît.

Il serait préférable d’afficher directement la fenêtre réseau et d’avoir un bouton sur cette dernière qui permette d’enregistrer un compte, par clé publique uniquement, les credentials ne devraient être demandés que lors de l’exécution explicite d’une action utilisateur nécessitant sa signature (publication d’un document sur le réseau).

2 J'aimes

Je suis entièrement d’accord !

Tout cela va être modifié. Mais plus tard.

Objectif numéro 1, correctifs des bugs.

Je vais quand même voir à skipper très rapidement la proposition de créer un compte membre qui n’est pas du tout appropriée, avec notre expérience actuelle.

Vous êtes 3 à subir un crash si vous cliquez sur ok sur la fenêtre de connexion. Ce sera ma première enquête.

@elois, dans le menu à droite, dans Ajouter un compte Sakia, le dernier bouton en bas permet de créer un compte Sakia juste avec la clef publique. Je ne me suis servi que de ça à la fin tellement c’est pratique ! Voir effectivement si on garde les autres méthodes, sauf intérêt pour techniciens.

3 J'aimes

J’ai mis à jour l’issue avec -d.

1 J'aime

Les messages d’erreur ne révèlent rien, malheureusement. Essaie de vérifier sur le guide d’installation que je viens de publier si rien ne manque sur ton système.

Tout est à installé, à jour. J’ai réessayé avec --user et obtenu le même résultat. Peut-être que j’ai des version trop récentes, est-ce que quelqu’un l’a déjà fait tourner sous Arch ?

Sakia 0.50.2 est sorti !

Cette version corrige les bugs constatés sur la version précédente.

Elle améliore également l’expérience utilisateur au premier lancement :

  • Apparition de la fenêtre de connexion réseau. On peut quitter l’application en fermant la fenêtre ou en cliquant sur Cancel. (fenêtre toujours en anglais pour l’instant).
  • La fenêtre qui propose la création d’un compte sakia affiche un menu avec une création rapide par clef publique en tête du menu. La création d’un compte au lancement est optionnelle : fermer la fenêtre et sakia se lance sur la vue réseau par défaut.
  • Les conseils d’installation (bibliothèques systèmes nécessaires) et les options de la ligne de commande ont été ajoutés au README.md.
  • Un fichier CHANGELOG.md a été ajouté au projet.
5 J'aimes

arf… c’est la compet’ entre silkaj et sakia niveau version de duniterpy :s

sakia 0.50.2 has requirement duniterpy==0.56.0, but you'll have duniterpy 0.55.1 which is incompatible.
Installing collected packages: pyaes, duniterpy, Click, tabulate
Found existing installation: duniterpy 0.56.0
    Uninstalling duniterpy-0.56.0:
      Successfully uninstalled duniterpy-0.56.0
Successfully installed Click-7.1.1 duniterpy-0.55.1 pyaes-1.6.1 tabulate-0.8.6

et puis :

pafzedog@Zorglub:~$ sudo pip3 check
launchpadlib 1.10.7 requires testresources, which is not installed.
sakia 0.50.2 has requirement duniterpy==0.56.0, but you have duniterpy 0.55.1.

:slight_smile: il ne devrait pas y avoir de conflit. Pip gère et peu avoir plusieurs paquets python installés en parallèles.

Par contre, je te déconseille d’installer en root, car ça écrase les paquets Python installé par le gestionnaire de paquet de ton système. Je te suggère pip3 install sakia/silkaj --user qui l’installe juste pour ton utilisateur Unix dans $HOME/.local/.

3 J'aimes

Woa Vit, tu dépotes ! Je vais tester ça dès que j’aurais un moment. Challenge : j’ai jamais été foutu d’installer silkaj, vais-je réussir avec sakia ?

ok, j’ai réinstallé en --user le tout :wink:
par contre, j’ai une erreur avec sakia

ERROR:root:An unhandled exception occured
Traceback (most recent call last):
File "/home/pafzedog/.local/bin/sakia", line 10, in <module>
sys.exit(main())
File "/home/pafzedog/.local/lib/python3.7/site-packages/sakia/main.py", line 203, in main
window = MainWindowController.startup(app)
File "/home/pafzedog/.local/lib/python3.7/site-packages/sakia/gui/main_window/controller.py", line 73,    in startup
navigation = NavigationController.create(None, app)
File "/home/pafzedog/.local/lib/python3.7/site-packages/sakia/gui/navigation/controller.py", line 69, in create
navigation.init_navigation()
File "/home/pafzedog/.local/lib/python3.7/site-packages/sakia/gui/navigation/controller.py", line 116, in init_navigation
self.model.init_navigation_data()
File "/home/pafzedog/.local/lib/python3.7/site-packages/sakia/gui/navigation/model.py", line 79, in init_navigation_data
self.navigation[3]["children"].append(self.create_node(connection))
File "/home/pafzedog/.local/lib/python3.7/site-packages/sakia/gui/navigation/model.py", line 96, in create_node
"icon": self.identity_icon(connection),
File "/home/pafzedog/.local/lib/python3.7/site-packages/sakia/gui/navigation/model.py", line 141, in identity_icon
if self.identity_is_member(connection):
File "/home/pafzedog/.local/lib/python3.7/site-packages/sakia/gui/navigation/model.py", line 207, in identity_is_member
connection.pubkey, connection.uid
File "/home/pafzedog/.local/lib/python3.7/site-packages/sakia/services/identities.py", line 455, in get_identity
return self._identities_processor.get_identity(self.currency, pubkey, uid)
File "/home/pafzedog/.local/lib/python3.7/site-packages/sakia/data/processors/identities.py", line 137, in get_identity
identities = self._identities_repo.get_all(currency=currency, pubkey=pubkey)
File "/home/pafzedog/.local/lib/python3.7/site-packages/sakia/data/repositories/identities.py", line 118, in get_all
return [Identity(*data) for data in datas]
File "/home/pafzedog/.local/lib/python3.7/site-packages/sakia/data/repositories/identities.py", line 118, in <listcomp>
return [Identity(*data) for data in datas]
File "<attrs generated init sakia.data.entities.identity.Identity>", line 14, in __init__
self.membership_written_on = __attr_converter_membership_written_on(membership_written_on)
ValueError: invalid literal for int() with base 10: ''
ERROR:root:Task was destroyed but it is pending!
task: <Task pending coro=<Application.get_last_version() running at /home/pafzedog/.local/lib/python3.7/site-packages/sakia/app.py:268>>
/usr/local/lib/python3.7/dist-packages/quamash/__init__.py:195: RuntimeWarning: coroutine   'Application.get_last_version' was never awaited
del self.__callbacks[timerid]
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
ERROR:root:Task was destroyed but it is pending!
task: <Task pending coro=<NetworkService.discover_network() running at /home/pafzedog/.local     /lib/python3.7/site-packages/sakia/services/network.py:182>>
QXcbConnection: XCB error: 3 (BadWindow), sequence: 820, resource id: 41943273, major code: 40   (TranslateCoords), minor code: 0
sys:1: RuntimeWarning: coroutine 'NetworkService.discover_network' was never awaited 
ERROR:root:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f1909ecbe90> 
ERROR:root:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f1909ecb290> 
ERROR:root:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f1909ec35d0>  
ERROR:root:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f1909f5f410>  
ERROR:root:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f1909f5f190> 
ERROR:root:Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x7f1909f66a10>

oups !! c’est bon, je n’avais pas lu le post sur la sorti de sakia 0.50.1, c’est résolu, j’avais une vieille conf de sakia qui trainait …

1 J'aime

Sakia 0.50.3 est sortie !

Si vous avez déjà installé une version 0.50.x :

pip3 install sakia --user --upgrade

CHANGELOG

v0.50.3 (16/03/2020)

Code

  • fix exception when refresh tx history
  • fix Unclosed client session error (at last !)

CI/CD

  • fix bug with setuptools 28.8.x version in gitlab CI/CD image
6 J'aimes

Sakia 0.50.4 est sortie !

Si vous avez déjà installé une version 0.50.x :

pip3 install sakia --user --upgrade

CHANGELOG

v0.50.4 (18/03/2020)

Code

  • fix session closed error (regression in v0.50.3)
2 J'aimes

Sakia 0.50.5 est sortie !

Si vous avez déjà installé une version 0.50.x :

pip3 install sakia --user --upgrade

v0.50.5 (21/03/2020)

Bugs

  • Fix send money to pubkey with search user selected

Tests

  • Update and fix pytest suite
  • Update duniter-mirage dependency version

Enhancements

  • Tx history update button set to disable until update is done
  • Increase delay between network crawlings to 1 mn

CI/CD

  • Add format and tests stage in .gitlab-ci.yml
3 J'aimes

Tu pourrais faire un seul post pour la sortie des versions 0.50.x ?
Ça permettra de suivre l’évolution et de ne pas éparpiller les posts sur le forum.
Les messages sont toujours déplaçables.

3 J'aimes

Un message a été fusionné à un sujet existant : Sources à condition de dépense complexe