zarzet
c1c0494912
perf: optimize queue/library pagination, counts, scan, and extension runtime
...
- Queue/Library: switch from growing-limit refetch to offset-based append pagination per filter/search/sort, with page cache reassembly and protected-page eviction to avoid top-of-list gaps
- Queue/Library: watch only the active filter page instead of all/singles/albums simultaneously; filter mode follows PageView swipe and tab tap
- library_database: combine three union-based count queries into a single round-trip
- library_scan: parallel scan of non-CUE audio files with a bounded 2-4 worker pool, preserving order, progress, and cancellation; CUE handling stays sequential
- extension_manager: cache compiled goja.Program per extension and RunProgram per isolated download instead of re-reading and re-parsing index.js
2026-06-26 22:39:22 +07:00
..
2026-06-23 02:44:08 +07:00
2026-06-23 02:44:08 +07:00
2026-05-04 02:21:17 +07:00
2026-05-05 21:35:18 +07:00
2026-04-13 23:32:12 +07:00
2026-03-26 01:11:29 +07:00
2026-05-10 23:18:32 +07:00
2026-06-12 21:10:37 +07:00
2026-05-03 14:12:53 +07:00
2026-04-18 23:32:16 +07:00
2026-05-06 00:04:49 +07:00
2026-06-02 00:58:42 +07:00
2026-06-02 00:58:42 +07:00
2026-05-04 02:21:17 +07:00
2026-06-12 21:10:37 +07:00
2026-05-04 02:21:17 +07:00
2026-04-13 23:32:17 +07:00
2026-04-13 23:32:14 +07:00
2026-03-15 21:12:47 +07:00
2026-05-04 02:21:17 +07:00
2026-05-04 02:21:17 +07:00
2026-06-26 07:12:12 +07:00
2026-06-02 00:58:40 +07:00
2026-06-26 18:35:32 +07:00
2026-05-04 02:21:17 +07:00
2026-06-02 00:58:42 +07:00
2026-05-04 02:21:17 +07:00
2026-06-26 22:39:22 +07:00
2026-06-26 04:14:51 +07:00
2026-05-03 14:12:53 +07:00
2026-05-05 03:55:24 +07:00
2026-06-02 00:58:42 +07:00
2026-06-26 18:35:32 +07:00
2026-04-29 18:33:44 +07:00
2026-06-11 01:08:20 +07:00
2026-06-11 01:08:20 +07:00
2026-05-15 04:37:25 +07:00
2026-06-11 01:08:20 +07:00
2026-05-08 01:06:48 +07:00
2026-04-13 23:32:17 +07:00
2026-04-29 18:33:44 +07:00
2026-04-13 23:32:17 +07:00
2026-05-06 00:04:49 +07:00
2026-05-04 02:21:17 +07:00
2026-05-15 04:37:25 +07:00
2026-06-26 20:29:15 +07:00
2026-03-08 04:15:28 +07:00
2026-06-26 07:12:12 +07:00
2026-04-13 23:35:03 +07:00
2026-05-08 01:06:48 +07:00
2026-05-03 14:12:53 +07:00
2026-06-26 18:35:32 +07:00
2026-06-26 18:35:32 +07:00
2026-06-26 20:26:43 +07:00
2026-06-26 20:26:43 +07:00
2026-04-13 23:35:03 +07:00
2026-06-02 00:58:40 +07:00
2026-06-02 00:58:40 +07:00
2026-06-02 00:58:40 +07:00
2026-04-13 23:32:14 +07:00
2026-05-08 20:35:41 +07:00
2026-04-13 23:32:12 +07:00
2026-06-26 22:39:22 +07:00
2026-05-04 02:21:17 +07:00
2026-04-13 23:32:15 +07:00
2026-06-02 00:58:40 +07:00
2026-06-12 01:59:26 +07:00
2026-05-06 00:04:49 +07:00
2026-04-13 23:35:03 +07:00
2026-05-14 20:42:14 +07:00
2026-05-12 02:23:04 +07:00
2026-06-02 00:58:40 +07:00
2026-06-13 15:36:47 +07:00
2026-06-14 15:00:34 +07:00
2026-04-13 23:32:12 +07:00
2026-05-10 22:14:47 +07:00
2026-04-13 23:32:17 +07:00
2026-06-23 02:41:42 +07:00
2026-05-04 02:21:17 +07:00
2026-03-08 04:15:28 +07:00
2026-02-19 18:27:14 +07:00
2026-02-19 18:27:14 +07:00
2026-02-19 18:27:14 +07:00
2026-04-18 23:32:16 +07:00
2026-05-06 12:08:53 +07:00
2026-05-06 12:08:53 +07:00
2026-03-08 04:15:28 +07:00
2026-04-13 23:32:14 +07:00
2026-04-13 23:32:15 +07:00
2026-04-13 23:35:03 +07:00
2026-04-18 23:32:16 +07:00
2026-05-06 00:04:49 +07:00
2026-06-02 00:58:40 +07:00
2026-06-12 21:10:37 +07:00