core-agent-ide/codex-rs/tui
sayan-oai cf44511e77
refactor TUI event loop to enable dropping + recreating crossterm event stream (#7961)
Introduces an `EventBroker` between the crossterm `EventStream` source
and the consumers in the TUI. This enables dropping + recreating the
`crossterm_events` without invalidating the consumer.

Dropping and recreating the crossterm event stream enables us to fully
relinquish `stdin` while the app keeps running. If the stream is not
dropped, it will continue to read from `stdin` even when it is not
actively being polled, potentially stealing input from other processes.
See
[here](https://www.reddit.com/r/rust/comments/1f3o33u/myterious_crossterm_input_after_running_vim/?utm_source=chatgpt.com)
and [here](https://ratatui.rs/recipes/apps/spawn-vim/) for details.

### Tests
Added tests for new `EventBroker` setup, existing tests pass, tested
locally.
2025-12-16 01:14:03 -08:00
..
frames Login flow polish (#3632) 2025-09-15 00:42:53 -07:00
src refactor TUI event loop to enable dropping + recreating crossterm event stream (#7961) 2025-12-16 01:14:03 -08:00
tests chore: delete chatwidget::tests::binary_size_transcript_snapshot tui test (#6759) 2025-11-17 11:11:41 -08:00
Cargo.toml refactor TUI event loop to enable dropping + recreating crossterm event stream (#7961) 2025-12-16 01:14:03 -08:00
prompt_for_init_command.md chore: rename INIT.md to prompt_for_init_command.md and move closer to usage (#1886) 2025-08-06 11:58:57 -07:00
styles.md fix: stop using ANSI blue (#2421) 2025-08-18 16:02:25 +00:00
tooltips.txt chore: fix tooltip typos and align tone (#8047) 2025-12-14 20:02:41 -08:00