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>&nbsp;&nbsp;[![Chat
 with 
Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=githu
 b)&nbsp;[![Join 
Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share
 on 
X](https://img.shields.io/badge/X-share-black)](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]

Reply via email to