[ 
https://issues.apache.org/jira/browse/NIFI-16172?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Gilman updated NIFI-16172:
-------------------------------
    Fix Version/s: 2.12.0
       Resolution: Fixed
           Status: Resolved  (was: Patch Available)

> Multiple nifiTooltip hover tooltips can remain open at once and can get stuck 
> open indefinitely
> -----------------------------------------------------------------------------------------------
>
>                 Key: NIFI-16172
>                 URL: https://issues.apache.org/jira/browse/NIFI-16172
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Core UI
>            Reporter: Rob Fellows
>            Assignee: Rob Fellows
>            Priority: Major
>             Fix For: 2.12.0
>
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> h3. Problem
> The shared hover-tooltip directive 
> (nifi-frontend/src/main/frontend/libs/shared/src/directives/nifi-tooltip.directive.ts)
>  can leave multiple tooltips visible on screen at the same time, and in some 
> cases a tooltip can remain open indefinitely after the pointer has moved away.
> This is most visible on listing tables that render small icons with hover 
> tooltips in a "more details"-style column — e.g. Controller Services, 
> Reporting Tasks, Parameter Providers, Connectors, and the Controller Service 
> references list — where the icons for comments, validation errors, and 
> bulletins sit close together. Sweeping the pointer down or across a column of 
> these icons can leave several tooltips stacked on top of one another, and 
> occasionally one lingers until another tooltip is opened or the view is 
> destroyed.
> A related, secondary symptom: when a tooltip's content is long enough to 
> scroll (validation errors, comments, and bulletins render inside a scrollable 
> container capped by {{max-height}}), the interaction that is supposed to let 
> a user move the pointer onto the tooltip to read/scroll it is fragile — the 
> tooltip can disappear before the pointer reaches it, or (conversely) fail to 
> close afterward.
> h3. Steps to Reproduce
> Open a listing with several components that have validation errors, comments, 
> or bulletins (e.g. the Controller Services listing).
> Hover the warning/comment/bulletin icons and move the pointer between 
> adjacent rows/icons at a normal-to-fast pace.
> Observe that more than one tooltip can be visible simultaneously, and that a 
> tooltip can remain on screen after the pointer is no longer over its trigger.
> h3. Impact
> Purely a UI/UX defect (no data or security impact), but the 
> stacked/overlapping tooltips obscure the table, look broken, and make long 
> validation/error messages hard to read.
> h3. Root cause (analysis)
> The directive tracks "pointer is over the tooltip" with a cached boolean that 
> is set/cleared by the overlay's own {{mouseenter}}/{{mouseleave}} listeners, 
> and its close logic is gated on that flag. Because 
> {{mouseenter}}/{{mouseleave}} are only reliably balanced when elements aren't 
> being dynamically attached/detached or covered by other overlays, the cached 
> flag can get "stuck", after which the close path is suppressed. There is also 
> no notion of a single active tooltip, so independent directive instances 
> don't coordinate and can each remain open.
> h3. Possible direction (non-prescriptive)
> Any robust fix should make open/close decisions resilient to dropped or 
> coalesced pointer events rather than relying solely on a cached hover flag, 
> and should ensure the UI doesn't accumulate multiple simultaneously-visible 
> tooltips. Exact approach is open to the implementer. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to