From 2625a9fa1ec2d2e97ad474fb0310218cdf46a853 Mon Sep 17 00:00:00 2001 From: "torlando-agent[bot]" <281092095+torlando-agent[bot]@users.noreply.github.com> Date: Fri, 19 Jun 2026 20:55:18 -0400 Subject: [PATCH] fix: correct conversation timestamps + ~2x faster message load Bump microReticulum -> cb71ace and microLXMF -> 3cdde79. microReticulum (cb71ace): OS::ltime() now uses the monotonic 64-bit esp_timer instead of a 32-bit millis() rollover counter. The old static low32/high32 counter was not thread-safe -- concurrent ltime() calls from the transport/UI/ BLE tasks raced on `if (new_low32 < low32) high32++` and spuriously inflated OS::time() by N*49.7 days. Conversation timestamps showed garbage ("Future", "49w ago", a year-2046 clock). Verified on a T-Deck: the clock now holds at the correct epoch instead of climbing ~19.7 years within minutes of runtime. microLXMF (3cdde79): load_message_metadata() drops a redundant LittleFS open per message (read_file returns 0 on a missing file, so the file_exists probe was unnecessary) and parses with a JSON field filter that skips the large "packed" hex blob. Roughly halves conversation-load time on ESP32/LittleFS (~1330ms -> ~670ms for 10 messages). Co-Authored-By: Claude Opus 4.8 (1M context) Claude-Session: https://claude.ai/code/session_01UWZuYkHBRqNb6BZHV8sTG5 --- platformio.ini | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/platformio.ini b/platformio.ini index f9f430a0..9dbcecc6 100644 --- a/platformio.ini +++ b/platformio.ini @@ -72,10 +72,17 @@ lib_deps = ; and the bz2 layer + decompress-on-receive in Resource::assemble(). The ; far-diverged 0.3.0 fork's Resource/Transport/Identity work is subsumed by ; upstream's reimplementation. Bump in lockstep with microLXMF below. - https://github.com/torlando-tech/microReticulum.git#2f21feef9ff30ebde86370b56335813232a0d3e1 + ; cb71ace: OS::ltime() now uses the monotonic 64-bit esp_timer instead of a + ; racy 32-bit millis() rollover counter (static low32/high32 raced across + ; FreeRTOS tasks, inflating OS::time() by N*49.7 days — garbage convo + ; timestamps, e.g. "Future"/"49w ago"/year-2046 now). + https://github.com/torlando-tech/microReticulum.git#cb71aceb8a9c58444521d5ce24ea2db10191d92d ; microLXMF: chore/microreticulum-0.4.1-layout — includes namespaced to ; for the 0.4.x src/microReticulum/ layout. - https://github.com/torlando-tech/microLXMF.git#33760d0d38d81a9fc3bc07693ffeb7dd678a414c + ; 3cdde79: faster load_message_metadata — single LittleFS open (read_file + ; returns 0 on miss, no separate file_exists probe) + JSON field filter that + ; skips the large "packed" blob. ~2x quicker conversation load. + https://github.com/torlando-tech/microLXMF.git#3cdde79172af915c4e330be36ff9775550e57fa5 lvgl/lvgl@^8.3.11 bblanchon/ArduinoJson@^7.4.2 hideakitai/MsgPack@^0.4.2