Files
codex/agentydragon/tasks/22-message-rendering-layout-options.md
Rai (Michael Pokorny) d07d7a7440 wip
2025-06-24 20:27:57 -07:00

2.1 KiB

+++ id = "22" title = "Message Separation and Sender-Content Layout Options" status = "Not started" dependencies = "02,07,09,11,14,29" last_updated = "2025-06-25T01:40:09.600000" +++

Summary

Add configurable options for inter-message spacing and sender-content line breaks in chat rendering.

Goal

Provide users with flexibility in how chat messages are visually separated and how sender labels are displayed relative to message content:

  • Control whether an empty line is inserted between consecutive messages.
  • Control whether sender and content appear on the same line or on separate lines.

Acceptance Criteria

  • Introduce two new config flags under the UI section:
    • message_spacing: true|false controls inserting a blank line between messages when true.
    • sender_break_line: true|false controls breaking line after the sender label when true.
  • Both flags default to false to preserve current compact layout.
  • When message_spacing is enabled, render an empty line between each message bubble or block.
  • When sender_break_line is enabled, render the sender label on its own line above the message content; otherwise render Sender: Content on a single line.
  • Ensure both flags can be toggled independently and work together in any combination.
  • Add unit tests to verify the four layout permutations produce the correct sequence of lines.

Implementation

How it was implemented

  • Extend the chat UI renderer to read message_spacing and sender_break_line from config.
  • In the message rendering routine, after emitting each message block, conditionally insert a blank line if message_spacing is true.
  • When rendering a message header, split layout based on sender_break_line: emit sender label and content either together or in two lines.
  • Write unit tests for all combinations of (message_spacing, sender_break_line) covering single-line messages, multi-line content, and boundaries.

Notes

  • These options improve readability for users who prefer more visual separation or clearer sender labels.
  • Keep default settings unchanged to avoid surprising existing users.