patternfly / patternfly/patternfly-react

Bug - Popper - flash of incorrectly positioned popper on open

Open
#12,264 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

  • #12177 by @fallmo — closed without merging
Breaking change :boom:
Dominant language
TypeScript
Stars
862
Forks
392
Avg merge
4d 8h
Merged PRs (30d)
9

Description

Describe the problem
Popper elements (dropdowns, select, etc.) occasionally flash at the top-left of the screen before appearing in their correct position.

Explanation
When a popper opens, there's a race condition between:

  1. The popper element being rendered (initially with opacity: 0)
  2. Popper.js calculating and applying the correct position
  3. The opacity transitioning to 1

The opacity transitions to 1 before Popper.js finished calculating and applying the position transform.

How do you reproduce the problem?

  1. Go to the PatternFly dropdown component page.
  2. Open and close the dropdowns back to back.

Screenshots

  • PF website

https://github.com/user-attachments/assets/0a076fc4-ead1-4d6a-a497-1f72ee3e28f5

  • RH website

https://github.com/user-attachments/assets/4ea2b102-d9c9-4c76-8000-ef3631c6e3ab

What is your environment?

  • OS: macOS Tahoe 26.3

  • Browser: Safari 26.3

  • CPU: M3

  • Memory: 24 GB


Jira Issue: PF-3668

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 PatternFly dropdown component page and the Popper elements involved in opening dropdowns, then reproduce the flash by opening and closing dropdowns repeatedly in Safari. Trace the opening sequence around rendering, Popper.js positioning, and opacity; the issue is done when the popper never appears at the top-left before reaching its correct position.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.