mirror of
https://github.com/torlando-tech/pyxis.git
synced 2026-08-06 18:59:52 +00:00
ChatScreen::refresh() loads + renders MESSAGES_PER_PAGE messages while the LVGL mutex is held (the open path runs on the LVGL task's lv_task_handler). On a 32+ message conversation with a memory-pressured heap, 20 LittleFS reads + parses exceeded LVGLLock's 5s timeout and asserted (crash). Cap to 10 so the under-lock work stays well under budget; older messages load on scroll. This is a mitigation. The real fix is to do the message I/O off the LVGL lock (load lock-free on the main loop, render under the lock) so a large conversation neither freezes the UI nor risks the timeout. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UWZuYkHBRqNb6BZHV8sTG5