fix: Added progress bar to first time GUI download + Switched from materials icon to materials symbol + Cleaned up home screen code - #234
Conversation
prateek-who
commented
Jul 29, 2026
- Added a progress bar to the initial download of the gui from the jar file.
- Surface first run download failures instead of exiting silently. A failed gui download or checksum mismatch used to call exitProcess(1) behind only a log line, so a gui user just saw the app never open. It now throws BootstrapException and shows a "Setup failed" window with the reason and a quit button.
- Moved the material icons back to the jar file so ProGuard can tree-shake it to just the 50 odd icons we actually use. This drops another 36mb in size.
- Added a progress bar to the initial download of the gui from the jar file - Surface first run download failures instead of exiting silently. A failed gui download or checksum mismatch used to call exitProcess(1) behind only a log line, so a gui user just saw the app never open. It now throws BootstrapException and shows a "Setup failed" window with the reason and a quit button. - Moved the material icons back to the jar file so ProGuard can tree-shake it to just the 50 odd icons we actually use. This drops another 36mb in size.
|
I noticed there's a deprecation warning on Since we only use around 50 icons, should we look into migrating them to local XML resources in a future PR to drop the deprecated dependency entirely, or are we good to just stick with the tree-shaken JAR for now? |
|
I was just looking at the size side, so didn't think much about the deprecation warning. However, it would better if we actually move to Material Symbols. I'll get to it now. |
Moving entirely to Material Symbols should reduce the JAR file size even further and get rid of that one extra JAR dependency entirely, since we'll only be bundling the exact icons the GUI actually uses. |
|
We are already tree-shaking the icon set pretty well, so I feel we might hardly get few MBs of extra savings. But future proofing is good. |
- Older material icons is now replaced with the newer material symbols. Removed the dependency too. - Added add-icon.sh script to make it easier to add new icons whenever needed.
Merge this after 'developer-mode' and 'gui-patch-bundle-error-fix' have been merged
# [1.13.0-dev.8](v1.13.0-dev.7...v1.13.0-dev.8) (2026-08-04) ### Bug Fixes * Added progress bar to first time GUI download + Switched from materials icon to materials symbol + Cleaned up home screen code ([#234](#234)) ([39e948e](39e948e))