zot/internal
patriceckhart 37eb752cb2 tui: drop redundant leading blanks in live tool overlay
renderToolCall used to prepend a blank line at the top of each of
its three branches (streaming-with-body, finished-no-result,
finished-with-result) so the live box wouldn't sit flush against
the prose / previous tool block above it. That made sense before
each tool result owned its own complete box \u2014 back then the
assistant message also injected a blank before its embedded top
edge, and the two paths matched.

After the box-ownership refactor the transcript path no longer
emits a leading blank (Build()'s natural inter-message separator
provides one), but renderToolCall still did, so a streaming tool
sat two blank rows below the previous content while the same
call, once finalised, sat only one. The visible "snap tighter"
when streaming ended was the doubled gap collapsing.

Drop the three leading blanks. Build()'s inter-message blank is
the single source of vertical spacing now, so streaming and
finalised forms have identical gaps.
2026-04-27 17:24:58 +02:00
..
agent interactive: snap to bottom after /sessions load 2026-04-27 15:31:09 +02:00
assets assets: refresh zot logo to cleaner pixel-art Z 2026-04-20 12:01:43 +02:00
auth feat(auth): headless OAuth with paste-code input 2026-04-22 17:49:11 +02:00
core feat: remove default step limit 2026-04-26 13:32:46 +02:00
extproto feat(ext): interactive extension panels + persistence 2026-04-22 08:53:21 +02:00
provider feat: auto-refresh OAuth tokens before each API call 2026-04-24 19:37:44 +02:00
skills perf(prompt): cut system prompt to the bone (410 -> 54 tokens) 2026-04-19 17:39:38 +02:00
tui tui: drop redundant leading blanks in live tool overlay 2026-04-27 17:24:58 +02:00