Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.0.2-alpha #66

Merged
merged 485 commits into from
Aug 26, 2024
Merged

v0.0.2-alpha #66

merged 485 commits into from
Aug 26, 2024

Conversation

qlrd
Copy link
Collaborator

@qlrd qlrd commented Aug 21, 2024

Description

Electron deprecated, long live kivy! Major update to python code base:

  • code refactoration from nodejs to python;
  • re-build project from electron to kivy;
  • Support for MacOS (arm64 and intel processors);
  • Support to download older versions;
  • Support to devices according to the appropriate version:
    • M5stickV;
    • Amigo;
    • Dock;
    • Bit;
    • Yahboom;
    • Cube;
  • Flash made with the ktool from its source;
  • Wipe made with the ktool from its source;
  • Added settings page:
    • Enable change path of downloaded assets;
    • Enable change of flash baudrate;
    • Enable change of locale;
  • Added about page
  • Locale support for 10 languages:
    • af_ZA (South Africa Afrikaans);
    • en_US (USA English);
    • es_ES (Spain spanish);
    • fr_FR (France french);
    • it_IT (Italian);
    • ko_KR (South Korean korean);
    • nl_NL (Netherlands dutch);
    • pt_BR (Brazilian portuguese);
    • ru_RU (Russian cyrillic);
    • zh_CN (Simplified chinese)

What is the purpose of this pull request?

  • Bug fix
  • New Feature
  • Documentation update
  • Other

qlrd and others added 30 commits June 21, 2024 15:56
coveraged download_stable_zip_screen to 91%
standartized some procedures on some download screens
added a EventLoop.exit method at the end of each tests in pytest teardown_class
added setup steps for MacOS on README.md

updated some modules
TODO: fix some tests

TODO: fix some graphics
TODO: fix wiper tests
@qlrd qlrd requested review from tadeubas and jdlcdl August 21, 2024 01:58
@qlrd qlrd added the enhancement New feature or request label Aug 21, 2024
Copy link

codecov bot commented Aug 21, 2024

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

Copy link
Member

@odudex odudex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am genuinely impressed with how quickly you accomplished the task of translating the entire application from one language/platform to another. Not only that, but you've also implemented numerous improvements along the way. You managed the added complexity of ensuring compatibility with various OS species and subspecies, as well as handling translations, with great skill.

While I initially thought that some areas could be simplified using a more "Pythonic" approach, I now see the value in the setters and getters you incorporated from JavaScript. These likely contributed to the stability of this complex project.

I think we could move one, maybe do a draft release, and you could invite some people in Telegram to test first?

Congratulations on a job well done, GUI!

fixed codebase to fit this change

fixed tests to fit this change
@qlrd
Copy link
Collaborator Author

qlrd commented Aug 22, 2024

I am genuinely impressed with how quickly you accomplished the task of translating the entire application from one language/platform to another. Not only that, but you've also implemented numerous improvements along the way. You managed the added complexity of ensuring compatibility with various OS species and subspecies, as well as handling translations, with great skill.

I cant did that withou the team. You, @tadeubas and @jdlcdl helped a lot!

While I initially thought that some areas could be simplified using a more "Pythonic" approach, I now see the value in the setters and getters you incorporated from JavaScript. These likely contributed to the stability of this complex project.

At first time, i didnt like it to. But since i remove any .kv file and go to dynamic GUI,
it was needed to coverage them. With more time i will try to make them more readable and clear.

I think we could move one, maybe do a draft release, and you could invite some people in Telegram to test first?

I just made the fix with NotoSans fonts. I will do a final test on OS and wait for @tadeubas /@JDCDL review/approval to tag it and do a release.

Congratulations on a job well done, GUI!

<3

@jdlcdl
Copy link

jdlcdl commented Aug 23, 2024

This is an enormous project, and this particular pr showing the evolution from one base to another is epic.

I don't have a formal education in programming, but if I did, I'd expect this code-base and its evolution to be a text-book example on how-to attack and maintain a long-lived project. This project and the process of how it has evolved touches on many important aspects of development, treating each one in a clean manner, without cutting corners, and done so with a mission-critical degree of care. As a reference for good practices, I'll refer back to this project in the future.

Beyond the implementation that krux-installer has become, it's most important benefit is to the users, who will be able to install Krux in a safe manner learning all the while. It makes the critically important process of safely installing software simple and clear, and it's a pleasurable experience from start to finish.

@qlrd
Copy link
Collaborator Author

qlrd commented Aug 23, 2024

I don't have a formal education in programming

This really a surprise.

This project and the process of how it has evolved touches on many important aspects of development, treating each one in a clean manner, without cutting corners, and done so with a mission-critical degree of care.

Thanks for kind words, it can't be achieved without you, @odudex and @tadeubas in which took some of your firmware time to pay attention to the installer. Also, I repeatedly needed to see the firmware code (especially the tests), from which I learned a lot. The krux code, PRs and issues are a whole formal course.

it's most important benefit is to the users, who will be able to install Krux in a safe manner learning all the while.

May this be eternal while it lasts!

@qlrd qlrd merged commit a853fee into selfcustody:main Aug 26, 2024
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants