zarzet
0d148113f0
perf(library): resume and parallelize SAF indexing
2026-09-01 02:14:15 +07:00
zarzet
01fc7ee6c2
feat(lyrics): use direct Kugou, QQ Music, and Genius sources
2026-08-31 13:39:18 +07:00
zarzet
a1ee346f2f
chore(logging): sanitize diagnostics and reduce noise
2026-08-31 01:49:49 +07:00
zarzet
8f17cd1682
fix(backup): use compact sflb file extension
2026-08-30 23:34:57 +07:00
zarzet
897fb7d523
feat(backup): stream versioned ZIP archives
2026-08-30 23:19:09 +07:00
zarzet
2c9881944d
feat(updater): resume and verify APK downloads
2026-08-30 23:19:00 +07:00
zarzet
bd07d5c233
perf(import): batch playlist metadata enrichment
2026-08-30 23:18:38 +07:00
zarzet
91b2de8175
perf(playback): stream SAF tracks through descriptor leases
2026-08-30 23:18:03 +07:00
zarzet
2e0a5f7b9c
fix(downloads): hide unknown byte totals in notifications
2026-08-30 18:58:19 +07:00
zarzet
892d152e5c
fix(resolver): retire unavailable resolver endpoints
2026-08-30 18:51:20 +07:00
zarzet
29a86b0dc3
feat(player): add sleep timer
2026-08-30 17:23:16 +07:00
zarzet
a926a2825b
fix(player): handle headset media controls
2026-08-30 17:04:41 +07:00
zarzet
d0a9868c2d
feat(resolver): add cross-platform fallback chain
2026-08-30 16:55:16 +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
e931d5e2b0
refactor(core): reduce generated and duplicate code
2026-08-30 11:57:47 +07:00
zarzet
7141ca980f
fix(library): sync track playback controls
2026-08-30 00:43:13 +07:00
zarzet
d5465e9768
fix(download): throttle progress diagnostics
2026-08-30 00:17:27 +07:00
zarzet
b4c4214336
chore(release): bump version to 4.9.5
2026-08-30 00:04:57 +07:00
zarzet
f1fb01604d
perf(download): reduce progress wakeups and harden retries
2026-08-29 23:47:58 +07:00
zarzet
97fdc85513
fix(security): redact secrets from exported logs
2026-08-29 18:57:06 +07:00
zarzet
740ce173b2
fix(security): prevent extension network sandbox bypasses
2026-08-29 18:56:46 +07:00
zarzet
29db940d63
fix(security): encrypt extension storage at rest
2026-08-29 18:52:16 +07:00
zarzet
5dac33dfa4
fix(download): preserve finalization metadata and library labels
2026-08-29 00:31:25 +07:00
zarzet
c3b2214e2a
perf: optimize library scans and extension runtime
2026-08-28 21:00:11 +07:00
zarzet
686cc25395
fix(library): prevent pinch gesture blocking scroll
2026-08-28 19:57:40 +07:00
zarzet
357190757c
fix(database): cache unavailable FTS5 capability
2026-08-28 18:47:54 +07:00
zarzet
887a8ede12
feat(metadata): limit embedded cover resolution
2026-08-28 13:21:05 +07:00
zarzet
45d9bbd7b2
perf: harden download and persistence lifecycle
2026-08-28 12:51:03 +07:00
zarzet
51f61c9c95
fix(audio-analysis): avoid spectrogram splice noise
2026-08-28 01:48:52 +07:00
zarzet
433f8ed685
perf: reduce queue and extension runtime overhead
2026-08-28 01:47:51 +07:00
zarzet
a744514e10
fix(library): recover transient file availability
2026-08-28 01:04:04 +07:00
zarzet
847fc725b6
fix(analysis): reject false spectral rolloff cutoffs
2026-08-28 00:33:55 +07:00
zarzet
933a3c49e2
fix(library): persist artwork previews and stabilize completion
2026-08-27 21:42:38 +07:00
zarzet
fca8e46412
fix(library): show play action for completed batch items
2026-08-27 17:04:58 +07:00
zarzet
2b117415ae
feat: add file format library quality label
2026-08-27 16:50:46 +07:00
zarzet
4609e59806
fix(library): show play actions during batch downloads
2026-08-27 13:56:48 +07:00
zarzet
47deb9f34e
fix(extensions): resume metadata after verification
2026-08-27 13:08:44 +07:00
zarzet
9bbfee25d0
fix(playlists): remove play action from online playlists
2026-08-27 12:15:24 +07:00
zarzet
4fa0ab860b
chore(deps): upgrade Flutter Go and Android dependencies
2026-08-27 10:42:14 +07:00
zarzet
1a7c20111a
feat(library): add lyrics filtering and metadata actions
2026-08-27 01:44:06 +07:00
zarzet
04c42bd511
perf(downloads): bound native queue state
2026-08-27 00:17:25 +07:00
zarzet
d7ab5f8653
chore(release): bump version to 4.9.1
2026-08-26 22:37:07 +07:00
zarzet
0de4135966
fix(ui): smooth metadata transitions and refine settings
2026-08-26 22:36:54 +07:00
zarzet
747dea886c
fix(runtime): bound resources and quarantine stalled extensions
2026-08-26 21:09:05 +07:00
zarzet
0e3fca9967
perf(downloads): stream concurrent native queue work
2026-08-26 18:37:56 +07:00
zarzet
e149ee5358
fix(storage): publish finalized SAF output once
2026-08-26 18:37:15 +07:00
zarzet
778f58e6e4
fix(lints): await asynchronous work in guarded blocks
2026-08-26 18:35:21 +07:00
Zarz Eleutherius
c70e18e5fd
New translations app_en.arb (Korean)
...
[ci skip]
2026-08-25 11:40:47 +07:00
Zarz Eleutherius
8b749e6dd1
New translations app_en.arb (Korean)
...
[ci skip]
2026-08-25 10:34:39 +07:00
Zarz Eleutherius
856f70a00b
New translations app_en.arb (Korean)
...
[ci skip]
2026-08-25 09:23:36 +07:00