[Windows][In-app browser] User-initiated selector popup is not exposed; independent-tab workaround cannot return selection
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 125k
- Forks
- 19.4k
- PR merge metrics
- PR metrics pending
Description
Summary
A user-initiated report-filter lookup in a third-party authenticated sandbox emits a browser Page.windowOpen event, but Codex's in-app browser does not expose a usable child window/tab. The parent report's selection remains empty.
The workflow needs the original child-to-parent relationship so the selector can return a chosen library item. Opening the requested selector URL as a separate tab is not an equivalent workaround.
Environment
- Component: Codex desktop app, in-app browser and browser-control surface.
- OS: Windows, x64.
- Installed package:
OpenAI.Codex26.915.4065.0, verified from the installed package. - Observed: September 18, 2026.
- Site context: an already authenticated third-party synthetic sandbox. This is not an OAuth or login failure.
- Subscription and model are not included; relevance has not been established.
Observed reproduction
These steps describe the affected authenticated application, not a standalone public reproduction.
- Open its report-parameter page in the Codex in-app browser.
- Activate the report item's lookup control through browser control. It is a link invoking the site's JavaScript selector action.
- Inspect the parent page and available in-app tabs after the click.
- Observe that no usable selector child is exposed and the parent's selected-item field stays empty.
A captured Page.windowOpen event for the action reported:
userGesture: truewindowName: "_blank"- Window features included width 535, height 405, positioning, and
resizable.
The event's destination URL is intentionally omitted.
Expected behavior
A permitted user-initiated selector should appear as a usable child window or tab, preserving the parent connection required by this same-origin workflow. Selecting an item should populate the parent report field.
If opening the child is blocked by policy or unsupported by the browser, the UI and browser-control surface should expose an actionable reason instead of leaving an apparently inert lookup.
Actual behavior and checks
- Normal activation did not expose a usable child tab.
- A normal-click retest after requesting browser visibility and a Ctrl-click test did not resolve it.
- Navigating separately to the exact URL requested by the site's popup action did render the selector library.
- Choosing a library item from that independently opened tab did not populate the parent and produced:
TypeError: Cannot read properties of null (reading 'document')
in the selection handler. - The separate tab was closed without running a report.
Important: the null-parent error occurred in the independently opened workaround tab. It is not evidence that Codex stripped window.opener from a successfully created original popup. The original popup was not available to inspect. Separate navigation losing the opener is expected and explains why that workaround is unsuitable.
Impact
This blocks a report-filter selection workflow inside Codex even though authentication and navigation work. Users should not need to move to another browser or repeatedly sign in to finish a permitted lookup.
Investigation limits
The failure could involve popup creation, child adoption, visibility, or browser-control discovery. Its exact internal cause and popup disposition have not been confirmed. No same-turn external-browser comparison or standalone minimal HTML reproduction was performed.
Please investigate handling and exposure of user-gesture window.open requests with popup-size features, including retention of the original child-to-parent relationship where allowed. This report does not request disabling web security or bypassing site policies.
Privacy
No patient/resident information, credentials, tokens, cookies, site addresses, organization identifiers, screenshots, raw browser logs, conversation history, or application source code is included. Only sanitized behavior and the generic error text are provided.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the in-app browser handling of the captured Page.windowOpen event and how the browser-control surface discovers child windows or tabs. Reproduce the authenticated selector workflow if possible, then verify that a permitted user-initiated popup remains connected to its parent, or that blocked or unsupported popups expose an actionable reason.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100