[Windows Desktop] Selected recent task stays blank while collaboration hydration starves app-server queue

Open
#36,914 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
rust

Research direction

Start at the app-server request queue handling for thread/list and thread/read, then trace collab_hydration, thread_hydration, recent_threads, tail_history, and thread_list. Reproduce the blank pane with queued collaboration descendants and measure interactive queue waits. Done means selected-task reads are prioritized, stale background work is cancelled or coalesced, and the listed latency and expiry criteria pass.

Written by the indexing model from the issue text.

Description

app app-server bug performance windows-os
What version of the Codex App are you using (From “About Codex” dialog)?

26.727.6591.0

What subscription do you have?

Unknown (not exposed in the reportable Desktop diagnostics)

What platform is your computer?

Microsoft Windows NT 10.0.26200.0 x64

What issue are you seeing?

Selecting a recently active task can leave the content pane blank/loading for a long time even though the task content is present. The selected task competes with background collaboration/history hydration in the same bounded app-server request queue. Interactive reads can remain queued until the 60-second deadline expires.

A bounded local verifier aggregated scheduler fields only; no task text, credentials, profile data, or raw logs are attached.

  • Hydration queue expiries in 24 hours: 42
  • Hydration queue expiries in the latest 120 minutes: 28
  • Maximum queue wait: 60017 ms
  • Maximum shared in-flight requests: 6
  • Maximum queued critical requests: 16
  • Maximum queued interactive requests: 63
  • Sources: collab_hydration, thread_hydration, recent_threads, tail_history, thread_list
  • Methods: thread/list, thread/read

Sanitized event shape:

app_server_client_request_queue_rejected method=thread/list
priority=background queueWaitMs=60010 reason=queue-expired
source=collab_hydration

Installed app.asar SHA256: 670A43EA0DCF6D2583F77272354CF076D1A2D5D9949873C4923C9534D86EA298

What steps can reproduce the bug?
  1. Have several recent tasks with collaboration/sub-agent activity.
  2. Restart Codex Desktop.
  3. Select a recently active task while background hydration is running.
  4. Observe a blank/loading content pane. Content may appear only after a long delay.

The issue reproduces without task-content loss. Packaged-source readback shows a shared global limit of six requests; historical collaboration hydration can request a large descendant list and issue multiple thread/read calls while the selected task is waiting.

What is the expected behavior?

Selecting a task should preempt background history hydration. The latest visible tail should render first. Background descendant hydration should be cancellable and coalesced per ancestor/generation, and a selected-task read should never wait behind a previous generation until the 60-second queue deadline.

Additional information

Suggested acceptance criteria:

  1. With at least 50 collaboration descendants queued, the selected task renders first content within 2 seconds.
  2. Interactive thread/read queue wait stays below 500 ms at p95.
  3. Changing selection cancels or invalidates queued background work from the previous selection generation.
  4. Repeated background hydration requests for the same ancestor are coalesced.
  5. No selected-task request expires with reason=queue-expired.
  6. Restarting Desktop with multiple recent collaboration-heavy tasks does not produce a blank selected-task pane.

Related: #25779 and #16817.

Privacy: no screenshot is attached because the reproduction contains private task names. No raw logs, task IDs, task contents, credentials, cookies, tokens, OAuth material, browser profile data, or history are included.

Dominant language
Rust
Stars
125k
Forks
19.5k
Avg merge
1m
Merged PRs (30d)
1k

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from openai/codex

All issues in openai/codex

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.