You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2026/04/19 19:27:44 UTC
(superset) branch chore/fc-02-legacy-plugin-components updated (62d9ee732ba -> 801a58ef9f8)
This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a change to branch chore/fc-02-legacy-plugin-components
in repository https://gitbox.apache.org/repos/asf/superset.git
from 62d9ee732ba revert: restore map-box class components (plugin deleted on master)
add 6ba90968701 fix(explore): handle boolean false values correctly in control rendering (#39172)
add 4f695e1b4d2 fix(filterReports): _generate_native_filter() crashes on null/empty filterValues (#38954)
add 3a3a6536b7e fix(explore): Unnecessary scroll bars appearing on charts in Explore (#39160)
add 587fe4af632 fix(reports): propagate PlaywrightTimeout so execution transitions to ERROR state (#39176)
add 140f0001f21 fix(sqllab): demote "Save as new" button from primary to secondary (#39179)
add a64609f4f39 fix(explore): add left-indentation to control panel hierarchy (#39177)
add 36de05fe366 fix(plugin-chart-handlebars): improve CSS sanitization tooltip and hide when not needed (#39180)
add ed659958f31 fix(sqllab): use monospace font for SQL in database error messages (#39181)
add 62302ad8c3a perf(webpack): reduce watch mode memory usage and fix docker-compose-light env (#39183)
add 4c2dd634643 fix(sqllab): Update style for code viewer container (#39075)
add 2e80f2a473a fix: add template_processor so Jinja gets rendered before SQLGlot parse (#39207)
add d5017e60c34 fix(sqllab): fix table navigator schema list, pin/unpin UX, copy actions, icons, and toolbar colors (#39173)
add b8b2bdedf9b fix(ace-editor): style bracket matching to blend with theme (#39182)
add 63cceb6a799 refactor(plugins): replace react-icons with antd icons, remove 83MB dependency (#39184)
add d63308ca372 fix(frontend): fix loading spinner positioning in Save modal and filters panel (#39205)
add 4e0890ee1fb feat(api): Add filter_dashboard_id parameter to apply dashboard filters to chart/data endpoint (#38638)
add 1bde6f3bfda fix(mcp): resolve null fields in list_datasets, list_databases, and save_sql_query (#39206)
add bad5a35fce0 fix(explore): constrain Edit Dataset modal height to prevent footer cutoff (#39211)
add d915e4f3ff7 fix(tags): fix Bulk tag modal dropdown clipping and stale tag cache (#39210)
add c49641538d5 feat: modernize deck.gl and map plugins with MapLibre/Mapbox dual renderer (#38035)
add 5263abdc60e fix(AlertsReports): untie filters from alerts reports tabs flag (#38722)
add 6649f35a0d6 fix(reports): escape SQL LIKE wildcards in find_by_extra_metadata (#38738)
add 5815665cc62 feat: role/user CRUD events and login/logout tracking in the action log (#39121)
add 68067d7f44f fix(mcp): handle OAuth-authenticated databases in execute_sql (#39166)
add c7955a38ef7 fix: Drill to Detail for Embedded (#39214)
add f49310b8ff8 fix(sql-lab): apply access check in SqlExecutionResultsCommand (#38952)
add e17cf3c8086 fix(mcp): wire up compact schema serialization for search_tools results (#39229)
add 680cef0ee07 fix(mcp): strip json_metadata and position_json from get_dashboard_info response (#39101)
add e39dd1afce3 fix: implement native browser fullscreen for dashboard charts (#38819)
add 8bcc90c7664 fix(dashboard): Vertical filter bar gradient is extending past the filter bar area (#39204)
add aba7e6dae46 fix(table): cross-filtering breaks after renaming column labels via Custom SQL (#38858)
add b1d69f5b398 docs(api): add Theme API endpoints to OpenAPI spec (#37943)
add f632d2474b3 chore(deps-dev): bump webpack from 5.105.4 to 5.106.0 in /superset-frontend (#39268)
add 4583ef93a47 chore(deps-dev): bump prettier from 3.8.1 to 3.8.2 in /superset-frontend (#39263)
add 1ad76e847e7 chore(deps-dev): bump prettier from 3.8.1 to 3.8.2 in /superset-websocket (#39260)
add b65396ccd4e chore(deps-dev): bump @types/node from 25.5.2 to 25.6.0 in /superset-websocket (#39262)
add f1cf274751d chore(deps): bump axios from 1.13.5 to 1.15.0 in /docs (#39259)
add 2ff50667e77 chore(deps): bump axios from 1.13.5 to 1.15.0 in /superset-frontend (#39258)
add 69c8eef78e9 fix(ag-grid): jpeg export of ag-grid tables (#38781)
add e9911fbac4a fix(echarts): prevent tooltip crash during dashboard auto-refresh (#39277)
add 450701ecec3 fix(SqlLab): improve SQL diff modal — responsive width, padding, tabs, and copy button (#39246)
add 0aa8cace1b6 fix(dataset-editor): fix SQL expression editor extra spaces and height expansion (#39248)
add 98146251c4f fix(tests): improve ShareMenuItems test isolation to fix intermittent suite failure (#39280)
add 7a243d329ef fix(dashboard): allow filter list to scroll in filter config modal sidebar (#39203)
add eea3557f612 fix(dashboard): hide "Filters out of scope" section when empty (#39201)
add de40b58e105 fix(tests): fix async teardown leak in FiltersConfigModal.test.tsx (#39281)
add fa1f12a0b5f fix(explore): replace TableView with virtualized GridTable, add row limit controls, restore sample filters (#39212)
add de98fdc37ba test(heatmap): restore buildQuery coverage on master (#39329)
add c971ea3ec64 fix(heatmap): skip orderby for value-based axis sorts (#39290)
add da371217ef6 fix: revert and restore server-side sorting for value axis sorts (#39331)
add 1462ac92823 fix(dashboard): Ensure screenshot downloads always generate fresh images/pdfs (#38880)
add 0f417f00408 fix(dashboard): preserve dynamic group by column order (#39333)
add 66a9e2e16ed fix(explore): Prevent error toast when navigating away from Explore page (#39065)
add 5138aa2c114 fix(select): select all button cutoff (#39005)
add c2a35e2eeae fix(popup): Dropdown popup width doesn't match input width when tags collapse in oneLine mode (#39136)
add 499e27ea54e fix(native-filter): infinite filter loading by deps (#39175)
add f836c3eccd5 chore(deps-dev): bump typescript-eslint from 8.58.0 to 8.58.2 in /superset-websocket (#39337)
add fa97d0357f3 chore(deps-dev): bump globals from 17.4.0 to 17.5.0 in /superset-websocket (#39310)
add 6287a07912d chore(deps): bump anthropics/claude-code-action from 1.0.89 to 1.0.93 (#39318)
add 002d8ad1e41 chore(deps-dev): bump @types/node from 25.5.0 to 25.6.0 in /superset-frontend (#39265)
add 3e25f02da98 test(sqllab): migrate Cypress E2E tests to Playwright (#39071)
add 86575e129b7 fix(native-filters): prevent infinite recursion in filter scope tree traversal (#39355)
add ffcc6e8b635 fix(MCP): fix MCP logs (#39159)
add 411f7698964 feat(filters): Adding empty state for filter modal (#38909)
add b76080e2917 feat(security): add granular export controls - Phase 2 + 3 (#38581)
add 4b88fc57b46 chore(deps-dev): bump prettier from 3.8.2 to 3.8.3 in /superset-websocket (#39358)
add 8d9b5bd479a chore(deps): bump follow-redirects from 1.15.11 to 1.16.0 in /docs (#39352)
add ddcb9be9a77 fix(sqllab): show schema refresh icon only on hover (#39367)
add 84f7b4a9731 fix: `do_ping` takes a connection, not engine (#39013)
add 724f1484b92 chore(mcp): update CLAUDE.md to reflect current codebase patterns (#39348)
add b2bd2329bc9 chore(deps-dev): bump wait-on from 9.0.4 to 9.0.5 in /superset-frontend (#39322)
add a6156676c82 chore(deps): bump fuse.js from 7.1.0 to 7.3.0 in /superset-frontend (#39146)
add 5661fc91285 chore(deps): bump anthropics/claude-code-action from 1.0.93 to 1.0.96 + temporarily stop Dependabot PR for claude-code-action due to high release frequency but low usage(#39360)
add 0d91f5e9823 chore(deps): bump markdown-to-jsx from 9.7.13 to 9.7.15 in /superset-frontend (#39217)
add 18d6feb4994 feat(mcp): add create_virtual_dataset tool to save SQL queries as datasets (#39279)
add 44e77fdf2b7 fix(explore): dispatch onChange immediately on NumberControl stepper arrow clicks (#39220)
add c2d96e0dce1 fix(table): fix cross-filter not clearing on second click in Interactive Table (#39253)
add c3a0f2749b5 fix(dashboard): apply dynamic groupby display controls to scoped charts (#39356)
add 8471e823426 fix(css-templates): add missing height to CSS editor in CssTemplateModal (#39221)
add b3e88db87e4 fix(table): use column label instead of SQL expression for orderby in downloads (#39332)
add 998b9e387b4 fix(ListView): empty state not filling available width (#39387)
add b11d4f3ef09 fix(i18n): typo in fr language (#36982)
add 388596e4fe1 chore(deps): bump baseline-browser-mapping from 2.10.13 to 2.10.16 in /docs (#39148)
add 45d5501aa7f fix(documentation): FAQ grammar for SQL query wording (#38923)
add c1a1f2e7e77 docs: add Hifadih Business & Technology to In the Wild (#38824)
add eaccb2e471b fix(EmptyState): prevent SVG cropping in empty state images (#37287)
add e0dcb2908db chore(deps): bump swagger-ui-react from 5.32.1 to 5.32.4 in /docs (#39377)
add e542e9f8403 chore(deps): bump actions/cache from 5.0.4 to 5.0.5 (#39368)
add f4a6ea0fde3 chore(deps): bump actions/github-script from 8.0.0 to 9.0.0 (#39267)
add e11a50bedfc chore(deps): bump @docusaurus/faster from 3.9.2 to 3.10.0 in /docs (#39195)
add 61c45e3dd87 chore(deps-dev): bump @docusaurus/module-type-aliases from 3.9.2 to 3.10.0 in /docs (#39194)
add 76a209663d5 chore(deps-dev): bump baseline-browser-mapping from 2.10.13 to 2.10.16 in /superset-frontend (#39150)
add 05227e8a804 chore(deps): bump caniuse-lite from 1.0.30001786 to 1.0.30001788 in /docs (#39376)
add 84af6c9f297 chore(deps-dev): bump @docusaurus/tsconfig from 3.9.2 to 3.10.0 in /docs (#39189)
add 838ee870d02 fix(mcp): update instructions to use correct request wrapper and identifier params (#39392)
add e7b9fb277eb fix(mcp): always push fresh app context per tool call to prevent g.user race (#39385)
add 0b51e9cd5e3 fix(sqllab): format_sql to apply db dialect by database_id (#39393)
add 0b419a07f54 fix: add comments to SQL clause validation (#39167)
add 7c76fd3d81a fix(SelectFilter): auto clear search input (#39157)
add cd7dddb5a1a chore(deps): bump baseline-browser-mapping from 2.10.16 to 2.10.19 in /docs (#39373)
add 735dd5dbae6 chore(deps): bump @swc/core from 1.15.21 to 1.15.24 in /docs (#39133)
add 69f062b804a feat(mcp): add a preview flow to mcp chart updates (#39383)
add e5820b6b2b1 chore: Bump core packages to 0.1.0 RC2 (#39406)
add 8ce234371b9 test(core): restore 100% TS coverage for core-packages-ts (copy utility) (#39384)
add f850c6b1b18 fix(parallel-coordinates): improve dark mode visibility for labels, axis text, and data lines (#39415)
add c2897312123 fix(mcp): prevent LLM from creating new dashboard instead of adding chart to existing one (#39353)
add e5b3a9c25db fix(mcp): replace inputSchema with parameters_hint in search_tools results by default (#39411)
add 2e0d482ccf5 fix(mcp): support explicit query_mode in TableChartConfig (#39412)
add db7a2bd6822 chore(deps): bump protocol-buffers-schema from 3.6.0 to 3.6.1 in /superset-frontend (#39418)
add 4bdc8d4c681 fix(sqllab): Relocate schema display on table preview (#39420)
add be680408c95 fix(sqllab): enhance table explore tree with schema pinning, column sorting, and table schema refresh (#39396)
add 690a411cf32 chore(ci): require PMC review for CI-executed scripts (#39462)
add 3d85e8e23b0 chore: publish wheels (#36746)
add 4ae16cb1408 chore(deps-dev): bump typescript-eslint from 8.58.0 to 8.58.2 in /docs (#39426)
add f0ef9f5e9c7 chore(deps-dev): bump webpack from 5.105.4 to 5.106.2 in /docs (#39401)
add cd6ce881a57 chore(deps): bump dompurify from 3.3.3 to 3.4.0 in /docs (#39398)
add a7310b1fce0 chore(deps): bump @docusaurus/core from 3.9.2 to 3.10.0 in /docs (#39188)
add e535dce0302 chore(deps-dev): bump prettier from 3.8.1 to 3.8.3 in /docs (#39400)
add ce5b2aa4243 chore(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (#39320)
add a9487cbc84a chore(deps): bump aws-actions/amazon-ecr-login from 2.1.2 to 2.1.3 (#39403)
add 03725d1aaa5 chore(deps): bump dompurify from 3.3.3 to 3.4.0 in /superset-frontend (#39399)
add fca64de8e94 chore(deps-dev): bump prettier from 3.8.2 to 3.8.3 in /superset-frontend (#39372)
add 55625c911f6 chore(deps-dev): bump timezone-mock from 1.4.0 to 1.4.2 in /superset-frontend (#38049)
add fbd062165e2 chore(deps): bump @swc/core from 1.15.24 to 1.15.26 in /docs (#39374)
add 801a58ef9f8 Merge branch 'master' into chore/fc-02-legacy-plugin-components
No new revisions were added by this update.
Summary of changes:
.github/CODEOWNERS | 5 +
.github/dependabot.yml | 4 +
.github/labeler.yml | 5 +
.github/workflows/check_db_migration_confict.yml | 2 +-
.github/workflows/claude.yml | 4 +-
.github/workflows/ephemeral-env-pr-close.yml | 4 +-
.github/workflows/ephemeral-env.yml | 16 +-
.github/workflows/no-hold-label.yml | 2 +-
.github/workflows/pre-commit.yml | 2 +-
.github/workflows/release.yml | 4 +-
.github/workflows/showtime-trigger.yml | 2 +-
.github/workflows/superset-e2e.yml | 4 +-
.github/workflows/superset-extensions-cli.yml | 2 +-
.github/workflows/superset-frontend.yml | 4 +-
.github/workflows/superset-helm-release.yml | 2 +-
.github/workflows/superset-playwright.yml | 2 +-
.../workflows/superset-python-integrationtest.yml | 2 +-
.github/workflows/supersetbot.yml | 2 +-
RELEASING/README.md | 2 +-
RESOURCES/INTHEWILD.yaml | 5 +
UPDATING.md | 14 +
docker-compose-light.yml | 9 +
docker/docker-bootstrap.sh | 2 +-
docs/developer_docs/api.mdx | 34 +-
docs/docs/faq.mdx | 2 +-
docs/docs/security/granular-export-controls.mdx | 78 +
docs/package.json | 37 +-
docs/scripts/fix-openapi-spec.py | 25 +
docs/static/img/logos/hifadih.png | Bin 0 -> 18383 bytes
docs/static/resources/openapi.json | 8663 ++++++++++++++------
docs/versioned_docs/version-6.0.0/faq.mdx | 2 +-
docs/yarn.lock | 2028 +++--
pyproject.toml | 3 +-
requirements/base.txt | 2 +-
requirements/development.txt | 2 +-
superset-core/pyproject.toml | 6 +-
superset-extensions-cli/pyproject.toml | 4 +-
.../e2e/sqllab/_skip.sourcePanel.index.test.js | 73 -
.../cypress-base/cypress/e2e/sqllab/query.test.ts | 192 -
.../cypress/e2e/sqllab/sqllab.helper.js | 41 -
.../cypress-base/cypress/e2e/sqllab/tabs.test.ts | 113 -
superset-frontend/package-lock.json | 1120 ++-
superset-frontend/package.json | 18 +-
.../packages/superset-core/package.json | 6 +-
.../src/components/ControlSubSectionHeader.tsx | 4 +
.../packages/superset-ui-core/package.json | 6 +-
.../superset-ui-core/src/chart/types/VizType.ts | 1 +
.../src/components/AsyncAceEditor/index.tsx | 5 +
.../src/components/AsyncEsmComponent/index.tsx | 22 +-
.../CodeSyntaxHighlighter/index.test.tsx | 42 +-
.../src/components/CodeSyntaxHighlighter/index.tsx | 107 +-
.../components/EmptyState/svgs/empty-dashboard.svg | Bin 1631 -> 3078 bytes
.../src/components/EmptyState/svgs/empty.svg | Bin 1944 -> 2690 bytes
.../src/components/EmptyState/svgs/star-circle.svg | Bin 2051 -> 2661 bytes
.../src/components/Icons/AntdEnhanced.tsx | 2 +
.../src/components/Select/Select.test.tsx | 74 +-
.../src/components/Select/Select.tsx | 29 +-
.../src/components/Select/styles.tsx | 10 +-
.../ThemedAgGridReact/ThemedAgGridReact.test.tsx | 45 +-
.../src/components/ThemedAgGridReact/index.tsx | 50 +-
.../superset-ui-core/src/components/index.ts | 1 +
.../superset-ui-core}/src/utils/copy.ts | 5 +-
.../packages/superset-ui-core/src/utils/index.ts | 1 +
.../test/time-comparison/getTimeOffset.test.ts | 42 +-
.../test/time-comparison/parseDttmToDate.test.ts | 114 +-
.../superset-ui-core/test/utils/copy.test.ts | 210 +
superset-frontend/playwright.config.ts | 17 +
.../playwright/components/core/AgGrid.ts | 85 +
.../components/core/EditableTabs.ts} | 49 +-
.../playwright/components/core/Modal.ts | 4 +-
.../components/core/Popover.ts} | 58 +-
.../playwright/components/core/Select.ts | 3 +-
.../playwright/components/core/Tabs.ts | 55 +-
.../playwright/components/core/index.ts | 3 +
.../components/modals/EditDatasetModal.ts | 7 +-
.../components/modals/SaveDatasetModal.ts} | 33 +-
.../components/modals/SaveQueryModal.ts} | 30 +-
.../playwright/components/modals/index.ts | 2 +
.../playwright/helpers/api/assertions.ts | 16 +
.../helpers/api/savedQuery.ts} | 38 +-
.../playwright/helpers/fixtures/testAssets.ts | 25 +-
superset-frontend/playwright/pages/AuthPage.ts | 4 +-
superset-frontend/playwright/pages/SqlLabPage.ts | 371 +
.../playwright/tests/auth/login.spec.ts | 37 +-
.../playwright/tests/sqllab/sqllab.spec.ts | 315 +
superset-frontend/playwright/utils/constants.ts | 16 +
superset-frontend/playwright/utils/urls.ts | 1 +
.../legacy-plugin-chart-map-box/CHANGELOG.md | 55 -
.../plugins/legacy-plugin-chart-map-box/README.md | 52 -
.../legacy-plugin-chart-map-box/src/MapBox.tsx | 243 -
.../src/ScatterPlotGlowOverlay.tsx | 425 -
.../src/stories/MapBox.stories.tsx | 107 -
.../src/transformProps.ts | 162 -
.../test/MapBox.test.tsx | 381 -
.../legacy-plugin-chart-map-box/test/tsconfig.json | 9 -
.../test/utils/roundDecimal.test.ts | 28 -
.../legacy-plugin-chart-map-box/tsconfig.json | 25 -
.../types/external.d.ts | 101 -
.../src/ParallelCoordinates.ts | 28 +-
.../src/ReactParallelCoordinates.tsx | 4 +
.../src/transformProps.ts | 10 +-
.../legacy-preset-chart-deckgl/CHANGELOG.md | 89 -
.../plugins/legacy-preset-chart-deckgl/README.md | 57 -
.../test/utils/colors.test.ts | 25 -
.../test/utils/getPointsFromPolygon.test.ts | 56 -
.../legacy-preset-chart-deckgl/types/external.d.ts | 71 -
.../plugins/legacy-preset-chart-nvd3/package.json | 2 +-
.../src/AgGridTable/index.tsx | 41 +-
.../src/AgGridTableChart.tsx | 89 +-
.../plugin-chart-ag-grid-table/src/buildQuery.ts | 11 +-
.../src/utils/getCellClass.ts | 4 -
.../src/utils/getCrossFilterDataMask.ts | 49 +
.../src/utils/reconcileColumnState.test.ts | 86 +
.../src/utils/reconcileColumnState.ts | 83 +
.../test/buildQuery.test.ts | 21 +-
.../plugin-chart-echarts/src/components/Echart.tsx | 18 +-
.../plugin-chart-echarts/src/utils/tooltip.ts | 3 +-
.../test/Heatmap/buildQuery.test.ts | 95 +-
.../src/plugin/controls/style.tsx | 19 +-
.../plugins/plugin-chart-pivot-table/package.json | 3 +-
.../src/PivotTableChart.tsx | 48 +-
.../src/react-pivottable/TableRenderers.tsx | 17 +-
.../package.json | 19 +-
.../src/MapLibre.css} | 2 +-
.../src/MapLibre.tsx | 216 +
.../src/buildQuery.ts | 90 +
.../src/components/CanvasOverlay.tsx | 121 +
.../src/components/ScatterPlotOverlay.tsx | 400 +
.../src/controlPanel.ts | 126 +-
.../src/images/MapBox-dark.jpg | Bin
.../src/images/MapBox.jpg | Bin
.../src/images/MapBox2-dark.jpg | Bin
.../src/images/MapBox2.jpg | Bin
.../src/images/thumbnail-dark.png | Bin
.../src/images/thumbnail.png | Bin
.../src/images/thumbnailLarge.png | Bin
.../src/index.ts | 11 +-
.../src/stories/PointClusterMap.stories.tsx | 176 +
.../src/stories/data.ts | 0
.../src/transformProps.ts | 292 +
.../src/utils/geo.ts | 0
.../src/utils/luminanceFromRGB.ts | 0
.../src/utils/mapbox.ts} | 18 +-
.../src/utils/roundDecimal.ts | 0
.../test/MapLibre.test.tsx | 262 +
.../test/ScatterPlotOverlay.test.tsx} | 88 +-
.../test/controlPanel.test.ts | 0
.../test/transformProps.test.ts | 88 +-
.../tsconfig.json | 5 -
.../types/external.d.ts | 2 +-
.../plugins/plugin-chart-table/package.json | 1 -
.../plugins/plugin-chart-table/src/TableChart.tsx | 41 +-
.../plugin-chart-table/src/transformProps.ts | 16 +
.../plugins/plugin-chart-table/src/types.ts | 4 +
.../plugin-chart-table/test/TableChart.test.tsx | 334 +
.../package.json | 27 +-
.../src/CategoricalDeckGLContainer.tsx | 17 +-
.../src/DeckGLContainer.tsx | 138 +-
.../src/Multi/Multi.test.tsx | 2 +-
.../src/Multi/Multi.tsx | 14 +-
.../src/Multi/controlPanel.test.ts | 0
.../src/Multi/controlPanel.ts | 10 +-
.../src/Multi/images/example-dark.png | Bin
.../src/Multi/images/example.png | Bin
.../src/Multi/images/thumbnail-dark.png | Bin
.../src/Multi/images/thumbnail.png | Bin
.../src/Multi/images/thumbnailLarge.png | Bin
.../src/Multi/index.ts | 0
.../src/TooltipRow.tsx | 0
.../src/components/DeckGLOverlayMapLibre.tsx} | 18 +-
.../src/components/DeckGLOverlayMapbox.tsx} | 18 +-
.../src/components/Legend.tsx | 10 +-
.../src/components/Tooltip.tsx | 8 +-
.../src/factory.tsx | 15 +-
.../src/index.ts | 0
.../src/layers/Arc/Arc.tsx | 0
.../src/layers/Arc/buildQuery.ts | 0
.../src/layers/Arc/controlPanel.ts | 9 +-
.../src/layers/Arc/images/example-dark.png | Bin
.../src/layers/Arc/images/example.png | Bin
.../src/layers/Arc/images/thumbnail-dark.png | Bin
.../src/layers/Arc/images/thumbnail.png | Bin
.../src/layers/Arc/images/thumbnailLarge.png | Bin
.../src/layers/Arc/index.ts | 0
.../src/layers/Arc/stories/Arc.stories.tsx | 7 +-
.../src/layers/Arc/stories/payload.ts | 0
.../src/layers/Arc/transformProps.ts | 0
.../src/layers/Contour/Contour.tsx | 0
.../src/layers/Contour/buildQuery.ts | 0
.../src/layers/Contour/controlPanel.ts | 4 +
.../src/layers/Contour/getSafeCellSize.test.ts | 0
.../src/layers/Contour/getSafeCellSize.ts | 0
.../src/layers/Contour/images/example-dark.png | Bin
.../src/layers/Contour/images/example.png | Bin
.../src/layers/Contour/images/thumbnail-dark.png | Bin
.../src/layers/Contour/images/thumbnail.png | Bin
.../src/layers/Contour/images/thumbnailLarge.png | Bin
.../src/layers/Contour/index.ts | 0
.../src/layers/Contour/transformProps.ts | 0
.../src/layers/Geojson/Geojson.test.ts | 5 +-
.../src/layers/Geojson/Geojson.tsx | 16 +-
.../src/layers/Geojson/buildQuery.ts | 86 +
.../src/layers/Geojson/controlPanel.ts | 9 +-
.../src/layers/Geojson/images/example-dark.png | Bin
.../src/layers/Geojson/images/example.png | Bin
.../src/layers/Geojson/images/thumbnail-dark.png | Bin
.../src/layers/Geojson/images/thumbnail.png | Bin
.../src/layers/Geojson/images/thumbnailLarge.png | Bin
.../src/layers/Geojson/index.ts | 5 +-
.../src/layers/Geojson/transformProps.ts | 50 +
.../src/layers/Grid/Grid.tsx | 0
.../src/layers/Grid/buildQuery.ts | 0
.../src/layers/Grid/controlPanel.ts | 4 +
.../src/layers/Grid/images/example-dark.png | Bin
.../src/layers/Grid/images/example.png | Bin
.../src/layers/Grid/images/thumbnail-dark.png | Bin
.../src/layers/Grid/images/thumbnail.png | Bin
.../src/layers/Grid/images/thumbnailLarge.png | Bin
.../src/layers/Grid/index.ts | 0
.../src/layers/Grid/stories/Grid.stories.tsx | 7 +-
.../src/layers/Grid/stories/payload.ts | 0
.../src/layers/Grid/transformProps.ts | 0
.../src/layers/Heatmap/Heatmap.tsx | 8 +-
.../src/layers/Heatmap/buildQuery.ts | 0
.../src/layers/Heatmap/controlPanel.ts | 4 +
.../src/layers/Heatmap/images/example-dark.png | Bin
.../src/layers/Heatmap/images/example.png | Bin
.../src/layers/Heatmap/images/thumbnail-dark.png | Bin
.../src/layers/Heatmap/images/thumbnail.png | Bin
.../src/layers/Heatmap/images/thumbnailLarge.png | Bin
.../src/layers/Heatmap/index.ts | 0
.../src/layers/Heatmap/transformProps.ts | 0
.../src/layers/Hex/Hex.tsx | 0
.../src/layers/Hex/buildQuery.ts | 0
.../src/layers/Hex/controlPanel.ts | 4 +
.../src/layers/Hex/images/example-dark.png | Bin
.../src/layers/Hex/images/example.png | Bin
.../src/layers/Hex/images/thumbnail-dark.png | Bin
.../src/layers/Hex/images/thumbnail.png | Bin
.../src/layers/Hex/images/thumbnailLarge.png | Bin
.../src/layers/Hex/index.ts | 0
.../src/layers/Hex/stories/Hex.stories.tsx | 7 +-
.../src/layers/Hex/stories/payload.ts | 0
.../src/layers/Hex/transformProps.ts | 0
.../src/layers/Path/Path.test.tsx | 0
.../src/layers/Path/Path.tsx | 2 +-
.../src/layers/Path/buildQuery.ts | 0
.../src/layers/Path/controlPanel.ts | 4 +
.../src/layers/Path/images/example-dark.png | Bin
.../src/layers/Path/images/example.png | Bin
.../src/layers/Path/images/thumbnail-dark.png | Bin
.../src/layers/Path/images/thumbnail.png | Bin
.../src/layers/Path/images/thumbnailLarge.png | Bin
.../src/layers/Path/index.ts | 0
.../src/layers/Path/stories/Path.stories.tsx | 7 +-
.../src/layers/Path/stories/payload.ts | 0
.../src/layers/Path/transformProps.ts | 0
.../src/layers/Polygon/Polygon.test.tsx | 2 +-
.../src/layers/Polygon/Polygon.tsx | 3 +-
.../src/layers/Polygon/buildQuery.test.ts | 0
.../src/layers/Polygon/buildQuery.ts | 0
.../src/layers/Polygon/controlPanel.ts | 10 +-
.../src/layers/Polygon/images/example-dark.png | Bin
.../src/layers/Polygon/images/example.png | Bin
.../src/layers/Polygon/images/thumbnail-dark.png | Bin
.../src/layers/Polygon/images/thumbnail.png | Bin
.../src/layers/Polygon/images/thumbnailLarge.png | Bin
.../src/layers/Polygon/index.ts | 0
.../src/layers/Polygon/stories/Polygon.stories.tsx | 10 +-
.../src/layers/Polygon/stories/geojsonPayload.ts | 0
.../src/layers/Polygon/stories/payload.ts | 0
.../src/layers/Polygon/transformProps.test.ts | 0
.../src/layers/Polygon/transformProps.ts | 0
.../src/layers/Scatter/Scatter.tsx | 0
.../src/layers/Scatter/buildQuery.test.ts | 0
.../src/layers/Scatter/buildQuery.ts | 0
.../src/layers/Scatter/controlPanel.ts | 9 +-
.../src/layers/Scatter/images/example-dark.png | Bin
.../src/layers/Scatter/images/example.png | Bin
.../src/layers/Scatter/images/thumbnail-dark.png | Bin
.../src/layers/Scatter/images/thumbnail.png | Bin
.../src/layers/Scatter/images/thumbnailLarge.png | Bin
.../src/layers/Scatter/index.ts | 0
.../src/layers/Scatter/stories/Scatter.stories.tsx | 7 +-
.../src/layers/Scatter/stories/payload.ts | 0
.../src/layers/Scatter/transformProps.test.ts | 0
.../src/layers/Scatter/transformProps.ts | 0
.../src/layers/Screengrid/Screengrid.tsx | 9 +-
.../src/layers/Screengrid/buildQuery.ts | 0
.../src/layers/Screengrid/controlPanel.ts | 9 +-
.../src/layers/Screengrid/images/example-dark.png | Bin
.../src/layers/Screengrid/images/example.png | Bin
.../layers/Screengrid/images/thumbnail-dark.png | Bin
.../src/layers/Screengrid/images/thumbnail.png | Bin
.../layers/Screengrid/images/thumbnailLarge.png | Bin
.../src/layers/Screengrid/index.ts | 0
.../Screengrid/stories/Screengrid.stories.tsx | 8 +-
.../src/layers/Screengrid/stories/payload.ts | 0
.../src/layers/Screengrid/transformProps.ts | 0
.../src/layers/buildQueryUtils.ts | 0
.../src/layers/common.test.ts | 0
.../src/layers/common.tsx | 0
.../src/layers/index.ts | 0
.../src/layers/spatialUtils.test.ts | 2 +-
.../src/layers/spatialUtils.ts | 26 +-
.../src/layers/transformUtils.test.ts | 0
.../src/layers/transformUtils.ts | 0
.../src/layers/utils/metricUtils.test.ts | 0
.../src/layers/utils/metricUtils.ts | 0
.../src/preset.ts | 0
.../src/transformProps.ts | 0
.../src/types.ts | 0
.../src/utilities/HandlebarsRenderer.tsx | 0
.../src/utilities/Shared_DeckGL.tsx | 71 +-
.../src/utilities/TooltipTemplateControl.tsx | 0
.../src/utilities/TooltipTemplateEditor.tsx | 0
.../src/utilities/controlRegistry.tsx | 0
.../src/utilities/controls.ts | 0
.../src/utilities/multiValueUtils.ts | 0
.../src/utilities/sharedDndControls.tsx | 0
.../src/utilities/tooltipUtils.tsx | 0
.../src/utilities/utils.ts | 0
.../src/utils.test.ts | 0
.../src/utils.ts | 45 -
.../src/utils/colors.ts | 0
.../src/utils/computeBoundsFromPoints.ts | 0
.../src/utils/crossFiltersDataMask.test.ts | 0
.../src/utils/crossFiltersDataMask.ts | 0
.../src/utils/explore.ts | 0
.../src/utils/fitViewport.ts | 0
.../src/utils/geo.ts | 0
.../src/utils/getPointsFromPolygon.ts | 0
.../preset-chart-deckgl/src/utils/mapbox.ts} | 18 +-
.../src/utils/safeStringify.ts | 0
.../src/utils/sandbox.ts | 0
.../preset-chart-deckgl}/tsconfig.json | 13 +-
.../types/external.d.ts | 2 +-
superset-frontend/scripts/check-custom-rules.js | 2 +
.../src/SqlLab/components/ColumnElement/index.tsx | 12 +-
.../components/EditorWrapper/useKeywords.test.ts | 27 +-
.../SqlLab/components/EditorWrapper/useKeywords.ts | 108 +-
.../HighlightedSql/HighlightedSql.test.tsx | 37 +-
.../src/SqlLab/components/HighlightedSql/index.tsx | 68 +-
.../SqlLab/components/QueryLimitSelect/index.tsx | 2 +-
.../SqlLab/components/ResultSet/ResultSet.test.tsx | 223 +-
.../src/SqlLab/components/ResultSet/index.tsx | 86 +-
.../components/SaveDatasetActionButton/index.tsx | 4 +-
.../src/SqlLab/components/SaveQuery/index.tsx | 2 +-
.../SqlLab/components/ShareSqlLabQuery/index.tsx | 2 +-
.../SqlEditorLeftBar/SqlEditorLeftBar.test.tsx | 2 +-
.../TableExploreTree/TableExploreTree.test.tsx | 6 +-
.../TableExploreTree/TreeNodeRenderer.tsx | 280 +-
.../SqlLab/components/TableExploreTree/index.tsx | 219 +-
.../components/TableExploreTree/useTreeData.ts | 218 +-
.../src/SqlLab/components/TablePreview/index.tsx | 2 +-
superset-frontend/src/SqlLab/fixtures.ts | 2 +-
.../components/Chart/DrillBy/DrillByModal.test.tsx | 44 +-
.../Chart/DrillBy/useResultsTableView.test.ts | 75 +-
.../Chart/DrillBy/useResultsTableView.tsx | 25 +-
.../CopyToClipboard/CopyToClipboard.test.tsx | 24 +
.../src/components/CopyToClipboard/index.tsx | 20 +-
.../src/components/CopyToClipboard/types.ts | 1 +
.../DatabaseSelector/DatabaseSelector.test.tsx | 6 +-
.../src/components/DatabaseSelector/index.tsx | 21 +-
.../Datasource/DatasourceModal/index.tsx | 3 +-
.../DatasourceEditor/DatasourceEditor.tsx | 47 +-
.../ErrorMessage/DatabaseErrorMessage.tsx | 1 +
.../src/components/ErrorMessage/ErrorAlert.tsx | 12 +-
.../src/components/ErrorMessage/types.ts | 1 +
.../src/components/ListView/ListView.tsx | 1 +
.../src/components/PanelToolbar/index.tsx | 4 +-
.../TableSelector/TableSelector.test.tsx | 2 +-
superset-frontend/src/components/Tag/utils.tsx | 11 +-
.../DashboardBuilder/DashboardContainer.test.tsx | 291 +-
.../DashboardBuilder/DashboardContainer.tsx | 43 +-
.../Header/useHeaderActionsDropdownMenu.tsx | 3 +
.../src/dashboard/components/SliceHeader/index.tsx | 4 +
.../SliceHeaderControls.test.tsx | 73 +-
.../components/SliceHeaderControls/Styles.tsx | 71 +
.../components/SliceHeaderControls/index.tsx | 89 +-
.../components/gridComponents/Chart/Chart.tsx | 12 +-
.../gridComponents/ChartHolder/ChartHolder.tsx | 109 +-
.../DownloadMenuItems/DownloadMenuItems.test.tsx | 112 +-
.../components/menu/DownloadMenuItems/index.tsx | 29 +-
.../menu/ShareMenuItems/ShareMenuItems.test.tsx | 34 +-
.../nativeFilters/ConfigModal/SharedStyles.tsx | 1 +
.../FilterBar/ActionButtons/ActionButtons.test.tsx | 28 -
.../FilterBar/ActionButtons/index.tsx | 11 +-
.../nativeFilters/FilterBar/FilterBar.test.tsx | 17 +-
.../FilterBar/FilterBarSettings/index.tsx | 2 +-
.../FilterControls/FilterControls.test.tsx | 13 +
.../FilterBar/FilterControls/FilterControls.tsx | 7 +-
.../FilterBar/FilterControls/FilterValue.tsx | 35 +-
.../FiltersDropdownContent.test.tsx | 71 +
.../FilterBar/FiltersDropdownContent/index.tsx | 2 +-
.../FiltersOutOfScopeCollapsible/index.tsx | 1 -
.../nativeFilters/FilterBar/Vertical.tsx | 11 +-
.../components/nativeFilters/FilterBar/index.tsx | 2 -
.../ConfigModalContent/ConfigModalContent.tsx | 25 +-
.../ConfigModalSidebar/ConfigModalSidebar.tsx | 122 +-
.../FiltersConfigForm/FilterScope/utils.test.ts | 76 +-
.../FiltersConfigForm/FilterScope/utils.ts | 12 +
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 143 +-
.../dashboard/hooks/useDownloadScreenshot.test.ts | 73 +
.../src/dashboard/hooks/useDownloadScreenshot.ts | 3 +-
.../util/charts/getFormDataWithExtraFilters.ts | 35 +-
.../util/getFormDataWithExtraFilters.test.ts | 578 +-
.../src/explore/actions/hydrateExplore.ts | 4 +-
.../explore/components/ControlPanelsContainer.tsx | 27 +-
.../CopyToClipboardButton.test.tsx | 28 +
.../explore/components/DataTableControl/index.tsx | 11 +-
.../components/DataTablesPane/DataTablesPane.tsx | 1 +
.../components/DataTableControls.tsx | 46 +-
.../DataTablesPane/components/SamplesPane.tsx | 118 +-
.../components/SingleQueryResultPane.tsx | 89 +-
.../components/useGridResultTable.tsx | 123 +
.../DataTablesPane/components/useResultsPane.tsx | 39 +-
.../DataTablesPane/test/DataTablesPane.test.tsx | 61 +-
.../test/ResultsPaneOnDashboard.test.tsx | 15 +-
.../DataTablesPane/test/SamplesPane.test.tsx | 27 +-
.../components/DataTablesPane/test/fixture.tsx | 4 +
.../src/explore/components/DataTablesPane/types.ts | 12 +-
.../ExploreChartHeader/ExploreChartHeader.test.tsx | 6 +-
.../explore/components/ExploreChartPanel/index.tsx | 5 +-
.../useResizeDetectorByObserver.ts | 5 +-
.../src/explore/components/SaveModal.tsx | 19 +-
.../ConditionalFormattingControl.test.tsx | 83 +
.../ConditionalFormattingControl.tsx | 5 +
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 20 +
.../index.tsx | 5 +-
.../controls/NumberControl/NumberControl.test.tsx | 15 +
.../components/controls/NumberControl/index.tsx | 6 +
.../components/controls/TextAreaControl.tsx | 7 +-
.../VizTypeControl/VizTypeControl.test.tsx | 2 +-
.../useExploreAdditionalActionsMenu/index.tsx | 57 +-
.../exploreUtils/getSimpleSQLExpression.test.ts | 12 +
.../src/explore/exploreUtils/index.ts | 3 +-
.../src/features/alerts/AlertReportModal.tsx | 8 +-
.../src/features/cssTemplates/CssTemplateModal.tsx | 1 +
.../AddDataset/LeftPanel/LeftPanel.test.tsx | 8 +-
.../src/features/queries/QueryPreviewModal.tsx | 13 +-
.../features/queries/SavedQueryPreviewModal.tsx | 13 +-
.../src/features/queries/SyntaxHighlighterCopy.tsx | 6 +-
.../src/features/tags/BulkTagModal.tsx | 3 +-
superset-frontend/src/features/tags/TagModal.tsx | 3 +
.../components/Select/SelectFilterPlugin.tsx | 1 +
superset-frontend/src/hooks/usePermissions.ts | 26 +-
superset-frontend/src/pages/Chart/Chart.test.tsx | 93 +
superset-frontend/src/pages/Chart/index.tsx | 38 +-
.../src/pages/FileHandler/index.test.tsx | 3 +-
superset-frontend/src/utils/copy.ts | 84 +-
.../src/utils/downloadAsImage.test.ts | 685 ++
superset-frontend/src/utils/downloadAsImage.tsx | 187 +-
superset-frontend/src/utils/localStorageHelpers.ts | 2 +
.../src/visualizations/presets/MainPreset.ts | 6 +-
superset-frontend/tsconfig.json | 4 +-
superset-frontend/webpack.config.js | 33 +-
superset-websocket/package-lock.json | 318 +-
superset-websocket/package.json | 8 +-
superset/charts/api.py | 29 +-
superset/charts/data/api.py | 104 +-
superset/charts/data/dashboard_filter_context.py | 306 +
superset/charts/schemas.py | 45 +
superset/commands/database/utils.py | 3 +-
superset/commands/report/execute.py | 17 +
superset/commands/sql_lab/results.py | 18 +-
superset/config.py | 18 +-
superset/daos/base.py | 16 +-
superset/daos/report.py | 2 +-
superset/dashboards/api.py | 12 +-
superset/databases/utils.py | 1 +
superset/db_engine_specs/base.py | 13 +-
superset/mcp_service/CLAUDE.md | 762 +-
superset/mcp_service/app.py | 98 +-
superset/mcp_service/auth.py | 36 +-
superset/mcp_service/chart/chart_utils.py | 103 +-
superset/mcp_service/chart/schemas.py | 27 +-
superset/mcp_service/chart/tool/generate_chart.py | 36 +
superset/mcp_service/chart/tool/get_chart_data.py | 23 +-
.../mcp_service/chart/tool/get_chart_preview.py | 23 +-
superset/mcp_service/chart/tool/update_chart.py | 304 +-
.../mcp_service/chart/tool/update_chart_preview.py | 24 +
superset/mcp_service/common/schema_discovery.py | 4 +-
superset/mcp_service/dashboard/schemas.py | 225 +-
.../tool/add_chart_to_existing_dashboard.py | 60 +-
.../dashboard/tool/generate_dashboard.py | 9 +-
superset/mcp_service/dataset/schemas.py | 77 +
superset/mcp_service/dataset/tool/__init__.py | 2 +
.../dataset/tool/create_virtual_dataset.py | 137 +
superset/mcp_service/dataset/tool/list_datasets.py | 5 +
superset/mcp_service/mcp_config.py | 27 +-
superset/mcp_service/middleware.py | 17 +-
superset/mcp_service/server.py | 222 +-
superset/mcp_service/sql_lab/schemas.py | 36 +-
superset/mcp_service/sql_lab/tool/execute_sql.py | 24 +
superset/mcp_service/utils/oauth2_utils.py | 47 +
superset/mcp_service/utils/permissions_utils.py | 4 -
superset/mcp_service/utils/response_utils.py | 152 +
...00-00_ce6bd21901ab_migrate_deckgl_and_mapbox.py | 172 +
superset/models/helpers.py | 6 +-
superset/reports/models.py | 16 +-
superset/security/manager.py | 190 +-
superset/sql/execution/executor.py | 6 +
superset/sql/parse.py | 2 +-
superset/sqllab/api.py | 64 +-
superset/translations/fr/LC_MESSAGES/messages.po | 87 +-
superset/utils/log.py | 9 +-
superset/utils/oauth2.py | 29 +-
superset/utils/webdriver.py | 3 +-
superset/views/datasource/schemas.py | 2 +-
superset/views/datasource/utils.py | 7 +-
superset/views/datasource/views.py | 8 +-
superset/viz.py | 23 +
tests/integration_tests/charts/data/api_tests.py | 215 +
tests/integration_tests/datasource_tests.py | 23 +-
tests/integration_tests/event_logger_tests.py | 61 +
...ce6bd21901ab_migrate_deckgl_and_mapbox__test.py | 187 +
.../security/guest_token_security_tests.py | 100 +-
tests/integration_tests/security_tests.py | 23 +-
tests/integration_tests/sql_lab/api_tests.py | 33 +-
tests/integration_tests/sql_lab/commands_tests.py | 33 +-
.../integration_tests/test_granular_export_api.py | 275 +
.../charts/test_dashboard_filter_context.py | 525 ++
tests/unit_tests/commands/databases/utils_test.py | 6 +-
tests/unit_tests/commands/report/execute_test.py | 50 +
tests/unit_tests/daos/test_report_dao.py | 92 +
tests/unit_tests/db_engine_specs/test_base.py | 2 +-
.../mcp_service/chart/test_chart_schemas.py | 38 +
.../mcp_service/chart/test_chart_utils.py | 56 +
.../mcp_service/chart/tool/test_update_chart.py | 415 +-
.../dashboard/test_dashboard_schemas.py | 224 +-
.../tool/test_add_chart_to_existing_dashboard.py | 297 +
.../dashboard/tool/test_dashboard_generation.py | 11 +-
.../dashboard/tool/test_dashboard_tools.py | 16 +-
.../mcp_service/dataset/tool/test_dataset_tools.py | 301 +-
.../mcp_service/sql_lab/tool/test_execute_sql.py | 71 +
.../mcp_service/test_g_user_race_condition.py | 164 +
.../mcp_service/test_middleware_logging.py | 157 +
.../mcp_service/test_tool_search_transform.py | 548 ++
tests/unit_tests/reports/model_test.py | 122 +-
tests/unit_tests/security/api_test.py | 2 +-
tests/unit_tests/security/audit_log_test.py | 251 +
tests/unit_tests/sql/execution/test_executor.py | 72 +
tests/unit_tests/sql/parse_tests.py | 14 +-
tests/unit_tests/utils/oauth2_tests.py | 64 +
tests/unit_tests/utils/webdriver_test.py | 35 +-
546 files changed, 25201 insertions(+), 9186 deletions(-)
create mode 100644 docs/docs/security/granular-export-controls.mdx
create mode 100644 docs/static/img/logos/hifadih.png
delete mode 100644 superset-frontend/cypress-base/cypress/e2e/sqllab/_skip.sourcePanel.index.test.js
delete mode 100644 superset-frontend/cypress-base/cypress/e2e/sqllab/query.test.ts
delete mode 100644 superset-frontend/cypress-base/cypress/e2e/sqllab/sqllab.helper.js
delete mode 100644 superset-frontend/cypress-base/cypress/e2e/sqllab/tabs.test.ts
copy superset-frontend/{ => packages/superset-ui-core}/src/utils/copy.ts (95%)
create mode 100644 superset-frontend/packages/superset-ui-core/test/utils/copy.test.ts
create mode 100644 superset-frontend/playwright/components/core/AgGrid.ts
copy superset-frontend/{src/components/ListView/DashboardCrossLinks.tsx => playwright/components/core/EditableTabs.ts} (51%)
copy superset-frontend/{packages/superset-ui-core/src/time-format/types.ts => playwright/components/core/Popover.ts} (50%)
copy superset-frontend/{spec/helpers/Cache.ts => playwright/components/modals/SaveDatasetModal.ts} (57%)
copy superset-frontend/{spec/helpers/IntersectionObserver.ts => playwright/components/modals/SaveQueryModal.ts} (59%)
copy superset-frontend/{src/types/SqlExpression.ts => playwright/helpers/api/savedQuery.ts} (54%)
create mode 100644 superset-frontend/playwright/pages/SqlLabPage.ts
create mode 100644 superset-frontend/playwright/tests/sqllab/sqllab.spec.ts
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/CHANGELOG.md
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/README.md
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/MapBox.tsx
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/ScatterPlotGlowOverlay.tsx
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/stories/MapBox.stories.tsx
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/src/transformProps.ts
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/test/MapBox.test.tsx
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/test/tsconfig.json
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/test/utils/roundDecimal.test.ts
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/tsconfig.json
delete mode 100644 superset-frontend/plugins/legacy-plugin-chart-map-box/types/external.d.ts
delete mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/CHANGELOG.md
delete mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/README.md
delete mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/test/utils/colors.test.ts
delete mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/test/utils/getPointsFromPolygon.test.ts
delete mode 100644 superset-frontend/plugins/legacy-preset-chart-deckgl/types/external.d.ts
create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/reconcileColumnState.test.ts
create mode 100644 superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/reconcileColumnState.ts
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/package.json (65%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box/src/MapBox.css => plugin-chart-point-cluster-map/src/MapLibre.css} (96%)
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/src/MapLibre.tsx
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/src/buildQuery.ts
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/src/components/CanvasOverlay.tsx
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/src/components/ScatterPlotOverlay.tsx
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/controlPanel.ts (73%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/images/MapBox-dark.jpg (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/images/MapBox.jpg (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/images/MapBox2-dark.jpg (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/images/MapBox2.jpg (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/index.ts (88%)
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/src/stories/PointClusterMap.stories.tsx
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/stories/data.ts (100%)
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/src/transformProps.ts
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/utils/geo.ts (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/utils/luminanceFromRGB.ts (100%)
copy superset-frontend/{src/types/ChartSource.ts => plugins/plugin-chart-point-cluster-map/src/utils/mapbox.ts} (63%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/src/utils/roundDecimal.ts (100%)
create mode 100644 superset-frontend/plugins/plugin-chart-point-cluster-map/test/MapLibre.test.tsx
rename superset-frontend/plugins/{legacy-plugin-chart-map-box/test/ScatterPlotGlowOverlay.test.tsx => plugin-chart-point-cluster-map/test/ScatterPlotOverlay.test.tsx} (92%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/test/controlPanel.test.ts (100%)
rename superset-frontend/plugins/{legacy-plugin-chart-map-box => plugin-chart-point-cluster-map}/test/transformProps.test.ts (75%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => plugin-chart-point-cluster-map}/tsconfig.json (58%)
copy superset-frontend/plugins/{legacy-plugin-chart-calendar => plugin-chart-point-cluster-map}/types/external.d.ts (99%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/package.json (76%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/CategoricalDeckGLContainer.tsx (95%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/DeckGLContainer.tsx (64%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/Multi.test.tsx (99%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/Multi.tsx (96%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/controlPanel.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/controlPanel.ts (94%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/Multi/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/TooltipRow.tsx (100%)
copy superset-frontend/{src/views/ScrollToTop.tsx => plugins/preset-chart-deckgl/src/components/DeckGLOverlayMapLibre.tsx} (70%)
copy superset-frontend/{src/views/ScrollToTop.tsx => plugins/preset-chart-deckgl/src/components/DeckGLOverlayMapbox.tsx} (70%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/components/Legend.tsx (94%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/components/Tooltip.tsx (95%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/factory.tsx (94%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/Arc.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/controlPanel.ts (96%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/stories/Arc.stories.tsx (93%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/stories/payload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Arc/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/Contour.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/controlPanel.ts (97%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/getSafeCellSize.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/getSafeCellSize.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Contour/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/Geojson.test.ts (97%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/Geojson.tsx (97%)
create mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/layers/Geojson/buildQuery.ts
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/controlPanel.ts (98%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Geojson/index.ts (94%)
create mode 100644 superset-frontend/plugins/preset-chart-deckgl/src/layers/Geojson/transformProps.ts
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/Grid.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/controlPanel.ts (96%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/stories/Grid.stories.tsx (92%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/stories/payload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Grid/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/Heatmap.tsx (95%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/controlPanel.ts (98%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Heatmap/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/Hex.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/controlPanel.ts (97%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/stories/Hex.stories.tsx (92%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/stories/payload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Hex/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/Path.test.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/Path.tsx (99%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/controlPanel.ts (97%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/stories/Path.stories.tsx (92%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/stories/payload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Path/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/Polygon.test.tsx (99%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/Polygon.tsx (99%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/buildQuery.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/controlPanel.ts (97%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/stories/Polygon.stories.tsx (94%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/stories/geojsonPayload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/stories/payload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/transformProps.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Polygon/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/Scatter.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/buildQuery.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/controlPanel.ts (96%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/stories/Scatter.stories.tsx (93%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/stories/payload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/transformProps.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Scatter/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/Screengrid.tsx (97%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/buildQuery.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/controlPanel.ts (94%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/images/example-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/images/example.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/images/thumbnail-dark.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/images/thumbnail.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/images/thumbnailLarge.png (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/stories/Screengrid.stories.tsx (91%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/stories/payload.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/Screengrid/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/buildQueryUtils.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/common.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/common.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/index.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/spatialUtils.test.ts (99%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/spatialUtils.ts (93%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/transformUtils.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/transformUtils.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/utils/metricUtils.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/layers/utils/metricUtils.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/preset.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/transformProps.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/types.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/HandlebarsRenderer.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/Shared_DeckGL.tsx (90%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/TooltipTemplateControl.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/TooltipTemplateEditor.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/controlRegistry.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/controls.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/multiValueUtils.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/sharedDndControls.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/tooltipUtils.tsx (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utilities/utils.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils.ts (86%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/colors.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/computeBoundsFromPoints.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/crossFiltersDataMask.test.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/crossFiltersDataMask.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/explore.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/fitViewport.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/geo.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/getPointsFromPolygon.ts (100%)
copy superset-frontend/{src/types/ChartSource.ts => plugins/preset-chart-deckgl/src/utils/mapbox.ts} (63%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/safeStringify.ts (100%)
rename superset-frontend/plugins/{legacy-preset-chart-deckgl => preset-chart-deckgl}/src/utils/sandbox.ts (100%)
copy superset-frontend/{packages/generator-superset/generators/plugin-chart/templates => plugins/preset-chart-deckgl}/tsconfig.json (59%)
copy superset-frontend/plugins/{legacy-plugin-chart-calendar => preset-chart-deckgl}/types/external.d.ts (99%)
create mode 100644 superset-frontend/src/dashboard/components/SliceHeaderControls/Styles.tsx
create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FiltersDropdownContent/FiltersDropdownContent.test.tsx
create mode 100644 superset-frontend/src/dashboard/hooks/useDownloadScreenshot.test.ts
create mode 100644 superset-frontend/src/explore/components/DataTablesPane/components/useGridResultTable.tsx
mode change 100644 => 100755 superset-frontend/src/explore/components/SaveModal.tsx
create mode 100644 superset-frontend/src/explore/components/controls/ConditionalFormattingControl/ConditionalFormattingControl.test.tsx
create mode 100644 superset-frontend/src/utils/downloadAsImage.test.ts
create mode 100644 superset/charts/data/dashboard_filter_context.py
create mode 100644 superset/mcp_service/dataset/tool/create_virtual_dataset.py
create mode 100644 superset/mcp_service/utils/oauth2_utils.py
create mode 100644 superset/mcp_service/utils/response_utils.py
create mode 100644 superset/migrations/versions/2026-03-02_00-00_ce6bd21901ab_migrate_deckgl_and_mapbox.py
create mode 100644 tests/integration_tests/migrations/ce6bd21901ab_migrate_deckgl_and_mapbox__test.py
create mode 100644 tests/integration_tests/test_granular_export_api.py
create mode 100644 tests/unit_tests/charts/test_dashboard_filter_context.py
create mode 100644 tests/unit_tests/daos/test_report_dao.py
create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_add_chart_to_existing_dashboard.py
create mode 100644 tests/unit_tests/mcp_service/test_g_user_race_condition.py
create mode 100644 tests/unit_tests/security/audit_log_test.py