Skip to content

Comments

The big UX/UI overhaul#55

Open
wowitsjack wants to merge 7 commits intoCraftWorksMC:masterfrom
wowitsjack:the-big-ux-ui-overhaul
Open

The big UX/UI overhaul#55
wowitsjack wants to merge 7 commits intoCraftWorksMC:masterfrom
wowitsjack:the-big-ux-ui-overhaul

Conversation

@wowitsjack
Copy link

Major changes:

  • Room database for offline support
  • Onboarding wizard for first-run
  • Download system with WorkManager
  • Foldable device support (Z Fold, table-top mode)
  • Settings split into focused managers
  • Now playing redesign with adaptive layouts
  • Album sorting with persistence
  • Smart text sorting (handles leading quotes, articles)
  • Material 3 Expressive updates
  • Dark mode fixes
  • Various bug fixes

173 files changed, 20931 insertions, 2416 deletions

wowitsjack added 7 commits January 2, 2026 19:03
Major changes:
- Room database for offline support
- Onboarding wizard for first-run
- Download system with WorkManager
- Foldable device support (Z Fold, table-top mode)
- Settings split into focused managers
- Now playing redesign with adaptive layouts
- Album sorting with persistence
- Smart text sorting (handles leading quotes, articles)
- Material 3 Expressive updates
- Dark mode fixes
- Various bug fixes
- Add preserveStateOnExit flag to track when state should be preserved
- Update handlePauseOrCancel to return boolean (true=pause, false=cancel)
- Update syncAlbumsWithProgress, syncSongsWithProgress, cacheArtworks to return pause state
- Ensure finally block always resets state on error/cancel, only preserves on pause
- Implement queue windowing in SongHelper to limit MediaController queue to 200 items
- Fix MusicService to use windowed items instead of full tracklist
- Optimize SongCard to not create ViewModels/settings managers per-item
- Move settings reading to parent component (SongLazyLists)
- Disable per-item palette extraction for list performance
Downloads:
- Add dedicated Downloads screen accessible from Settings
- Make download indicator draggable and position at top-right
- Show download percentage on indicator
- Fix WorkManager foreground service type for Android 14+

Battery Optimization:
- Add battery optimization detection and prompt dialog
- Request exemption to prevent background playback stopping
- Add REQUEST_IGNORE_BATTERY_OPTIMIZATIONS permission

Settings fixes:
- Fix username not saving when changed in Appearance settings
- Use applicationContext consistently across all settings dialogs
- Dialog now waits for save to complete before closing

Navigation:
- Add S_Downloads screen route
- Add Downloads button to Settings screen
Media3 IPC truncates large MediaItem lists due to Binder buffer limits.
Changed approach: SongHelper sends only 1 starting item through IPC,
MusicService rebuilds the full 50-item window from shared state
(SongHelper.currentTracklist). This preserves all metadata including
navidromeID extras that were being stripped during IPC serialization.
Use rememberSaveable for scroll state so position is retained when
navigating away and back to the home screen.
- Add generated artwork support to AlbumHeader in album details screen
- Add artwork settings to HorizontalSongCard in album song lists
- Fix greeting messages not rotating after setting custom name
- Generate bitmap artwork for Bluetooth/notification metadata when needed
- Create GeneratedArtworkBitmap utility for non-Compose artwork generation
@0xfluxx
Copy link

0xfluxx commented Jan 27, 2026

I'm sorry, not the author or a contributor, but this is unreviewable, unmaintainable and probably untested. And clearly vibe coded. Do you expect for a few men to go through 17k lines of code and understand it all in one go? Otherwise, who's going to maintain this? OP has a habit of opening pr's on a bunch of projects, does he intend to also maintain them? If no - I suggest not to post the PR's, this is not helpful, despite seeming so.

@wowitsjack
Copy link
Author

wowitsjack commented Feb 12, 2026

I'm sorry, not the author or a contributor, but this is unreviewable, unmaintainable and probably untested. And clearly vibe coded. Do you expect for a few men to go through 17k lines of code and understand it all in one go? Otherwise, who's going to maintain this? OP has a habit of opening pr's on a bunch of projects, does he intend to also maintain them? If no - I suggest not to post the PR's, this is not helpful, despite seeming so.

Literally nobody asked you lmfao.

The dev himself asked me to post this here. This WAS a private fork that I was asked to share.

The vast majority of the new design and code comes from this very codebase I pushed. It's being selectively sampled.

Unless you too have spoken to the dev, probs best to keep wildly uninformed, useless opinions to yourself.

Golf clap for you, genius.

@0xfluxx
Copy link

0xfluxx commented Feb 12, 2026

Sorry didn't mean to be rude. I've not spoken to the dev, if he's fine with this, I'm not gonna try and stop anyone. Some of my points still stand. You haven't addressed any, except being rude and aggresive. I won't comment any further. Stay classy.

@CraftWorksMC
Copy link
Owner

When @wowitsjack contacted me on discord, he shared built apks of the modified app, i hoped most of it wasn't vibe coded. I asked him "If you could open a PR on github as soon as possible I'll try to merge as much as possible." as some of the added stuff was very much needed (like a better first start screen and some of the ui changes) and hoped to merge at least some of the 20k lines changed and 170 files modified. I do have to side with @0xfluxx with this, it's a lot of code to review. This PR also makes the app extremely laggy, and has a ton of UI jank.
This project has already a ton of technical dept due to my misuse in AI when i first started this project, plus now I'm trying to lessen my use of AI in general, so merging this would just result in a slow, unmaintainable app.
Furthermore your attitude is not tolerated here. I won't merge this PR.

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.

3 participants