Commit Graph
500 Commits
Author SHA1 Message Date
zarzet 2ded1cff68 perf(downloads): batch queue cancellation and progress cleanup 2026-10-08 08:47:47 +07:00
zarzet c67d2a2dd2 perf(downloads): batch cancellation resets for retry 2026-10-08 06:55:26 +07:00
zarzet e0bdcb5134 perf(collections): delete selected playlists in one transaction 2026-10-08 05:14:44 +07:00
zarzet 8ffd232b35 perf(collections): remove selected tracks in one transaction 2026-10-08 04:58:47 +07:00
zarzet 105f1b0946 perf(network): prepare large SMB listings off the UI thread 2026-10-08 04:47:53 +07:00
zarzet 0af197b82a perf(library): buffer network scan output with bounded writes 2026-10-08 04:40:09 +07:00
zarzet 20e0573d09 perf(collections): batch Love All updates and persistence 2026-10-08 04:01:50 +07:00
zarzet 460f8ebc2d perf(collections): stage large playlist additions off the UI thread 2026-10-08 03:19:45 +07:00
zarzet a68ab4ee97 feat(player): warn when muted and allow manual resume 2026-10-07 23:20:27 +07:00
zarzet d89048409f fix(library): retry transient SQLite locks before scan transactions 2026-10-07 18:46:05 +07:00
zarzet 0ca60d4a1b perf(collections): split native chunks without per-line async events 2026-10-07 04:31:52 +07:00
zarzet 8ca9205cc4 fix(library): stage native scans before owner SQLite publication 2026-10-07 04:19:14 +07:00
zarzet d285f26f9a fix(cache): prune detached projections under source writer barrier 2026-10-07 04:19:14 +07:00
zarzet e7d0d88035 perf(backup): stream encoded collections without cloning model graphs 2026-10-07 04:19:14 +07:00
zarzet 1094ed72f5 perf(queue): bound SQLite transfers and move large codecs off UI 2026-10-07 04:19:14 +07:00
zarzet 4d0fe68f17 perf(collections): hydrate native snapshots on bounded workers 2026-10-07 04:19:14 +07:00
zarzet a0abf97168 fix(backup): publish native restores through owning SQLite connection 2026-10-07 04:18:29 +07:00
zarzet 546d2eda2d fix(sqlite): isolate native staging from live database handles 2026-10-07 03:49:33 +07:00
zarzet 0c6ad3b96a perf(library): rank playlist search pages on bounded workers 2026-10-07 03:15:57 +07:00
zarzet 8b2ba446e3 perf(cache): batch cover maintenance on Rust workers 2026-10-07 03:06:00 +07:00
zarzet a2fd9c542c perf(collections): restore backups on Rust SQLite workers 2026-10-07 03:03:44 +07:00
zarzet f16c9c725a perf(backup): stream ZIP archives on Rust workers 2026-10-07 02:33:27 +07:00
zarzet 76b843b2bf perf(mornye): prepare overlay GPU pipeline before first opening 2026-10-07 01:54:22 +07:00
zarzet a7c17ad316 fix(mornye): use glass for download queue confirmations 2026-10-07 00:16:16 +07:00
zarzet 83b46f6af1 perf(extensions): decode provider responses outside the UI isolate
Use background JSON decoding for extension lists, actions, metadata searches, collection matching, and home feeds while preserving response contracts.
2026-10-06 23:30:00 +07:00
zarzet ad674a55ad perf(backup): stream history backup codecs and restore transactions natively
Export, import, and split legacy history backups in Rust while preserving schema 15, all history columns, path keys, and atomic restore behavior. Keep provider refresh and pending history edits intact.
2026-10-06 23:29:59 +07:00
zarzet d1de833184 perf(library): index scans and snapshots with native SQLite workers
Move full and incremental ingestion, source snapshots, path keys, and download exclusion to native transactions. Preserve schema 17, FTS, WAL coordination, cancellation, and Android SAF timestamp backfill.
2026-10-06 23:29:33 +07:00
zarzet 56f91f4e6c perf(playlists): import CSV and export M3U through native workers
Move playlist parsing and serialization off the UI isolate, preserving field mapping, identifiers, durations, and export entries. Extend the shared parser contract tests with playlist fixtures.
2026-10-06 23:28:40 +07:00
zarzet 514e229fc8 perf(metadata): parse lyrics and encode ID3 artwork in native workers
Port LRC, enhanced LRC, and TTML parsing plus ID3v2.3 lyrics writing and picture encoding. Keep legacy contracts and deep XML fallback; guard asynchronous player updates against stale track results.
2026-10-06 23:28:20 +07:00
zarzet fb21c5c390 perf(audio): analyze AutoMix grids and spectral cutoffs natively
Move PCM beat analysis and spectrum cutoff estimation to cancellable Rust workers with the existing algorithms and isolated Dart fallbacks. Keep visual rendering and playback behavior unchanged.
2026-10-06 23:28:01 +07:00
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 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 96f57ddef8 refactor(downloads): normalize completion audio and share album ReplayGain 2026-10-06 22:00:12 +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 1ad2b7a51d refactor(extensions): separate domain models from provider state 2026-10-06 21:59:53 +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 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 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