Commit Graph
2893 Commits
Author SHA1 Message Date
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
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 2d2e66a8b6 docs(audio): record metadata cache retention rules 2026-10-06 22:00:48 +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 ca747f8ce2 fix(android): release temporary media on failed SAF operations 2026-10-06 22:00:44 +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 1ad2b7a51d refactor(extensions): separate domain models from provider state 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 f61e815e24 perf(android): trim platform assets and release Dart symbols 2026-10-06 21:58:55 +07:00
zarzet b8c50b1527 perf(android): reduce release APK size
Keep Dart debug data outside libapp.so and archive matching symbols and R8 mappings in CI. Pack native relocations, preserve JNI exports, and recompress PNG assets losslessly.

ARM64 APK shrinks from 80,306,680 to 76,080,247 bytes (5.26%). Verified with 1,877 Flutter tests, 19 native device tests, Discord SDK integration, and release startup on a 16 KiB Android emulator.
2026-10-06 15:22:42 +07:00
zarzet 4be1073203 fix(lyrics): hold current line highlight until the next lead 2026-10-06 14:20:54 +07:00
zarzet 4b5e40c167 chore(git): ignore vendored Android build outputs 2026-10-06 13:11:48 +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 ae918028bd fix(history): preserve bulk deletion failure handling 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 bbc2c96971 fix(glass): refract navbar icons through the held lens 2026-10-05 23:20:51 +07:00
zarzet 224961d68d fix(glass): swell navbar glass without resizing icons 2026-10-05 22:29:46 +07:00
zarzet a56f206c43 test(glass): capture native Mornye poses and layer counts 2026-10-05 20:33:49 +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 fec2f86cfc test(performance): benchmark Mornye on iOS and Android emulators 2026-10-05 19:41:47 +07:00
zarzet 5b28db1375 perf(ui): retain marquee content while scrolling 2026-10-05 19:20:05 +07:00
zarzet 604a485cf1 perf(player): reuse artwork decodes across Mornye transitions 2026-10-05 19:20:04 +07:00