sakia issueshttps://git.duniter.org/clients/python/sakia/-/issues2020-12-07T20:45:54+01:00https://git.duniter.org/clients/python/sakia/-/issues/820‘ascii’ codec can’t encode character ‘\xab’ in position 234: ordinal not in r...2020-12-07T20:45:54+01:00poka‘ascii’ codec can’t encode character ‘\xab’ in position 234: ordinal not in range(128)En naviguant dans la WoT graphique:
An unhandled exception occured
----
Traceback (most recent call last):
File "/tmp/.mount_sakia.4RAJyE/usr/python/lib/python3.6/site-packages/sakia/services/network.py", line 243, i...En naviguant dans la WoT graphique:
An unhandled exception occured
----
Traceback (most recent call last):
File "/tmp/.mount_sakia.4RAJyE/usr/python/lib/python3.6/site-packages/sakia/services/network.py", line 243, in handle_new_node
if key.verify_document(peer):
File "/tmp/.mount_sakia.4RAJyE/usr/python/lib/python3.6/site-packages/duniterpy/key/verifying_key.py", line 44, in verify_document
prepended = signature + bytes(content_to_verify, "ascii")
UnicodeEncodeError: 'ascii' codec can't encode character '\xab' in position 234: ordinal not in range(128)
Il semble tout de même m'avoir affiché le résultat donc je ne sais pas trop ce qu'il essai de faire.
Ca ne me l'a pas refait après.
Le lien de remonté aux développeurs envoi sur l'ancien github de sakia désormais inexistant.https://git.duniter.org/clients/python/sakia/-/issues/819Replace asyncio by Qt Concurrent2020-12-13T11:15:17+01:00Vincent TexierReplace asyncio by Qt ConcurrentReplace all asyncio.Future by the Qt framework QFuture class.
* Code will be more readable and maintainable without all async/await keywords
* Get rid of the need of squamash
See example in https://www.qt.io/blog/asynchronous-apis-in-q...Replace all asyncio.Future by the Qt framework QFuture class.
* Code will be more readable and maintainable without all async/await keywords
* Get rid of the need of squamash
See example in https://www.qt.io/blog/asynchronous-apis-in-qt-6
This is not possible with Qt5, as the QFuture binding is missing in PyQt5 and Pyside2:
https://wiki.qt.io/Qt_for_Python_Missing_Bindings
We have to upgrade to Qt6, and switch from `PyQt5` to `PySide6` which has a `QFutureInterfaceBase` binding...futureVincent TexierVincent Texierhttps://git.duniter.org/clients/python/sakia/-/issues/818please dupport duniterpy 0.602020-11-01T14:07:05+01:00Jonas Smedegaardplease dupport duniterpy 0.60sakia declares a dependency on duniterpy 0.57.
Current release of duniterpy is 0.60.
Please adapt sakia to support duniterpy 0.60.sakia declares a dependency on duniterpy 0.57.
Current release of duniterpy is 0.60.
Please adapt sakia to support duniterpy 0.60.https://git.duniter.org/clients/python/sakia/-/issues/817Add AppImage to release with automatic compilation in CD2020-11-01T12:07:17+01:00Vincent TexierAdd AppImage to release with automatic compilation in CDAdd AppImage in releases, by adding AppImage compilation in `gitlab-ci.yml`.Add AppImage in releases, by adding AppImage compilation in `gitlab-ci.yml`.0.53.1Vincent TexierVincent Texierhttps://git.duniter.org/clients/python/sakia/-/issues/816root_servers.yml should be editable in .config folder2020-09-27T10:22:01+02:00Vincent Texierroot_servers.yml should be editable in .config folder`root_servers.yml` should be copied in .config folder at first start, then this config file should be used.
This way any geek should choose his own bootstrap servers.`root_servers.yml` should be copied in .config folder at first start, then this config file should be used.
This way any geek should choose his own bootstrap servers.0.53.0Vincent TexierVincent Texierhttps://git.duniter.org/clients/python/sakia/-/issues/815requirements.txt lists asynctest unused since January 20172021-01-18T15:18:35+01:00Jonas Smedegaardrequirements.txt lists asynctest unused since January 2017Commit a77f2426 dropped use of asynctest, but it is still listed in `requirements.txt`.Commit a77f2426 dropped use of asynctest, but it is still listed in `requirements.txt`.0.53.2Vincent TexierVincent Texierhttps://git.duniter.org/clients/python/sakia/-/issues/814always display pubkey with checksum2020-07-23T12:21:38+02:00matograinealways display pubkey with checksumI have seen two cases of lost transaction due to wrong manual copy of a pubkey. I think the use of a checksum should become a norm in Duniter clients.
So, I propose that Sakia should always display pubkeys as <pubkey>:<checksum>I have seen two cases of lost transaction due to wrong manual copy of a pubkey. I think the use of a checksum should become a norm in Duniter clients.
So, I propose that Sakia should always display pubkeys as <pubkey>:<checksum>https://git.duniter.org/clients/python/sakia/-/issues/813References to github2021-01-18T15:19:24+01:00SantiagoReferences to githubSome documentation and source code is pointing to github. E.g.:
https://git.duniter.org/clients/python/sakia/-/blob/435c22b68a9bc13e18b3772059ea1320517ef382/src/sakia/app.py#L274
Some of those are broken. E.g.:
https://git.duniter.org/c...Some documentation and source code is pointing to github. E.g.:
https://git.duniter.org/clients/python/sakia/-/blob/435c22b68a9bc13e18b3772059ea1320517ef382/src/sakia/app.py#L274
Some of those are broken. E.g.:
https://git.duniter.org/clients/python/sakia/-/blob/435c22b68a9bc13e18b3772059ea1320517ef382/README.md#L310.53.2https://git.duniter.org/clients/python/sakia/-/issues/812HD Wallet feature2020-07-07T21:38:28+02:00Vincent TexierHD Wallet featureAdd HD wallet generation feature.
https://coinsutra.com/hd-wallets-deterministic-wallet/
wait for DuniterPy issue to be implemented.Add HD wallet generation feature.
https://coinsutra.com/hd-wallets-deterministic-wallet/
wait for DuniterPy issue to be implemented.futureVincent TexierVincent Texierhttps://git.duniter.org/clients/python/sakia/-/issues/811WoT window is blank until the menu "Show in WoT" is used2020-11-01T12:07:46+01:00Vincent TexierWoT window is blank until the menu "Show in WoT" is usedThe Wot should display the current user by default, not a blank screen.
The simplest solution is to remove the button.The Wot should display the current user by default, not a blank screen.
The simplest solution is to remove the button.0.53.1Vincent TexierVincent Texierhttps://git.duniter.org/clients/python/sakia/-/issues/810Endless error when syncing + "envoyer comme source"2020-11-28T13:23:25+01:00matograineEndless error when syncing + "envoyer comme source"Sakia launched from a terminal. Under Debian 10. Installed with Pip.
I tried the new feature "secure send" + "send as source". I had no problem with secure sending.
I sent my test transfer "as source" shortly after. Then, on the next s...Sakia launched from a terminal. Under Debian 10. Installed with Pip.
I tried the new feature "secure send" + "send as source". I had no problem with secure sending.
I sent my test transfer "as source" shortly after. Then, on the next sync of the blockchain, I got an endless error :
```
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.7/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
RuntimeError: cannot enter context: <Context object at 0x7f12d44ecfc0> is already entered
```
The error window pops out endlessly until I close the terminal window.
On the terminal, I get this :
```
("Unhandled error in custom exception handler\ncontext: {'message': 'Exception in callback _SelectorSocketTransport._read_ready()', 'exception': RuntimeError('cannot enter context: <Context object at 0x7f12d44ecfc0> is already entered'), 'handle': <Handle _SelectorSocketTransport._read_ready()>}",), {'exc_info': (<class 'RecursionError'>, RecursionError('maximum recursion depth exceeded'), <traceback object at 0x7f12d60a1e48>)}
--- Logging error ---
--- Logging error ---
("Unhandled error in custom exception handler\ncontext: {'message': 'Exception in callback _SelectorSocketTransport._read_ready()', 'exception': RuntimeError('cannot enter context: <Context object at 0x7f12d44ecfc0> is already entered'), 'handle': <Handle _SelectorSocketTransport._read_ready()>}",), {'exc_info': (<class 'RecursionError'>, RecursionError('maximum recursion depth exceeded'), <traceback object at 0x7f12d44c64c8>)}
--- Logging error ---
--- Logging error ---
("Unhandled error in custom exception handler\ncontext: {'message': 'Exception in callback _SelectorSocketTransport._read_ready()', 'exception': RuntimeError('cannot enter context: <Context object at 0x7f12d44ecfc0> is already entered'), 'handle': <Handle _SelectorSocketTransport._read_ready()>}",), {'exc_info': (<class 'RecursionError'>, RecursionError('maximum recursion depth exceeded'), <traceback object at 0x7f12d44c6888>)}
```https://git.duniter.org/clients/python/sakia/-/issues/809error window points to github2021-01-18T15:19:24+01:00matograineerror window points to githubI get an error window that says "A critical error occured. Select the details to display it. Please report it to the developers github"
with a link to https://github.com/duniter/sakia/issues/new/ , that is no longer maintained.I get an error window that says "A critical error occured. Select the details to display it. Please report it to the developers github"
with a link to https://github.com/duniter/sakia/issues/new/ , that is no longer maintained.0.53.2https://git.duniter.org/clients/python/sakia/-/issues/808Change deprecated keywords in gitlab-ci.yml2020-04-24T10:41:18+02:00Vincent TexierChange deprecated keywords in gitlab-ci.ymlSome keywords will be removed in version 13 of Gitlab.
https://about.gitlab.com/releases/2020/04/22/gitlab-12-10-released/#release-deprecations
Use `rules` instead of `only` and `except`.Some keywords will be removed in version 13 of Gitlab.
https://about.gitlab.com/releases/2020/04/22/gitlab-12-10-released/#release-deprecations
Use `rules` instead of `only` and `except`.Vincent TexierVincent Texierhttps://git.duniter.org/clients/python/sakia/-/issues/807Add new referential: percentage to the average2020-04-23T15:59:59+02:00Vincent TexierAdd new referential: percentage to the averageFor now, the high level of new members lower greatly the amount of the UD.
This cause that using the UD for prices is less close to the average than expected...
To be more close to the average, we can use another relative referential %...For now, the high level of new members lower greatly the amount of the UD.
This cause that using the UD for prices is less close to the average than expected...
To be more close to the average, we can use another relative referential %(M/N):
```
P = x / (M / N) * 100
P = Average Percent
x = Amount
M = Monetary Mass
N = Number of members
```
0.52.0Vincent TexierVincent Texierhttps://git.duniter.org/clients/python/sakia/-/issues/806Refactor transaction entity and table to match sources2020-04-05T20:24:08+02:00Vincent TexierRefactor transaction entity and table to match sourcesTransactions are stored as transaction document, but some fields like amount and base are a sum of the outputs.
To match each source with an transaction output, we need to split transactions by output.
For example, a transaction from A...Transactions are stored as transaction document, but some fields like amount and base are a sum of the outputs.
To match each source with an transaction output, we need to split transactions by output.
For example, a transaction from Alice to Bob sending 100 to Bob, from a source of 1000, will have two outputs.
So, instead of having only one transaction in the table, we will have two.
Many fields stay the same, except `amount`, `base`, `noffset` and `conditions`.
|Pubkey (Account)|Issuers|Identifier|amount|base|noffset|conditions|
|----|---|---|---|-|-|-|
|Alice|Alice|XXXX|100|0|0|SIG(Bob)|
|Alice|Alice|XXXX|900|0|1|SIG(Alice)|
|Bob|Alice|XXXX|100|0|0|SIG(Bob)|
We need to simulate all use case to see what entries we can ignore...
This system will allow to display money back if inputs is greater than output.
So if we allow this display we can choose it as source if we want!1.0.0Vincent TexierVincent Texierhttps://git.duniter.org/clients/python/sakia/-/issues/805Add authentication from files2020-04-03T20:02:35+02:00Vincent TexierAdd authentication from filesAdd the possibility to link a Sakia account with a authentication file.
Each time credentials or secret key is needed, try to load the secrets from the filepath given.
All format supported by duniterpy should be handled.Add the possibility to link a Sakia account with a authentication file.
Each time credentials or secret key is needed, try to load the secrets from the filepath given.
All format supported by duniterpy should be handled.1.0.0Vincent TexierVincent Texierhttps://git.duniter.org/clients/python/sakia/-/issues/804Add support to Atomic swap transfer and lock conditions2020-04-03T19:44:41+02:00Vincent TexierAdd support to Atomic swap transfer and lock conditionsAtomic swap process need passwords, password hashes and delay on lock conditions.
It also need to have multi signature or passwords to unlock conditions.
Add all necessary code and GUI to support the full process.
![atomic swap schema...Atomic swap process need passwords, password hashes and delay on lock conditions.
It also need to have multi signature or passwords to unlock conditions.
Add all necessary code and GUI to support the full process.
![atomic swap schema](https://forum.duniter.org/uploads/default/original/2X/8/8d93562d49280ac959fce992272200660e447abd.svg)1.0.0Vincent TexierVincent Texierhttps://git.duniter.org/clients/python/sakia/-/issues/803Upgrade PyQt5 to version 5.15.x2020-11-28T12:22:14+01:00Vincent TexierUpgrade PyQt5 to version 5.15.xMay be it will fix the following bug:
* `pylupdate5` do not extract translated string if the `black` format utility added a comma after the string !May be it will fix the following bug:
* `pylupdate5` do not extract translated string if the `black` format utility added a comma after the string !1.0.0Vincent TexierVincent Texierhttps://git.duniter.org/clients/python/sakia/-/issues/802Amount and base in transactions table are not the same as BMA transactions2020-04-05T15:54:25+02:00Vincent TexierAmount and base in transactions table are not the same as BMA transactionsSakia is using duniterpy documents.transactions.reduce_base() to transform amount and base of transactions recorded in db.
The problem is that it is impossible to find source based on this transaction information.
We must remove this t...Sakia is using duniterpy documents.transactions.reduce_base() to transform amount and base of transactions recorded in db.
The problem is that it is impossible to find source based on this transaction information.
We must remove this transform and keep original amount and base.0.51.1Vincent TexierVincent Texierhttps://git.duniter.org/clients/python/sakia/-/issues/801Crash with logging error2020-11-28T12:19:46+01:00Vincent TexierCrash with logging errorWhen running about an hour without any action, it crash and repeat this error in console:
`("Unhandled error in custom exception handler\ncontext: {'message': 'Exception in callback _SelectorSocketTransport._read_ready()', 'exception': ...When running about an hour without any action, it crash and repeat this error in console:
`("Unhandled error in custom exception handler\ncontext: {'message': 'Exception in callback _SelectorSocketTransport._read_ready()', 'exception': RuntimeError('cannot enter context: <Context object at 0x7fdc8c5ef510> is already entered'), 'handle': <Handle _SelectorSocketTransport._read_ready()>}",), {'exc_info': (<class 'RecursionError'>, RecursionError('maximum recursion depth exceeded'), <traceback object at 0x7fdc94027d48>)}`
Need control-c to stop.
It is clearly a infinite recursion, but where ?
Recursion exception is now well supported by logging:
https://bugs.python.org/issue36272
So this is a logging in a recursion which raise this.
May be the following crawling network error logging : `ERROR:sakia:Could not parse field HeadV1`
But it is not in a recursive function...