primeng icon indicating copy to clipboard operation
primeng copied to clipboard

Tooltip: this.container is null on fast mouseover on PrimeNG demo page

Open horizoncarlo opened this issue 9 months ago • 4 comments

Describe the bug

If you mouseover the 4 different inputs with tooltips attached on the current demo page (https://primeng.org/tooltip) the console is filled with "this.container is null" in the preAlign function in tooltip.

image

My guess is because the mouseover is rapid the appear animation on tooltip doesn't have time to complete, and when it does this.container is already dead from mousing back out

From what I can tell this is a recent regression not present in 17.16.0, likely due to https://github.com/primefaces/primeng/issues/15485

Environment

Current live demo page with PrimeNG 17.16.1.

Reproducer

No response

Angular version

17?

PrimeNG version

17.16.1

Build / Runtime

Angular CLI App

Language

TypeScript

Node version (for AoT issues node --version)

20?

Browser(s)

Firefox 125, Chrome 124

Steps to reproduce the behavior

  1. Go to https://primeng.org/tooltip
  2. Quickly mouseover the 4 input fields
  3. See error in the web console

Expected behavior

No error would be good :)

horizoncarlo avatar May 09 '24 19:05 horizoncarlo

Im facing the same problem in my project

jlorellana684 avatar May 10 '24 19:05 jlorellana684

I am also having this error when fast mouse movement:

zone.js:162 Uncaught TypeError: Cannot read properties of null (reading 'style')
    at Tooltip.preAlign (primeng-tooltip.mjs:518:24)
    at Tooltip.alignBottom (primeng-tooltip.mjs:501:14)
    at Tooltip.align (primeng-tooltip.mjs:428:22)
    at primeng-tooltip.mjs:381:18
    at timer (zone.js:1707:37)
    at _ZoneDelegate.invokeTask (zone.js:400:33)
    at ZoneImpl.runTask (zone.js:158:47)
    at invokeTask (zone.js:481:34)
    at ZoneTask.invoke (zone.js:470:48)
    at data.args.<computed> (zone.js:1689:32)

majkers avatar May 14 '24 08:05 majkers

I am seeing this as well (pretty much same stack trace as above). Confirmed that moving slowly is okay, but a bit faster results in the error.

Also, possibly related, my page scrollbar appears for a split second during the showing of the tooltip (goes away as soon as the tooltip is done rendering). As a result, the page re-flows a bit each time which is very jarring if you move the mouse across a bunch of links in succession (e.g. items in a list/table). This happens regardless of movement speed, unfortunately.

No issues upon leaving -- tooltip just vanishes as expected.

djohle avatar May 14 '24 20:05 djohle

I am getting the same issues on the latest version. Fast moving over the tooltip gives the console error, but more annoying now I'm getting a vertical scrollbar on the body for half a second when I hover over an element that display's a tooltip. The vertical scrollbar then disappears.

eliassen-davidmcfeely avatar May 16 '24 12:05 eliassen-davidmcfeely

Hi, i couldn't produce this bug in version 17.17.0. I guess it's fixed.

Sinan997 avatar May 20 '24 19:05 Sinan997

Hi, i couldn't produce this bug in version 17.17.0. I guess it's fixed.

Tried 17.17.0 today and I can also confirm that it does not happen anymore. Commit 6608cae appears to be the fix.

djohle avatar May 20 '24 21:05 djohle

Confirmed on my part that 17.17.0 fixed the issue.

WillBoig avatar May 22 '24 07:05 WillBoig

Also confirmed to be fixed in 17.17.0. Still don't love the magic number of a 100ms timeout under the hood.

Anyway I'll close the issue

horizoncarlo avatar May 22 '24 08:05 horizoncarlo