Skip to content

fix(tui): align chat transcript with the input box left border (#1112) - #1118

Open
itsnevu wants to merge 1 commit into
Nano-Collective:feature/new-uifrom
itsnevu:fix/1112-chat-align
Open

fix(tui): align chat transcript with the input box left border (#1112)#1118
itsnevu wants to merge 1 commit into
Nano-Collective:feature/new-uifrom
itsnevu:fix/1112-chat-align

Conversation

@itsnevu

@itsnevu itsnevu commented Sep 1, 2026

Copy link
Copy Markdown

Closes #1112. Extracts the input box's margin math into a usePromptWidth() hook and threads it into ChatHistory/ChatQueue so the transcript tracks the input box on resize (margin applied per-item inside <Static>). Targets feature/new-ui. build + typecheck + alignment tests green.

…Collective#1112)

The chat transcript rendered flush against the terminal's left edge
while the redesigned input box is centered with a 2-column margin
(promptWidth = actualWidth - 4), so the two didn't line up.

Extract that margin into a shared usePromptWidth() hook (used by both
UserInput and the transcript, so they can never drift apart) and
thread it through ChatHistory -> ChatQueue as a new leftMargin prop.
Ink's <Static> ignores a margin on its own wrapper, so the margin is
applied per-item inside the Static render prop instead of on the
Static's parent Box; the fullscreen (alt-screen) flow path, which
doesn't use Static, gets a single wrapper margin. SubagentView (the
other ChatQueue consumer, which has no input box to align with) is
unaffected since it doesn't pass leftMargin.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant