Skip to content

fix: Added progress bar to first time GUI download + Switched from materials icon to materials symbol + Cleaned up home screen code - #234

Merged
prateek-who merged 10 commits into
devfrom
progress-bar
Aug 4, 2026
Merged

fix: Added progress bar to first time GUI download + Switched from materials icon to materials symbol + Cleaned up home screen code#234
prateek-who merged 10 commits into
devfrom
progress-bar

Conversation

@prateek-who

Copy link
Copy Markdown
Contributor
  • 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.
@krvstek

krvstek commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

I noticed there's a deprecation warning on material-icons-extended-desktop now, as it's pinned to 1.7.3 going into Compose 1.8.0. JetBrains recommends migrating to raw Material Symbols (SVG/XML) going forward.

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?

@prateek-who

Copy link
Copy Markdown
Contributor Author

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.

@krvstek

krvstek commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

However, it would better if we actually move to Material Symbols.

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.

@prateek-who

Copy link
Copy Markdown
Contributor Author

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.
@prateek-who prateek-who changed the title fix: added progress bar + moved material icons back to shadowjar fix: Added progress bar + switch from materials icon to materials symbol + cleandup home screen code Jul 31, 2026
@prateek-who prateek-who changed the title fix: Added progress bar + switch from materials icon to materials symbol + cleandup home screen code fix: Added progress bar to first time GUI download + Switched from materials icon to materials symbol + Cleaned up home screen code Jul 31, 2026
@prateek-who
prateek-who merged commit 39e948e into dev Aug 4, 2026
3 checks passed
@prateek-who
prateek-who deleted the progress-bar branch August 4, 2026 13:02
github-actions Bot pushed a commit that referenced this pull request Aug 4, 2026
# [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))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants