Zarz Eleutherius
28727d89f6
New translations app_en.arb (Chinese Simplified)
...
[ci skip]
2026-05-06 22:15:39 +07:00
Zarz Eleutherius
4704bcf52f
New translations app_en.arb (Ukrainian)
...
[ci skip]
2026-05-06 22:15:37 +07:00
Zarz Eleutherius
13c148fb6c
New translations app_en.arb (Turkish)
...
[ci skip]
2026-05-06 22:15:35 +07:00
Zarz Eleutherius
e6079452f9
New translations app_en.arb (Russian)
...
[ci skip]
2026-05-06 22:15:33 +07:00
Zarz Eleutherius
b68b7d5c9b
New translations app_en.arb (Portuguese)
...
[ci skip]
2026-05-06 22:15:31 +07:00
Zarz Eleutherius
741fcdb4d9
New translations app_en.arb (Dutch)
...
[ci skip]
2026-05-06 22:15:30 +07:00
Zarz Eleutherius
642f8c5398
New translations app_en.arb (Korean)
...
[ci skip]
2026-05-06 22:15:28 +07:00
Zarz Eleutherius
1c15d5e7d3
New translations app_en.arb (Japanese)
...
[ci skip]
2026-05-06 22:15:26 +07:00
Zarz Eleutherius
e71090338c
New translations app_en.arb (German)
...
[ci skip]
2026-05-06 22:15:24 +07:00
Zarz Eleutherius
7c0feaaae0
New translations app_en.arb (Spanish)
...
[ci skip]
2026-05-06 22:15:22 +07:00
Zarz Eleutherius
5aa3ff4bb5
New translations app_en.arb (French)
...
[ci skip]
2026-05-06 22:15:20 +07:00
Zarz Eleutherius
d4c83db428
New translations app_en.arb (Russian)
...
[ci skip]
2026-05-06 17:21:54 +07:00
Zarz Eleutherius
9f2d51fd4d
New translations app_en.arb (Russian)
...
[ci skip]
2026-05-06 14:56:46 +07:00
Zarz Eleutherius
36137e8970
New translations app_en.arb (Russian)
...
[ci skip]
2026-05-06 01:29:54 +07:00
Zarz Eleutherius
823e56926f
New translations app_en.arb (German)
...
[ci skip]
2026-05-06 00:16:56 +07:00
zarzet
2143de3aa7
chore: remove redundant comments and boilerplate across codebase
...
Strip doc comments, section dividers, HTML comments, and Flutter
template boilerplate that add no informational value. No logic or
behavior changes.
2026-05-05 21:35:18 +07:00
Zarz Eleutherius
dd8a54dd43
New translations app_en.arb (German)
...
[ci skip]
2026-05-05 15:20:56 +07:00
Zarz Eleutherius
1ff33b96fa
New translations app_en.arb (German)
...
[ci skip]
2026-05-05 13:21:43 +07:00
zarzet
101ab3f521
refactor: remove built-in provider registry in favor of extensions
...
All search, metadata, and download providers are now exclusively
supplied by extensions. The built-in provider registry that previously
exposed Deezer/Tidal/Qobuz as hardcoded providers is fully removed.
Removed across Go, Dart, Kotlin, and Swift:
- BuiltInProviderSpec class, registry, and all accessor helpers
- SearchProviderAllJSON, GetBuiltInProvidersJSON, ParseProviderURLJSON,
ParseDeezerURLExport Go exports and their platform channel bindings
- Built-in provider items in search dropdown, service picker, and
provider priority UI lists
- provider_ui_utils.dart helper file
Deezer metadata enrichment (ISRC lookup, extended metadata, cover
upgrade) remains fully functional through direct DeezerClient calls
in the download pipeline — these are not part of the provider
registry and are unaffected.
Mark deezer as a retired built-in metadata provider so stale user
priority lists are cleaned up on next launch.
2026-05-05 03:55:24 +07:00
zarzet
6b342aeac6
feat: add experimental Android native download worker
...
Introduce a service-owned download worker that offloads the full
download-and-finalize pipeline to DownloadService on Android, keeping
downloads alive independently of the Flutter UI process.
Key changes:
- Extract SAF download logic from MainActivity into SafDownloadHandler
- Add NativeDownloadFinalizer for Kotlin-side decryption, format
conversion, metadata embedding, ReplayGain, post-processing, and
history persistence
- Extend DownloadService with native queue management (start, pause,
resume, cancel) using coroutine-based worker with AtomicFile snapshots
- Add Dart-side orchestration: snapshot polling, run-id correlation,
adoption on app restart, and fallback to Dart queue
- Forward embedReplayGain, tidalHighFormat, and postProcessingEnabled
through Go backend DownloadRequest struct
- Add nativeDownloadWorkerEnabled setting with UI toggle
- Make DownloadQueueLookup collections unmodifiable
2026-05-05 02:41:00 +07:00
zarzet
82e317c4a8
fix: sync download progress notification states
2026-05-04 17:24:57 +07:00
zarzet
a4dc776bfb
chore: update default lyrics providers and about links
2026-05-04 15:51:57 +07:00
zarzet
e187ac461d
fix provider fallbacks and public branding
2026-05-04 00:51:52 +07:00
zarzet
1b4a6cd042
feat: show extension service health
2026-05-03 20:20:28 +07:00
zarzet
b329acd710
fix: clean up settings merge regressions
2026-05-03 01:54:59 +07:00
Zarz Eleutherius
4be9273768
New translations app_en.arb (Hindi)
...
[ci skip]
2026-05-03 01:39:32 +07:00
Zarz Eleutherius
f458ac2162
New translations app_en.arb (Indonesian)
...
[ci skip]
2026-05-03 01:39:31 +07:00
Zarz Eleutherius
b5ea2bb4c1
New translations app_en.arb (Chinese Traditional)
...
[ci skip]
2026-05-03 01:39:29 +07:00
Zarz Eleutherius
284d257921
New translations app_en.arb (Chinese Simplified)
...
[ci skip]
2026-05-03 01:39:28 +07:00
Zarz Eleutherius
30bf6b7f9a
New translations app_en.arb (Ukrainian)
...
[ci skip]
2026-05-03 01:39:27 +07:00
Zarz Eleutherius
4941b6bd23
New translations app_en.arb (Turkish)
...
[ci skip]
2026-05-03 01:39:25 +07:00
Zarz Eleutherius
33d99817ec
New translations app_en.arb (Russian)
...
[ci skip]
2026-05-03 01:39:24 +07:00
Zarz Eleutherius
37e1af50ad
New translations app_en.arb (Portuguese)
...
[ci skip]
2026-05-03 01:39:22 +07:00
Zarz Eleutherius
8a6efb1303
New translations app_en.arb (Dutch)
...
[ci skip]
2026-05-03 01:39:21 +07:00
Zarz Eleutherius
7823b19b89
New translations app_en.arb (Korean)
...
[ci skip]
2026-05-03 01:39:19 +07:00
Zarz Eleutherius
2a9aa544a9
New translations app_en.arb (Japanese)
...
[ci skip]
2026-05-03 01:39:18 +07:00
Zarz Eleutherius
f387c8ff85
New translations app_en.arb (German)
...
[ci skip]
2026-05-03 01:39:17 +07:00
Zarz Eleutherius
7e537aec0b
New translations app_en.arb (Spanish)
...
[ci skip]
2026-05-03 01:39:15 +07:00
Zarz Eleutherius
66cd465565
New translations app_en.arb (French)
...
[ci skip]
2026-05-03 01:39:14 +07:00
zarzet
397669965d
Merge remote-tracking branch 'spotiflacapp/main'
...
# Conflicts:
# android/app/src/main/res/drawable-hdpi/ic_launcher_foreground.png
# android/app/src/main/res/drawable-mdpi/ic_launcher_foreground.png
# android/app/src/main/res/drawable-xhdpi/ic_launcher_foreground.png
# android/app/src/main/res/drawable-xxhdpi/ic_launcher_foreground.png
# android/app/src/main/res/drawable-xxxhdpi/ic_launcher_foreground.png
# android/app/src/main/res/mipmap-hdpi/ic_launcher.png
# android/app/src/main/res/mipmap-mdpi/ic_launcher.png
# android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
# android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
# android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
# crowdin.yml
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
# lib/l10n/app_localizations_de.dart
# lib/l10n/app_localizations_fr.dart
# lib/l10n/app_localizations_id.dart
# lib/l10n/app_localizations_tr.dart
# lib/l10n/arb/app_en.arb
# lib/l10n/arb/app_id.arb
# lib/l10n/arb/app_ja.arb
# lib/l10n/arb/app_tr.arb
# lib/screens/settings/download_settings_page.dart
# lib/screens/settings/options_settings_page.dart
2026-05-03 01:00:08 +07:00
Zarz Eleutherius
83afa40423
New translations app_en.arb (Hindi)
...
[ci skip]
2026-05-03 00:20:59 +07:00
Zarz Eleutherius
486e7eb101
New translations app_en.arb (Indonesian)
...
[ci skip]
2026-05-03 00:20:58 +07:00
Zarz Eleutherius
05eb9e60d3
New translations app_en.arb (Chinese Traditional)
...
[ci skip]
2026-05-03 00:20:56 +07:00
Zarz Eleutherius
dde7095644
New translations app_en.arb (Chinese Simplified)
...
[ci skip]
2026-05-03 00:20:55 +07:00
Zarz Eleutherius
f1e9a2915d
New translations app_en.arb (Ukrainian)
...
[ci skip]
2026-05-03 00:20:53 +07:00
Zarz Eleutherius
ae3495d373
New translations app_en.arb (Turkish)
...
[ci skip]
2026-05-03 00:20:51 +07:00
Zarz Eleutherius
6fb2c1b688
New translations app_en.arb (Russian)
...
[ci skip]
2026-05-03 00:20:50 +07:00
Zarz Eleutherius
1526c558e7
New translations app_en.arb (Portuguese)
...
[ci skip]
2026-05-03 00:20:49 +07:00
Zarz Eleutherius
324e0f053b
New translations app_en.arb (Dutch)
...
[ci skip]
2026-05-03 00:20:47 +07:00
Zarz Eleutherius
25cb33c78e
New translations app_en.arb (Korean)
...
[ci skip]
2026-05-03 00:20:46 +07:00