zot/internal
patriceckhart e7dbf3d861 fix(tui): cell-aware width math for dialog header rules + add /btw
frame header pad length used len(label) which counts bytes, not
on-screen cells. titles containing em-dashes, box-drawing or any
multibyte rune left a few extra bytes of "imaginary length" so
the trailing ── run came up short of the right edge -- visible on
the /btw header which starts with "btw — side chat ...". swap to
runewidth.StringWidth for both frameHeader and frameHeaderColor.

also lands the /btw side-chat overlay this commit pre-staged:
opens via /btw [optional question], snapshots system + transcript
+ provider client at open time, fires one-off model calls against
that frozen context plus the side-chat history, renders replies
through the markdown pipeline. esc cancels in-flight calls or
closes when idle. nothing is appended to the main transcript or
the session jsonl. spinner reuses the main funny-line rotation.
2026-04-19 13:47:39 +02:00
..
agent fix(tui): cell-aware width math for dialog header rules + add /btw 2026-04-19 13:47:39 +02:00
assets add logo to callback page 2026-04-18 10:15:53 +02:00
auth add auto compaction 2026-04-18 10:34:08 +02:00
core fix: keep transcript and cumulative cost across cross-provider /model swap 2026-04-19 12:47:12 +02:00
provider fix(anthropic): drop claude-code identity cache marker 2026-04-19 12:39:33 +02:00
tui tui: align status-bar spacing and indent assistant body 2026-04-19 13:10:16 +02:00