mirror of
https://github.com/ALLFATHER-BV/wadamesh.git
synced 2026-09-27 00:38:05 +00:00
* pager: keep encoder focus inside the chat message list, remap composer nav The rotary encoder's plain turn stepped LVGL's focus group directly, which only ever contains the currently-materialized bubbles (the message list is virtualized; loading more history is scroll-driven, not focus-driven). So turning past the first/last *loaded* bubble escaped the list onto the header/composer even with plenty of un-loaded history in that direction. A turn at that edge now scrolls the list instead when more messages exist (reusing the existing free-scroll helper), which triggers virtualization to load the next batch; focus only leaves the list at the true oldest/newest message. Fast turning folds into a pending target so it doesn't escape mid-load, and the render's focus re-aim now runs synchronously so the transient auto-focus LVGL assigns a deleted row's neighbor never paints. Also removes the two touch-only jump-to-oldest/latest arrows on this board (no touchscreen to tap them) and remaps the chat's key bindings now that plain turns stay in the list: - Orange/Alt tap: jump to the newest message + focus the composer (was Backspace's job). - Backspace tap: jump to the first unread message below the "NEW ----" divider, or the newest message if nothing's unread. - Composer row edges: Send+NEXT reaches the channel-settings gear (falls back to the newest bubble in a DM, which has no gear); the quick-reply chip+PREV goes straight to the newest bubble. TLORA_PAGER_SHORTCUTS.md documents the new chat-screen behavior. Signed-off-by: Tesso M Costa <tesso.martins@gmail.com> * fix scroll --------- Signed-off-by: Tesso M Costa <tesso.martins@gmail.com>