[
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)