Torlando
7bd6e6712e
fix(lxmf): move background-fill metadata reads off the LVGL lock
...
load_more_messages() (background fill, main loop) ran each batch's
metadata reads while holding the LVGL lock. A cold batch is 2+ LittleFS
reads; on the degraded device a fill batch measured ~4s in earlier
captures, within a hair of the 5s deadlock guard. The fill starts
immediately after any conversation open (first page > INITIAL_RENDER),
so an open triggered a second under-lock stall right after the first
was fixed.
Same restructure: guard lock copies the batch's hashes, metadata I/O
runs off-lock, the bubble prepend commits under a brief lock. A
_fill_generation counter (bumped on every list rebuild: open, prepare
commit, refresh) discards a batch whose conversation changed mid-I/O.
Display order is preserved (newest-first read order + push_front gives
oldest-to-newest, matching the old loop).
2026-09-05 15:00:32 +00:00
..
2026-06-21 03:11:14 -04:00
2026-06-21 02:58:45 -04:00
2026-07-23 02:11:39 +00:00
2026-08-01 14:14:56 +00:00
2026-08-01 14:14:56 +00:00
2026-08-01 23:00:01 +00:00
2026-07-23 02:11:39 +00:00
2026-06-19 15:49:44 -04:00
2026-08-01 14:14:56 +00:00
2026-09-05 15:00:32 +00:00
2026-09-05 15:00:32 +00:00
2026-09-05 05:23:02 +00:00
2026-07-24 19:02:06 +00:00
2026-09-04 02:49:26 +00:00
2026-09-04 02:49:26 +00:00
2026-08-07 01:37:13 +00:00
2026-08-07 01:37:13 +00:00
2026-08-07 05:26:34 +00:00
2026-08-07 05:26:34 +00:00
2026-08-07 01:32:37 +00:00
2026-08-07 01:32:37 +00:00
2026-08-07 01:32:37 +00:00
2026-08-07 01:32:37 +00:00
2026-08-07 01:32:37 +00:00
2026-08-20 04:53:00 +00:00
2026-08-20 04:53:00 +00:00
2026-08-07 01:23:28 +00:00
2026-08-07 01:23:28 +00:00
2026-09-02 21:20:24 +00:00
2026-08-20 04:53:00 +00:00
2026-08-20 04:53:00 +00:00
2026-08-20 04:53:00 +00:00
2026-08-08 18:10:02 +00:00
2026-08-08 18:10:02 +00:00
2026-08-20 04:53:00 +00:00
2026-08-07 01:31:17 +00:00
2026-08-07 01:31:17 +00:00
2026-08-07 01:32:37 +00:00
2026-08-06 15:47:12 +00:00
2026-08-05 03:17:00 +00:00
2026-08-17 05:48:30 +00:00
2026-08-17 05:48:30 +00:00
2026-08-17 05:48:30 +00:00
2026-08-17 06:03:38 +00:00
2026-08-17 06:03:38 +00:00
2026-08-16 01:25:37 +00:00
2026-08-17 23:49:13 +00:00
2026-08-17 23:49:13 +00:00
2026-08-05 01:41:10 +00:00
2026-08-17 23:49:13 +00:00
2026-08-17 23:49:13 +00:00
2026-08-16 01:25:37 +00:00
2026-08-17 23:49:13 +00:00
2026-08-17 23:49:13 +00:00
2026-08-16 01:24:13 +00:00
2026-08-16 01:24:13 +00:00
2026-08-17 09:11:10 +00:00
2026-08-16 21:36:30 +00:00
2026-08-16 21:36:30 +00:00
2026-08-17 23:49:13 +00:00
2026-08-05 00:22:59 +00:00
2026-08-17 09:11:10 +00:00
2026-08-17 09:11:10 +00:00
2026-08-17 09:11:10 +00:00
2026-08-17 23:49:13 +00:00
2026-08-17 23:49:13 +00:00
2026-08-17 19:54:41 +00:00
2026-08-17 23:49:13 +00:00
2026-08-17 23:49:13 +00:00
2026-08-17 05:48:30 +00:00
2026-08-05 17:34:16 +00:00
2026-08-18 01:30:14 +00:00
2026-08-18 01:30:14 +00:00
2026-08-17 05:48:30 +00:00
2026-08-16 02:40:10 +00:00
2026-08-16 02:40:10 +00:00
2026-08-15 02:33:37 +00:00
2026-09-05 05:23:02 +00:00
2026-06-19 15:49:44 -04:00
2026-06-19 15:49:44 -04:00
2026-06-19 15:49:44 -04:00
2026-06-19 15:49:44 -04:00
2026-08-04 16:46:55 +00:00
2026-08-04 16:46:55 +00:00
2026-08-07 01:26:45 +00:00
2026-08-07 01:26:45 +00:00
2026-09-04 23:42:15 +00:00
2026-09-04 23:42:15 +00:00
2026-09-04 04:56:07 +00:00
2026-09-04 04:56:07 +00:00
2026-02-06 19:48:33 -05:00
2026-09-05 14:39:32 +00:00
2026-09-05 05:23:02 +00:00
2026-09-02 17:06:02 +00:00