openai / openai/codex

[macOS] Desktop input lag after repeated ResizeObserver errors

Open
#44,730 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug performance
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.71938

What subscription do you have?

ChatGPT paid subscription (tier omitted from public issue)

What platform is your computer?

Darwin 25.6.0 arm64 arm macOS 26.6.2 (25G83), Apple M5 Pro

What issue are you seeing?

On ChatGPT/Codex Desktop for macOS, text input becomes delayed and the UI feels like it is stuttering. The user observed the lag while typing Korean and English; during the episode, lag was also reported in other apps.

In the affected session, the desktop log repeatedly emitted:

[electron-message-handler] [desktop-notifications][global-error] ResizeObserver loop completed with undelivered notifications.

A window reload (⌘⌃R / Reload Window) did not resolve the symptom. A separate Logi Options+ resource spike was observed and restarting its service reduced that process from about 893 MB and 1,454 threads to about 144 MB and 136 threads. The app-side renderer/layout condition remains a suspected contributor.

Measured during the episode:

  • Codex App: 26.903.71938; bundled Chromium/Codex Framework: 152.0.7977.83
  • OS: macOS 26.6.2 (25G83), Apple Silicon arm64
  • Displays: built-in 3024×1964 Retina XDR plus external 1920×1080 at 120 Hz
  • Codex renderer: about 956 MB RSS and about 14% CPU at one sample
  • WindowServer: about 893 MB RSS and about 37% CPU at the same sample
  • The ResizeObserver line occurred 453 times in the captured app log

These measurements were captured locally. No raw logs, prompts, account identifiers, or local paths are included.

What steps can reproduce the bug?
  1. Launch ChatGPT/Codex Desktop on the macOS setup above.
  2. Leave a Codex conversation active while it is streaming or handling tool activity.
  3. Type and delete Korean or English text in the composer.
  4. Observe delayed key appearance and intermittent UI stutter; in this session, the user also observed lag in other apps.
  5. Press ⌘⌃R to reload the window. The input lag remains and the ResizeObserver messages continue to accumulate in the app log.
What is the expected behavior?

Text entry and deletion should remain responsive while a conversation is streaming. ResizeObserver warnings should be bounded and should not trigger repeated layout work or contribute to global UI/compositor lag.

Additional information

Related reports: #42495 (macOS ResizeObserver log flooding) and #33996 (ResizeObserver loops correlated with visible UI freezes on Windows). This report is macOS-specific and focuses on user-visible input latency and compositor load.

Please advise whether there is a supported workaround or a build that fixes this behavior. Account and billing details are intentionally omitted from this public issue.

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 at the Electron desktop renderer's electron-message-handler and desktop-notifications/global-error path, focusing on the repeated ResizeObserver warnings during streaming and text entry. Reproduce the macOS input lag with the listed typing and reload steps, then verify that warnings no longer accumulate and text input remains responsive without the reported renderer or compositor load.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron, macos
Domain
desktop, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.