Skip to content

[1 of 2] Optimize TUI startup terminal probes#23175

Merged
etraut-openai merged 1 commit into
mainfrom
etraut/tui-startup-probes
May 18, 2026
Merged

[1 of 2] Optimize TUI startup terminal probes#23175
etraut-openai merged 1 commit into
mainfrom
etraut/tui-startup-probes

Conversation

@etraut-openai
Copy link
Copy Markdown
Collaborator

@etraut-openai etraut-openai commented May 17, 2026

Why

Codex TUI startup still feels slower than 0.117.0 after the app-server move in 0.118.0. A visible chunk of launch-to-input latency comes from serial terminal startup probes: cursor position, keyboard enhancement support, and default foreground/background color queries can each wait on terminal responses before the first usable frame.

Refs #16335.

What

This PR batches the terminal startup probes into one bounded probe. It also reuses the probed cursor position and default colors during TUI setup, fast-paths the primary-device-attributes fallback as keyboard enhancement unsupported, and keeps lightweight startup timing logs for future tuning.

The startup telemetry is intentionally left in production: it records phase timings for terminal probes and initial-frame scheduling so future startup regressions can be diagnosed from normal logs rather than re-adding one-off debug instrumentation.

Benchmark

In the local pty startup benchmark, the pre-optimization main baseline was about 250.5ms median from launch to accepted chat input. This probe-only branch measured about 152ms median, for an approximate savings of 95-100ms.

Stack

  1. #23175: [1 of 2] Optimize TUI startup terminal probes — this PR
  2. #23176: [2 of 2] Start fresh TUI thread in background — layered on this PR

Verification

  • cargo test -p codex-tui

Copy link
Copy Markdown
Contributor

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 21eb3e693f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread codex-rs/tui/src/terminal_probe.rs Outdated
@etraut-openai etraut-openai force-pushed the etraut/tui-startup-probes branch from 21eb3e6 to c5f1e4d Compare May 17, 2026 18:09
Copy link
Copy Markdown
Contributor

@fcoury-oai fcoury-oai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Smoke tested, code looks good 👍

@etraut-openai etraut-openai merged commit adca1b6 into main May 18, 2026
31 checks passed
@etraut-openai etraut-openai deleted the etraut/tui-startup-probes branch May 18, 2026 16:04
@github-actions github-actions Bot locked and limited conversation to collaborators May 18, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants