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

ASF GitHub Bot updated FLINK-39017:
-----------------------------------
    Labels: pull-request-available  (was: )

> Flink WebUI Job graph node click interaction fails in Chrome 144+ 
> (PointerEvents suppression)
> ---------------------------------------------------------------------------------------------
>
>                 Key: FLINK-39017
>                 URL: https://issues.apache.org/jira/browse/FLINK-39017
>             Project: Flink
>          Issue Type: Bug
>          Components: Runtime / Web Frontend
>    Affects Versions: 1.20.3, 2.3.0
>            Reporter: Wei Zhong
>            Priority: Major
>              Labels: pull-request-available
>
> *Environment:*
>  * *Browsers:* Chrome 144.0.x (and newer)
>  * *Flink Versions:* All versions (verified in 1.15, 1.17, 1.20, master 
> branch)
>  * *Context:* Job Graph / Plan Visualization page.
> *Steps to Reproduce:*
>  # Open Flink WebUI in Chrome 144+.
>  # Navigate to a running or completed job.
>  # Click on any node in the execution graph to view node details.
> *Actual Result:*
> The node details panel does not pop up. No {{click}} event is fired on the 
> {{.node-group}} element, even though the mouse is physically clicked.
> *Expected Result:*
> The details panel should be displayed as in previous browser versions.
> *Technical Analysis:*
> Our investigation shows that the issue stems from changes in Chrome's 
> hit-testing and gesture recognition logic.
>  * The {{pointerdown}} and {{pointerup}} events fire correctly on the node.
>  * However, the {{click}} event is suppressed by the browser. This is likely 
> because the high-precision coordinate calculations in the new Chrome engine 
> perceive the micro-movements (common in high-scale SVG transforms like 
> Flink's {{scale(999999)}} overlay) as a "Drag" rather than a "Click".
>  * Manually dispatching a click event via Console ({{{}$0.dispatchEvent(new 
> MouseEvent('click', ...)){}}}) successfully triggers the UI logic.
> *Workaround (Console Fix):*
> The following script manually re-dispatches the missing {{click}} event when 
> a {{pointerup}} is detected on a node group:
>  
> {code:java}
> (function() {
>   document.addEventListener('pointerup', (e) => {
>     const node = e.target.closest('.node-group');
>     if (node) {
>       setTimeout(() => {
>         node.dispatchEvent(new MouseEvent('click',
>           { view: window, bubbles: true, cancelable: true }
>         ));
>       }, 50);
>     }
>   }, true);
> })(); {code}
> *Notes:*
> {quote}I am not a frontend expert. The technical analysis and workaround 
> above were conducted with the assistance of Gemini AI and have been verified 
> through my local debugging and testing.
> This issue was identified following a mandatory company-wide Chrome update 
> pushed last week. Starting this week, we have received numerous user reports.
> {quote}



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

Reply via email to