Skip to content

fix(tui): improve multiline markdown list readability#24351

Merged
fcoury-oai merged 2 commits into
mainfrom
fcoury/fix-md-list-spacing
May 25, 2026
Merged

fix(tui): improve multiline markdown list readability#24351
fcoury-oai merged 2 commits into
mainfrom
fcoury/fix-md-list-spacing

Conversation

@fcoury-oai
Copy link
Copy Markdown
Contributor

@fcoury-oai fcoury-oai commented May 24, 2026

Why

Numbered Markdown findings become hard to scan when long items visually run together or when wrapped explanatory paragraphs lose their list indentation. This is especially visible in review output: the next number can look attached to the previous finding, and paragraph continuation rows can jump back toward the left margin instead of staying grouped beneath their item.

Before CleanShot 2026-05-24 at 14 00 49
After image

What Changed

  • Insert a blank separator before a sibling list item when the previous item occupies more than one rendered line.
  • Preserve compact rendering for lists whose sibling items each render on one line.
  • Preserve list-body leading whitespace when transient streamed assistant rows require another wrapping pass for history display, so wrapped paragraphs stay aligned beneath their item.
  • Share the existing leading-whitespace prefix logic used by history insertion instead of introducing a second indentation rule.
  • Keep streamed Markdown output aligned with completed rendering and add snapshots for findings-style spacing and streamed paragraph indentation.

How to Test

  1. Start Codex from this branch and open the recorded repro session 019e563f-7d58-7ff2-8ec7-828f20fa61ca.
  2. Inspect the numbered Findings list whose items contain explanatory paragraphs.
  3. Confirm each multiline finding is separated from the next numbered finding by one blank line.
  4. Confirm wrapped rows of each indented paragraph remain aligned beneath the finding body, rather than returning to the left edge.
  5. Render a short one-line numbered or unordered list and confirm its items remain compact without added blank rows.

Targeted tests:

  • just test -p codex-tui history_cell insert_history markdown_render markdown_stream streaming::controller
  • just argument-comment-lint-from-source -p codex-tui

Related Work

PR #24346 changes Markdown table column allocation in parallel. This PR is intentionally limited to list-item readability and history wrapping; both branches touch codex-rs/tui/src/markdown_render.rs, so a small merge conflict may need resolution depending on merge order.

@fcoury-oai fcoury-oai changed the title fix(tui): space multiline markdown list items fix(tui): improve multiline markdown list readability May 24, 2026
Copy link
Copy Markdown
Collaborator

@etraut-openai etraut-openai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I especially like the color treatment on the numbers.

My only (small) concern is about copy behavior, but that was already a problem prior to this change because of the leading two spaces. This adds more spaces.

The code looks good.

I manually verified the fix and confirmed that formatting looks good and it reflows correctly when resizing the terminal.

@fcoury-oai fcoury-oai merged commit 14d80e5 into main May 25, 2026
46 of 47 checks passed
@fcoury-oai fcoury-oai deleted the fcoury/fix-md-list-spacing branch May 25, 2026 18:42
@github-actions github-actions Bot locked and limited conversation to collaborators May 25, 2026
@fcoury-oai
Copy link
Copy Markdown
Contributor Author

My only (small) concern is about copy behavior, but that was already a problem prior to this change because of the leading two spaces. This adds more spaces.

Agreed, I will see if there's something we can do when falling back to raw mode in that regard.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants