2.2 KiB
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
Listof 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). |