46 Commits

Author SHA1 Message Date
zarzet
29699117dc fix(ci): add -tags ios to gomobile bind for iOS build 2026-01-31 15:34:34 +07:00
zarzet
8ac035d146 chore: remove obsolete iOS-specific files
- Delete pubspec_ios.yaml (now identical to main pubspec.yaml)
- Delete build_assets/ffmpeg_service_ios.dart (main service works for both platforms)
- Remove iOS pubspec/FFmpeg swap steps from release.yml
- Both Android and iOS now use ffmpeg_kit_flutter_new_audio plugin
2026-01-31 15:11:19 +07:00
zarzet
31fdd30c13 fix: use --data-urlencode for Telegram message to handle special chars (+, &) 2026-01-31 15:10:17 +07:00
zarzet
b627ae1874 fix: handle CRLF in changelog extraction for Telegram 2026-01-21 16:23:19 +07:00
zarzet
46afa6e733 fix: use HTML parse mode for Telegram notifications to handle special chars 2026-01-21 13:30:35 +07:00
zarzet
e725a7be77 feat: convert GitHub Markdown to Telegram format in release notification 2026-01-20 10:12:01 +07:00
zarzet
d960708dac feat: improve Telegram notification - upload IPA, remove redundant links, increase changelog limit 2026-01-20 10:08:35 +07:00
zarzet
c62ad005f5 docs: update README and release workflow 2026-01-20 09:58:31 +07:00
zarzet
bd6b23400e Update screenshots, funding links, and VirusTotal hash 2026-01-20 05:57:43 +07:00
zarzet
0119db094d feat: add extended metadata (genre, label, copyright) support
- Add genre, label, copyright fields to ExtTrackMetadata and DownloadResponse
- Add utils.randomUserAgent() for extensions to get random User-Agent strings
- Fix VM race condition panic by adding mutex locks to all provider methods
- Fix Tidal release date fallback when req.ReleaseDate is empty
- Display genre, label, copyright in track metadata screen
- Store extended metadata in download history for persistence
- Add trackGenre, trackLabel, trackCopyright localization strings
2026-01-19 21:13:40 +07:00
zarzet
125d070cfe fix: remove duplicate --- separator in release notes
Extract changelog now strips trailing --- from CHANGELOG.md sections
2026-01-13 23:51:59 +07:00
zarzet
4c09b988e4 Merge main into dev (sync v2.2.8 features) 2026-01-12 06:22:22 +07:00
zarzet
c673581c32 feat: multi-select batch delete and album grouping in history
- Add multi-select mode with long-press to select tracks
- Add bottom action bar for selection (Material 3 style)
- Add filter tabs: All/Albums/Singles
- Add album grouping view when Albums filter selected
- Add DownloadedAlbumScreen for viewing tracks in an album
- Reactive UI updates when tracks deleted
- Auto-pop when album has <2 tracks
- Update issue templates with (Stable Version) text
- Bump version to 2.2.8
2026-01-12 06:18:32 +07:00
zarzet
a6d488696b chore: add extension API feature request template and ignore docs folder 2026-01-12 01:22:23 +07:00
zarzet
3dbd131e49 fix: iOS extension auth function names (use ByID suffix) 2026-01-12 01:02:16 +07:00
zarzet
11e7034cec v2.2.5: In-app logging, ISP blocking detection, Latin script fix 2026-01-10 19:03:39 +07:00
zarzet
f12c18d76b Add issue templates, update workflow SDK, fix about logo 2026-01-10 16:53:41 +07:00
zarzet
0da39a1b8b chore: update NDK to r27d LTS (27.3.13750724) for 16KB page size support 2026-01-10 16:48:52 +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
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 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
e5e75e7092 Fix iOS build: use xcodebuild with CODE_SIGNING_ALLOWED=NO 2026-01-09 02:18:54 +07:00
zarzet
9baa1e2088 fix: Replace android-actions/setup-android with direct SDK setup 2026-01-07 03:38:00 +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
d641a517b8 ci: Fix disk cleanup - only remove safe directories 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
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
62805720da Add auto-tag workflow on version change 2026-01-02 06:52:28 +07:00
zarzet
0edd616c3d Remove redundant workflows, keep only release.yml 2026-01-02 04:44:26 +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
33e8ddd758 v1.5.0-hotfix: Fix app signing, add in-app update 2026-01-02 03:36:11 +07:00
zarzet
db1439e08f fix: improve changelog extraction in release workflow 2026-01-02 00:15:14 +07:00
zarzet
bd4acdf222 v1.2.0: Track Metadata Screen, Hi-Res fix, Settings navigation fix 2026-01-02 00:10:30 +07:00
zarzet
ab9869a849 fix: add XCFramework to Xcode project dynamically for iOS build 2026-01-01 20:35:10 +07:00
zarzet
3a4019a55e fix: trigger release workflow directly from auto-release 2026-01-01 20:12:53 +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
d4d3a48167 fix: add Gobackend framework search paths for iOS build 2026-01-01 19:50:54 +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
b0016fb510 Build only on version tag push 2026-01-01 19:39:01 +07:00
zarzet
0340e44a88 Fix: Use latest stable Flutter instead of 3.24.0 2026-01-01 19:33:43 +07:00
zarzet
3fdcf6d5b7 Initial commit: SpotiFLAC Android/iOS app 2026-01-01 19:28:15 +07:00