Files
tty7/src
l0ng-ai 3bbddb94d8 fix(scm): make the commit body's fold actually fold
Show more / Show less flipped `body_expanded` and relabelled itself
correctly the whole time. What never moved was the body.

`line_clamp` only limits the *wrapped* lines within one logical line:
`shape_text` splits the string on `\n` first and shapes every hard line it
finds, feeding the clamp to `layout_wrapped_line` per line rather than to
the document. A commit message is the one string this panel draws that is
always hard-wrapped, so a clamp of four over a thirty-line body laid out
all thirty, and the fold was a label with nothing behind it.

Fold by clipping a height instead. The body's leading is spelled out — 18px
is what `phi()` already resolved 11px type to, so nothing moves by naming it
— and four of those plus the padding is the folded height. The string is
truncated to `BODY_LINES` as well, which keeps the shaper off lines nobody
can see; the height is what guarantees the fold, because in a column this
narrow those four lines can each wrap again.

Guarded by a test that clicks the row in a real window and measures the
body's bounds on both sides of both clicks. The flag alone proves nothing
here — it was right all along.
2026-08-12 11:36:34 +08:00
..