Make side conversation panes resizable and interactive (#59527)

## What changed

- Allow dragging the pane divider and save the preferred width in `tui.sidebar_width_percent`, defaulting to one third of the terminal. Defer reflow until release when retained images are present.
- Support scrolling and loading older history in the unfocused pane, opening links, copying selections, and clicking its composer to switch focus while preserving the clicked text position.
- Keep assistant replies, running command completion, and turn status current in the unfocused pane without duplicating answers or completion metadata when focus returns.

## Testing

Add regression coverage for divider previews and saved widths, image-aware resizing, composer clicks, unfocused history pagination and copying, and streaming replies and command completion across focus changes.

GitOrigin-RevId: a26accc0f8df3c17f53bc915db29a11c8de3c480
This commit is contained in:
Felipe Coury
2026-11-05 00:19:26 +00:00
committed by copyberry
parent b2a47c5cdd
commit e8e3197e84
45 changed files with 1560 additions and 354 deletions
@@ -302,6 +302,7 @@ async fn new_config(
tui_auto_recap: true,
model_availability_nux: ModelAvailabilityNuxConfig::default(),
tui_fullscreen_transcript: false,
tui_sidebar_width_percent: None,
tui_mouse_scroll_speed: None,
tui_copy_on_select: Default::default(),
tui_copy_on_select_clear_selection: false,