zarzet
63e1a9b9c8
feat(ui): add Mornye glass theme and adaptive music player
...
Add a selectable Mornye theme with shared glass controls, dialogs, sheets, notifications, and collection headers while retaining Material components.
Update player artwork, lyrics transitions and highlighting, synchronized rolling time labels, volume controls, and compact navigation. Unify metadata, Library, search, and extension surfaces; preserve restored artwork and report extension load failures.
Validation: full Flutter analyzer clean; 713 tests passed and 4 skipped; pinned Dart formatting and diff checks passed; signed ARM64 and ARM32 release APKs built and verified.
2026-09-19 12:10:10 +07:00
zarzet
5a970ac83d
perf(startup): bootstrap persisted app state
2026-07-16 08:08:27 +07:00
zarzet
904b45e8f6
chore: housekeeping cleanup and code deduplication
...
- Remove stray tracked files (root AndroidManifest.xml, build.gradle.bak, temp_project template)
- Move README-only images out of app asset bundle to reduce APK/IPA size (~1.68MB)
- Fix logo filename typo (transparant -> transparent)
- Deduplicate _readPositiveInt into shared int_utils.dart
- Deduplicate _themeModeFromString (reuse from theme_settings.dart)
- Remove deprecated LocalLibraryState.items getter
- Remove unused sqflite_common_ffi dependency
- Update apps.json version to 4.5.1
- Fix Flutter version in CONTRIBUTING.md (3.38.1 -> 3.41.5)
- Improve .gitignore patterns (NUL, *.bak, root AndroidManifest.xml)
2026-05-08 21:37:56 +07:00
zarzet
79a69f8f70
chore: clean up codebase
2026-03-26 16:43:56 +07:00
zarzet
7c08321ce3
refactor: continue code cleanup
2026-02-04 10:42:51 +07:00
zarzet
6388f3a5b8
perf: optimize providers, caching, and reduce rebuilds
...
- Cache SharedPreferences.getInstance() in providers (settings, theme, recent_access)
- Pre-compute download counts in queue provider to avoid repeated filtering
- Add identical() caching for RecentAccessView in HomeTab
- Use selective watching for exploreProvider (sections, greeting, isLoading only)
- Move isYTMusicQuickPicks computation to ExploreSection.fromJson()
- Hoist static RegExp patterns to avoid repeated compilation
- Use batch operations for iOS path migration in history_database
- Replace containsKey+lookup with single lookup in palette_service
- Pre-compute lowercase strings outside filter loops in logger
- Fix _isLoaded race condition in DownloadHistoryNotifier
2026-01-22 03:56:47 +07:00
zarzet
03027813c1
chore: cleanup unused code and dead imports
2026-01-20 02:10:10 +07:00
zarzet
c725e53e4c
Release 2.1.0
2026-01-07 00:00:28 +07:00
zarzet
3fdcf6d5b7
Initial commit: SpotiFLAC Android/iOS app
2026-01-01 19:28:15 +07:00