openai / openai/codex

[macOS] Blank image block in ChatGPT conversation: composite sediment reference fails with 422 Invalid file_id

Open
#43,153 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What version of the Codex App are you using (From “About Codex” dialog)?

26.901.41600, read from the installed application's Info.plist. The app is branded ChatGPT on this installation; its bundle ID is com.openai.codex.

What subscription do you have?

Not specified.

What platform is your computer?

macOS 27.0, arm64.

What issue are you seeing?

When opening an existing ChatGPT conversation about uploaded course slides in the desktop app, a large empty light-gray rounded rectangle appears above the assistant's final answer. The text, formulas, and file citation card below it render normally. The same conversation on chatgpt.com has no corresponding image or blank rectangle (confirmed by the user).

Desktop logs for this conversation show a failed image download with HTTP 422. The failure repeats in two application sessions, including after an app restart. Sanitized excerpt (identifiers replaced; pointer structure preserved):

sa_server_request_failed
  method=get
  routePattern=/files/download/{file_id}
  status=422
  url=/files/download/<asset-prefix>#file_<redacted>#p_0.<redacted>.jpg?conversation_id=<redacted>&download_intent=false&inline=true
  errorMessage={"detail":"Invalid file_id, expected to start with 'file-' or 'file_': <asset-prefix>"}

ChatGPT conversation image download request failed
  fileId=<asset-prefix>#file_<redacted>#p_0.<redacted>.jpg

Image asset download failed
  assetPointer=sediment://<asset-prefix>#file_<redacted>#p_0.<redacted>.jpg
  pointerScheme=sediment
  resolverKind=custom

The conversation refetch subsequently completes successfully (statusAfter=idle), and the retrieved final assistant answer is text/formulas with file citations. The failed resource's purpose is not established.

What steps can reproduce the bug?

Observed sequence in the affected conversation (not yet reproduced with a fresh test document):

  1. In a ChatGPT project containing uploaded PPTX course material, ask a question requiring reference to that material.
  2. Open the completed conversation in the desktop app.
  3. Observe the large blank rounded rectangle above the final text answer.
  4. Open the same conversation on chatgpt.com: no corresponding image/rectangle appears.
  5. Reopen/restart the desktop app: the rectangle persists and the same 422 image-download error recurs.
What is the expected behavior?

Desktop should render the appropriate conversation content consistently with the web client. If this is a document-processing intermediate image, it should not appear as an unexplained empty block in the final answer. If it is intended to be user-visible, the composite asset reference should resolve correctly, and a failed load should not leave an indefinite blank placeholder.

Additional information

The logs suggest the composite sediment:// reference is being passed to a file-download route that expects a standard file ID. This is a suspected asset-resolution incompatibility, not a source-code-confirmed root cause. Whether the resource is an intermediate document-page image accidentally exposed by desktop is also unconfirmed.

Related: #34801 and #26187. This report differs from the estuary authorization failure in #34801: the observed error here is HTTP 422 Invalid file_id at the initial file-download request.

Private conversation IDs, file IDs, document contents, and unrelated log entries have been omitted.

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.

Research direction

Start with the desktop logs around /files/download/{file_id}, the sediment:// asset pointer, and the custom resolver, then follow the reproduction steps for the affected conversation. Confirm whether the composite reference is sent to the file-download route and whether the blank block is intended content. Done means the desktop conversation matches the web client without an unexplained blank placeholder or recurring 422 failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.