dosubot[bot] commented on issue #33462: URL: https://github.com/apache/superset/issues/33462#issuecomment-3208150690
<!-- Answer --> Here are the main integration points to help steer a PR for the deck.gl path + JavaScript Data Interceptor issue: - The JavaScript Data Interceptor logic is handled in the frontend, especially in the `superset-frontend/src/explore` directory. Look at files like `exploreUtils.js` and `controls/ControlUtils.js` for transformation hooks (e.g., via the `javascript_data_key` field) that apply user-supplied JS to chart data before it reaches plugins. - For deck.gl path visualizations, the core rendering is in `legacy-preset-chart-deckgl/src/layers/Path/Path.jsx` (or `Path.tsx` in newer versions). The main functions are `createDeckGLComponent` and `getLayer`, which expect data in a specific format. Any incompatibility with intercepted data will likely show up here. - Multi-layer deck.gl charts use `Multi.tsx`, which dynamically adjusts the viewport using points extracted from each layer, including Path. The `getPoints` function in `Path.tsx` is key for extracting points from path data for viewport fitting and rendering. Changes here may affect compatibility with data transformed by the interceptor. See [PR #33364](https://github.com/apache/superset/pull/33364) for recent fixes in this area. - There’s no direct documentation for this integration, so tracing the data flow from the Explore pipeline (where user JS is applied) to the Path layer is essential. If you find missing or unclear code comments, consider adding them in your PR. - For context on related bugs and fixes, check out [issue #18696](https://github.com/apache/superset/issues/18696) and [PR #19059](https://github.com/apache/superset/pull/19059), which addressed a similar problem with the JS tooltip generator and Webpack 5 polyfills. Focus your investigation on how the output of the JS Data Interceptor is mapped and validated before being passed to the Path layer, and compare handling between working (2.1.x) and broken (3.x+) versions. Security and sandboxing concerns are important, as this feature is deprecated and due for replacement. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).* --- <sup>How did I do? [Good](https://app.dosu.dev/response-feedback/9c451ffe-5933-4da7-988d-1b2af890b0f6?feedback_type=great_response) | [Irrelevant](https://app.dosu.dev/response-feedback/9c451ffe-5933-4da7-988d-1b2af890b0f6?feedback_type=irrelevant_answer) | [Incorrect](https://app.dosu.dev/response-feedback/9c451ffe-5933-4da7-988d-1b2af890b0f6?feedback_type=incorrect_sources) | [Verbose](https://app.dosu.dev/response-feedback/9c451ffe-5933-4da7-988d-1b2af890b0f6?feedback_type=too_verbose) | [Hallucination](https://app.dosu.dev/response-feedback/9c451ffe-5933-4da7-988d-1b2af890b0f6?feedback_type=hallucination) | [Report 🐛](https://app.dosu.dev/response-feedback/9c451ffe-5933-4da7-988d-1b2af890b0f6?feedback_type=bug_report) | [Other](https://app.dosu.dev/response-feedback/9c451ffe-5933-4da7-988d-1b2af890b0f6?feedback_type=other)</sup> [](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=githu b) [](https://go.dosu.dev/discord-bot) [](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/issues/33462) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
