28 Commits

Author SHA1 Message Date
zarzet
11e7034cec v2.2.5: In-app logging, ISP blocking detection, Latin script fix 2026-01-10 19:03:39 +07:00
zarzet
c8c0164964 chore: update targetSdk to 36 (Android 16) with timeout handler 2026-01-10 04:51:15 +07:00
zarzet
bea5dd1d4a v2.2.0: Default to Tidal, faster ISRC matching, ISRC enrichment for search 2026-01-10 04:33:05 +07:00
zarzet
74bc747599 chore: update to v2.1.7 with new icons 2026-01-09 17:54:50 +07:00
zarzet
7a009ad0af Fix R8: add dontwarn for Play Core and javax.xml.stream 2026-01-09 02:19:37 +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
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
1d7c43a302 v2.1.0-preview: Download speed optimizations 2026-01-06 03:56:26 +07:00
zarzet
7ac92d77e5 chore: add custom FFmpeg AAR to repo for CI builds 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
2026-01-05 14:09:32 +07:00
zarzet
6927fdf7a9 fix: Android 11 storage permission denied issue 2026-01-04 11:48:19 +07:00
zarzet
85bb67da47 v2.0.3: Custom Spotify credentials, rate limit UI, search fixes 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
2026-01-03 07:23:54 +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
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
2026-01-02 18:14:19 +07:00
zarzet
39ddb7a14f fix: persist download queue to survive app restart (v1.6.1)
- Download queue now persisted to SharedPreferences
- Auto-restore pending downloads on app restart
- Interrupted downloads reset to queued and auto-resumed
- singleTask launch mode to prevent app restart on share intent
- onNewIntent handler for proper intent handling
- Reverted share_plus to 10.1.4 (12.0.1 has Kotlin build issues)
2026-01-02 17:35:34 +07:00
zarzet
9ca0e8cf5c v1.5.0-hotfix6: Use sign-android-release action 2026-01-02 04:29:55 +07:00
zarzet
37b8682faa v1.5.0-hotfix5: Use key.properties per Flutter docs 2026-01-02 04:27:02 +07:00
zarzet
562fd4d7bb v1.5.0-hotfix4: Create keystore.properties in workflow 2026-01-02 04:17:24 +07:00
zarzet
4caa803eb2 v1.5.0-hotfix3: Decode keystore in workflow 2026-01-02 04:09:49 +07:00
zarzet
1b2ad4cdd5 v1.5.0-hotfix2: Fix CI signing config 2026-01-02 03:51:41 +07:00
zarzet
33e8ddd758 v1.5.0-hotfix: Fix app signing, add in-app update 2026-01-02 03:36:11 +07:00
zarzet
d227d57545 v1.5.0: UI rework, multi-progress tracking, performance optimizations 2026-01-02 02:54:50 +07:00
zarzet
ef62fb218a fix: add connection pooling and periodic cleanup to prevent TCP exhaustion 2026-01-01 21:42:25 +07:00
zarzet
c033c73a95 perf: reduce APK size - switch to audio-only FFmpeg, enable ProGuard, split APK by ABI 2026-01-01 19:54:45 +07:00
zarzet
52310dd801 Remove ignored files from tracking 2026-01-01 19:40:43 +07:00
zarzet
f374af2023 Add auto-release on version bump, update repo URLs to SpotiFLAC-Mobile 2026-01-01 19:40:14 +07:00
zarzet
3fdcf6d5b7 Initial commit: SpotiFLAC Android/iOS app 2026-01-01 19:28:15 +07:00