Commit Graph
134 Commits
Author SHA1 Message Date
zarzet 15ffb3abf5 feat(metadata): add safe batch editing and matching 2026-09-04 16:55:44 +07:00
zarzet cbeada208b feat(library): add bulk duplicate cleanup 2026-09-04 12:39:03 +07:00
zarzet 01fc7ee6c2 feat(lyrics): use direct Kugou, QQ Music, and Genius sources 2026-08-31 13:39:18 +07:00
zarzet 892d152e5c fix(resolver): retire unavailable resolver endpoints 2026-08-30 18:51:20 +07:00
zarzet e9bb3ae303 feat(l10n): merge Crowdin translation updates (#531)
Merge Crowdin changes per key so translations from PR #531 are retained without dropping localization keys added on main. Normalize locale filenames for Flutter, keep incomplete languages behind the 70% production threshold, and retain them in Crowdin for continued translation.
2026-08-30 12:59:48 +07:00
zarzet 740ce173b2 fix(security): prevent extension network sandbox bypasses 2026-08-29 18:56:46 +07:00
zarzet 887a8ede12 feat(metadata): limit embedded cover resolution 2026-08-28 13:21:05 +07:00
zarzet 2b117415ae feat: add file format library quality label 2026-08-27 16:50:46 +07:00
zarzet 1a7c20111a feat(library): add lyrics filtering and metadata actions 2026-08-27 01:44:06 +07:00
Zarz Eleutherius 683635b920 New translations app_en.arb (Indonesian)
[ci skip]
2026-08-25 01:35:35 +07:00
zarzet 75e1cf17b8 fix(home): clear recent activity permanently 2026-08-22 22:45:06 +07:00
zarzet b1180a70a7 fix(library): restore live folder scan progress 2026-08-22 13:43:06 +07:00
zarzet 60624436a6 feat(library): support multiple storage folders 2026-08-22 11:15:42 +07:00
Zarz Eleutherius 505c87eda7 New translations app_en.arb (Indonesian)
[ci skip]
2026-08-21 22:59:09 +07:00
Zarz Eleutherius b3c3e2d756 New translations app_en.arb (Indonesian)
[ci skip]
2026-08-21 21:13:23 +07:00
Zarz Eleutherius a0557cb31d New translations app_en.arb (Indonesian)
[ci skip]
2026-08-21 18:52:31 +07:00
zarzet ea63291db8 refactor(metadata): move cover resolution to extensions 2026-08-19 13:12:29 +07:00
zarzet 2cb5993d6e fix(ui): update tutorial copy and library play button 2026-08-18 19:49:41 +07:00
zarzet a7423b7f89 feat(metadata): edit release tags and render UPC barcodes 2026-08-18 19:29:12 +07:00
zarzet bec9e33c94 feat(metadata): review batch tag enrichment #511 2026-08-11 16:40:06 +07:00
zarzet 5237aed25e feat(download): add automatic lossy conversion 2026-08-11 15:19:45 +07:00
zarzet 6742fe886f fix(a11y): label interactive controls 2026-08-04 16:40:48 +07:00
Zarz Eleutherius 30dd4d1317 New translations app_en.arb (Indonesian)
[ci skip]
2026-08-02 00:54:51 +07:00
zarzet d4b617f49a feat(metadata): add embedded cover resize options 2026-08-01 18:24:27 +07:00
zarzet d85c8f6a17 fix(analysis): detect full-band spectral cutoff 2026-07-30 15:14:36 +07:00
zarzet cc93c5020d feat(settings): polish search and navigation layout 2026-07-29 19:27:30 +07:00
zarzet 78670a6ea3 feat(l10n): localize settings search 2026-07-29 17:13:01 +07:00
zarzet e7fbaf7b75 fix(download): suffix only colliding quality variants 2026-07-29 02:43:35 +07:00
zarzet fb538e9517 feat(metadata): choose extension for online autofill 2026-07-28 15:18:10 +07:00
zarzet 04a71d0211 refactor: remove orphaned bridge, database, and queue helpers 2026-07-26 18:43:53 +07:00
zarzet 984beb92e8 feat(l10n): merge Crowdin updates, enable Korean at 98%
Merge origin/l10n_main (PR #428) with a per-key three-way resolution:
Crowdin values win only where main did not change the key since the
last sync, so the unused-key removal, store->repo wording sweep, and
ICU plural fixes survive. Korean is restored at 98% completion and
mapped again in crowdin.yml and both language pickers; ar/hi/nl/zh-CN/
zh-TW stay dropped (37% and below).
2026-07-26 18:12:25 +07:00
Zarz Eleutherius e4b99dd44b New translations app_en.arb (Indonesian)
[ci skip]
2026-07-25 10:12:41 +07:00
zarzet 4713be02de chore(settings): graduate native download worker 2026-07-24 12:23:36 +07:00
zarzet 480a96bd0e fix(queue): clarify and coalesce verification progress 2026-07-23 09:57:02 +07:00
Zarz Eleutherius 16b44d2d3a New translations app_en.arb (Indonesian)
[ci skip]
2026-07-20 16:58:51 +07:00
Zarz Eleutherius 57eef4311f New translations app_en.arb (Indonesian)
[ci skip]
2026-07-20 02:32:54 +07:00
zarzet 0961c09a6d feat(download): preserve quality variants 2026-07-16 08:45:01 +07:00
zarzet 491998e5c5 feat(convert): optionally retain original files 2026-07-16 08:27:24 +07:00
zarzet 34c7b33368 chore(l10n): finish store -> repo wording sweep
The es/pt/zh base locales still shipped the old Store labels, the
backup-restore hint said 'from the store' in every locale (boutique
in fr, store loanword in ko), and the Go store lookup error said
'not found in store'. All user-visible surfaces now say repo;
translator descriptions in the template updated to match.
2026-07-14 09:09:19 +07:00
zarzet e1af1c8dc9 chore(l10n): remove 70 unused localization keys
1,303 stale entries dropped across 19 locales (largest groups:
Spotify credentials flow, collection playlists, notification
channels, backup strings); generated localizations rebuilt.

Crowdin sources need a resync after this lands.
2026-07-12 20:23:19 +07:00
zarzet df1ac30e07 Merge Crowdin translation updates (l10n_main, #428)
Three-way per-key merge: Crowdin wins for keys it updated, locally
added keys that Crowdin has not exported yet are kept. Also normalizes
@@locale to underscore form (es_ES, pt_PT, zh_CN, zh_TW) and repairs
two translations whose placeholders diverged from the template
(ar extensionsInstallPartialSuccess, es_ES cueSplitSplitting).
2026-07-10 11:37:53 +07:00
Zarz Eleutherius 7d843ca02a New translations app_en.arb (Indonesian)
[ci skip]
2026-07-03 01:58:22 +07:00
Zarz Eleutherius f6ddd62b13 New translations app_en.arb (Indonesian)
[ci skip]
2026-07-02 02:32:58 +07:00
zarzet 4d6f7d8b08 l10n: add extension verification and lossless processing strings
Add localization keys for verification browser settings, manual
verification help dialog actions, and lossless conversion dithering and
resampler option labels.
2026-07-02 01:24:20 +07:00
Zarz Eleutherius dc60ad1137 New translations app_en.arb (Indonesian)
[ci skip]
2026-07-01 04:22:02 +07:00
Zarz Eleutherius f2020b7653 New translations app_en.arb (Indonesian)
[ci skip]
2026-06-30 17:01:36 +07:00
zarzet a827ebf6f4 l10n: add localization keys for hardcoded UI strings
Add English template strings and Indonesian translations for playback,
audio conversion, library settings, metadata actions, store snackbars,
SongLink region names, and other previously hardcoded user-facing text.
Regenerate AppLocalizations from the updated ARB files.
2026-06-30 03:40:13 +07:00
zarzet 21fe047e00 feat(ui): polish album folder structure picker bottom sheet
Add a localized description header and Material 3 styling (rounded
corners, scrollable layout, surface color) to the album folder structure
picker in Files settings.
2026-06-27 10:46:04 +07:00
zarzet 1787059f42 feat(backup): include installed extensions and settings in backup/restore
Back up the store registry URL plus each installed extension (id, version, enabled flag and settings) and restore them on a new device by reinstalling from the store and re-applying settings. Secret-flagged settings (tokens/API keys) are excluded by default behind an opt-in 'Include extension credentials' toggle. Device-bound signed sessions are never backed up. Settings are merged on restore so omitted secrets are not wiped; failed reinstalls are reported.
2026-06-26 20:11:51 +07:00
zarzet b2705cb2ae feat(settings): add backup and restore for settings, history and library
Add a Backup & Restore page that exports app settings, download history, liked tracks, wishlist, playlists (with cover images) and favorite artists into a single JSON file, and restores them on another device. Settings restore preserves device-specific storage location (SAF tree URI, download dir). Includes EN strings and ID translations.
2026-06-26 19:54:20 +07:00