97 Commits

Author SHA1 Message Date
zarzet
74bc747599 chore: update to v2.1.7 with new icons v2.1.7 2026-01-09 17:54:50 +07:00
zarzet
cbc8fdcb0c feat: add download badges to release page 2026-01-09 17:25:01 +07:00
zarzet
3b79b4f1ca fix: use absolute path for IPA creation v2.1.6 2026-01-09 02:41:19 +07:00
zarzet
5692a76650 Fix: iOS embedMetadata method + Android APK path detection 2026-01-09 02:31:01 +07:00
zarzet
7a009ad0af Fix R8: add dontwarn for Play Core and javax.xml.stream 2026-01-09 02:19:37 +07:00
zarzet
e5e75e7092 Fix iOS build: use xcodebuild with CODE_SIGNING_ALLOWED=NO 2026-01-09 02:18:54 +07:00
zarzet
01b8fd2480 Fix metadata consistency (Go->Flutter) and build optimization
- Backend: Return full metadata (Track, Disc, Year) from Tidal/Qobuz/Amazon download results
- Flutter: Use backend metadata for tagging converted M4A and history entries
- Fix: Duplicate convertTrack method in deezer.go
- Fix: Better error message for Deezer fallback failure
- Changed: Default service fallback to Tidal -> Qobuz -> Amazon
- Build: Re-enabled resource shrinking and minification for release build
2026-01-09 02:12:24 +07:00
Zarz Eleutherius
ee807a44cc Update instructions for using Spotify API 2026-01-08 13:36:10 +07:00
Zarz Eleutherius
c9b905eb18 Update VirusTotal badge link in README.md 2026-01-08 01:08:32 +07:00
zarzet
e9c7bf830e Update changelog for v2.1.5 v2.1.5 2026-01-08 00:53:38 +07:00
zarzet
8bc97d5bd3 v2.1.5: Deezer API 2.0, Qobuz default, fetch ISRC for search results 2026-01-08 00:52:24 +07:00
zarzet
f2c241c323 Fix .tmp permission issue on Android Music folder 2026-01-08 00:26:49 +07:00
zarzet
9c512ffe28 Add migration for Deezer default (skip if custom Spotify enabled) 2026-01-07 23:19:04 +07:00
zarzet
53a1da6249 v2.1.5: Fix progress bar and incomplete downloads
- Fix progress bar jumping from 1% to 100% (threshold-based updates)
- Fix incomplete downloads with temp file + size validation
- Applies to Tidal, Qobuz, and Amazon services
2026-01-07 23:15:48 +07:00
Zarz Eleutherius
d4274e8ca8 Include setup instructions for Spotify API usage
Added detailed instructions for setting up Spotify as a search source, including steps for creating a developer account and entering credentials.
2026-01-07 13:55:31 +07:00
Zarz Eleutherius
49a9f12841 Simplify README by removing Spotify setup details
Removed detailed instructions for using Spotify and support section.
2026-01-07 13:53:30 +07:00
zarzet
d7fa040e3c fix: Deezer artist/album screen improvements
- Fix album_screen to support Deezer album IDs (deezer:xxx format)
- Use getSpotifyMetadataWithFallback for Spotify albums
- Hide track count in artist discography when not available from Deezer API
- Deezer /artist/{id}/albums endpoint doesn't return nb_tracks
v2.1.5-preview
2026-01-07 04:25:35 +07:00
zarzet
9baa1e2088 fix: Replace android-actions/setup-android with direct SDK setup 2026-01-07 03:38:00 +07:00
zarzet
482457205a feat: Add Deezer as alternative metadata source with auto-fallback
- Add Deezer API client (no auth required, rate limit per user IP)
- Add search source selector in Settings (Deezer/Spotify)
- Default to Deezer for better reliability
- Auto-fallback to Deezer when Spotify API is rate limited (429)
- Support fallback for tracks and albums via SongLink API
- Update README with metadata source documentation
- Version 2.1.5-preview (build 42)
2026-01-07 03:25:14 +07:00
zarzet
3b2ec319e2 Fix pubspec version to 2.1.0+41 v2.1.0 2026-01-07 00:19:53 +07:00
zarzet
a0f7e75a9a Update VirusTotal badge to 2.1.0 2026-01-07 00:15:43 +07:00
zarzet
c725e53e4c Release 2.1.0 v2.1.0-preview2 2026-01-07 00:00:28 +07:00
zarzet
1d7c43a302 v2.1.0-preview: Download speed optimizations 2026-01-06 03:56:26 +07:00
Zarz Eleutherius
df7c1c5bb7 Add VirusTotal badge to README
Added VirusTotal badge to README for safety verification.
2026-01-06 02:05:50 +07:00
zarzet
bb05353b7e fix(ios): directory picker - add App Documents option for iOS
- iOS limitation: empty folders cannot be selected via document picker
- Added bottom sheet with App Documents Folder as recommended option
- Shows info message explaining iOS limitation
- Files accessible via iOS Files app

