Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deckgl graph getting freezed #32592

Open
2 of 3 tasks
Agent-Hellboy opened this issue Mar 11, 2025 · 7 comments
Open
2 of 3 tasks

deckgl graph getting freezed #32592

Agent-Hellboy opened this issue Mar 11, 2025 · 7 comments
Labels
viz:charts:deck.gl Related to deck.gl charts

Comments

@Agent-Hellboy
Copy link

Agent-Hellboy commented Mar 11, 2025

Bug description

I passed an incorrect column name in the JavaScript tooltip, and instead of displaying an error message, the chart froze. I found the following error in the browser console:

explore/:6 Uncaught ReferenceError: dataString is not defined
at Object.l [as onHover] (common.tsx:41:20)
at g.onHover (layer.ts:360:25)
at Ie._pickAndCallback (deck.ts:869:31)
at Ie._onRenderFrame (deck.ts:1035:10)

However, I’d expect this error to also appear in the UI rather than causing the graph to freeze.

Screenshots/recordings

Image

Superset version

master / latest-dev

Python version

3.10

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.
@Agent-Hellboy Agent-Hellboy changed the title deckgl graph getting freezed if deckgl graph getting freezed Mar 11, 2025
@dosubot dosubot bot added the viz:charts:deck.gl Related to deck.gl charts label Mar 11, 2025
Copy link

dosubot bot commented Mar 11, 2025

Hello, @Agent-Hellboy! I'm here to help you with any bugs, questions, or contributions. Let's work together to solve the issue you're facing.

The issue you're experiencing with the DeckGL graph freezing due to an incorrect column name in the JavaScript tooltip is likely related to how errors are handled in the tooltip generation process. Superset uses a function called sandboxedEval to evaluate JavaScript code for tooltips. This function is designed to catch errors during evaluation and return them as functions that, when called, will return the error [1].

However, it seems that in your case, the error is not being properly propagated to the UI, which is why the graph freezes instead of displaying an error message. To address this, you might want to ensure that the error handling mechanism is correctly implemented in your tooltip code. Additionally, Superset has a function called buildErrorTooltipMessage that constructs error messages for tooltips, which might be useful in handling such errors [2].

If the issue persists, you may need to review the JavaScript code used for the tooltip to ensure it aligns with the expected data structure and column names. This can help prevent reference errors like the one you're encountering.

To continue talking to Dosu, mention @dosu.


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

@Agent-Hellboy
Copy link
Author

Agent-Hellboy commented Mar 11, 2025

@dosubot are you saying this behavior is expected?

@sadpandajoe
Copy link
Member

The feature for this has been deprecated so there are no warranties for this anymore. Can you live without it, if not it'll probably be a feature request to find a new solution. We are looking at handlebars as a potential solution in the future.

@sadpandajoe sadpandajoe added the review:checkpoint Last PR reviewed during the daily review standup label Mar 11, 2025
Copy link

dosubot bot commented Mar 11, 2025

This behavior isn't expected. Ideally, the system should handle such errors gracefully by displaying an error message in the UI instead of freezing. The freezing indicates that the error handling isn't functioning as intended. It would be beneficial to review and possibly enhance the error handling in the tooltip code to ensure that errors are caught and displayed properly, preventing the graph from freezing.

To continue talking to Dosu, mention @dosu.


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

@Agent-Hellboy
Copy link
Author

Agent-Hellboy commented Mar 12, 2025

Hi @sadpandajoe, we should show a pop-up box with deprecation warning for deckgl graphs whenever a user tries to use it, I can add a PR.
Where can I find the doc with the deprecation warning?

@rusackas
Copy link
Member

All consensus (whether it's a deprecation, or a major new feature/SIP) happen on the ASF dev mailing list. You can join by sending a blank email to dev-subscribe@superset.apache.org. We also tend to discuss these in various syncs (Town Hall, etc) from the Community Calendar on the website, as well as in various channels on Slack. We also often (but not always) add code deprecation warnings in the codebase. I don't think we've ever added deprecation warning tooltips... it's not a bad idea, but it's more to do, and in this case would be adding elements to a feature that is already disabled at most orgs.

@rusackas rusackas removed the review:checkpoint Last PR reviewed during the daily review standup label Mar 12, 2025
@Agent-Hellboy
Copy link
Author

Fair enough @rusackas , feel free to close the issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
viz:charts:deck.gl Related to deck.gl charts
Projects
None yet
Development

No branches or pull requests

3 participants