Commit Graph
2940 Commits
Author SHA1 Message Date
zarzet e01ec99c5e perf(downloads): enqueue selected playlists in one update 2026-10-08 09:27:26 +07:00
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 3da4126762 perf(downloads): enqueue Wishlist selections in one update 2026-10-08 05:08:24 +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 4076842b8f perf(lyrics): short-circuit content availability checks 2026-10-08 04:33:30 +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 aa54c57590 test(network): read complete fixture requests on BSD 2026-10-08 03:14:29 +07:00
zarzet 6325c4769c fix(downloads): preserve actual provider audio format 2026-10-08 01:50:36 +07:00
zarzet dc1e7c1273 fix(lyrics): treat placeholder zero timestamps as unsynced 2026-10-08 00:49:42 +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 023a093f15 fix(riverpod): remove public notifier getters 2026-10-07 12:42:09 +07:00
zarzet 6cf2195563 test(native): verify private data routes through app channels 2026-10-07 04:31:52 +07:00
zarzet 0ca60d4a1b perf(collections): split native chunks without per-line async events 2026-10-07 04:31:52 +07:00
zarzet 11d496effc fix(queue): merge startup additions before persistence and processing 2026-10-07 04:28:07 +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 100999e5f5 perf(library): load bounded browse pages without rereading prefixes 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 c03be45ed9 test(sqlite): exercise private files and exclusive transactions 2026-10-07 04:19:13 +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 98a83bb8ec fix(queue): preserve restored downloads during startup flush 2026-10-07 03:41:56 +07:00
zarzet 4d7b9d97bc perf(collections): isolate action and track row rebuilds 2026-10-07 03:21:51 +07:00
zarzet 996efb4f54 perf(collections): reuse membership indexes for metadata changes 2026-10-07 03:15:57 +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 1c9c901528 perf(mornye): compose overlay glass into one backdrop pass 2026-10-07 01:13:49 +07:00
zarzet ff38defd9b fix(mornye): show provider checkmark spacing only when selected 2026-10-07 00:47:20 +07:00
zarzet b33824e267 perf(mornye): streamline download source and quality picker 2026-10-07 00:17:40 +07:00
zarzet a7c17ad316 fix(mornye): use glass for download queue confirmations 2026-10-07 00:16:16 +07:00
zarzet d9fd21e16c test(native): verify data workers through Android and iOS channels
Cover exact palettes, audio analysis, lyrics, metadata, artwork, listings, playlists, file hashes, ID3, cancellation, and library/backup SQLite interoperability through the real app bridge.

The resulting source tree passed 300 Rust tests, 2012 Flutter tests, 6 Kotlin ABI tests, and 9 actual-channel integration tests on each Android and iOS simulator, with clean analysis and Clippy.
2026-10-06 23:30:00 +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 d693e1a479 perf(theme): extract cover palettes with native quantization
Port the pinned Material quantizer and Dart RNG compatibility to Rust while keeping Material Score and final color schemes in Dart. Include exact palette fixtures, licenses, and Kotlin worker ABI coverage.
2026-10-06 23:27:38 +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