fix(companion): keep [+ send] visible in DM/room history when not selected

In the DM/room message history, the message loop leaves the ink DARK when the
last drawn box is the selected one, so the unselected [+ send] row printed
dark-on-dark and vanished. Most visible in room servers, where there's always
a selected message. Reset to LIGHT before drawing the row (matching the
channel-history version). Pre-existing bug, independent of the history-store
refactor.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
MarekZegare4
2026-06-29 22:59:59 +02:00
parent 17cc51e84d
commit efb6a8b629

View File

@@ -963,6 +963,11 @@ public:
const char* ctxt = "[+ send]";
int ctw = display.getTextWidth(ctxt);
int cbx = 1;
// Reset to LIGHT first: the message loop above leaves the ink DARK when the
// last drawn box was the selected one, which would render an unselected
// [+ send] invisibly (dark-on-dark) — most visible in rooms, where there's
// always a selected message. With it selected we invert (light bar/dark text).
display.setColor(DisplayDriver::LIGHT);
if (compose_sel) {
display.fillRect(cbx, cby - 1, ctw + 4, lh + 1);
display.setColor(DisplayDriver::DARK);