Eric Traut and GitHub
7fa0007ea8
tui: split remaining composer draft and footer state ( #22656 )
...
## Why
[#22581 ](https://github.com/openai/codex/pull/22581 ) started separating
the chat composer’s responsibilities, but `ChatComposer` still owned the
remaining editable draft state alongside footer/status presentation
state. This follow-up makes those ownership lines explicit so future
composer changes have a smaller blast radius and `BottomPane` does not
need to keep exposing scattered draft getters.
This is just a refactor. No functional or behavioral changes are
intended.
## What changed
- Move the remaining editable composer state into
`bottom_pane/chat_composer/draft_state.rs`.
- Move footer and status-row presentation state into
`bottom_pane/chat_composer/footer_state.rs`.
- Add an internal `ComposerDraftSnapshot` for restore flows, replacing
several ad hoc `BottomPane` pass-through reads.
- Rewire the related history-search and thread-input restore paths to
use the extracted state.
## Verification
- `RUST_MIN_STACK=8388608 cargo test -p codex-tui`
- `cargo insta pending-snapshots`
2026-05-15 09:12:52 -07:00
..
2026-05-14 23:00:05 -07:00
2026-03-28 11:23:07 -06:00
2026-05-15 09:12:52 -07:00
2026-05-15 09:12:52 -07:00
2026-05-05 11:17:47 -07:00
2026-05-14 23:00:05 -07:00
2026-05-01 09:39:48 -07:00
2026-05-13 15:33:27 +00:00
2026-04-21 17:10:36 +00:00
2026-05-13 16:08:05 +00:00
2026-05-13 21:23:19 +00:00
2026-04-07 08:03:35 -07:00
2026-04-30 22:42:48 -07:00
2026-05-11 21:08:40 -03:00
2026-05-14 21:19:06 -07:00
2026-05-14 23:10:45 -07:00
2026-05-10 20:42:11 +00:00
2026-05-10 11:45:49 -03:00
2026-04-30 11:34:34 -07:00
2026-05-12 10:43:17 -03:00
2026-05-06 08:35:42 -07:00
2026-04-30 11:34:34 -07:00
2026-05-13 15:40:37 -07:00
2026-04-30 11:34:34 -07:00
2026-05-14 23:00:05 -07:00
2026-05-14 18:25:23 -07:00
2026-04-30 10:52:19 -07:00
2026-04-13 18:27:00 -07:00
2026-04-10 20:25:31 -07:00
2026-05-07 20:31:41 -07:00
2026-05-04 16:11:15 -03:00
2026-05-14 16:54:59 -07:00
2026-05-14 18:51:36 -07:00
2026-05-05 16:18:02 +00:00
2026-03-28 11:23:07 -06:00
2026-05-13 15:40:37 -07:00
2026-03-28 11:23:07 -06:00
2026-05-13 12:11:15 -03:00
2026-04-25 22:00:32 -03:00
2026-05-14 15:16:15 +02:00
2026-04-30 10:52:19 -07:00
2026-04-30 11:34:34 -07:00
2026-03-28 11:23:07 -06:00
2026-05-14 15:16:15 +02:00
2026-05-09 16:10:56 -03:00
2026-03-28 11:23:07 -06:00
2026-03-28 11:23:07 -06:00
2026-03-28 11:23:07 -06:00
2026-05-05 17:09:25 -03:00
2026-05-11 21:08:40 -03:00
2026-04-30 22:42:07 -07:00
2026-05-09 21:17:30 +00:00
2026-05-01 09:39:48 -07:00
2026-05-13 12:11:15 -03:00
2026-05-13 15:33:27 +00:00
2026-05-04 19:18:56 +00:00
2026-05-14 20:51:08 -07:00
2026-05-14 18:51:36 -07:00
2026-03-28 11:23:07 -06:00
2026-04-13 18:27:00 -07:00
2026-05-14 17:11:36 -04:00
2026-05-14 16:54:59 -07:00
2026-05-10 20:42:11 +00:00
2026-05-10 20:42:11 +00:00
2026-05-10 20:42:11 +00:00
2026-05-10 20:42:11 +00:00
2026-04-19 22:39:53 -07:00
2026-04-29 17:22:41 -07:00
2026-04-25 22:00:32 -03:00
2026-05-01 09:07:56 -07:00
2026-04-30 11:34:34 -07:00
2026-04-25 17:09:29 -07:00
2026-05-13 15:33:27 +00:00
2026-05-14 14:33:54 -03:00
2026-04-30 11:34:34 -07:00
2026-04-25 22:00:32 -03:00
2026-05-13 15:33:27 +00:00
2026-03-28 11:23:07 -06:00
2026-05-14 16:54:59 -07:00
2026-05-04 11:46:03 -07:00
2026-05-14 23:00:05 -07:00
2026-03-28 11:23:07 -06:00
2026-04-20 20:46:55 -07:00
2026-05-13 15:40:37 -07:00
2026-05-14 18:51:36 -07:00
2026-05-09 21:17:30 +00:00
2026-05-01 09:07:56 -07:00
2026-05-09 16:10:56 -03:00
2026-05-10 20:42:11 +00:00
2026-05-02 01:20:57 +00:00
2026-05-02 01:20:57 +00:00
2026-04-17 08:39:37 -07:00
2026-03-28 11:23:07 -06:00
2026-04-30 11:34:34 -07:00
2026-03-28 11:23:07 -06:00
2026-04-30 22:42:48 -07:00
2026-05-08 07:56:13 -07:00
2026-04-20 00:37:40 +00:00
2026-04-25 22:00:32 -03:00
2026-05-13 12:11:15 -03:00
2026-03-28 11:23:07 -06:00
2026-04-27 23:33:59 -07:00
2026-04-25 22:00:32 -03:00
2026-04-25 17:09:29 -07:00
2026-04-25 17:09:29 -07:00
2026-03-28 11:23:07 -06:00
2026-04-30 11:34:34 -07:00
2026-04-25 22:00:32 -03:00
2026-05-05 17:09:25 -03:00
2026-05-13 14:19:05 -07:00