Preserve logical source text and styles across TUI wrapping - #46708
Merged
copyberry[bot] merged 1 commit intoSep 19, 2026
Conversation
## Why Display wrapping removes whitespace and adds gutters, so rendered rows alone cannot reliably describe the original logical text. Streaming previews also need to detect source changes that leave visible rows unchanged. ## What changed - Retain shared logical text, styles, exact byte ranges, and display margins alongside wrapped rows; remap hyperlinks using those ranges. - Preserve source metadata through prompt, Markdown, and prefixed history rendering, including spoken artifact annotations. Clear it when split-flap animation replaces the text. - Include source metadata when comparing streaming previews and agent or plan tails. - Keep compound graphemes intact, preserve explicit span styles, and reuse first-fit wrapping results when safe. - Use the lighter history prompt background for submitted messages. ## Testing Add regression coverage for source ranges and styles across widths and gutters, distinct repeated lines, source-only streaming updates, compound graphemes, and equivalence between reused and generic wrapping results. Extend Markdown, spoken artifact, and animation tests to check retained source metadata. GitOrigin-RevId: 9e60746642fc9a8f91c1abfe7c77eefc1fe421ab
copyberry
Bot
force-pushed
the
copyberry/codex-internal-to-codex-oss/9e60746642fc9a8f91c1abfe7c77eefc1fe421ab
branch
from
September 19, 2026 20:22
9de75c5 to
fcaa035
Compare
copyberry
Bot
deleted the
copyberry/codex-internal-to-codex-oss/9e60746642fc9a8f91c1abfe7c77eefc1fe421ab
branch
September 19, 2026 20:23
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Preserve logical source text and styles across TUI wrapping
Why
Display wrapping removes whitespace and adds gutters, so rendered rows alone cannot reliably describe the original logical text. Streaming previews also need to detect source changes that leave visible rows unchanged.
What changed
Testing
Add regression coverage for source ranges and styles across widths and gutters, distinct repeated lines, source-only streaming updates, compound graphemes, and equivalence between reused and generic wrapping results. Extend Markdown, spoken artifact, and animation tests to check retained source metadata.