Continuation of breaking up this PR https://github.com/openai/codex/pull/9116 ## Summary - Thread user text element ranges through TUI/TUI2 input, submission, queueing, and history so placeholders survive resume/edit flows. - Preserve local image attachments alongside text elements and rehydrate placeholders when restoring drafts. - Keep model-facing content shapes clean by attaching UI metadata only to user input/events (no API content changes). ## Key Changes - TUI/TUI2 composer now captures text element ranges, trims them with text edits, and restores them when submission is suppressed. - User history cells render styled spans for text elements and keep local image paths for future rehydration. - Initial chat widget bootstraps accept empty `initial_text_elements` to keep initialization uniform. - Protocol/core helpers updated to tolerate the new InputText field shape without changing payloads sent to the API. |
||
|---|---|---|
| .. | ||
| tool_handlers | ||
| codex_tool_config.rs | ||
| codex_tool_runner.rs | ||
| error_code.rs | ||
| exec_approval.rs | ||
| lib.rs | ||
| main.rs | ||
| message_processor.rs | ||
| outgoing_message.rs | ||
| patch_approval.rs | ||