Commit Graph
458 Commits
Author SHA1 Message Date
zarzet 927fd033cd perf(nas): process listings, artwork caches, and upload recovery natively
Move WebDAV/HTML parsing, content-addressed artwork caching, cover promotion, and streamed upload verification to native workers. Preserve proxy authentication, cancellation, cache limits, and deep XML fallback behavior.
2026-10-06 23:27:07 +07:00
zarzet 867371cb67 feat(native): add cancellable data workers and streamed file hashing
Introduce Android, iOS, and Dart worker dispatch with queued cancellation, binary inputs, and background JSON codecs. Move APK verification to streamed native SHA256 while retaining the isolated fallback.
2026-10-06 23:25:39 +07:00
zarzet 6741aada4a fix(settings): retain pending preferences during asynchronous loading 2026-10-06 22:00:48 +07:00
zarzet 66c5f5a86a fix(recents): preserve early edits during history loading 2026-10-06 22:00:47 +07:00
zarzet 87255a5c7d fix(logs): retain polling ownership across restart and clear 2026-10-06 22:00:46 +07:00
zarzet 2ce3c33c87 fix(network): close request-owned HTTP clients reliably 2026-10-06 22:00:46 +07:00
zarzet 10db2f272c fix(backup): close archive outputs when extraction fails 2026-10-06 22:00:45 +07:00
zarzet 4228791c13 refactor(player): isolate session writes and content URI cache ownership 2026-10-06 22:00:15 +07:00
zarzet 0fdcbc3cbd fix(playlists): prevent overlapping picker submissions 2026-10-06 22:00:14 +07:00
zarzet 92e3fa94ec fix(network): discard stale folder browsing responses 2026-10-06 22:00:14 +07:00
zarzet 7057b0c349 refactor(albums): share immutable track and disc ordering 2026-10-06 22:00:13 +07:00
zarzet 96f57ddef8 refactor(downloads): normalize completion audio and share album ReplayGain 2026-10-06 22:00:12 +07:00
zarzet 4489136d38 fix(downloads): recover queue ownership after setup failures 2026-10-06 21:59:55 +07:00
zarzet 8f021b01c7 fix(playlists): serialize collection changes and isolate domain models 2026-10-06 21:59:54 +07:00
zarzet cd313e1bfd fix(history): serialize mutations and preserve newer file metadata 2026-10-06 21:59:53 +07:00
zarzet 90165d471c test(providers): keep notifier fixture counters private 2026-10-06 21:59:18 +07:00
zarzet 9b89f2300c perf(player): avoid redundant lyric paints and background sampling 2026-10-06 21:59:18 +07:00
zarzet 04f679a26e perf(stats): ignore playback position-only changes 2026-10-06 21:59:17 +07:00
zarzet 42b428ca61 perf(widgets): skip unchanged playback state updates 2026-10-06 21:58:57 +07:00
zarzet 5de3f0469b perf(network): reduce directory listing and connection allocations 2026-10-06 21:58:56 +07:00
zarzet 393c11104e perf(library): simplify unfiltered album queries 2026-10-06 21:58:55 +07:00
zarzet 4be1073203 fix(lyrics): hold current line highlight until the next lead 2026-10-06 14:20:54 +07:00
zarzet 0a29046982 perf(downloads): bound scheduler waiters and prevent overlapping retries 2026-10-06 13:09:54 +07:00
zarzet 2df72112e4 refactor(downloads): extract completion audio and upload staging 2026-10-06 13:09:54 +07:00
zarzet 7b9405aaf6 refactor(downloads): separate metadata resolution and embedding 2026-10-06 13:09:45 +07:00
zarzet b8787168d1 refactor(downloads): isolate typed results and audio finalization 2026-10-06 13:09:26 +07:00
zarzet 7493c37698 refactor(android): isolate native download history persistence 2026-10-06 13:08:14 +07:00
zarzet 4d65b590e1 refactor(metadata): separate file save persistence from editor 2026-10-06 13:08:13 +07:00
zarzet d98ab4852d fix(library): distinguish unavailable storage from missing files 2026-10-06 13:08:12 +07:00
zarzet 450dc213a9 fix(player): retire deleted sources and stale SAF copies 2026-10-06 13:07:58 +07:00
zarzet 08e4f1b41d refactor(logging): isolate native log transport 2026-10-06 13:07:57 +07:00
zarzet a6c1409ef5 fix(library): remove deleted files from both library indexes 2026-10-06 00:30:45 +07:00
zarzet 772bd97f7d fix(downloads): preserve filenames after decryption and conversion 2026-10-06 00:04:14 +07:00
zarzet 8bd1a998d0 perf(glass): cull selection masks outside the moving lens 2026-10-05 20:33:49 +07:00
zarzet 963eaa5fd5 perf(glass): omit collapsed navbar backdrop layers 2026-10-05 20:31:10 +07:00
zarzet 5b28db1375 perf(ui): retain marquee content while scrolling 2026-10-05 19:20:05 +07:00
zarzet a5fdb8db92 fix(library): serialize scan admission and retain reconnect requests 2026-10-05 18:05:30 +07:00
zarzet d0114b1049 fix(artwork): promptly dispose failed video decoders 2026-10-05 17:53:20 +07:00
zarzet e3126153e6 perf(artwork): reuse decoded covers and preserve in-flight cache writes 2026-10-05 17:53:19 +07:00
zarzet dde79eeea2 fix(home): protect fresh feeds from late cache restoration 2026-10-05 17:53:19 +07:00
zarzet cfeeaa3084 fix(search): reject pending completions after clearing results 2026-10-05 17:53:19 +07:00
zarzet bf40ef8ebe fix(library): honor album artist filters in summary counts 2026-10-05 17:53:18 +07:00
zarzet a8712a44b1 perf(library): defer local providers while the feature is disabled 2026-10-05 17:53:18 +07:00
zarzet 6d68ef00ab perf(autoplay): index listening history and reuse normalized metadata 2026-10-05 17:53:17 +07:00
zarzet a3102b3b34 perf(library): coalesce availability probes and reject stale indexes 2026-10-05 17:52:37 +07:00
zarzet 2e17963804 refactor(library): isolate schema, row mapping and queue queries
Repair lookup counts during schema migration and resolve local FTS matches through the base table.
2026-10-05 03:28:48 +07:00
zarzet f8f489a7d5 refactor(ffmpeg): split media operations and safely publish outputs 2026-10-05 03:28:26 +07:00
zarzet e77996ddbd refactor(metadata): separate editor state, autofill and artwork ownership 2026-10-05 03:28:14 +07:00
zarzet 3047d5974c refactor(player): isolate routes, layouts and reactive controls 2026-10-05 03:27:46 +07:00
zarzet c22577eb18 refactor(player): separate metadata state and lyrics rendering 2026-10-05 02:31:55 +07:00