Skip to content

fix(desktop,acp): Codex model discovery timeout UX + 45s probe budget - #2267

Open
tzarebczan wants to merge 2 commits into
block:mainfrom
tzarebczan:fix/codex-models-discovery-ui
Open

fix(desktop,acp): Codex model discovery timeout UX + 45s probe budget#2267
tzarebczan wants to merge 2 commits into
block:mainfrom
tzarebczan:fix/codex-models-discovery-ui

Conversation

@tzarebczan

Copy link
Copy Markdown

Summary

  • Raise buzz-acp models MODELS_TIMEOUT from 10s → 45s so Windows Codex ACP cold starts (~15–25s) can finish instead of returning empty models.
  • Progressive loading: control keeps short Loading models…; after 10s, under-field note only (never in the pill — avoids double/truncated copy).
  • Clear timeout / PATH discovery errors with Retry (retryable + shared ModelDiscoveryStatusLine).
  • Builds on fix(desktop): surface model discovery failures in agent config UI #2246 (status bypass, empty non-cache); empty catalogs remain uncached and are retryable.

Fixes #2261.

Context

Codex ACP boots the Codex App Server on each models probe. Product assumed ~2–5s; Windows cold path often exceeds the old 10s budget. Related install/PATH work remains separate (#2238).

Test plan

  • On Windows with Codex installed: open onboarding defaults / agent model field — pill shows short loading only; after ~10s long note appears under field only.
  • With slow/unavailable adapter: timeout message + Retry re-runs discovery.
  • Empty catalog: warning + Retry; response still not cached (fix(desktop): surface model discovery failures in agent config UI #2246).
  • Credential-missing paths remain non-retryable (enter key, not Retry).
  • Unit: personaModelDiscoveryStatus, usePersonaModelDiscovery, agentConfigFieldsContract, agentConfigControls tests.
  • Smoke: Claude discovery still works; happy path onboarding stays quiet when not loading/error.

Notes

Raise buzz-acp models probe timeout from 10s to 45s so Windows Codex cold
starts can finish. Surface progressive under-field copy after 10s, clear
timeout/PATH errors with Retry, and keep the model control on a short
loading label so long status text is never truncated in the pill.

Builds on block#2246 (status bypass + empty non-cache). Fixes block#2261.

Signed-off-by: Thomas Zarebczan <thomas.zarebczan@gmail.com>
@tzarebczan
tzarebczan requested a review from a team as a code owner July 21, 2026 19:39

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

Copy link
Copy Markdown

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: ee5327a910

ℹ️ 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 desktop/src/features/agents/ui/AgentInstanceEditDialog.tsx
Comment thread desktop/src/features/agents/ui/usePersonaModelDiscovery.ts
Force edit/create model controls onto the short loading sentinel while probing so the closed trigger is not stuck on a stale default with no cue. Use MODEL_DISCOVERY_LOADING_SHORT in shared modelDropdownOptions. Mark Runtime-not-available discovery status non-retryable so Retry is not a no-op without discoverAgentModels.

Signed-off-by: Thomas Zarebczan <thomas.zarebczan@gmail.com>
@cameronhotchkies cameronhotchkies added the triage-ready Appropriate for agentic review label Jul 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

triage-ready Appropriate for agentic review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] Windows: Codex model discovery times out / empty models (cold start >10s)

2 participants