zarzet
c03be45ed9
test(sqlite): exercise private files and exclusive transactions
2026-10-07 04:19:13 +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
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
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
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
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