Files
tai/research/tui-framework-design/send-rs-chat-widget.md
T
2026-10-12 00:53:52 +02:00

2.2 KiB

send-rs src/tui/chat/chat_widget.rs — message list, scrollbar, dynamic input

Metadata

Field Value
Institute Molodetz Institute — Research & Retrieval Division
Subject tui-framework-design
Document type Source Dossier
Tier 1
Source title send-rs src/tui/chat/chat_widget.rs — chat widget (WhatsApp+Telegram ratatui client)
Source URL https://raw.githubusercontent.com/pedromarquetti/send-rs/master/src/tui/chat/chat_widget.rs
Source publisher / author pedromarquetti (send-rs / Sender project)
Source type repository
Source date (published) Unknown — not stated
Date researched 2026-10-11
Researched by tai (agent), model: Muse Spark, on behalf of retoor
Research method direct page fetch
Confidence Medium
Status Active

Summary

Message rendering as a List of pre-wrapped rows with an explicit 1-column scrollbar, a write box whose height grows from its visual row count, and a notable reverted experiment: right-aligned outgoing bubbles were tried and abandoned as ugly. The rejection is as valuable as the patterns.

Key findings

  • Messages render as a List of pre-wrapped rows with an explicit 1-column scrollbar.
  • The write box height is dynamic, derived from its visual row count (capped by config).
  • Right-aligned outgoing message bubbles were implemented and then reverted as ugly; all messages stay left-aligned rows.

Pros / strengths

  • Pre-wrapped rows plus an explicit scrollbar are simple and portable — no layout-engine support needed.
  • The documented bubble rejection settles a design argument with real-shipped-client evidence instead of taste.

Cons / limitations / caveats

  • No markdown, streaming, or tool-call rendering in the inspected evidence; the widget covers plain message rows only.

Relevance to tai

  • Decisive for the messaging-layout conclusion: tai renders left-aligned wrapped rows with sender grouping, not bubbles, and grows its input from visual rows — both directly from this source.

Changelog

Date Change
2026-10-11 Initial dossier created from 2026-10-11 research-pass evidence (body opened via web_fetch by researching agent).