zarzet
43a8d08851
fix(download): make picker drag dismissal natural
2026-07-29 19:59:09 +07:00
zarzet
6f94aae0cc
test(ui): cover search and player action consistency
2026-07-29 19:31:27 +07:00
zarzet
d4bed9c643
feat(player): polish actions and synced lyrics
2026-07-29 19:29:59 +07:00
zarzet
24b9d7ba80
fix(player): preserve audio quality across track changes
2026-07-29 19:29:19 +07:00
zarzet
1458b74d5b
test(ui): cover shared design system contracts
2026-07-29 17:13:50 +07:00
zarzet
e7fbaf7b75
fix(download): suffix only colliding quality variants
2026-07-29 02:43:35 +07:00
zarzet
8dcf7fa998
fix(storage): recover from unwritable download folders
2026-07-29 02:03:09 +07:00
zarzet
662558e3e6
fix(ui): sanitize user-facing errors
2026-07-29 01:43:04 +07:00
zarzet
b1c18b95e7
fix(analysis): detect effective spectral cutoff
2026-07-28 21:15:06 +07:00
zarzet
b2e4548204
fix(library): retain history during active downloads
2026-07-28 18:12:55 +07:00
zarzet
1390376f09
fix(album): overlay selection bar above navbar
2026-07-28 17:25:14 +07:00
zarzet
d1db2cdcc5
fix(analysis): isolate metrics from active downloads
2026-07-28 16:04:44 +07:00
zarzet
6c89a1e177
feat(album): batch download selected tracks
2026-07-28 15:48:45 +07:00
zarzet
fb538e9517
feat(metadata): choose extension for online autofill
2026-07-28 15:18:10 +07:00
zarzet
7bf6f32802
fix(extensions): serialize verification callbacks
2026-07-28 14:09:06 +07:00
zarzet
7f277f7a88
fix(library): backfill local audio bitrates
2026-07-28 12:51:28 +07:00
zarzet
80d9d87870
perf(metadata): avoid SAF copies during quality probes
2026-07-28 01:50:41 +07:00
zarzet
26570792a9
fix(library): persist lossless bitrate metadata
2026-07-28 00:50:20 +07:00
zarzet
454ef53977
feat(library): add quality label display modes
2026-07-27 17:25:39 +07:00
zarzet
e4cd52f29f
feat(library): highlight high-bitrate quality badges
2026-07-27 16:58:58 +07:00
zarzet
af6ca12e85
fix(download): swap local track variant actions
2026-07-27 14:31:39 +07:00
zarzet
9b4a960324
fix(home): keep search visible during provider changes
2026-07-27 14:24:57 +07:00
zarzet
1cdf4b4547
fix(library): retain records when deletion fails
2026-07-27 14:24:39 +07:00
zarzet
73846c40ca
fix(download): complete quality variants reliably
2026-07-27 14:22:24 +07:00
zarzet
856e2cbb9e
fix(audio): wait for complete analyzer metrics
2026-07-27 14:19:52 +07:00
zarzet
50c8f0e454
refactor(ffmpeg): remove dead conversion cluster and speculative decryption fields
2026-07-26 18:44:08 +07:00
zarzet
c497449549
feat(library): M3U8 playlist import and export
...
The playlist import picker now also accepts .m3u/.m3u8; EXTINF entries
feed the same Deezer enrichment pipeline as CSV. Collection screens
(wishlist, loved, playlists) gain an export action that resolves each
track to its local file, writes SAF entries relative to the download
tree root so external players and DAP copies resolve them, skips
tracks without a file, and shares the .m3u8 via the system sheet.
2026-07-26 17:56:38 +07:00
zarzet
5f5186a23e
fix(reenrich): preserve release identity in batch actions
2026-07-26 12:28:00 +07:00
zarzet
c4abbf8743
fix(verification): recover signed-session bootstrap failures
2026-07-26 11:09:18 +07:00
zarzet
a5f2760023
refactor(android): extract native finalization policies
2026-07-26 01:14:14 +07:00
zarzet
20081b14bd
refactor(dart): extract queue search and media policies
2026-07-26 01:13:52 +07:00
zarzet
1cfda41ef2
feat(audio): use VHQ settings for SoXR resampling
2026-07-25 15:58:42 +07:00
zarzet
19787ed461
fix(config): refresh announcements and remote content
2026-07-25 15:43:25 +07:00
zarzet
eabafecaeb
fix(navigation): open download queue from snackbar actions
2026-07-24 22:19:03 +07:00
zarzet
01c08322c1
fix(extensions): preserve explicit track metadata
2026-07-24 21:32:13 +07:00
zarzet
4713be02de
chore(settings): graduate native download worker
2026-07-24 12:23:36 +07:00
zarzet
89dcef8ffd
test(native-worker): add Android regression gates
2026-07-24 12:16:41 +07:00
zarzet
0cbe51ad19
fix(analysis): render full-track spectrograms
2026-07-23 18:24:14 +07:00
zarzet
5856729e9a
fix(library): persist records before download completion
2026-07-23 18:00:22 +07:00
zarzet
c35b11a155
fix(library): preserve downloaded file records
2026-07-23 17:40:09 +07:00
zarzet
5481f8e8cf
feat(ui): smooth download progress updates
2026-07-23 13:36:22 +07:00
zarzet
cdbb0d6bd7
fix(notifications): restore verification alert sound
2026-07-23 13:23:54 +07:00
zarzet
c9114fef01
fix(android): sanitize restored installation state
2026-07-23 10:39:31 +07:00
zarzet
480a96bd0e
fix(queue): clarify and coalesce verification progress
2026-07-23 09:57:02 +07:00
zarzet
f0988070bf
fix(convert): simplify output names and harden writes
2026-07-22 15:56:07 +07:00
zarzet
87376ee73b
fix(metadata): resolve audio format and local artwork
2026-07-22 15:55:30 +07:00
zarzet
4d77a0b178
fix(ui): honor disabled hero animations
2026-07-22 15:54:50 +07:00
zarzet
b69f67a786
fix(download): name variants by measured quality
2026-07-16 09:20:35 +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