Bug description

Summary

In Apache Superset version 4.1.1, clicking on a legend item in a Deck.gl scatter plot chart causes the browser window to scroll to the top of the page. This disrupts the dashboard experience, especially on long dashboards.


Steps to Reproduce

  1. Install Superset 4.1.1 (pip install apache-superset)
  2. Create a Deck.gl scatter plot chart with a legend.
  3. Add the chart to a dashboard that is long enough to allow scrolling.
  4. Scroll down and click any legend item in the chart.

Expected Result

  • Clicking a legend item should only filter/highlight data in the chart.
  • The page should not scroll.

Actual Result

  • Clicking a legend item scrolls the browser window to the top of the page.

Screenshots / GIF


Environment

  • Superset version: 4.1.1 (pip install)
  • Browser: [e.g. Chrome 124, Firefox 125]
  • OS: [e.g. Ubuntu 22.04, Windows 10, macOS Sonoma]
  • Deployment method: pip

Additional Context

  • This bug was reported and fixed in earlier versions (#13092, PR #13335), but appears to be back in 4.1.1.
  • No custom plugins or overrides in use.
  • Hard-refreshing/clearing cache does not help.
  • The issue affects dashboard navigation for end-users.

References


Please let me know if you need further details or a sample dashboard to reproduce!

Screenshots/recordings

No response

Superset version

master / latest-dev

Python version

3.9

Node version

16

Browser

Chrome

Additional context

No response

Checklist

  • [ ] I have searched Superset docs and Slack and didn't find a solution to my problem.
  • [ ] I have searched the GitHub issue tracker and didn't find a similar bug report.
  • [ ] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Comment From: dosubot[bot]

Based on a thorough search of the Superset repository and related documentation, the issue where clicking a legend item in a Deck.gl scatter plot causes the browser window to scroll to the top in Superset 4.1.1 is not currently documented as a known or fixed issue in recent versions. While there have been recent changes to the DeckGL legend layout (see changelog), there is no mention of a fix for this specific scrolling problem.

Previous reports and fixes for similar issues exist (Issue #13092, PR #13335), but there are no new issues, discussions, or release notes confirming a reappearance or resolution of this bug in 4.1.1 or later. No workarounds or temporary fixes are documented in the repository or changelogs.

If you need further assistance, providing a minimal reproducible example or more details might help the community investigate further, but as of now, there is no official fix or workaround available for this issue in Superset 4.1.1 or newer versions.

To continue talking to Dosu, mention @dosu-bot.


Help Dosu learn! Give it feedback: Great Response | Irrelevant Answer | Incorrect Sources | Too Verbose | Hallucination | Bug Report | Other

Comment From: rusackas

PR's welcome here, but in the meantime, have you tested 4.1.2 or 5.0.0rc2 to see if the issue still exsists there?

Comment From: DarksChoise

Does anyone know if this problem has been solved? @geido

Comment From: DarksChoise

@geido

Comment From: DarksChoise

@sadpandajoe

Comment From: sadpandajoe

@DarksChoise looking at @rusackas 's suggestion, if you still see it on 4.1.2 and 5.0.0rc2, it probably hasn't been fixed.

Comment From: DarksChoise

and on the main branch (master)?

Comment From: sadpandajoe

If it's showing up in master it also hasn't been fixed. Also feel free to submit a PR to fix the issue.

Comment From: DarksChoise

@dosu-bot

Comment From: dosubot[bot]

The Deck.gl scatter plot legend scroll-to-top bug is still present in the master branch. The root cause is that the Legend component uses anchor tags (<a href="#">) for legend items but does not call event.preventDefault() in the click handler, so clicking a legend item scrolls the page to the top. There are no recent pull requests, issues, or changelog entries indicating this has been fixed or is being worked on in master. You can see this in the current implementation of the Legend component (source).

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Join Discord Share on X