Version: 2.0.7-preview2+38
v2.0.7-preview2
2026-01-06 00:23:19 +07:00
zarzet
7ac92d77e5 chore: add custom FFmpeg AAR to repo for CI builds v2.0.7-preview 2026-01-05 14:23:41 +07:00
zarzet
cf00ecb756 feat: use custom FFmpeg AAR for Android, reduce APK size
- Replace ffmpeg_kit_flutter plugin with custom AAR (arm64 + arm7a only)
- Add MethodChannel bridge for FFmpeg in MainActivity
- Create separate pubspec_ios.yaml for iOS builds with ffmpeg_kit plugin
- Update GitHub workflow to swap pubspec for iOS builds
- Reduces Android APK size by ~50MB
v2.0.7
2026-01-05 14:09:32 +07:00
zarzet
525f2fd0cd chore: bump version to 2.0.6+36 v2.0.6 2026-01-05 12:21:05 +07:00
zarzet
3e841cef06 fix: duration display, audio quality from file, artist verification, metadata case-sensitivity, settings navigation freeze
- Fix duration showing incorrect values (ms to seconds conversion)
- Read audio quality from FLAC file instead of trusting API
- Add artist verification for Tidal/Qobuz/Amazon downloads
- Fix FLAC metadata case-insensitive replacement
- Fix settings navigation freeze on Android 14+ (PopScope handling)
2026-01-05 10:30:57 +07:00
zarzet
a8527df80a docs: application stabilized, remove dev notice 2026-01-05 03:12:30 +07:00
zarzet
51b2ad5c77 v2.0.5: Large playlist support + duration verification fix
- Add pagination for playlists (up to 1000 tracks)
- Add duration verification to prevent wrong track downloads
- When Tidal returns wrong version, fallback to Qobuz/Amazon
v2.0.5
2026-01-05 03:08:15 +07:00
zarzet
d641a517b8 ci: Fix disk cleanup - only remove safe directories v2.0.4 2026-01-04 12:09:13 +07:00
zarzet
608fa2ca74 ci: Fix disk cleanup - don't remove Android SDK path 2026-01-04 12:08:18 +07:00
zarzet
343b309314 ci: Add disk cleanup step to fix runner space issue 2026-01-04 12:01:34 +07:00
zarzet
0787b32dd8 v2.0.4: Fix Android 11 storage permission denied 2026-01-04 11:51:09 +07:00
zarzet
6927fdf7a9 fix: Android 11 storage permission denied issue 2026-01-04 11:48:19 +07:00
zarzet
fe6af34478 Update screenshots 2026-01-04 00:14:33 +07:00
zarzet
85bb67da47 v2.0.3: Custom Spotify credentials, rate limit UI, search fixes v2.0.3 2026-01-03 23:56:03 +07:00
zarzet
794486a200 v2.0.2: Quality display, fallback fix, Open in Spotify fix
- Add actual quality display (bit depth/sample rate) in history and metadata
- Add quality disclaimer in quality picker
- Fix fallback service display showing wrong service
- Fix Open in Spotify not opening app correctly
- Remove romaji conversion feature
- Amazon now reads quality from FLAC file
v2.0.2
2026-01-03 07:23:54 +07:00
zarzet
8ce5e958ee docs: update changelog 2026-01-03 05:46:03 +07:00
zarzet
5c6bf02f1c v2.0.1: Unified progress tracking, quality picker consistency, notification fixes v2.0.1 2026-01-03 05:43:14 +07:00
zarzet
852335f794 fix: correct version to 2.0.0 (remove preview suffix) v2.0.0 2026-01-03 04:37:48 +07:00
zarzet
b87de1f00a feat: quality picker with track info, update dialog redesign, finalizing notification fix
- Quality picker now shows track name, artist, and cover
- Tap to expand long track titles (icon only shows when truncated)
- Ripple effect follows rounded corners including drag handle
- Update dialog redesigned with Material Expressive 3 style
- Fixed update notification stuck at 100% after download complete
- Ask before download now enabled by default
- Finalizing notification for multi-progress polling
2026-01-03 04:26:19 +07:00
zarzet
8fcb389bb2 fix: play button red flash on app start
Use optimistic rendering for file existence check - assume file exists while async check runs, only show error if file is actually missing
2026-01-03 00:52:34 +07:00
zarzet
08bca30fcd perf: optimize state management, add HTTPS validation, improve UI performance
- Add HTTPS-only validation for APK downloads and update checks
- Use .select() for Riverpod providers to prevent unnecessary rebuilds
- Add keys to all list builders for efficient updates
- Implement request cancellation for outdated API requests
- Debounce all network requests (URLs and searches)
- Limit file existence cache to 500 entries
- Add ref.onDispose for timer cleanup
- Add error handling for share intent stream
- Redesign About page with Material Expressive 3 style
- Rename Search tab to Home
- Remove Features section from README
2026-01-03 00:46:34 +07:00
zarzet
a7c5afdd20 ui: redesign About page with contributors and fix title alignment 2026-01-02 20:15:29 +07:00
zarzet
5eac386eba ui: remove Search Music text, keep only logo 2026-01-02 18:30:57 +07:00
zarzet
d35d60ac7d docs: update screenshots 2026-01-02 18:28:38 +07:00
zarzet
7c43d4bf70 docs: add active development notice 2026-01-02 18:21:07 +07:00
zarzet
2043370b6c feat: background download service + queue persistence (v1.6.1)
- Add foreground service for background downloads with wake lock
- Persist download queue to SharedPreferences for app restart recovery
- Fix share intent causing app restart (singleTask + onNewIntent)
- Fix back button clearing state during loading
- Upgrade Kotlin to 2.3.0 for share_plus 12.0.1 compatibility
- Add WAKE_LOCK permission for foreground service
v1.6.1
2026-01-02 18:14:19 +07:00