Awesome. I will test on Mac M1 and Linux tomorrow.
I’m not sure how multi-address is supposed to work.
The widget displays a list of all generated addresses but it seems you were trying to display a subset of the addresses?
I didn’t understand the meaning of the # of 10 indicator at the bottom, since iterating from 1 to 10 doesn’t really change the widget.
When I reached 11, the widget re-loaded and created 10 new addresses for me?
Edit: Obviously, I didn’t understand what the 1 of 10 meant. If a user wants to add 6 addresses, they increment to 6 then press Add addresses. Is this clear to everyone else?
The + sign can still be pressed/activated when the user reaches 10, maybe that’s intended?
Maybe we need to have the integer in the “Add addresses” button, such that it clearly tells the user they are about to “Add 6 addresses”.
I’ve tested the Windows and Linux releases.
Both work as expected, though I still encountered an issue with Linux.
Display Driver Error
I had forgotten about this issue, but the Linux Release build crashes often since I’m using nouveau display drivers instead of nvidia.
syrius: ../nouveau/pushbuf.c:730: nouveau_pushbuf_data: Assertion `kref' failed.
If it impacts enough users, I’ll try to find a workaround, though I may not be successful.
Despite all that, the Debug version of the app runs well-ish (it stutters a bit) while the Release build is snappy.
I’ve made several changes to the cicd branch and will submit a PR with a detailed summary after some MacOS testing with 0x.
I just setup on a clean Ubuntu 22.04 VM and have 2 errors.
(syrius:4410): Gtk-WARNING **: 07:21:29.297: Error loading icon from file 'linux/resources/app_icon.png': Failed to open file “linux/resources/app_icon.png”: No such file or directory Starting znnd. current time is 2022-12-30 07:21:33 version: v0.0.4-libznn git-commit-hash: 7e9c440f7e5e368efbade77ca900efa1219af0d4 znnd will use at most 4 cpu-cores WARN[12-30|07:21:33] Config file missing: you can provide a data path using the --data flag or provide a config file using the --config flag module=zenon configPath=/home/x3639/.znn/config.json
And when I try to create a json export of the keyfile, I get this error.
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: [FileSystemException: Directory listing failed, path = '/home/x3639/.pub-cache/' (OS Error: No such file or directory, errno = 2), #0 _Directory._fillWithDirectoryListing (dart:io-patch/directory_patch.dart:42) #1 _Directory.listSync (dart:io/directory_impl.dart:243) #2 initArgon2.<anonymous closure> (package:znn_sdk_dart/src/argon2/argon2.dart:30) #3 Argon2FfiFlutter._loadLib (package:argon2_ffi_base/src/argon2_ffi_impl.dart:160) #4 new Argon2FfiFlutter (package:argon2_ffi_base/src/argon2_ffi_impl.dart:92) #5 initArgon2 (package:znn_sdk_dart/src/argon2/argon2.dart:15) #6 KeyFile._encryptEntropy (package:znn_sdk_dart/src/wallet/keyfile.dart:95) <asynchronous suspension> #7 saveKeyStoreFunction (package:znn_sdk_dart/src/wallet/manager.dart:22) <asynchronous suspension> ] #0 KeyStoreManager.saveKeyStore.<anonymous closure> (package:znn_sdk_dart/src/wallet/manager.dart:54) #1 _RootZone.runUnaryGuarded (dart:async/zone.dart:1586) #2 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:339) #3 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271) #4 _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:774) #5 _StreamController._add (dart:async/stream_controller.dart:648) #6 _StreamController.add (dart:async/stream_controller.dart:596) #7 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:192)
This is how to recreate the error. I was able to replicate it as
I see two warnings:
- failed to open a .png file
- config file missing
I don’t believe #2 is an issue; the wallet experience recovers gracefully when the config file is not initially present.
As for the KeyStore issue, I’ve submitted a PR to aliencoder’s znn_sdk_dart repo.
Just wanted to let you know that I tried to install the new release on my Mac M1 and experienced the same issue with not being able to export the .json key. I stopped testing at that point.
@0x3639 I’ll check everything you’ve reported again and try to fix all the issues.
@sol_sanctum I responded to your PR on Github. I think it’s better to verify if the
.pub-cache directory exists instead of throwing an error.
I’ve added the fix.
The problem with the missing icon on Linux is that it doesn’t find it at this path
linux/resources/app_icon.png. I’ll try to fix it by using a relative path.
I opted to remove the configuration until we have a proper .desktop file in place.
I don’t think we’ll be able to devise a universal Linux solution without package management, though we may be able to fix the window icon, as per this post.
The main reasons for this:
- ELF files don’t natively support icons
- .desktop files don’t typically support relative paths
The only way to get it showing properly is to have a dynamic reference to the asset’s directory at runtime.
Also I think by properly packaging the app we’ll be able to solve the issue without using the
Tried to use this library to create
deb, but without success.
Took a look at the workflow file. I think we will want to add testing before creating a release.
Do you mean QA testing, code coverage or both?
I’ve noticed that some Zenon releases have also an additional
alpha tag appended - we can do the same.
We can use this action for
go-zenon I’ve added
govulncheck-action, but now it’s (Commented out govulncheck · zenon-network/go-zenon@344e080 · GitHub).
The codebase has unit tests and we’ll probably want to continue to add tests. I just wouldn’t want to create downloaded releases through a pipeline unless the pipeline included running tests.
I agree, I’ll add unit-testing. Do you see something else worth integrating into the pipeline? I want to finish the
cicd pipeline and open PRs as soon as possible.
Fixed unit-tests and added
version command in the
Makefile. Take a look.