John’s explanation makes a lot of sense to me. Unifying the two Flutter codebases is almost mandatory to properly leverage the cross platform benefits of the framework.
It’s a lot of code. I know because I learned how to properly touch type using the syrius codebase . There’s definitely some Bloc used already, but I’m guessing it can be expanded to cover more parts of the syrius logic.
I look forward to the SIG discussions, and being able to contribute, even if it’s just a locale translation early on!
use cleaner Material UI elements, like in the mobile app, to make the code more maintainable - the design will, largely, be unmodified
integrate the mobile codebase with the desktop codebase
enable EVM and BTC support for desktop app
bring more safety features into the desktop app (secure storage and local authentication, for a start)
replace Hive library with drift, as Hive was replaced by Isar, but Isar itself had it’s last update 17 months ago
replace walletconnect_flutter_v2 with reown_walletkit, because the former has been discontinued
audit the current packages that we use: those that are not constantly updated should be replaced by other ones, or check if they can be replaced by features from the Flutter SDK
create flavors for apps (prod, test, dev) so that when testing the app, you can skip, for example, the unlocking of your wallet
use the new Dart language features created in the last 3 years
establish Dart analyzer rules that the code pushed into the repo should follow
use isolates for the UI blocking operations
write unit tests
write comments for the code that will be a part of the documentation
bug fixing
If somebody wants to help with any of the tasks, let’s discuss on the SIG matrix chat. Please specify how many hours per week you can dedicate for your desired task.
From what I understood chatting with the others developers on the matrix chat, they are okay with me doing the whole project. Please correct me if I’m wrong. I am also okay with integrating others in my effort. I can provide documentation and guidance for the mentioned tasks.
I haven’t posted here as often as I hoped, but I want to inform the community that work on the refactoring has already started. After this step is done, I will be able to work also on proper end user features, like EVM and BTC support. In the meantime, I was able to make some changes to the current codebase in order to support the latest Flutter version. Details here: Upgrade dependencies by maznnwell · Pull Request #128 · zenon-network/syrius · GitHub
Thank you for this update. My hope for this upgrade was for it to be open, transparent and in collaboration with other devs. I hope others have time to help out, but if not, I don’t see any reason for you to slow down.
Thanks for joining matrix and keeping us up to date!! Excited to see this come together.
Hello! A small update: things are progressing with the refactor. Not as fast as I wanted, though. For a lot of reasons, but mainly because I don’t want to cut corners and I will only submitted some work when I’m fully satisfied with it.
I’m not only refactoring code, I’m also improving on the UI/UX aspect. The transfer tab took a while, and I consider that it was worth the whole back-and-forth that I went through to get this end result:
You will be able to search through your addresses and tokens. The transactions list table is more colorful, you can easily copy the content that you want. I fixed the QR reading issues that I personally had on my iPhone.
As a deadline, I would say the end of Q1 2025 is a more reasonable date to be able to deliver everything that I proposed. Plus all the other smaller features and fixes that I will do along the way.