openai / openai/codex

[Windows][26.901.5003.0] Pet stops responding after first hover while animation timers continue

Open
#43,713 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

app bug pets windows-os
Dominant language
Rust
Stars
125k
Forks
19.4k
PR merge metrics
PR metrics pending

Description

What version of the Codex App are you using?

OpenAI.Codex 26.901.5003.0 (Windows desktop).

What platform is your computer?

Windows x64.

What issue are you seeing?

The desktop pet reacts to the first mouse hover, then appears stuck and no longer reacts to subsequent mouse enter/leave movements. This occurs with multiple pets on the same machine.

A local performance trace suggests that the pet renderer stops receiving mouse events after the first hover, while animation scheduling and rendering activity continue. The exact cause of the input loss is not established.

What steps can reproduce the bug?
  1. Launch Codex and display a desktop pet.
  2. Move the mouse onto the pet. The first hover triggers an animation.
  3. Move the mouse away and repeatedly move it back onto and off the pet.
  4. The pet no longer produces a new hover response.

During the recorded reproduction, I kept the pet visible throughout and repeatedly moved the pointer into and out of it; I did not close or hide the pet.

What is the expected behavior?

Each subsequent mouse enter/leave should continue to reach the pet and trigger the appropriate interaction.

What troubleshooting has already been tried?
  • Enabled Windows client-area animation effects, verified the setting was enabled, and restarted Codex. The problem persisted.
  • Checked three locally installed custom v2 pets: their WebP spritesheets fully decode at 1536 × 2288, with six distinct idle frames and five distinct jump frames. This checks the local assets, but does not prove which asset copies the runtime loaded.
  • The issue affects multiple pets; this report does not claim a separately verified built-in-pet reproduction.
Local performance-trace observations

Recorded on September 8, 2026 using the app's Help menu performance tracing. The start/stop logging interval is approximately 26.74 seconds; the main event/sample coverage is approximately 21.2 seconds.

Relative to the trace's main-process CPU profile start:

Observation Trace evidence
First hover reaches the pet At ~1.647 s, hit testing changes from the background section to the mascot DIV, with pointerover/mouseover events.
Pet mouse-event stream stops The final pet mousemove/pointermove occurs at ~1.681 s; no further EventDispatch events are observed in that renderer.
Animation scheduling continues A 140/140/140/140/280 ms timer sequence repeats three times, then switches at ~4.186 s to the 1680/660/660/840/840/1920 ms idle sequence. These sequences match the packaged animation player.
Renderer continues doing work after the last mouse event 50 TimerFire, 238 FireAnimationFrame, and 173 Paint events remain. Paint counts include other overlay content, not just sprite frames.
Other app input continues Another renderer receives 604 mousemove events after the pet's final mousemove.

Among 31 matched timers consistent with the sprite-animation sequence, the maximum observed firing delay is about 2.49 ms. This argues against a sustained animation-timer or renderer-thread hang during this recording.

The pet renderer was identified by its execution of avatar-overlay-native-page and use-floating-window-pointer-interactivity scripts, not simply by process size or PID order.

Suspected area, not a confirmed root cause

The observations suggest investigating the shared overlay hit regions, mouse passthrough, and pointer-event forwarding. Relevant packaged paths include:

  • use-floating-window-pointer-interactivity
  • avatar-overlay-native-page / setPointerRegions
  • applyPointerInteractivityPolicy / applyInputShape / refreshCursorAtCurrentMousePosition in the main process

The trace does not expose every native setInputShape / setIgnoreMouseEvents argument or the complete window stacking state. It therefore cannot distinguish the exact initiating defect among hit-region updates, native event forwarding, or window overlap.

The raw trace remains local and is not attached to this public issue. No application-package patch has been applied.

Related reports
  • #34227 — pet hit region desynchronizes from the visible mascot.
  • #42255 — pet freezes after left-click/drag, with scaling-related drag offset.
  • #41920 — pet reacts but cannot be dragged.

These are related symptoms, not a claim that they have the same root cause. This report adds a first-hover reproduction and trace evidence that mouse input stops while the animation scheduler continues.

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 packaged use-floating-window-pointer-interactivity and avatar-overlay-native-page/setPointerRegions paths, then inspect applyPointerInteractivityPolicy, applyInputShape, and refreshCursorAtCurrentMousePosition in the main process. Use the reported hover reproduction and performance-trace observations to determine where input stops. Done means repeated mouse enter/leave events reach the pet and trigger each expected response.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.