openai / openai/codex

MCP App fullscreen panel becomes blank when the pinned Environment/Sources panel shifts the conversation

Open
#44,156 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug mcp
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.903.61454

What subscription do you have?

Business

What platform is your computer?

Darwin 24.5.0 arm64 arm

What issue are you seeing?

An MCP App renders correctly inline, but its expanded side panel becomes
completely blank at certain widths when the conversation's
Environment/Sources panel is pinned open.

Closing Environment/Sources immediately restores the MCP App, without
reloading it. Subsequent resizing no longer causes it to disappear.

What steps can reproduce the bug?
  1. Render an MCP App in a conversation. Reproduced with a custom
    StoreTextReview app.
  2. Keep the Environment/Sources panel pinned open in the conversation.
  3. Expand the MCP App into the side panel.
  4. Widen the side panel until the conversation content shifts left.
  5. The entire MCP App disappears, while the side-panel tab remains open.
  6. Narrow the panel: the MCP App reappears. This is repeatedly reversible.
  7. While the app is invisible, close Environment/Sources without resizing:
    the app reappears and remains visible during subsequent resizing.

In this particular window layout, the app was visible at a side-panel
width of 1115 px and disappeared at 1116 px. This appears to be a host
layout threshold, not a universal breakpoint in the MCP App.

What is the expected behavior?

The expanded MCP App should remain visible and interactive regardless
of side-panel width or whether Environment/Sources is pinned.

Additional information
Technical investigation

Read-only inspection of the installed client suggests that:

  • The fullscreen webview wrapper remains attached to the conversation's
    DOM portal and uses fixed positioning over the side-panel target.
  • An ancestor combines overflow clipping with an animated horizontal
    transform.
  • The pinned Environment/Sources panel triggers a -158 px conversation
    shift when the remaining conversation width enters its responsive
    "shift" layout.

A standalone HTML reproduction demonstrates that this combination can
clip the fullscreen wrapper completely, despite correct bounding
rectangles and visibility: visible. Moving the wrapper outside the
transformed/clipped conversation restores visibility.

The native trigger was confirmed by closing Environment/Sources.
The exact clipping mechanism is supported by source inspection and the
isolated reproduction; live native DOM styles were not captured.

Suggested fix

Mount the fullscreen webview in a stable host container outside the
conversation's transformed/clipped ancestors, preserving webview state
and ensuring a correct transition back to inline mode.

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 by locating the fullscreen webview wrapper and its DOM portal, then compare it with the standalone HTML reproduction and the conversation's transformed or clipped ancestors. Verify the pinned Environment/Sources layout shift at the reported width threshold. Done means the expanded MCP App stays visible and interactive while resizing, preserves its state, and reappears correctly when returning inline.

Written by the indexing model from the issue text.

Assessment

Tech stack
html
Domain
desktop, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.