Amonoman
bb0cc23461
i18n: sync missing EN strings to all locales & fix DE consistency
...
- Add 18 missing keys to DE, ES_ES, FR, HI, ID, JA, KO, NL, PT_PT, RU, TR, UK, ZH_CN, ZH_TW
- Add 580 missing keys to ES, PT, ZH (outdated partial files)
- Fix DE: Sie→du throughout, typos (Standart, auwählen), grammar errors in dialogs
2026-05-02 18:13:04 +02:00
Amonoman
6e9fa45915
feat(settings): reorganize settings into focused pages
...
- split download/options into download, files, metadata, lyrics, app
- add dedicated pages for files & folders, metadata, and lyrics
- move search source and fallback into download page
- replace options_settings_page with app_settings_page
- add missing l10n keys for all new pages
- improve subtitle copy for download, embed lyrics, primary provider
2026-04-28 13:46:44 +02:00
Amonoman
7dafbc1063
refactor(settings): split download/options into focused pages
...
- Extract files, metadata, lyrics into dedicated pages
- Move search source + fallback into download page
- Move app/update/debug settings into new app_settings_page
- Replace options_settings_page with app_settings_page
- Reorganize settings_tab into 3 logical groups
2026-04-27 20:43:12 +02:00
Amonoman
ad8ac3bd2b
Update every icon except banner
2026-04-27 17:12:43 +02:00
Zarz Eleutherius
df96cc4a1d
Merge pull request #333 from spotiflacapp/fix-crowdin-locale-mappings
...
fix: map missing Crowdin locale variants
2026-04-18 23:44:31 +07:00
zarzet
6c3d92cee4
fix: map missing Crowdin locale variants
2026-04-18 23:39:38 +07:00
Zarz Eleutherius
d87e0d7e01
Merge pull request #331 from spotiflacapp/merge-l10n-dev-into-main-safe
...
chore: import l10n updates into main and enable Ukrainian locale
2026-04-18 23:06:35 +07:00
zarzet
86b8709ea1
chore: enable Ukrainian locale on main
2026-04-18 23:02:00 +07:00
zarzet
702b917929
chore: import l10n updates from l10n_dev into main
2026-04-18 22:35:57 +07:00
github-actions[bot]
4b219ad18e
chore: update AltStore source to v4.3.1
2026-04-14 14:21:29 +00:00
zarzet
57051bd649
fix: handle .mp4 as alias for .m4a throughout download pipeline
v4.3.1
2026-04-14 21:12:14 +07:00
zarzet
d6fca6ca55
feat: carry extension download metadata through host pipeline and avoid FLAC-only genre/label pre-embed on non-FLAC files
2026-04-14 21:12:14 +07:00
zarzet
153ec2d9e5
chore: bump version to 4.3.1+126
2026-04-14 21:12:14 +07:00
zarzet
be90e85d94
fix: show filter button in all/singles modes when tracks are empty but filters are active
2026-04-14 21:12:14 +07:00
zarzet
4af089f56c
feat: improve Tidal metadata (copyright, album artist), remove Qobuz metadata search fallback, fix DATE/YAR tag sync
2026-04-14 21:12:14 +07:00
zarzet
62519d2d1c
feat: add preserveNativeOutputExtensions capability for extensions
2026-04-14 21:12:14 +07:00
zarzet
27c0880e87
feat: convert M4A to FLAC when extension doesn't prefer native M4A output
...
When an extension's preferred output isn't .m4a, downloaded M4A streams
are now automatically converted to FLAC via FFmpeg instead of being
preserved. This applies to both SAF and non-SAF download paths.
2026-04-14 21:12:14 +07:00
zarzet
f312b74b30
fix: ensure non-null search provider fallback and update default labels to Tidal
...
- Add monochrome.tf and samidy.com Tidal API mirrors
- Guarantee resolvedProvider is never null by defaulting to 'tidal'
- Replace stale 'Deezer' default label with 'Tidal' (Deezer moved to extension)
- Show dynamic provider target in auto label for search dropdown
2026-04-14 21:12:14 +07:00
zarzet
bd49e307ef
fix: reset OutputExt on extension→extension fallback too
2026-04-14 21:12:14 +07:00
zarzet
e904a836c1
fix: reset OutputExt on extension→built-in fallback
2026-04-14 21:12:14 +07:00
zarzet
763c9478f1
fix: normalize extension codec for built-in fallback, remove dead Tidal ISRC
2026-04-14 21:12:13 +07:00
zarzet
427bdf74dc
chore: reduce Gradle memory, add extension network timeout, fix tr locale
2026-04-14 21:12:13 +07:00
zarzet
373a276c54
fix: respect user provider choice over source extension priority
2026-04-14 21:12:13 +07:00
github-actions[bot]
dccadf1f87
chore: update AltStore source to v4.3.1
2026-04-14 13:58:11 +00:00
github-actions[bot]
d9933fe038
chore: update AltStore source to v4.3.0
2026-04-13 16:39:57 +00:00
zarzet
d47ac0934d
chore: bump version to 4.3.0 and fix SAF document file race condition
...
- Bump app version to 4.3.0 (build 125)
- Extract createOrReuseDocumentFile() to handle SAF auto-rename races
between findFile() and createFile(), preferring the exact-named sibling
and discarding duplicate documents
2026-04-13 23:35:03 +07:00
zarzet
dbba4d6630
feat: propagate download cancel to extension HTTP requests and fix SAF filename extension mismatch
...
- Bind cancel context to all extension HTTP calls (fetch, httpGet, httpPost,
httpRequest, fileDownload, authExchangeCodeWithPKCE) so in-flight requests
are aborted when user cancels a download
- Make initDownloadCancel idempotent: return existing context if entry already
exists and preserve pre-cancelled state
- Force SAF output filename to match actual file extension when extension
returns a different format than requested (e.g. FLAC requested but M4A produced)
- Map ALAC/AAC quality to .m4a instead of falling through to default .flac
2026-04-13 23:35:03 +07:00
zarzet
7405855e01
fix: handle extension oauth callback on ios
2026-04-13 23:35:03 +07:00
zarzet
ed020c9303
feat: native M4A ReplayGain tag writing and SAF picker error handling
2026-04-13 23:35:03 +07:00
zarzet
378742e37a
refactor: remove author field from extension manifest and UI
2026-04-13 23:35:03 +07:00
zarzet
c79bee534e
fix: align default search tab layout with primary provider selector using Row+Expanded
2026-04-13 23:35:03 +07:00
zarzet
1d6df75829
fix: preserve existing M4A metadata during embed and enable BuildConfig generation
2026-04-13 23:35:03 +07:00
zarzet
b7f51b5f14
feat: expose extension utils, preserve M4A native container, and bump to v4.2.3+124
2026-04-13 23:35:03 +07:00
zarzet
1c8e9df727
feat: add artist search filter and normalize search filter handling
2026-04-13 23:35:03 +07:00
zarzet
01540fe3fc
fix: improve ALAC M4A quality parsing
2026-04-13 23:35:03 +07:00
zarzet
071db2f109
refactor: move deezer search flow to extension
2026-04-13 23:35:02 +07:00
zarzet
e097d3f605
fix: stabilize shared extension link handling
2026-04-13 23:35:02 +07:00
zarzet
277f783f62
feat: add default search tab preference
2026-04-13 23:35:02 +07:00
zarzet
7637aaf168
fix: fallback extra metadata genre
2026-04-13 23:35:02 +07:00
zarzet
c4878470bf
chore: thank Ldav Nico and Feuerstern on donate page
2026-04-13 23:35:02 +07:00
zarzet
a3725e8c48
feat: add keep android open link
2026-04-13 23:35:02 +07:00
zarzet
917ba842f5
fix: align metadata sanitization and lyrics editing
2026-04-13 23:32:19 +07:00
zarzet
dac17ead33
chore: bump app to v4.2.2
2026-04-13 23:32:19 +07:00
zarzet
6845ebe04c
refactor: move deezer to extension
2026-04-13 23:32:18 +07:00
zarzet
eff709480d
fix: preserve flat singles output for extension releases
2026-04-13 23:32:18 +07:00
zarzet
67833424cc
fix: align re-enrich matching with autofill metadata
2026-04-13 23:32:18 +07:00
zarzet
5c48e1b476
fix: persist downloaded metadata and refine metadata navigation
2026-04-13 23:32:18 +07:00
zarzet
5e17c9f238
feat: add configurable extension download fallback
2026-04-13 23:32:18 +07:00
zarzet
7d330fb2ec
fix: preserve composer metadata across qobuz and history
2026-04-13 23:32:18 +07:00
zarzet
cd6a4594fa
chore: bump app version to v4.2.1
2026-04-13 23:32:17 +07:00