mirror of
https://github.com/openai/codex.git
synced 2026-11-10 21:00:47 +00:00
Render delegated thread messages as Markdown in the TUI (#59789)
## Why Incoming delegated messages were rendered as plain text, leaving Markdown formatting visible and links without hyperlink metadata. ## What changed Use a dedicated history cell to render the message body as Markdown while keeping the source task attribution literal. Preserve hyperlinks and wrapping, and apply the appropriate list spacing for scrollback and the redrawable transcript. Use the same rendering for live messages, resumed history, and transcript projection. ## Testing Extend replay coverage to check matching live and replayed output, transcript rendering, hyperlink destinations, and shared source text across wrapped rows. Add a snapshot covering list spacing in scrollback and the redrawable transcript. GitOrigin-RevId: e9864c7721fa1afa2d3662ab9f57122ab696a51e
This commit is contained in:
committed by
copyberry
parent
b1263c593d
commit
3cf4899cb5
@@ -8,9 +8,9 @@ use crate::app_server_session::AppServerSession;
|
||||
use crate::app_server_session::HistoryHydrationScope;
|
||||
use crate::git_action_directives::parse_assistant_markdown;
|
||||
use crate::history_cell::AgentMarkdownCell;
|
||||
use crate::history_cell::DelegatedMessageCell;
|
||||
use crate::history_cell::HistoryCell;
|
||||
use crate::history_cell::PlainHistoryCell;
|
||||
use crate::history_cell::PrefixedWrappedHistoryCell;
|
||||
use crate::history_cell::ReasoningSummaryCell;
|
||||
use crate::history_cell::split_reasoning_summary_parts;
|
||||
use crate::inline_visualization::InlineVisualizationContext;
|
||||
@@ -302,10 +302,9 @@ fn item_to_cells(
|
||||
&output,
|
||||
)
|
||||
{
|
||||
cells.push(Arc::new(PrefixedWrappedHistoryCell::new(
|
||||
format!("Sent by Codex from task {source_thread_id}\n{prompt}"),
|
||||
"• ".dim(),
|
||||
" ",
|
||||
cells.push(Arc::new(DelegatedMessageCell::new(
|
||||
&source_thread_id,
|
||||
prompt,
|
||||
)));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user