fix(ui): reserve pad height per message to prevent multi-line clip and scroll desync #136

Manually merged
jabber.developer2 merged 1 commits from fix/multiline-pad-clip into master 2026-06-20 09:41:17 +00:00

View File

@@ -72,10 +72,7 @@ _win_ensure_pad_capacity(ProfWin* window, WINDOW* win, int lines_needed)
static int
_win_estimated_lines(WINDOW* win, const char* const message, int indent, int pad_indent)
{
int usable = getmaxx(win) - (indent + pad_indent);
if (usable < 1) {
usable = 1;
}
int usable = MAX(1, getmaxx(win) - (indent + pad_indent));
int newlines = 0;
jabber.developer marked this conversation as resolved Outdated

We might also use MAX(1, ...) instead, but this variant is also fine.

We might also use `MAX(1, ...)` instead, but this variant is also fine.

Agreed, used MAX instead

Agreed, used MAX instead
for (const char* p = message; *p; p++) {
if (*p == '\n') {