This is an automated email from the ASF dual-hosted git repository.

enzomartellucci pushed a change to branch 
enxdev/feat/enhance-database-modal-validation
in repository https://gitbox.apache.org/repos/asf/superset.git


    from c0be0485b3f Merge branch master into 
enxdev/feat/enhance-database-modal-validation
     add 6b7b23ed788 fix(timeseries): restore ECharts tooltip after closing 
drill menu (#37284)
     add 2dfc770b0f7 fix(native-filters): update TEMPORAL_RANGE filter subject 
when Time Column filter is applied (#36985)
     add 89a98ab9a42 fix(dataset-editor): include calculated columns in 
currency code dropdown (#37621)
     add 8fd34010776 fix(security): update jspdf to 4.0.0 to address 
CVE-2025-68428 (#37553)
     add 45f883c9cd2 chore(deps-dev): bump webpack from 5.104.1 to 5.105.0 in 
/docs (#37656)
     add b464979db14 chore(deps-dev): bump webpack from 5.104.1 to 5.105.0 in 
/superset-frontend (#37658)
     add f96e90b9794 fix(docker): remove accidental command substitutions when 
building FE in dev mode (#37670)
     add 92438322c0e feat(extensions): Enhances SQL Lab API (#37642)
     add e10237fcc14 fix: Security vulnerability in Storybook (#37676)
     add b968d1095cb chore(deps): bump dawidd6/action-download-artifact from 12 
to 14 (#37602)
     add b7b9bfd3fec chore(deps): bump query-string from 6.14.1 to 9.3.1 in 
/superset-frontend (#37545)
     add 07ff82f189b docs: add XNET to INTHEWILD list (#37615)
     add 4e4fa53c8d9 fix: Rename Truncate Axis to Truncate Y Axis in bar chart 
controls (#37403)
     add c09a4f6f471 chore(deps): bump googleapis from 171.1.0 to 171.2.0 in 
/superset-frontend (#37690)
     add 20f1918dd6b chore(deps): bump caniuse-lite from 1.0.30001767 to 
1.0.30001768 in /docs (#37684)
     add a9dca529c17 fix(mcp): treat runtime validation warnings as 
informational, not errors (#37214)
     add 4147d877fc1 fix(mcp): prevent DATE_TRUNC on non-temporal columns in 
chart generation (#37433)
     add fd8c21591a0 chore(deps-dev): update @babel/types requirement from 
^7.28.6 to ^7.29.0 in /superset-frontend/plugins/plugin-chart-pivot-table 
(#37603)
     add 75fa474fced test(native-filters): add unit tests for requiredFirst 
filter logic (#37640)
     add 4f42928b34d fix(sqllab): Skip progress bar on no data (#37652)
     add 2e463078a2c refactor(filters): extract shouldShowTimeRangePicker and 
improve test coverage (#36012)
     add 47db185e3b9 fix(mcp): include x_axis column in query context for 
series charts with group_by (#37639)
     add ef4f7afa90e chore(docs): improve build performance and fix OOM crashes 
(#37588)
     add 5040db859c8 test(playwright): additional dataset list playwright tests 
(#36684)
     add 00a53eec2d0 fix(translations): remove corrupted text from Spanish 
translation file (#37717)
     add 8506d702422 chore(deps-dev): bump webpack from 5.94.0 to 5.105.0 in 
/superset-embedded-sdk (#37713)
     add 361fe6fe898 chore(build): add @hainenber as codeowner for GHA workflow 
changes (#37703)
     add 27889651b3f chore(deps): bump markdown-to-jsx from 9.6.1 to 9.7.2 in 
/superset-frontend (#37691)
     add d3919cf24fe fix(translations): Periodic language strings extraction, 
newly Translatable label positions for Radar Chart (#33940)
     add b7acb7984f5 chore(deps-dev): bump @babel/core from 7.28.6 to 7.29.0 in 
/superset-frontend (#37686)
     add 97e5f0631d1 chore(deps): bump aws-actions/configure-aws-credentials 
from 5 to 6 (#37685)
     add 01ac966b830 fix(mcp): remove html.escape to fix ampersand display in 
chart titles (#37186)
     add cd447ca1fdb chore(deps): update @luma.gl/webgl requirement from ~9.2.2 
to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#37469)
     add b71654877f6 chore(deps-dev): bump @types/node from 25.2.0 to 25.2.1 in 
/superset-websocket (#37719)
     add 1c35c3f6d04 chore(deps): bump markdown-to-jsx from 9.7.2 to 9.7.3 in 
/superset-frontend (#37730)
     add 9b861b2848d chore(deps): bump caniuse-lite from 1.0.30001768 to 
1.0.30001769 in /docs (#37726)
     add 246dbd7f5c0 chore(deps): upgrade react-resize-detector to v9.1.1 
(#37741)
     add 1e50422a666 chore: remove deprecated react-hot-loader (#36433)
     add ddba88ffada chore(deps): bump googleapis from 171.2.0 to 171.4.0 in 
/superset-frontend (#37736)
     add 7d9a8a0c5a4 chore(deps-dev): bump @babel/node from 7.28.6 to 7.29.0 in 
/superset-frontend (#37734)
     add 87d15d32c46 chore(deps-dev): bump @types/node from 25.2.0 to 25.2.1 in 
/superset-frontend (#37732)
     add ec6eaf48982 fix(deps): bump elasticsearch-dbapi to 0.2.12 for urllib3 
2.x compatibility (#37758)
     add 935bbe6061d docs: Updates extensions docs (#37704)
     add 0415118544f chore: Bump @apache-superset/core (0.0.1-rc10) (#37759)
     add fc26dbfebf8 chore(deps): upgrade deck.gl and luma.gl packages to 
~9.2.6 (#37718)
     add a04571fa20f fix(world-map): reset hover highlight on mouse out (#37716)
     add 46bca32677c docs(seo): add structured data, OpenGraph tags, and 
sitemap improvements (#37404)
     add e9ae212c1cc fix(alerts): show screenshot width field for PDF reports 
(#37037)
     add fc5506e4669 chore(frontend): comprehensive TypeScript quality 
improvements (#37625)
     add 9086ae8e6c6 feat(ci): only bump patch version for Storybook-related 
deps until React 18 (#37749)
     add 9ea5ded9880 fix(dashboard): Prevent fatal error when database 
connection is unavailable (#37576)
     add 174e3c26d31 chore(deps): update @luma.gl/webgl requirement from ~9.2.5 
to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#37764)
     add 76a27d5360e chore(deps): bump d3-format from 1.4.5 to 3.1.2 in 
/superset-frontend/packages/superset-ui-core (#37442)
     add 5cea4fb7feb chore(deps): update @luma.gl/shadertools requirement from 
~9.2.5 to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl 
(#37763)
     add df253f6aa47 chore(deps-dev): bump @babel/plugin-transform-runtime from 
7.28.5 to 7.29.0 in /superset-frontend (#37631)
     add b9ab03994ad chore(deps-dev): bump jsdom from 27.4.0 to 28.0.0 in 
/superset-frontend (#37688)
     add f4708a56484 fix(db): prevent long database error messages from 
overflowing UI (#37709)
     add 3521f191b24 chore(deps): bump webpack from 5.96.1 to 5.105.0 in 
/superset-frontend/cypress-base (#37775)
     add c4e7c3b03b7 refactor: consolidating ColorSchemeEnum settings into one 
place (#37591)
     add 7580bd14015 chore(deps-dev): bump timezone-mock from 1.3.6 to 1.4.0 in 
/superset-frontend (#37333)
     add c4d2d42b3b0 build(dev-deps): move Webpack-dedicated `js-yaml-loader` 
to dev deps section (#37788)
     add 563d9f1a3fd chore(lint): migrate Jest lint rules from eslint to oxlint 
(#37787)
     add 3b75af9ac3b docs(dev_portal/test): remove refs of testing tools not 
used in project (#37786)
     add 82d6076804b refactor(charts): filter saved metrics by key and label 
(#37136)
     add ebee9bb3f91 refactor(types): consolidate shared table types and fix 
Funnel enum typo (#37768)
     add 29aa69b7792 chore(deps): update @luma.gl/engine requirement from 
~9.2.5 to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl 
(#37762)
     add ce872ddaf01 chore(deps-dev): bump @swc/core from 1.14.0 to 1.15.11 in 
/superset-frontend (#37511)
     add cebdb9e0b7a fix(ListView): add tooltip for layout toggle buttons 
(#37581)
     add 2b411b32ba0 fix(scatter): Fix ad-hoc metric for pointsize (#37669)
     add 15b3c96f8e9 fix(security): Add table blocklist and fix MCP SQL 
validation bypass (#37411)
     add a1d65c7529c feat(deps): significant `npm audit fix` to trim off 
inadvertently runtime dep from upstream libraries  (#37220)
     add 059b57d784e chore(deps-dev): bump @types/node from 25.2.1 to 25.2.2 in 
/superset-frontend (#37801)
     add 5125a670025 build(dev-deps): remove `npm` from @apache-superset/core 
(#37774)
     add f25d95be410 fix: Vertical lines in the middle of Treemap categories 
(#37808)
     add 6984e93171e fix: SQL Lab improvements and bug fixes (#37760)
     add 59dd2fa3857 feat: add global task framework (#36368)
     add f6f96ecc49c test(chart-list): migrate Chart List tests from Cypress to 
RTL (#37813)
     add 76351ff12c4 fix(i18n): ensure language pack loads before React renders 
(#36893)
     add 6ca028dee90 chore(deps): bump axios from 1.12.2 to 1.13.5 in /docs 
(#37814)
     add d078f18ff88 chore(deps-dev): bump @types/node from 25.2.1 to 25.2.2 in 
/superset-websocket (#37796)
     add 2df60f9caf0 chore(deps): bump immer from 11.1.3 to 11.1.4 in 
/superset-frontend (#37830)
     add f370da5a87a chore(deps-dev): bump @typescript-eslint/parser from 
8.54.0 to 8.55.0 in /docs (#37827)
     add 4d8ff845875 chore(deps-dev): bump @playwright/test from 1.58.1 to 
1.58.2 in /superset-frontend (#37826)
     add 8c6bc3eaea3 chore(deps): bump antd from 6.2.3 to 6.3.0 in /docs 
(#37824)
     add 1cba53a043d chore(deps-dev): bump @typescript-eslint/parser from 
8.54.0 to 8.55.0 in /superset-websocket (#37823)
     add 3af795af364 chore(deps-dev): bump @typescript-eslint/eslint-plugin 
from 8.54.0 to 8.55.0 in /superset-websocket (#37822)
     add 948b1d613b2 chore(deps-dev): bump typescript-eslint from 8.54.0 to 
8.55.0 in /docs (#37825)
     add 0f1278fa614 fix(gtf): set dedup_key on atomic sql (#37820)
     add 7d53e4d7080 Merge branch 'master' into 
enxdev/feat/enhance-database-modal-validation

No new revisions were added by this update.

Summary of changes:
 .github/CODEOWNERS                                 |     2 +-
 .github/dependabot.yml                             |    24 +-
 .github/workflows/ephemeral-env-pr-close.yml       |     2 +-
 .github/workflows/ephemeral-env.yml                |     4 +-
 .github/workflows/prefer-typescript.yml            |    70 -
 .github/workflows/superset-docs-deploy.yml         |     4 +-
 .github/workflows/superset-docs-verify.yml         |     2 +-
 RESOURCES/INTHEWILD.yaml                           |     5 +
 UPDATING.md                                        |    22 +
 docker-compose-light.yml                           |     4 +-
 docker-compose.yml                                 |     2 +-
 docker/docker-frontend.sh                          |     4 +-
 .../contributing/development-setup.md              |     2 +-
 docs/developer_portal/contributing/howtos.md       |     2 +-
 docs/developer_portal/extensions/development.md    |    16 +-
 .../extensions/extension-points/sqllab.md          |    82 +-
 docs/developer_portal/extensions/overview.md       |     1 +
 docs/developer_portal/extensions/registry.md       |     2 +-
 docs/developer_portal/extensions/tasks.md          |   440 +
 docs/developer_portal/sidebars.js                  |     1 +
 docs/developer_portal/testing/overview.md          |     2 -
 docs/docs/configuration/cache.mdx                  |    84 +
 docs/docs/faq.mdx                                  |    56 +
 docs/docusaurus.config.ts                          |   155 +-
 docs/netlify.toml                                  |     2 +-
 docs/package.json                                  |    52 +-
 docs/plugins/remark-tech-article-schema.mjs        |   153 +
 docs/plugins/robots-txt-plugin.js                  |    83 +
 docs/sidebarTutorials.js                           |     1 +
 docs/src/components/FAQSchema.tsx                  |    66 +
 docs/src/components/TechArticleSchema.tsx          |    91 +
 docs/src/data/databases.json                       |   146 +-
 docs/src/pages/index.tsx                           |     4 +-
 docs/src/styles/antd-theme.less                    |    27 -
 docs/src/styles/{main.less => main.css}            |   152 +-
 docs/src/webpack.extend.ts                         |    37 +-
 docs/static/img/logos/xnet.png                     |   Bin 0 -> 57611 bytes
 docs/static/img/superset-og-image.png              |   Bin 0 -> 89831 bytes
 docs/yarn.lock                                     |  4491 +-
 pyproject.toml                                     |     2 +-
 superset-core/src/superset_core/api/daos.py        |    44 +
 superset-core/src/superset_core/api/models.py      |   129 +
 superset-core/src/superset_core/api/tasks.py       |   361 +
 superset-embedded-sdk/package-lock.json            |  1120 +-
 .../templates/frontend/package.json.j2             |     2 -
 superset-frontend/.eslintrc.js                     |    65 +-
 superset-frontend/.swcrc                           |    64 -
 superset-frontend/babel.config.js                  |     3 -
 .../cypress/e2e/chart_list/_skip.filter.test.ts    |    57 -
 .../cypress/e2e/chart_list/list.test.ts            |    57 -
 superset-frontend/cypress-base/package-lock.json   |   764 +-
 .../{index.js => index.ts}                         |    90 +-
 ...plate-vars.test.js => no-template-vars.test.ts} |     8 +-
 .../eslint-plugin-i18n-strings/package.json        |     2 +-
 .../eslint-plugin-icons/{index.js => index.ts}     |    52 +-
 ...-fontawesome.test.js => no-fontawesome.test.ts} |    12 +-
 .../eslint-rules/eslint-plugin-icons/package.json  |     2 +-
 .../{colors.js => colors.ts}                       |     4 +-
 .../eslint-plugin-theme-colors/index.js            |   119 -
 .../eslint-plugin-theme-colors/index.ts            |   162 +
 .../eslint-plugin-theme-colors/package.json        |     2 +-
 superset-frontend/jest.config.js                   |    10 +-
 superset-frontend/oxlint.json                      |    21 +-
 superset-frontend/package-lock.json                | 73235 ++++++++-----------
 superset-frontend/package.json                     |   107 +-
 .../test/{app.test.js => app.test.ts}              |     1 +
 .../{plugin-chart.test.js => plugin-chart.test.ts} |     8 +-
 .../packages/superset-core/package.json            |     6 +-
 .../packages/superset-core/src/api/editors.ts      |   345 +-
 .../packages/superset-core/src/api/sqlLab.ts       |   342 +-
 .../superset-core/src/spec/utils/logging.test.ts   |     4 +-
 .../superset-core/src/ui/theme/utils/utils.test.ts |     8 +-
 .../superset-ui-chart-controls/src/types.ts        |    80 +
 .../src/utils/metricColumnFilter.test.ts           |    20 +-
 .../test/components/ColumnTypeLabel.test.tsx       |    16 +-
 .../superset-ui-chart-controls/test/index.test.ts  |     2 +-
 .../test/operators/aggregateOperator.test.ts       |    10 +-
 .../operators/utils/extractExtraMetrics.test.ts    |     2 +-
 .../test/utils/colorControls.test.ts               |    10 +-
 .../test/utils/columnChoices.test.tsx              |    10 +-
 .../test/utils/defineSavedMetrics.test.tsx         |     6 +-
 .../test/utils/expandControlConfig.test.tsx        |    14 +-
 .../test/utils/getColorFormatters.test.ts          |     2 +-
 .../test/utils/mainMetric.test.ts                  |     8 +-
 .../test/utils/selectOptions.test.ts               |     6 +-
 .../packages/superset-ui-core/package.json         |     8 +-
 .../src/chart/components/FallbackComponent.tsx     |     9 +-
 .../AsyncAceEditor/useJsonValidation.test.ts       |    12 +-
 .../src/components/AsyncEsmComponent/index.tsx     |     2 +-
 .../components/AutoComplete/AutoComplete.test.tsx  |     6 +-
 .../src/components/Breadcrumb/Breadcrumb.test.tsx  |     2 +-
 .../components/CachedLabel/CachedLabel.test.tsx    |     4 +-
 .../src/components/Checkbox/Checkbox.test.tsx      |    20 +-
 .../CodeSyntaxHighlighter/index.test.tsx           |    18 +-
 .../components/CronPicker/CronPicker.stories.tsx   |    19 +-
 .../src/components/Dropdown/Dropdown.test.tsx      |    10 +-
 .../DynamicEditableTitle.test.tsx                  |     8 +-
 .../EditableTitle/EditableTitle.test.tsx           |    10 +-
 ...ut.test.jsx => LabeledErrorBoundInput.test.tsx} |    17 +-
 .../src/components/Grid/Grid.test.tsx              |     2 +-
 .../src/components/IconButton/IconButton.test.tsx  |    12 +-
 .../{IconTooltip.test.jsx => IconTooltip.test.tsx} |     0
 .../src/components/Icons/AntdEnhanced.tsx          |     2 +
 .../src/components/Label/Label.test.tsx            |     2 +-
 .../src/components/Layout/Layout.test.tsx          |    10 +-
 .../components/ListViewCard/ImageLoader.test.tsx   |     6 +-
 .../components/ListViewCard/ListViewCard.test.tsx  |     6 +-
 .../src/components/Modal/FormModal.test.tsx        |    10 +-
 .../src/components/Radio/Radio.test.tsx            |     2 +-
 .../src/components/Select/AsyncSelect.tsx          |     6 +-
 .../src/components/Select/Select.test.tsx          |    14 +-
 .../src/components/Select/Select.tsx               |     2 +-
 .../src/components/Skeleton/Skeleton.test.tsx      |     6 +-
 .../src/components/Table/sorters.test.ts           |    40 +-
 .../src/components/Table/utils/utils.test.ts       |     8 +-
 .../TableCollection/TableCollection.test.tsx       |     2 +-
 .../src/components/Tabs/Tabs.test.tsx              |    46 +-
 .../src/components/TelemetryPixel/index.tsx        |     1 -
 .../src/components/Timer/Timer.test.tsx            |     2 +-
 .../TimezoneSelector/TimezoneOptionsCache.test.tsx |     2 +-
 .../src/components/Tree/Tree.test.tsx              |     2 +-
 .../src/components/TreeSelect/TreeSelect.test.tsx  |     2 +-
 .../src/components/Typography/Typography.test.tsx  |    14 +-
 .../src/components/Upload/Upload.test.tsx          |     2 +-
 .../superset-ui-core/src/math-expression/index.ts  |     2 +-
 .../src/models/ExtensibleFunction.ts               |     2 +-
 .../src/number-format/D3FormatConfig.ts            |     1 +
 .../factories/createD3NumberFormatter.ts           |    12 +-
 .../factories/createSiAtMostNDigitFormatter.ts     |     6 +-
 .../factories/createSmartNumberFormatter.ts        |    10 +-
 .../superset-ui-core/src/query/normalizeOrderBy.ts |     1 -
 .../src/query/processExtraFormData.ts              |     2 +-
 .../superset-ui-core/src/utils/dates.test.ts       |    24 +-
 .../superset-ui-core/src/utils/featureFlags.ts     |     1 +
 .../superset-ui-core/src/utils/html.test.tsx       |    74 +-
 .../superset-ui-core/src/utils/merge.test.ts       |     6 +-
 .../chart-composition/legend/WithLegend.test.tsx   |    19 +-
 .../tooltip/TooltipFrame.test.tsx                  |     4 +-
 .../tooltip/TooltipTable.test.tsx                  |     6 +-
 .../test/chart/clients/ChartClient.test.ts         |    32 +-
 .../chart/components/ChartDataProvider.test.tsx    |    36 +-
 .../test/chart/components/SuperChart.test.tsx      |    34 +-
 .../test/chart/components/SuperChartCore.test.tsx  |    30 +-
 .../components/createLoadableRenderer.test.tsx     |    12 +-
 .../test/chart/components/reactify.test.tsx        |    20 +-
 .../superset-ui-core/test/chart/index.test.ts      |     2 +-
 .../test/chart/models/ChartMetadata.test.ts        |    12 +-
 .../test/chart/models/ChartPlugin.test.tsx         |    40 +-
 .../test/chart/models/ChartProps.test.ts           |    14 +-
 .../test/color/CategoricalColorNameSpace.test.ts   |    48 +-
 .../test/color/CategoricalColorScale.test.ts       |    68 +-
 .../CategoricalSchemeRegistrySingleton.test.ts     |     2 +-
 .../test/color/ColorScheme.test.ts                 |     2 +-
 .../test/color/ColorSchemeRegistry.test.ts         |     8 +-
 .../test/color/LabelsColorMapSingleton.test.ts     |    42 +-
 .../test/color/SequentialScheme.test.ts            |    20 +-
 .../SequentialSchemeRegistrySingleton.test.ts      |     2 +-
 .../test/color/colorSchemes.test.ts                |     4 +-
 .../superset-ui-core/test/color/index.test.ts      |     2 +-
 .../superset-ui-core/test/color/utils.test.ts      |    34 +-
 .../Icons/AsyncIcon.integration.test.tsx           |     8 +-
 .../test/components/SafeMarkdown.test.tsx          |    12 +-
 .../test/connection/SupersetClient.test.ts         |     6 +-
 .../test/connection/SupersetClientClass.test.ts    |    82 +-
 .../test/connection/callApi/callApi.test.ts        |    58 +-
 .../callApi/callApiAndParseWithTimeout.test.ts     |    12 +-
 .../test/connection/callApi/parseResponse.test.ts  |    16 +-
 .../connection/callApi/rejectAfterTimeout.test.ts  |     2 +-
 .../test/currency-format/CurrencyFormatter.test.ts |    10 +-
 .../test/dimension/computeMaxFontSize.test.ts      |    10 +-
 .../test/dimension/getBBoxDummyFill.ts             |     6 +-
 .../dimension/getMultipleTextDimensions.test.ts    |    22 +-
 .../test/dimension/getTextDimension.test.ts        |    24 +-
 .../test/dimension/mergeMargin.test.ts             |    20 +-
 .../test/dimension/parseLength.test.ts             |    10 +-
 .../test/dimension/svg/LazyFactory.test.ts         |    10 +-
 .../test/dimension/svg/getBBoxCeil.test.ts         |     8 +-
 .../test/dimension/svg/updateTextNode.test.ts      |    10 +-
 .../test/dynamic-plugins/shared-modules.test.ts    |    10 +-
 .../packages/superset-ui-core/test/index.test.ts   |     2 +-
 .../test/models/ExtensibleFunction.test.ts         |    12 +-
 .../superset-ui-core/test/models/Plugin.test.ts    |    18 +-
 .../superset-ui-core/test/models/Preset.test.ts    |     8 +-
 .../superset-ui-core/test/models/Registry.test.ts  |    96 +-
 .../test/models/RegistryWithDefaultKey.test.ts     |    52 +-
 .../test/models/TypedRegistry.test.ts              |     4 +-
 .../test/number-format/NumberFormatter.test.ts     |    26 +-
 .../number-format/NumberFormatterRegistry.test.ts  |    22 +-
 .../NumberFormatterRegistrySingleton.test.ts       |    16 +-
 .../factories/createD3NumberFormatter.test.ts      |    32 +-
 .../createSiAtMostNDigitFormatter.test.ts          |    12 +-
 .../factories/createSmartNumberFormatter.test.ts   |    47 +-
 .../test/number-format/index.test.ts               |     2 +-
 .../test/query/DatasourceKey.test.ts               |     4 +-
 .../query/api/legacy/getDatasourceMetadata.test.ts |     2 +-
 .../test/query/api/legacy/getFormData.test.ts      |     4 +-
 .../test/query/api/v1/getChartData.test.ts         |     2 +-
 .../test/query/api/v1/handleError.test.ts          |    26 +-
 .../test/query/api/v1/makeApi.test.ts              |    28 +-
 .../test/query/buildQueryContext.test.ts           |    10 +-
 .../test/query/buildQueryObject.test.ts            |    34 +-
 .../test/query/convertFilter.test.ts               |     6 +-
 .../test/query/extractExtras.test.ts               |     6 +-
 .../test/query/extractQueryFields.test.ts          |    26 +-
 .../test/query/extractTimegrain.test.ts            |    10 +-
 .../test/query/getClientErrorObject.test.ts        |     8 +-
 .../test/query/getColumnLabel.test.ts              |     6 +-
 .../test/query/getMetricLabel.test.ts              |    10 +-
 .../test/query/normalizeOrderBy.test.ts            |    22 +-
 .../test/query/processExtraFormData.test.ts        |    10 +-
 .../test/query/processFilters.test.ts              |     8 +-
 .../test/query/types/AnnotationLayer.test.ts       |    20 +-
 .../test/query/types/Filter.test.ts                |    16 +-
 .../time-comparison/customTimeRangeDecode.test.ts  |    22 +-
 .../time-comparison/getComparisonFilters.test.ts   |     8 +-
 .../test/time-comparison/getComparisonInfo.test.ts |    12 +-
 .../test/time-comparison/getTimeOffset.test.ts     |    46 +-
 .../test/time-comparison/index.test.ts             |     2 +-
 .../test/time-comparison/parseDttmToDate.test.ts   |   114 +-
 .../test/time-format/TimeFormatter.test.ts         |    24 +-
 .../test/time-format/TimeFormatterRegistry.test.ts |    34 +-
 .../TimeFormatterRegistrySingleton.test.ts         |    24 +-
 .../factories/createD3TimeFormatter.test.ts        |    14 +-
 .../factories/createMultiFormatter.test.ts         |    64 +-
 .../test/time-format/formatters/smartDate.test.ts  |    20 +-
 .../formatters/smartDateDetailed.test.ts           |    24 +-
 .../formatters/smartDateVerbose.test.ts            |    16 +-
 .../test/time-format/index.test.ts                 |     2 +-
 .../test/time-format/utils/createTime.test.ts      |     8 +-
 .../utils/createTimeRangeFromGranularity.test.ts   |     4 +-
 .../test/time-format/utils/d3Time.test.ts          |    28 +-
 .../test/utils/convertKeysToCamelCase.test.ts      |     8 +-
 .../test/utils/ensureIsArray.test.ts               |     2 +-
 .../test/utils/ensureIsInt.test.ts                 |     2 +-
 .../test/utils/getSelectedText.test.ts             |     2 +-
 .../superset-ui-core/test/utils/isDefined.test.ts  |     4 +-
 .../superset-ui-core/test/utils/isRequired.test.ts |     2 +-
 .../test/utils/makeSingleton.test.ts               |     8 +-
 .../test/utils/promiseTimeout.test.ts              |     4 +-
 .../superset-ui-core/test/utils/random.test.ts     |     4 +-
 .../test/utils/removeDuplicates.test.ts            |     4 +-
 .../test/validator/legacyValidateInteger.test.ts   |     4 +-
 .../test/validator/legacyValidateNumber.test.ts    |     4 +-
 .../test/validator/validateInteger.test.ts         |     4 +-
 .../test/validator/validateMapboxStylesUrl.test.ts |     4 +-
 .../test/validator/validateNonEmpty.test.ts        |     4 +-
 .../test/validator/validateNumber.test.ts          |     4 +-
 .../validateTimeComparisonRangeValues.test.ts      |     4 +-
 .../packages/superset-ui-demo/package.json         |    16 +-
 .../stories/plugins/plugin-chart-table/testData.ts |     2 +-
 .../src/switchboard.test.ts                        |    26 +-
 superset-frontend/playwright.config.ts             |    24 +-
 .../playwright/components/ListView/BulkSelect.ts   |   116 +
 .../components/ListView/index.ts}                  |     4 +-
 .../playwright/components/core/AceEditor.ts        |   207 +
 .../playwright/components/core/Checkbox.ts         |    95 +
 .../playwright/components/core/Select.ts           |   187 +
 .../playwright/components/core/Tabs.ts             |    75 +
 .../playwright/components/core/Textarea.ts         |   109 +
 .../playwright/components/core/index.ts            |     5 +
 .../playwright/components/modals/ConfirmDialog.ts  |    75 +
 .../components/modals/DuplicateDatasetModal.ts     |     5 +-
 .../components/modals/EditDatasetModal.ts          |   189 +
 .../components/modals/ImportDatasetModal.ts        |    73 +
 .../playwright/components/modals/index.ts          |     1 +
 .../playwright/fixtures/dataset_export.zip         |   Bin 0 -> 5261 bytes
 .../playwright/helpers/api/assertions.ts           |    61 +
 .../playwright/helpers/api/database.ts             |    74 +-
 .../playwright/helpers/api/dataset.ts              |    69 +-
 .../playwright/helpers/api/intercepts.ts           |   145 +
 .../helpers/fixtures/index.ts}                     |     4 +-
 .../playwright/helpers/fixtures/testAssets.ts      |    68 +
 .../playwright/pages/ChartCreationPage.ts          |   138 +
 .../playwright/pages/CreateDatasetPage.ts          |   138 +
 .../playwright/pages/DatasetListPage.ts            |    99 +-
 .../experimental/dataset/create-dataset.spec.ts    |   219 +
 .../experimental/dataset/dataset-list.spec.ts      |   630 +-
 .../experimental/dataset/dataset-test-helpers.ts   |    67 +
 superset-frontend/playwright/utils/constants.ts    |    10 +
 .../src/{Calendar.js => Calendar.ts}               |    93 +-
 .../src/{ReactCalendar.jsx => ReactCalendar.tsx}   |    29 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/{transformProps.js => transformProps.ts}   |     7 +-
 .../src/vendor/{cal-heatmap.js => cal-heatmap.ts}  |     1 +
 .../test/utils.test.ts                             |    14 +-
 .../types/external.d.ts}                           |    12 +-
 .../src/{Chord.js => Chord.ts}                     |    46 +-
 .../src/{ReactChord.jsx => ReactChord.tsx}         |    27 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/{transformProps.js => transformProps.ts}   |     4 +-
 .../legacy-plugin-chart-chord/types/external.d.ts} |    12 +-
 .../src/{CountryMap.js => CountryMap.ts}           |   121 +-
 .../{ReactCountryMap.jsx => ReactCountryMap.tsx}   |    20 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/{transformProps.js => transformProps.ts}   |     4 +-
 .../test/CountryMap.test.tsx                       |    25 +-
 .../types/external.d.ts}                           |    12 +-
 .../src/{HorizonChart.jsx => HorizonChart.tsx}     |    66 +-
 .../src/{HorizonRow.jsx => HorizonRow.tsx}         |    72 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/{transformProps.js => transformProps.ts}   |    16 +-
 .../types/external.d.ts}                           |    12 +-
 .../src/{MapBox.jsx => MapBox.tsx}                 |   116 +-
 ...tGlowOverlay.jsx => ScatterPlotGlowOverlay.tsx} |   182 +-
 .../src/{index.js => index.ts}                     |     4 +-
 .../src/{transformProps.js => transformProps.ts}   |    34 +-
 .../src/utils/{geo.js => geo.ts}                   |     6 +-
 .../{luminanceFromRGB.js => luminanceFromRGB.ts}   |     6 +-
 .../test/utils/roundDecimal.test.ts                |     2 +-
 .../types/external.d.ts                            |   101 +
 .../src/{PairedTTest.jsx => PairedTTest.tsx}       |    30 +-
 .../src/{TTestTable.jsx => TTestTable.tsx}         |    86 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/{transformProps.js => transformProps.ts}   |     9 +-
 .../types/external.d.ts                            |    83 +
 ...rallelCoordinates.js => ParallelCoordinates.ts} |    69 +-
 ...oordinates.jsx => ReactParallelCoordinates.tsx} |    21 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/{transformProps.js => transformProps.ts}   |     8 +-
 .../parcoords/{d3.parcoords.js => d3.parcoords.ts} |     3 +-
 .../vendor/parcoords/{divgrid.js => divgrid.ts}    |     3 +-
 .../types/d3-parcoords.d.ts                        |    28 +-
 .../types/d3.d.ts                                  |     2 +-
 .../types/{d3.d.ts => external.d.ts}               |    15 +-
 .../src/{Partition.js => Partition.ts}             |    82 +-
 .../src/{ReactPartition.jsx => ReactPartition.tsx} |    19 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/{transformProps.js => transformProps.ts}   |     8 +-
 ...ription.test.jsx => OptionDescription.test.tsx} |     7 +-
 .../types/external.d.ts}                           |    12 +-
 .../src/{ReactRose.jsx => ReactRose.tsx}           |    17 +-
 .../src/{Rose.js => Rose.ts}                       |    85 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/{transformProps.js => transformProps.ts}   |     4 +-
 .../legacy-plugin-chart-rose/types/external.d.ts}  |    12 +-
 .../src/{ReactWorldMap.jsx => ReactWorldMap.tsx}   |    25 +-
 .../src/{WorldMap.js => WorldMap.ts}               |    90 +-
 .../src/{index.js => index.ts}                     |     0
 .../src/{transformProps.js => transformProps.ts}   |     4 +-
 .../test/WorldMap.test.ts                          |   389 +
 .../test/tsconfig.json                             |     8 +
 .../types/external.d.ts}                           |    12 +-
 .../legacy-preset-chart-deckgl/package.json        |     8 +-
 .../src/Multi/Multi.test.tsx                       |    36 +-
 .../legacy-preset-chart-deckgl/src/Multi/Multi.tsx |     2 +-
 .../src/layers/Contour/getSafeCellSize.test.ts     |    12 +-
 .../src/layers/Grid/Grid.tsx                       |     6 +-
 .../src/layers/Hex/Hex.tsx                         |     6 +-
 .../src/layers/Path/Path.test.tsx                  |     3 +-
 .../src/layers/Polygon/Polygon.test.tsx            |    22 +-
 .../src/layers/Scatter/buildQuery.test.ts          |   245 +-
 .../src/layers/Scatter/buildQuery.ts               |    44 +-
 .../src/layers/buildQueryUtils.ts                  |     4 -
 .../src/layers/common.test.ts                      |    42 +-
 .../src/layers/spatialUtils.test.ts                |    54 +-
 .../legacy-preset-chart-deckgl/src/utils.test.ts   |    48 +-
 .../src/utils/crossFiltersDataMask.test.ts         |    14 +-
 .../test/utils/colors.test.ts                      |     2 +-
 .../test/utils/getPointsFromPolygon.test.ts        |     4 +-
 .../src/Bubble/{index.js => index.ts}              |     0
 .../src/Bullet/{index.js => index.ts}              |     0
 .../src/Compare/{index.js => index.ts}             |     0
 .../src/{NVD3Vis.js => NVD3Vis.ts}                 |     1 +
 .../src/{PropTypes.js => PropTypes.ts}             |     0
 .../src/{ReactNVD3.jsx => ReactNVD3.tsx}           |     1 +
 .../src/TimePivot/{index.js => index.ts}           |     0
 .../src/{index.js => index.ts}                     |     0
 .../src/{preset.js => preset.ts}                   |     0
 .../src/{transformProps.js => transformProps.ts}   |    22 +-
 .../src/{utils.js => utils.ts}                     |     1 +
 .../src/utils/{isTruthy.js => isTruthy.ts}         |     2 +-
 .../{AnnotationTypes.js => AnnotationTypes.ts}     |     1 +
 .../superset/{exploreUtils.js => exploreUtils.ts}  |     1 +
 .../test/{utils.test.js => utils.test.ts}          |    21 +-
 .../utils/{isTruthy.test.js => isTruthy.test.ts}   |    12 +-
 .../utils/{tokenize.test.js => tokenize.test.ts}   |    14 +-
 .../types/external.d.ts}                           |    31 +-
 .../src/controlPanel.tsx                           |     2 +-
 .../src/transformProps.ts                          |     2 +-
 .../plugin-chart-ag-grid-table/src/types.ts        |    86 +-
 .../src/utils/formatValue.ts                       |     2 +-
 .../test/buildQuery.test.ts                        |   120 +-
 .../test/controlPanel.test.tsx                     |     2 +-
 .../test/utils/agGridFilterConverter.test.ts       |    90 +-
 .../test/utils/filterStateManager.test.ts          |    40 +-
 .../test/utils/getInitialFilterModel.test.ts       |    42 +-
 .../src/util/layerUtil.tsx                         |     1 -
 .../test/components/chartLayer.test.ts             |     4 +-
 .../plugin-chart-cartodiagram/test/index.test.ts   |     2 +-
 .../test/plugin/buildQuery.test.ts                 |     4 +-
 .../test/plugin/index.test.ts                      |     2 +-
 .../test/plugin/transformProps.test.ts             |     4 +-
 .../test/util/chartUtil.test.ts                    |     6 +-
 .../test/util/controlPanelUtil.test.tsx            |    12 +-
 .../test/util/geometryUtil.test.ts                 |     6 +-
 .../test/util/layerUtil.test.ts                    |    12 +-
 .../test/util/mapUtil.test.ts                      |     2 +-
 .../test/util/serviceUtil.test.ts                  |     8 +-
 .../test/util/transformPropsUtil.test.ts           |    34 +-
 .../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx |     6 +-
 .../BigNumberPeriodOverPeriod/controlPanel.ts      |     2 +-
 .../BigNumber/BigNumberPeriodOverPeriod/types.ts   |     5 -
 .../BigNumber/BigNumberTotal/controlPanel.test.ts  |     6 +-
 .../BigNumberTotal/transformProps.test.ts          |    14 +-
 .../src/BigNumber/BigNumberViz.tsx                 |    15 +-
 .../BigNumberWithTrendline/buildQuery.test.ts      |     8 +-
 .../BigNumberWithTrendline/transformProps.test.ts  |    12 +-
 .../BigNumberWithTrendline/transformProps.ts       |    13 +-
 .../src/BoxPlot/transformProps.ts                  |     4 +-
 .../plugin-chart-echarts/src/BoxPlot/types.ts      |     2 +-
 .../src/Funnel/controlPanel.tsx                    |    28 +-
 .../src/Funnel/transformProps.ts                   |    19 +-
 .../plugin-chart-echarts/src/Funnel/types.ts       |    12 +-
 .../src/Gauge/transformProps.ts                    |     1 -
 .../plugin-chart-echarts/src/Graph/types.ts        |     2 +-
 .../src/MixedTimeseries/EchartsMixedTimeseries.tsx |     1 -
 .../src/MixedTimeseries/index.ts                   |     1 -
 .../src/MixedTimeseries/transformProps.ts          |     1 -
 .../src/MixedTimeseries/types.ts                   |     2 +-
 .../plugins/plugin-chart-echarts/src/Pie/types.ts  |     2 +-
 .../src/Radar/controlPanel.tsx                     |    20 +-
 .../plugin-chart-echarts/src/Radar/types.ts        |     2 +-
 .../src/Timeseries/EchartsTimeseries.test.tsx      |     7 +-
 .../src/Timeseries/EchartsTimeseries.tsx           |     2 +-
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |     6 +-
 .../src/Timeseries/constants.ts                    |     2 +-
 .../src/Timeseries/transformers.ts                 |    10 +-
 .../src/Treemap/transformProps.ts                  |     2 -
 .../plugins/plugin-chart-echarts/src/constants.ts  |    17 -
 .../src/utils/themeOverrides.test.ts               |    14 +-
 .../test/BigNumber/transformProps.test.ts          |    40 +-
 .../test/BoxPlot/buildQuery.test.ts                |     4 +-
 .../test/BoxPlot/transformProps.test.ts            |     2 +-
 .../test/Bubble/buildQuery.test.ts                 |     4 +-
 .../test/Bubble/transformProps.test.ts             |    14 +-
 .../test/Funnel/buildQuery.test.ts                 |     2 +-
 .../test/Funnel/transformProps.test.ts             |    10 +-
 .../test/Gantt/buildQuery.test.ts                  |     2 +-
 .../test/Gantt/transformProps.test.ts              |     8 +-
 .../test/Gauge/buildQuery.test.ts                  |     6 +-
 .../test/Gauge/transformProps.test.ts              |    36 +-
 .../test/Graph/buildQuery.test.ts                  |     8 +-
 .../test/Graph/transformProps.test.ts              |    10 +-
 .../test/MixedTimeseries/transformProps.test.ts    |     6 +-
 .../test/Pie/buildQuery.test.ts                    |     2 +-
 .../test/Pie/transformProps.test.ts                |    32 +-
 .../test/Radar/transformProps.test.ts              |     8 +-
 .../test/Timeseries/Bar/controlPanel.test.ts       |    14 +-
 .../test/Timeseries/Bar/transformProps.test.ts     |    24 +-
 .../test/Timeseries/Scatter/controlPanel.test.ts   |     2 +-
 .../test/Timeseries/Scatter/transformProps.test.ts |     4 -
 .../test/Timeseries/buildQuery.test.ts             |    10 +-
 .../test/Timeseries/constants.test.ts              |     8 +-
 .../test/Timeseries/transformProps.test.ts         |    28 +-
 .../test/Timeseries/transformers.test.ts           |    34 +-
 .../test/Tree/buildQuery.test.ts                   |     4 +-
 .../test/Tree/transformProps.test.ts               |    10 +-
 .../test/Treemap/buildQuery.test.ts                |     2 +-
 .../test/Treemap/transformProps.test.ts            |     2 +-
 .../test/Waterfall/buildQuery.test.ts              |     2 +-
 .../test/utils/annotation.test.ts                  |    16 +-
 .../test/utils/controls.test.ts                    |     4 +-
 .../test/utils/forecast.test.ts                    |    14 +-
 .../test/utils/formatters.test.ts                  |     6 +-
 .../plugin-chart-echarts/test/utils/series.test.ts |    80 +-
 .../test/utils/transformers.test.ts                |    16 +-
 .../test/utils/treeBuilder.test.ts                 |     4 +-
 .../plugin-chart-handlebars/test/index.test.ts     |     2 +-
 .../test/plugin/buildQuery.test.ts                 |     2 +-
 .../test/plugin/transformProps.test.ts             |     2 +-
 .../plugins/plugin-chart-pivot-table/package.json  |     2 +-
 .../src/PivotTableChart.tsx                        |    24 +-
 .../{PivotTable.jsx => PivotTable.tsx}             |     8 +-
 .../src/react-pivottable/{Styles.js => Styles.ts}  |     2 +-
 .../{TableRenderers.jsx => TableRenderers.tsx}     |   432 +-
 .../src/react-pivottable/{index.js => index.ts}    |     0
 .../{utilities.js => utilities.ts}                 |   523 +-
 .../plugin-chart-pivot-table/test/index.test.ts    |     2 +-
 .../test/plugin/transformProps.test.ts             |    12 +-
 .../test/react-pivottable/tableRenders.test.tsx    |    16 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |     3 +-
 .../plugin-chart-table/src/controlPanel.tsx        |     2 +-
 .../plugin-chart-table/src/transformProps.ts       |     2 +-
 .../plugins/plugin-chart-table/src/types.ts        |    91 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |     4 +-
 .../plugin-chart-table/test/buildQuery.test.ts     |    26 +-
 .../plugin-chart-table/test/controlPanel.test.tsx  |     2 +-
 .../test/sortAlphanumericCaseInsensitive.test.ts   |     6 +-
 .../test/buildQuery.test.ts                        |     2 +-
 .../spec/fixtures/mockNativeFilters.ts             |     2 +-
 superset-frontend/spec/helpers/ProviderWrapper.tsx |     6 +-
 superset-frontend/spec/helpers/testing-library.tsx |     2 +-
 superset-frontend/src/.eslintrc.json               |    11 -
 .../actions/{sqlLab.test.js => sqlLab.test.ts}     |   443 +-
 superset-frontend/src/SqlLab/actions/sqlLab.ts     |   353 +-
 .../src/SqlLab/components/EditorWrapper/index.tsx  |    13 +-
 .../components/EditorWrapper/useKeywords.test.ts   |     8 +-
 .../QueryAutoRefresh/QueryAutoRefresh.test.tsx     |    23 +-
 .../SqlLab/components/ResultSet/ResultSet.test.tsx |     1 -
 .../src/SqlLab/components/ResultSet/index.tsx      |     7 +-
 .../SaveDatasetModal/SaveDatasetModal.test.tsx     |     9 +-
 .../SqlLab/components/SaveDatasetModal/index.tsx   |     4 +-
 .../SqlLab/components/SouthPane/Results.test.tsx   |    34 +
 .../src/SqlLab/components/SouthPane/Results.tsx    |    34 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |     7 +-
 .../TableExploreTree/TreeNodeRenderer.tsx          |     2 +-
 .../SqlLab/components/TableExploreTree/index.tsx   |    63 +-
 superset-frontend/src/SqlLab/fixtures.ts           |     5 +-
 .../src/SqlLab/reducers/getInitialState.ts         |     2 +
 .../reducers/{sqlLab.test.js => sqlLab.test.ts}    |    89 +-
 superset-frontend/src/SqlLab/reducers/sqlLab.ts    |     7 +
 .../TimeColumn/TimeColumnFilterPlugin.tsx          |     2 +-
 .../src/components/AuditInfo/index.tsx             |    25 +-
 .../src/components/AuditInfo/types.ts              |     2 +-
 superset-frontend/src/components/Chart/Chart.tsx   |    21 +-
 .../ChartContextMenu/ChartContextMenu.test.tsx     |   152 +
 .../Chart/ChartContextMenu/ChartContextMenu.tsx    |     3 +
 .../Chart/ChartContextMenu/useContextMenu.test.tsx |     2 +-
 ...artRenderer.test.jsx => ChartRenderer.test.tsx} |   177 +-
 .../Chart/{ChartRenderer.jsx => ChartRenderer.tsx} |   294 +-
 .../Chart/DrillDetail/DrillDetailPane.tsx          |     5 +-
 .../src/components/Chart/chartAction.js            |   652 -
 .../src/components/Chart/chartAction.ts            |  1013 +
 .../{chartActions.test.js => chartActions.test.ts} |   441 +-
 ...chartReducers.test.js => chartReducers.test.ts} |    32 +-
 .../useDrillDetailMenuItems.test.tsx               |     1 +
 ...dal.test.jsx => ChangeDatasourceModal.test.tsx} |     3 +-
 ...urceModal.test.jsx => DatasourceModal.test.tsx} |    19 +-
 .../components/CollectionTable/index.tsx           |     2 +-
 .../{DatasourceEditor.jsx => DatasourceEditor.tsx} |   685 +-
 .../tests/DatasourceEditor.test.tsx                |     3 +
 .../tests/DatasourceEditorCurrency.test.tsx        |    38 +-
 .../Datasource/components/Field/index.tsx          |    10 +-
 .../Datasource/components/Fieldset/index.tsx       |    12 +-
 .../src/components/Datasource/types.ts             |    34 +-
 .../Datasource/utils/{index.js => index.ts}        |   134 +-
 .../ErrorMessage/DatabaseErrorMessage.test.tsx     |     2 +-
 .../ErrorMessage/ErrorMessageWithStackTrace.tsx    |     2 +-
 .../ErrorMessage/OAuth2RedirectMessage.test.tsx    |     8 +-
 .../ErrorMessage/OAuth2RedirectMessage.tsx         |     2 +-
 .../src/components/ListView/ListView.tsx           |    54 +-
 .../{Toast.test.jsx => Toast.test.tsx}             |     6 +-
 .../src/components/MessageToasts/Toast.tsx         |    18 +-
 ...tPresenter.test.jsx => ToastPresenter.test.tsx} |     5 +-
 .../components/MessageToasts/ToastPresenter.tsx    |    59 +-
 .../{reducers.test.js => reducers.test.ts}         |    41 +-
 .../src/components/PanelToolbar/index.tsx          |     2 +-
 .../ViewListExtension/ViewListExtension.test.tsx   |     5 +-
 superset-frontend/src/components/index.ts          |     2 +-
 .../src/core/editors/AceEditorProvider.test.tsx    |     3 +-
 .../src/core/editors/AceEditorProvider.tsx         |    20 +-
 .../src/core/editors/EditorHost.test.tsx           |    14 +-
 superset-frontend/src/core/sqlLab/index.ts         |   387 +-
 superset-frontend/src/core/sqlLab/models.ts        |    49 +-
 superset-frontend/src/core/utils.ts                |    12 +-
 .../src/dashboard/actions/dashboardFilters.js      |    64 -
 .../src/dashboard/actions/dashboardFilters.ts      |   120 +
 ...boardLayout.test.js => dashboardLayout.test.ts} |   150 +-
 .../{dashboardLayout.js => dashboardLayout.ts}     |   212 +-
 .../src/dashboard/actions/dashboardState.js        |  1100 -
 ...shboardState.test.js => dashboardState.test.ts} |    86 +-
 .../src/dashboard/actions/dashboardState.ts        |  1519 +
 .../dashboard/actions/{hydrate.js => hydrate.ts}   |   156 +-
 .../src/dashboard/actions/sliceEntities.ts         |    12 +-
 .../{Dashboard.test.jsx => Dashboard.test.tsx}     |    83 +-
 .../components/{Dashboard.jsx => Dashboard.tsx}    |   158 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |     2 -
 .../components/DashboardBuilder/state.test.ts      |   254 +
 ...shboardGrid.test.jsx => DashboardGrid.test.tsx} |    12 +-
 .../{DashboardGrid.jsx => DashboardGrid.tsx}       |   104 +-
 .../components/Header/{index.jsx => index.tsx}     |   159 +-
 .../src/dashboard/components/Header/types.ts       |    59 +-
 .../Header/useHeaderActionsDropdownMenu.tsx        |    14 +-
 .../src/dashboard/components/SliceAdder.tsx        |     2 +-
 .../components/SliceHeader/SliceHeader.test.tsx    |    32 -
 .../SliceHeaderControls.test.tsx                   |    15 +-
 ...agDroppable.test.jsx => DragDroppable.test.tsx} |    55 +-
 .../dnd/{DragDroppable.jsx => DragDroppable.tsx}   |   180 +-
 .../components/dnd/dragDroppableConfig.ts          |     4 +
 .../dnd/{handleDrop.js => handleDrop.ts}           |    22 +-
 .../components/filterscope/FilterScope.test.tsx    |     8 +-
 ...erScopeSelector.jsx => FilterScopeSelector.tsx} |   356 +-
 .../Chart/{Chart.test.jsx => Chart.test.tsx}       |    30 +-
 .../gridComponents/Chart/{Chart.jsx => Chart.tsx}  |   497 +-
 .../ChartHolder/ChartHolder.test.tsx               |     5 +-
 .../gridComponents/ChartHolder/ChartHolder.tsx     |    14 +-
 .../Column/{Column.test.jsx => Column.test.tsx}    |    60 +-
 .../Column/{Column.jsx => Column.tsx}              |   126 +-
 .../gridComponents/Divider/Divider.test.tsx        |     6 +-
 .../DynamicComponent/DynamicComponent.tsx          |     2 -
 .../gridComponents/Header/Header.test.tsx          |    26 +-
 .../Markdown/{Markdown.jsx => Markdown.tsx}        |   165 +-
 .../components/gridComponents/Row/Row.test.tsx     |    71 +-
 .../components/gridComponents/Row/Row.tsx          |     2 +-
 .../components/gridComponents/Tab/Tab.test.tsx     |    25 +-
 .../gridComponents/Tab/{Tab.jsx => Tab.tsx}        |   161 +-
 .../components/gridComponents/Tabs/Tabs.test.tsx   |     7 +-
 .../gridComponents/Tabs/{Tabs.jsx => Tabs.tsx}     |   201 +-
 .../gridComponents/TabsRenderer/TabsRenderer.tsx   |     2 +-
 ...ent.test.jsx => DraggableNewComponent.test.tsx} |     2 +-
 .../new/{NewColumn.test.jsx => NewColumn.test.tsx} |     2 +-
 .../{NewDivider.test.jsx => NewDivider.test.tsx}   |     2 +-
 .../new/{NewHeader.test.jsx => NewHeader.test.tsx} |     2 +-
 .../new/{NewTabs.test.jsx => NewTabs.test.tsx}     |     2 +-
 .../menu/ShareMenuItems/ShareMenuItems.test.tsx    |     3 +-
 ...poverMenu.test.jsx => WithPopoverMenu.test.tsx} |    16 +-
 .../FilterBarSettings/FilterBarSettings.test.tsx   |     3 +-
 .../FilterControls/FilterControls.test.tsx         |     2 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |     6 +-
 .../components/nativeFilters/FilterBar/state.ts    |     2 +-
 .../components/nativeFilters/FilterBar/utils.ts    |     5 +-
 .../nativeFilters/FilterCard/FilterCard.test.tsx   |     1 -
 .../FiltersConfigForm/FilterScope/state.ts         |    12 +-
 .../FiltersConfigForm/FilterScope/utils.test.ts    |    79 +-
 .../FiltersConfigForm/FilterScope/utils.ts         |     6 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |    27 +-
 .../FiltersConfigForm/getControlItemsMap.test.tsx  |     5 +-
 .../FiltersConfigForm/utils.test.ts                |   278 +
 .../FiltersConfigModal/FiltersConfigForm/utils.ts  |    25 +
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |   157 +-
 .../FiltersConfigModal/NativeFiltersModal.test.tsx |     1 -
 .../dashboard/components/nativeFilters/state.ts    |     2 +-
 .../dashboard/components/nativeFilters/utils.ts    |     2 +-
 .../components/resizable/ResizableContainer.tsx    |     4 +-
 .../dashboard/containers/DashboardComponent.jsx    |   144 -
 .../dashboard/containers/DashboardComponent.tsx    |   187 +
 .../src/dashboard/containers/DashboardPage.tsx     |    23 +-
 ...ardFilters.test.js => dashboardFilters.test.ts} |    58 +-
 .../{dashboardFilters.js => dashboardFilters.ts}   |   110 +-
 .../{dashboardInfo.js => dashboardInfo.ts}         |   185 +-
 ...boardLayout.test.js => dashboardLayout.test.ts} |    46 +-
 .../{dashboardLayout.js => dashboardLayout.ts}     |   160 +-
 .../src/dashboard/reducers/dashboardState.test.js  |   296 -
 .../src/dashboard/reducers/dashboardState.test.ts  |   328 +-
 .../{dashboardState.js => dashboardState.ts}       |   235 +-
 ...sliceEntities.test.js => sliceEntities.test.ts} |    27 +-
 superset-frontend/src/dashboard/reducers/types.ts  |    81 -
 ...shboardLayout.js => undoableDashboardLayout.ts} |    23 +-
 superset-frontend/src/dashboard/types.ts           |    91 +-
 .../dashboard/util/buildFilterScopeTreeEntry.ts    |     6 +-
 .../src/dashboard/util/crossFilters.test.ts        |     3 +-
 .../{dnd-reorder.test.js => dnd-reorder.test.ts}   |     2 +-
 .../util/{dnd-reorder.js => dnd-reorder.ts}        |    30 +-
 .../src/dashboard/util/dropOverflowsParent.test.ts |    66 +-
 .../src/dashboard/util/dropOverflowsParent.ts      |    12 +-
 .../src/dashboard/util/extractUrlParams.test.ts    |     4 +-
 ...er.test.js => findFirstParentContainer.test.ts} |    17 +-
 .../src/dashboard/util/findParentId.test.ts        |     8 +-
 ...=> getChartAndLabelComponentIdFromPath.test.ts} |     0
 .../util/getChartIdsInFilterScope.test.ts          |    66 +-
 ...dthFromDrop.js => getComponentWidthFromDrop.ts} |    29 +-
 ...ashboardUrl.test.js => getDashboardUrl.test.ts} |    47 +-
 ...h.test.js => getDetailedComponentWidth.test.ts} |    11 +-
 ...ponentWidth.js => getDetailedComponentWidth.ts} |    37 +-
 ...ropPosition.test.js => getDropPosition.test.ts} |    17 +-
 .../{getDropPosition.js => getDropPosition.ts}     |    45 +-
 ...rs.test.js => getEffectiveExtraFilters.test.ts} |     3 +-
 ...est.js => getFilterConfigsFromFormdata.test.ts} |     3 +
 ...Formdata.js => getFilterConfigsFromFormdata.ts} |    41 +-
 ...test.js => getFilterScopeFromNodesTree.test.ts} |     5 +-
 ...NodesTree.js => getFilterScopeFromNodesTree.ts} |    75 +-
 ...copeNodesTree.js => getFilterScopeNodesTree.ts} |    77 +-
 ....test.js => getLeafComponentIdFromPath.test.ts} |     0
 .../src/dashboard/util/getRelatedCharts.ts         |     4 +-
 .../src/dashboard/util/getRevertedFilterScope.ts   |    27 +-
 ...Factory.test.js => newComponentFactory.test.ts} |     0
 ...wComponentFactory.js => newComponentFactory.ts} |    18 +-
 ...romDrop.test.js => newEntitiesFromDrop.test.ts} |    35 +-
 ...wEntitiesFromDrop.js => newEntitiesFromDrop.ts} |    15 +-
 .../src/dashboard/util/propShapes.jsx              |   129 -
 ....test.js => updateComponentParentsList.test.ts} |    24 +-
 .../src/embedded/EmbeddedContextProviders.tsx      |     8 +-
 superset-frontend/src/embedded/utils.test.ts       |    12 +-
 superset-frontend/src/embedded/utils.ts            |    10 +-
 .../src/explore/actions/datasourcesActions.test.ts |    15 +-
 ...ploreActions.test.js => exploreActions.test.ts} |    29 +-
 .../src/explore/actions/hydrateExplore.test.ts     |    12 +-
 .../src/explore/actions/saveModalActions.test.ts   |   105 +-
 .../src/explore/actions/saveModalActions.ts        |     4 +-
 .../explore/components/ControlPanelsContainer.tsx  |     3 +-
 .../CopyToClipboardButton.test.tsx                 |     8 +-
 .../explore/components/DataTableControl/index.tsx  |     7 +-
 .../components/DataTableControls.tsx               |     3 +-
 .../DataTablesPane/components/useResultsPane.tsx   |     6 +-
 .../DataTablesPane/test/DataTablesPane.test.tsx    |     2 +-
 .../explore/components/DatasourcePanel/index.tsx   |     2 +-
 ...eContent.test.jsx => EmbedCodeContent.test.tsx} |     7 +-
 .../{EmbedCodeContent.jsx => EmbedCodeContent.tsx} |    31 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |   297 +-
 .../ExploreChartHeader/{index.jsx => index.tsx}    |   105 +-
 ...rtPanel.test.jsx => ExploreChartPanel.test.tsx} |     9 +-
 .../explore/components/ExploreChartPanel/index.tsx |    11 +-
 .../ExploreViewContainer/{index.jsx => index.tsx}  |   398 +-
 .../{SaveModal.test.jsx => SaveModal.test.tsx}     |    79 +-
 .../src/explore/components/SaveModal.tsx           |     7 +-
 .../controls/AnnotationLayerControl/index.tsx      |    10 +-
 .../controls/CollectionControl/index.tsx           |    18 -
 .../ControlForm/ControlFormItem.tsx                |     2 +-
 .../FormattingPopoverContent.test.tsx              |     3 +-
 .../FormattingPopoverContent.tsx                   |     8 +-
 .../DatasourceControl/DatasourceControl.test.tsx   |    23 +-
 .../controls/DatasourceControl/index.tsx           |    22 -
 .../ColumnSelectPopover.test.tsx                   |   128 +-
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |    20 +-
 .../FilterControl/AdhocFilterControl/index.tsx     |    46 +-
 .../AdhocFilterEditPopover.test.tsx                |     1 +
 .../FilterControl/AdhocFilterEditPopover/index.tsx |    26 -
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |   108 +-
 .../AdhocFilterEditPopoverSqlTabContent/index.tsx  |     2 +-
 .../controls/FilterControl/adhocFilterType.test.ts |   104 -
 .../controls/FilterControl/adhocFilterType.ts      |    64 -
 .../components/controls/FilterControl/types.ts     |     7 -
 .../controls/FilterControl/utils/translateToSQL.ts |     7 +-
 .../controls/FixedOrMetricControl/index.tsx        |    16 +-
 .../AdhocMetricEditPopover.test.tsx                |   158 +
 .../MetricControl/AdhocMetricEditPopover/index.tsx |    28 +-
 .../controls/MetricControl/AdhocMetricOption.tsx   |    22 -
 .../MetricControl/FilterDefinitionOption.tsx       |    13 -
 .../MetricControl/MetricDefinitionValue.tsx        |    19 -
 .../controls/MetricControl/MetricsControl.tsx      |    20 -
 .../controls/MetricControl/adhocMetricType.ts      |    37 -
 .../controls/MetricControl/savedMetricType.test.ts |    45 -
 .../controls/MetricControl/savedMetricType.ts      |    31 -
 .../explore/components/controls/SelectControl.tsx  |    52 -
 .../components/controls/TextAreaControl.tsx        |    37 -
 .../controls/TimeSeriesColumnControl/index.tsx     |    21 -
 .../explore/components/controls/ViewQueryModal.tsx |     2 +-
 .../ZoomConfigControl/ZoomConfigControl.tsx        |     8 +-
 .../controls/ZoomConfigControl/zoomUtil.test.ts    |     2 +-
 .../{index.jsx => index.tsx}                       |   262 +-
 ...exploreUtils.test.jsx => exploreUtils.test.tsx} |    54 +-
 .../explore/exploreUtils/getChartDataUri.test.ts   |     8 +-
 .../src/explore/exploreUtils/getChartKey.test.ts   |     5 +-
 .../src/explore/exploreUtils/getExploreUrl.test.ts |     2 +-
 .../exploreUtils/getParsedExploreURLParams.test.ts |     2 +-
 .../exploreUtils/getSimpleSQLExpression.test.ts    |     6 -
 .../explore/exploreUtils/{index.js => index.ts}    |   203 +-
 .../src/explore/reducers/exploreReducer.js         |   375 -
 ...ploreReducer.test.js => exploreReducer.test.ts} |    27 +-
 .../src/explore/reducers/exploreReducer.ts         |   633 +
 superset-frontend/src/explore/types.ts             |     1 +
 .../src/extensions/ExtensionsManager.ts            |     4 +-
 .../src/features/alerts/AlertReportModal.test.tsx  |    26 +-
 .../src/features/alerts/AlertReportModal.tsx       |     4 +-
 .../DatabaseModal/DatabaseConnectionForm/index.tsx |     3 +-
 .../src/features/home/RightMenu.test.tsx           |    24 +-
 .../ReportModal/HeaderReportDropdown/index.tsx     |    16 +-
 .../reports/ReportModal/ReportModal.test.tsx       |     5 +-
 .../src/features/reports/ReportModal/actions.js    |   162 -
 .../src/features/reports/ReportModal/actions.ts    |   257 +
 .../src/features/reports/ReportModal/index.tsx     |     3 +-
 .../src/features/reports/ReportModal/reducer.js    |    99 -
 .../src/features/reports/ReportModal/reducer.ts    |   159 +
 .../src/features/tags/BulkTagModal.tsx             |     4 +-
 superset-frontend/src/features/tags/TagModal.tsx   |     6 +-
 .../src/features/tasks/TaskPayloadPopover.tsx      |    76 +
 .../src/features/tasks/TaskStackTracePopover.tsx   |   137 +
 .../src/features/tasks/TaskStatusIcon.tsx          |   145 +
 .../src/features/tasks/timeUtils.test.ts           |   145 +
 superset-frontend/src/features/tasks/timeUtils.ts  |   151 +
 superset-frontend/src/features/tasks/types.ts      |   115 +
 .../components/Range/RangeFilterPlugin.test.tsx    |     8 +-
 .../filters/components/Range/RangeFilterPlugin.tsx |     2 +-
 .../src/filters/components/Range/buildQuery.ts     |     2 +-
 .../components/Select/SelectFilterPlugin.test.tsx  |    48 +-
 .../components/Select/SelectFilterPlugin.tsx       |     2 +-
 .../TimeColumn/TimeColumnFilterPlugin.tsx          |    29 +-
 .../components/TimeGrain/TimeGrainFilterPlugin.tsx |     2 +-
 superset-frontend/src/filters/utils.ts             |     1 -
 superset-frontend/src/middleware/logger.test.js    |   161 -
 superset-frontend/src/middleware/logger.test.ts    |   187 +
 .../{loggerMiddleware.js => loggerMiddleware.ts}   |    97 +-
 ...eportList.test.jsx => AlertReportList.test.tsx} |    16 +-
 ...rList.test.jsx => AnnotationLayerList.test.tsx} |    15 +-
 .../pages/ChartList/ChartList.cardview.test.tsx    |    45 +-
 .../pages/ChartList/ChartList.listview.test.tsx    |   189 +-
 .../pages/ChartList/ChartList.permissions.test.tsx |     2 +-
 .../src/pages/ChartList/ChartList.test.tsx         |   181 +-
 .../src/pages/ChartList/ChartList.testHelpers.tsx  |     2 +-
 ...plateList.test.jsx => CssTemplateList.test.tsx} |    14 +-
 ...shboardList.test.jsx => DashboardList.test.tsx} |    22 +-
 .../DatasetList/DatasetList.behavior.test.tsx      |   116 +-
 .../DatasetList/DatasetList.integration.test.tsx   |     4 +-
 .../DatasetList/DatasetList.listview.test.tsx      |   429 +-
 .../DatasetList/DatasetList.permissions.test.tsx   |   105 +-
 .../src/pages/DatasetList/DatasetList.test.tsx     |   122 +-
 .../pages/DatasetList/DatasetList.testHelpers.tsx  |    88 +-
 .../src/pages/FileHandler/index.test.tsx           |     4 +-
 .../src/pages/GroupsList/GroupsList.test.tsx       |     2 +-
 superset-frontend/src/pages/Home/Home.test.tsx     |     6 +-
 .../src/pages/RolesList/RolesList.test.tsx         |     2 +-
 .../RowLevelSecurityList.test.tsx                  |     2 +-
 .../pages/SavedQueryList/SavedQueryList.test.tsx   |     2 +-
 .../src/pages/TaskList/TaskList.test.tsx           |   328 +
 superset-frontend/src/pages/TaskList/index.tsx     |   658 +
 .../src/pages/UserInfo/UserInfo.test.tsx           |     2 +-
 .../src/pages/UsersList/UsersList.test.tsx         |     2 +-
 superset-frontend/src/preamble.ts                  |   141 +-
 superset-frontend/src/setup/setupColors.ts         |     2 -
 superset-frontend/src/theme.ts                     |     6 +
 superset-frontend/src/utils/assetUrl.test.ts       |     4 +-
 .../src/utils/{common.test.jsx => common.test.tsx} |    28 +-
 .../src/utils/{common.js => common.ts}             |    72 +-
 .../src/utils/getControlsForVizType.test.js        |   102 -
 superset-frontend/src/views/App.tsx                |     3 +-
 superset-frontend/src/views/CRUD/utils.tsx         |     1 -
 .../src/views/RootContextProviders.tsx             |     8 +-
 superset-frontend/src/views/index.tsx              |    18 +-
 superset-frontend/src/views/menu.tsx               |     9 +-
 superset-frontend/src/views/routes.tsx             |     9 +
 .../presets/{MainPreset.js => MainPreset.ts}       |     0
 superset-frontend/tsconfig.json                    |     1 +
 superset-frontend/webpack.config.js                |    64 +-
 superset-frontend/webpack.proxy-config.js          |    24 +-
 superset-websocket/package-lock.json               |  1072 +-
 superset-websocket/package.json                    |     6 +-
 superset/async_events/cache_backend.py             |   144 +-
 superset/commands/distributed_lock/__init__.py     |    24 +
 superset/commands/distributed_lock/acquire.py      |   132 +
 superset/commands/distributed_lock/base.py         |    41 +-
 superset/commands/distributed_lock/create.py       |    64 -
 superset/commands/distributed_lock/delete.py       |    49 -
 superset/commands/distributed_lock/release.py      |    83 +
 .../base.py => tasks/__init__.py}                  |    35 +-
 superset/commands/tasks/cancel.py                  |   314 +
 superset/commands/tasks/exceptions.py              |   106 +
 superset/commands/tasks/internal_update.py         |   184 +
 superset/commands/tasks/prune.py                   |   134 +
 superset/commands/tasks/submit.py                  |   168 +
 superset/commands/tasks/update.py                  |   170 +
 superset/config.py                                 |    93 +
 superset/core/api/core_api_injection.py            |    37 +-
 superset/daos/chart.py                             |     5 +-
 superset/daos/tasks.py                             |   474 +
 superset/distributed_lock/__init__.py              |    63 +-
 superset/exceptions.py                             |    21 +-
 superset/explorables/base.py                       |    12 +
 superset/extensions/local_extensions_watcher.py    |     5 +-
 superset/initialization/__init__.py                |    26 +
 superset/mcp_service/chart/chart_utils.py          |   157 +-
 superset/mcp_service/chart/preview_utils.py        |    23 +-
 superset/mcp_service/chart/schemas.py              |   297 +-
 superset/mcp_service/chart/tool/generate_chart.py  |    44 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |    15 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |    25 +-
 superset/mcp_service/chart/tool/update_chart.py    |     4 +-
 .../mcp_service/chart/tool/update_chart_preview.py |     5 +-
 superset/mcp_service/chart/validation/pipeline.py  |    66 +-
 .../chart/validation/runtime/__init__.py           |    29 +-
 .../explore/tool/generate_explore_link.py          |     5 +-
 superset/mcp_service/utils/sanitization.py         |   283 +
 .../versions/2025_12_18_0220_create_tasks_table.py |   221 +
 superset/models/task_subscribers.py                |    62 +
 superset/models/tasks.py                           |   358 +
 superset/security/manager.py                       |     2 +-
 superset/sql/execution/celery_task.py              |     5 +-
 superset/sql/execution/executor.py                 |    41 +-
 superset/sql/parse.py                              |    40 +
 superset/sql_lab.py                                |    15 +
 superset/sqllab/utils.py                           |     3 +
 superset/tasks/ambient_context.py                  |    87 +
 superset/tasks/api.py                              |   471 +
 superset/tasks/constants.py                        |    54 +
 superset/tasks/context.py                          |   673 +
 superset/tasks/decorators.py                       |   609 +
 superset/tasks/filters.py                          |   112 +
 superset/tasks/locks.py                            |    81 +
 superset/tasks/manager.py                          |   761 +
 superset/tasks/registry.py                         |   110 +
 superset/tasks/scheduler.py                        |   257 +
 superset/tasks/schemas.py                          |   204 +
 superset/tasks/types.py                            |     2 +
 superset/tasks/utils.py                            |   176 +-
 superset/translations/es/LC_MESSAGES/messages.po   |    28 +-
 superset/utils/cache_manager.py                    |    55 +-
 superset/utils/core.py                             |    66 +-
 superset/utils/log.py                              |     5 +-
 superset/utils/oauth2.py                           |    10 +-
 superset/views/base.py                             |     7 +-
 .../distributed_lock/get.py => views/tasks.py}     |    37 +-
 tests/integration_tests/explore/api_tests.py       |    92 +
 tests/integration_tests/superset_test_config.py    |     1 +
 tests/integration_tests/tasks/api_tests.py         |   538 +
 .../integration_tests/tasks/commands}/__init__.py  |     0
 .../tasks/commands/test_cancel.py                  |   482 +
 .../tasks/commands/test_internal_update.py         |   419 +
 .../integration_tests/tasks/commands/test_prune.py |   258 +
 .../tasks/commands/test_submit.py                  |   238 +
 .../tasks/commands/test_update.py                  |   260 +
 .../integration_tests/tasks/test_event_handlers.py |   415 +
 .../integration_tests/tasks/test_sync_join_wait.py |   143 +
 tests/integration_tests/tasks/test_throttling.py   |   172 +
 tests/integration_tests/tasks/test_timeout.py      |   226 +
 tests/unit_tests/daos/test_tasks.py                |   503 +
 .../distributed_lock/distributed_lock_tests.py     |   158 +-
 .../mcp_service/chart/test_chart_schemas.py        |    36 +
 .../mcp_service/chart/test_chart_utils.py          |   281 +-
 .../mcp_service/chart/test_preview_utils.py        |   158 +
 .../mcp_service/chart/tool/test_get_chart_data.py  |   109 +
 .../chart/tool/test_get_chart_preview.py           |   113 +
 .../chart/validation/test_runtime_validator.py     |    52 +-
 .../explore/tool/test_generate_explore_link.py     |    23 +-
 .../mcp_service/utils/test_sanitization.py         |   480 +
 tests/unit_tests/security/manager_test.py          |    37 +
 tests/unit_tests/sql/execution/test_executor.py    |    73 +-
 tests/unit_tests/sql/parse_tests.py                |    33 +
 tests/unit_tests/tasks/test_decorators.py          |   477 +
 tests/unit_tests/tasks/test_handlers.py            |   677 +
 tests/unit_tests/tasks/test_manager.py             |   457 +
 tests/unit_tests/tasks/test_timeout.py             |   612 +
 tests/unit_tests/tasks/test_utils.py               |   249 +
 tests/unit_tests/utils/json_tests.py               |     2 +-
 tests/unit_tests/utils/oauth2_tests.py             |     6 +-
 tests/unit_tests/utils/test_core.py                |   508 +
 914 files changed, 77744 insertions(+), 57984 deletions(-)
 delete mode 100644 .github/workflows/prefer-typescript.yml
 create mode 100644 docs/developer_portal/extensions/tasks.md
 create mode 100644 docs/plugins/remark-tech-article-schema.mjs
 create mode 100644 docs/plugins/robots-txt-plugin.js
 create mode 100644 docs/src/components/FAQSchema.tsx
 create mode 100644 docs/src/components/TechArticleSchema.tsx
 delete mode 100644 docs/src/styles/antd-theme.less
 rename docs/src/styles/{main.less => main.css} (71%)
 create mode 100644 docs/static/img/logos/xnet.png
 create mode 100644 docs/static/img/superset-og-image.png
 create mode 100644 superset-core/src/superset_core/api/tasks.py
 delete mode 100644 superset-frontend/.swcrc
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/chart_list/_skip.filter.test.ts
 rename superset-frontend/eslint-rules/eslint-plugin-i18n-strings/{index.js => 
index.ts} (50%)
 rename 
superset-frontend/eslint-rules/eslint-plugin-i18n-strings/{no-template-vars.test.js
 => no-template-vars.test.ts} (88%)
 rename superset-frontend/eslint-rules/eslint-plugin-icons/{index.js => 
index.ts} (55%)
 rename 
superset-frontend/eslint-rules/eslint-plugin-icons/{no-fontawesome.test.js => 
no-fontawesome.test.ts} (83%)
 rename superset-frontend/eslint-rules/eslint-plugin-theme-colors/{colors.js => 
colors.ts} (97%)
 delete mode 100644 
superset-frontend/eslint-rules/eslint-plugin-theme-colors/index.js
 create mode 100644 
superset-frontend/eslint-rules/eslint-plugin-theme-colors/index.ts
 rename superset-frontend/packages/generator-superset/test/{app.test.js => 
app.test.ts} (92%)
 rename 
superset-frontend/packages/generator-superset/test/{plugin-chart.test.js => 
plugin-chart.test.ts} (89%)
 rename 
superset-frontend/packages/superset-ui-core/src/components/Form/{LabeledErrorBoundInput.test.jsx
 => LabeledErrorBoundInput.test.tsx} (83%)
 rename 
superset-frontend/packages/superset-ui-core/src/components/IconTooltip/{IconTooltip.test.jsx
 => IconTooltip.test.tsx} (100%)
 create mode 100644 
superset-frontend/playwright/components/ListView/BulkSelect.ts
 copy 
superset-frontend/{plugins/plugin-chart-pivot-table/src/react-pivottable/index.js
 => playwright/components/ListView/index.ts} (89%)
 create mode 100644 superset-frontend/playwright/components/core/AceEditor.ts
 create mode 100644 superset-frontend/playwright/components/core/Checkbox.ts
 create mode 100644 superset-frontend/playwright/components/core/Select.ts
 create mode 100644 superset-frontend/playwright/components/core/Tabs.ts
 create mode 100644 superset-frontend/playwright/components/core/Textarea.ts
 create mode 100644 
superset-frontend/playwright/components/modals/ConfirmDialog.ts
 create mode 100644 
superset-frontend/playwright/components/modals/EditDatasetModal.ts
 create mode 100644 
superset-frontend/playwright/components/modals/ImportDatasetModal.ts
 create mode 100644 superset-frontend/playwright/fixtures/dataset_export.zip
 create mode 100644 superset-frontend/playwright/helpers/api/assertions.ts
 create mode 100644 superset-frontend/playwright/helpers/api/intercepts.ts
 copy 
superset-frontend/{plugins/plugin-chart-pivot-table/src/react-pivottable/index.js
 => playwright/helpers/fixtures/index.ts} (87%)
 create mode 100644 superset-frontend/playwright/helpers/fixtures/testAssets.ts
 create mode 100644 superset-frontend/playwright/pages/ChartCreationPage.ts
 create mode 100644 superset-frontend/playwright/pages/CreateDatasetPage.ts
 create mode 100644 
superset-frontend/playwright/tests/experimental/dataset/create-dataset.spec.ts
 create mode 100644 
superset-frontend/playwright/tests/experimental/dataset/dataset-test-helpers.ts
 rename superset-frontend/plugins/legacy-plugin-chart-calendar/src/{Calendar.js 
=> Calendar.ts} (62%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-calendar/src/{ReactCalendar.jsx 
=> ReactCalendar.tsx} (91%)
 rename superset-frontend/plugins/legacy-plugin-chart-calendar/src/{index.js => 
index.ts} (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-calendar/src/{transformProps.js 
=> transformProps.ts} (87%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-calendar/src/vendor/{cal-heatmap.js
 => cal-heatmap.ts} (99%)
 copy superset-frontend/{src/views/index.tsx => 
plugins/legacy-plugin-chart-calendar/types/external.d.ts} (84%)
 rename superset-frontend/plugins/legacy-plugin-chart-chord/src/{Chord.js => 
Chord.ts} (76%)
 rename superset-frontend/plugins/legacy-plugin-chart-chord/src/{ReactChord.jsx 
=> ReactChord.tsx} (73%)
 rename superset-frontend/plugins/legacy-plugin-chart-chord/src/{index.js => 
index.ts} (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-chord/src/{transformProps.js => 
transformProps.ts} (90%)
 copy superset-frontend/{src/views/index.tsx => 
plugins/legacy-plugin-chart-chord/types/external.d.ts} (84%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-country-map/src/{CountryMap.js => 
CountryMap.ts} (69%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-country-map/src/{ReactCountryMap.jsx
 => ReactCountryMap.tsx} (78%)
 rename superset-frontend/plugins/legacy-plugin-chart-country-map/src/{index.js 
=> index.ts} (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-country-map/src/{transformProps.js
 => transformProps.ts} (91%)
 copy superset-frontend/{src/views/index.tsx => 
plugins/legacy-plugin-chart-country-map/types/external.d.ts} (84%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-horizon/src/{HorizonChart.jsx => 
HorizonChart.tsx} (75%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-horizon/src/{HorizonRow.jsx => 
HorizonRow.tsx} (83%)
 rename superset-frontend/plugins/legacy-plugin-chart-horizon/src/{index.js => 
index.ts} (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-horizon/src/{transformProps.js => 
transformProps.ts} (67%)
 copy superset-frontend/{src/views/index.tsx => 
plugins/legacy-plugin-chart-horizon/types/external.d.ts} (84%)
 rename superset-frontend/plugins/legacy-plugin-chart-map-box/src/{MapBox.jsx 
=> MapBox.tsx} (61%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-map-box/src/{ScatterPlotGlowOverlay.jsx
 => ScatterPlotGlowOverlay.tsx} (66%)
 rename superset-frontend/plugins/legacy-plugin-chart-map-box/src/{index.js => 
index.ts} (92%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-map-box/src/{transformProps.js => 
transformProps.ts} (79%)
 rename superset-frontend/plugins/legacy-plugin-chart-map-box/src/utils/{geo.js 
=> geo.ts} (92%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-map-box/src/utils/{luminanceFromRGB.js
 => luminanceFromRGB.ts} (92%)
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-map-box/types/external.d.ts
 rename 
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{PairedTTest.jsx
 => PairedTTest.tsx} (86%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{TTestTable.jsx 
=> TTestTable.tsx} (82%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{index.js => 
index.ts} (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{transformProps.js
 => transformProps.ts} (80%)
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/types/external.d.ts
 rename 
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{ParallelCoordinates.js
 => ParallelCoordinates.ts} (64%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{ReactParallelCoordinates.jsx
 => ReactParallelCoordinates.tsx} (88%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{index.js
 => index.ts} (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{transformProps.js
 => transformProps.ts} (84%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/vendor/parcoords/{d3.parcoords.js
 => d3.parcoords.ts} (99%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/vendor/parcoords/{divgrid.js
 => divgrid.ts} (96%)
 copy 
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/types/{d3.d.ts
 => external.d.ts} (79%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-partition/src/{Partition.js => 
Partition.ts} (84%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-partition/src/{ReactPartition.jsx 
=> ReactPartition.tsx} (78%)
 rename superset-frontend/plugins/legacy-plugin-chart-partition/src/{index.js 
=> index.ts} (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-partition/src/{transformProps.js 
=> transformProps.ts} (87%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-partition/test/{OptionDescription.test.jsx
 => OptionDescription.test.tsx} (91%)
 copy superset-frontend/{src/views/index.tsx => 
plugins/legacy-plugin-chart-partition/types/external.d.ts} (84%)
 rename superset-frontend/plugins/legacy-plugin-chart-rose/src/{ReactRose.jsx 
=> ReactRose.tsx} (79%)
 rename superset-frontend/plugins/legacy-plugin-chart-rose/src/{Rose.js => 
Rose.ts} (89%)
 rename superset-frontend/plugins/legacy-plugin-chart-rose/src/{index.js => 
index.ts} (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-rose/src/{transformProps.js => 
transformProps.ts} (91%)
 copy superset-frontend/{src/views/index.tsx => 
plugins/legacy-plugin-chart-rose/types/external.d.ts} (84%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-world-map/src/{ReactWorldMap.jsx 
=> ReactWorldMap.tsx} (71%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-world-map/src/{WorldMap.js => 
WorldMap.ts} (75%)
 rename superset-frontend/plugins/legacy-plugin-chart-world-map/src/{index.js 
=> index.ts} (100%)
 rename 
superset-frontend/plugins/legacy-plugin-chart-world-map/src/{transformProps.js 
=> transformProps.ts} (94%)
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-world-map/test/WorldMap.test.ts
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-world-map/test/tsconfig.json
 copy superset-frontend/{src/views/index.tsx => 
plugins/legacy-plugin-chart-world-map/types/external.d.ts} (84%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/{index.js 
=> index.ts} (100%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bullet/{index.js 
=> index.ts} (100%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/{index.js => 
index.ts} (100%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{NVD3Vis.js => 
NVD3Vis.ts} (99%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{PropTypes.js => 
PropTypes.ts} (100%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{ReactNVD3.jsx 
=> ReactNVD3.tsx} (98%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/TimePivot/{index.js => 
index.ts} (100%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{index.js => 
index.ts} (100%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{preset.js => 
preset.ts} (100%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/{transformProps.js => 
transformProps.ts} (88%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{utils.js => 
utils.ts} (99%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/utils/{isTruthy.js => 
isTruthy.ts} (94%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/vendor/superset/{AnnotationTypes.js
 => AnnotationTypes.ts} (97%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/vendor/superset/{exploreUtils.js
 => exploreUtils.ts} (97%)
 rename superset-frontend/plugins/legacy-preset-chart-nvd3/test/{utils.test.js 
=> utils.test.ts} (86%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/test/utils/{isTruthy.test.js 
=> isTruthy.test.ts} (87%)
 rename 
superset-frontend/plugins/legacy-preset-chart-nvd3/test/utils/{tokenize.test.js 
=> tokenize.test.ts} (86%)
 copy 
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
 => legacy-preset-chart-nvd3/types/external.d.ts} (61%)
 rename 
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{PivotTable.jsx
 => PivotTable.tsx} (85%)
 rename 
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{Styles.js
 => Styles.ts} (98%)
 rename 
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{TableRenderers.jsx
 => TableRenderers.tsx} (74%)
 rename 
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{index.js
 => index.ts} (100%)
 rename 
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{utilities.js
 => utilities.ts} (61%)
 delete mode 100644 superset-frontend/src/.eslintrc.json
 rename superset-frontend/src/SqlLab/actions/{sqlLab.test.js => sqlLab.test.ts} 
(81%)
 rename superset-frontend/src/SqlLab/reducers/{sqlLab.test.js => 
sqlLab.test.ts} (89%)
 create mode 100644 
superset-frontend/src/components/Chart/ChartContextMenu/ChartContextMenu.test.tsx
 rename superset-frontend/src/components/Chart/{ChartRenderer.test.jsx => 
ChartRenderer.test.tsx} (58%)
 rename superset-frontend/src/components/Chart/{ChartRenderer.jsx => 
ChartRenderer.tsx} (62%)
 delete mode 100644 superset-frontend/src/components/Chart/chartAction.js
 create mode 100644 superset-frontend/src/components/Chart/chartAction.ts
 rename superset-frontend/src/components/Chart/{chartActions.test.js => 
chartActions.test.ts} (52%)
 rename superset-frontend/src/components/Chart/{chartReducers.test.js => 
chartReducers.test.ts} (76%)
 rename 
superset-frontend/src/components/Datasource/ChangeDatasourceModal/{ChangeDatasourceModal.test.jsx
 => ChangeDatasourceModal.test.tsx} (98%)
 rename 
superset-frontend/src/components/Datasource/DatasourceModal/{DatasourceModal.test.jsx
 => DatasourceModal.test.tsx} (95%)
 rename 
superset-frontend/src/components/Datasource/components/DatasourceEditor/{DatasourceEditor.jsx
 => DatasourceEditor.tsx} (81%)
 rename superset-frontend/src/components/Datasource/utils/{index.js => 
index.ts} (60%)
 rename superset-frontend/src/components/MessageToasts/{Toast.test.jsx => 
Toast.test.tsx} (88%)
 rename superset-frontend/src/components/MessageToasts/{ToastPresenter.test.jsx 
=> ToastPresenter.test.tsx} (91%)
 rename superset-frontend/src/components/MessageToasts/{reducers.test.js => 
reducers.test.ts} (58%)
 delete mode 100644 superset-frontend/src/dashboard/actions/dashboardFilters.js
 create mode 100644 superset-frontend/src/dashboard/actions/dashboardFilters.ts
 rename superset-frontend/src/dashboard/actions/{dashboardLayout.test.js => 
dashboardLayout.test.ts} (78%)
 rename superset-frontend/src/dashboard/actions/{dashboardLayout.js => 
dashboardLayout.ts} (65%)
 delete mode 100644 superset-frontend/src/dashboard/actions/dashboardState.js
 rename superset-frontend/src/dashboard/actions/{dashboardState.test.js => 
dashboardState.test.ts} (73%)
 create mode 100644 superset-frontend/src/dashboard/actions/dashboardState.ts
 rename superset-frontend/src/dashboard/actions/{hydrate.js => hydrate.ts} (68%)
 rename superset-frontend/src/dashboard/components/{Dashboard.test.jsx => 
Dashboard.test.tsx} (82%)
 rename superset-frontend/src/dashboard/components/{Dashboard.jsx => 
Dashboard.tsx} (70%)
 create mode 100644 
superset-frontend/src/dashboard/components/DashboardBuilder/state.test.ts
 rename superset-frontend/src/dashboard/components/{DashboardGrid.test.jsx => 
DashboardGrid.test.tsx} (94%)
 rename superset-frontend/src/dashboard/components/{DashboardGrid.jsx => 
DashboardGrid.tsx} (81%)
 rename superset-frontend/src/dashboard/components/Header/{index.jsx => 
index.tsx} (85%)
 rename superset-frontend/src/dashboard/components/dnd/{DragDroppable.test.jsx 
=> DragDroppable.test.tsx} (82%)
 rename superset-frontend/src/dashboard/components/dnd/{DragDroppable.jsx => 
DragDroppable.tsx} (60%)
 rename superset-frontend/src/dashboard/components/dnd/{handleDrop.js => 
handleDrop.ts} (83%)
 rename 
superset-frontend/src/dashboard/components/filterscope/{FilterScopeSelector.jsx 
=> FilterScopeSelector.tsx} (69%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/Chart/{Chart.test.jsx 
=> Chart.test.tsx} (94%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/Chart/{Chart.jsx => 
Chart.tsx} (58%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/Column/{Column.test.jsx
 => Column.test.tsx} (81%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/Column/{Column.jsx => 
Column.tsx} (72%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/Markdown/{Markdown.jsx
 => Markdown.tsx} (75%)
 rename superset-frontend/src/dashboard/components/gridComponents/Tab/{Tab.jsx 
=> Tab.tsx} (80%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/Tabs/{Tabs.jsx => 
Tabs.tsx} (78%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/new/{DraggableNewComponent.test.jsx
 => DraggableNewComponent.test.tsx} (97%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/new/{NewColumn.test.jsx
 => NewColumn.test.tsx} (96%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/new/{NewDivider.test.jsx
 => NewDivider.test.tsx} (96%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/new/{NewHeader.test.jsx
 => NewHeader.test.tsx} (96%)
 rename 
superset-frontend/src/dashboard/components/gridComponents/new/{NewTabs.test.jsx 
=> NewTabs.test.tsx} (97%)
 rename 
superset-frontend/src/dashboard/components/menu/{WithPopoverMenu.test.jsx => 
WithPopoverMenu.test.tsx} (96%)
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/utils.test.ts
 delete mode 100644 
superset-frontend/src/dashboard/containers/DashboardComponent.jsx
 create mode 100644 
superset-frontend/src/dashboard/containers/DashboardComponent.tsx
 rename superset-frontend/src/dashboard/reducers/{dashboardFilters.test.js => 
dashboardFilters.test.ts} (77%)
 rename superset-frontend/src/dashboard/reducers/{dashboardFilters.js => 
dashboardFilters.ts} (50%)
 rename superset-frontend/src/dashboard/reducers/{dashboardInfo.js => 
dashboardInfo.ts} (53%)
 rename superset-frontend/src/dashboard/reducers/{dashboardLayout.test.js => 
dashboardLayout.test.ts} (92%)
 rename superset-frontend/src/dashboard/reducers/{dashboardLayout.js => 
dashboardLayout.ts} (67%)
 delete mode 100644 
superset-frontend/src/dashboard/reducers/dashboardState.test.js
 rename superset-frontend/src/dashboard/reducers/{dashboardState.js => 
dashboardState.ts} (52%)
 rename superset-frontend/src/dashboard/reducers/{sliceEntities.test.js => 
sliceEntities.test.ts} (71%)
 delete mode 100644 superset-frontend/src/dashboard/reducers/types.ts
 rename superset-frontend/src/dashboard/reducers/{undoableDashboardLayout.js => 
undoableDashboardLayout.ts} (83%)
 rename superset-frontend/src/dashboard/util/{dnd-reorder.test.js => 
dnd-reorder.test.ts} (99%)
 rename superset-frontend/src/dashboard/util/{dnd-reorder.js => dnd-reorder.ts} 
(86%)
 rename superset-frontend/src/dashboard/util/{findFirstParentContainer.test.js 
=> findFirstParentContainer.test.ts} (85%)
 rename 
superset-frontend/src/dashboard/util/{getChartAndLabelComponentIdFromPath.test.js
 => getChartAndLabelComponentIdFromPath.test.ts} (100%)
 rename superset-frontend/src/dashboard/util/{getComponentWidthFromDrop.js => 
getComponentWidthFromDrop.ts} (74%)
 rename superset-frontend/src/dashboard/util/{getDashboardUrl.test.js => 
getDashboardUrl.test.ts} (82%)
 rename superset-frontend/src/dashboard/util/{getDetailedComponentWidth.test.js 
=> getDetailedComponentWidth.test.ts} (95%)
 rename superset-frontend/src/dashboard/util/{getDetailedComponentWidth.js => 
getDetailedComponentWidth.ts} (76%)
 rename superset-frontend/src/dashboard/util/{getDropPosition.test.js => 
getDropPosition.test.ts} (96%)
 rename superset-frontend/src/dashboard/util/{getDropPosition.js => 
getDropPosition.ts} (84%)
 rename superset-frontend/src/dashboard/util/{getEffectiveExtraFilters.test.js 
=> getEffectiveExtraFilters.test.ts} (93%)
 rename 
superset-frontend/src/dashboard/util/{getFilterConfigsFromFormdata.test.js => 
getFilterConfigsFromFormdata.test.ts} (97%)
 rename superset-frontend/src/dashboard/util/{getFilterConfigsFromFormdata.js 
=> getFilterConfigsFromFormdata.ts} (69%)
 rename 
superset-frontend/src/dashboard/util/{getFilterScopeFromNodesTree.test.js => 
getFilterScopeFromNodesTree.test.ts} (98%)
 rename superset-frontend/src/dashboard/util/{getFilterScopeFromNodesTree.js => 
getFilterScopeFromNodesTree.ts} (75%)
 rename superset-frontend/src/dashboard/util/{getFilterScopeNodesTree.js => 
getFilterScopeNodesTree.ts} (62%)
 rename 
superset-frontend/src/dashboard/util/{getLeafComponentIdFromPath.test.js => 
getLeafComponentIdFromPath.test.ts} (100%)
 rename superset-frontend/src/dashboard/util/{newComponentFactory.test.js => 
newComponentFactory.test.ts} (100%)
 rename superset-frontend/src/dashboard/util/{newComponentFactory.js => 
newComponentFactory.ts} (82%)
 rename superset-frontend/src/dashboard/util/{newEntitiesFromDrop.test.js => 
newEntitiesFromDrop.test.ts} (75%)
 rename superset-frontend/src/dashboard/util/{newEntitiesFromDrop.js => 
newEntitiesFromDrop.ts} (84%)
 delete mode 100644 superset-frontend/src/dashboard/util/propShapes.jsx
 rename 
superset-frontend/src/dashboard/util/{updateComponentParentsList.test.js => 
updateComponentParentsList.test.ts} (90%)
 rename superset-frontend/src/explore/actions/{exploreActions.test.js => 
exploreActions.test.ts} (87%)
 rename superset-frontend/src/explore/components/{EmbedCodeContent.test.jsx => 
EmbedCodeContent.test.tsx} (92%)
 rename superset-frontend/src/explore/components/{EmbedCodeContent.jsx => 
EmbedCodeContent.tsx} (85%)
 rename superset-frontend/src/explore/components/ExploreChartHeader/{index.jsx 
=> index.tsx} (80%)
 rename 
superset-frontend/src/explore/components/ExploreChartPanel/{ExploreChartPanel.test.jsx
 => ExploreChartPanel.test.tsx} (95%)
 rename 
superset-frontend/src/explore/components/ExploreViewContainer/{index.jsx => 
index.tsx} (73%)
 rename superset-frontend/src/explore/components/{SaveModal.test.jsx => 
SaveModal.test.tsx} (91%)
 delete mode 100644 
superset-frontend/src/explore/components/controls/FilterControl/adhocFilterType.test.ts
 delete mode 100644 
superset-frontend/src/explore/components/controls/FilterControl/adhocFilterType.ts
 delete mode 100644 
superset-frontend/src/explore/components/controls/MetricControl/adhocMetricType.ts
 delete mode 100644 
superset-frontend/src/explore/components/controls/MetricControl/savedMetricType.test.ts
 delete mode 100644 
superset-frontend/src/explore/components/controls/MetricControl/savedMetricType.ts
 rename 
superset-frontend/src/explore/components/useExploreAdditionalActionsMenu/{index.jsx
 => index.tsx} (80%)
 rename superset-frontend/src/explore/exploreUtils/{exploreUtils.test.jsx => 
exploreUtils.test.tsx} (89%)
 rename superset-frontend/src/explore/exploreUtils/{index.js => index.ts} (64%)
 delete mode 100644 superset-frontend/src/explore/reducers/exploreReducer.js
 rename superset-frontend/src/explore/reducers/{exploreReducer.test.js => 
exploreReducer.test.ts} (66%)
 create mode 100644 superset-frontend/src/explore/reducers/exploreReducer.ts
 delete mode 100644 
superset-frontend/src/features/reports/ReportModal/actions.js
 create mode 100644 
superset-frontend/src/features/reports/ReportModal/actions.ts
 delete mode 100644 
superset-frontend/src/features/reports/ReportModal/reducer.js
 create mode 100644 
superset-frontend/src/features/reports/ReportModal/reducer.ts
 create mode 100644 superset-frontend/src/features/tasks/TaskPayloadPopover.tsx
 create mode 100644 
superset-frontend/src/features/tasks/TaskStackTracePopover.tsx
 create mode 100644 superset-frontend/src/features/tasks/TaskStatusIcon.tsx
 create mode 100644 superset-frontend/src/features/tasks/timeUtils.test.ts
 create mode 100644 superset-frontend/src/features/tasks/timeUtils.ts
 create mode 100644 superset-frontend/src/features/tasks/types.ts
 delete mode 100644 superset-frontend/src/middleware/logger.test.js
 create mode 100644 superset-frontend/src/middleware/logger.test.ts
 rename superset-frontend/src/middleware/{loggerMiddleware.js => 
loggerMiddleware.ts} (67%)
 rename superset-frontend/src/pages/AlertReportList/{AlertReportList.test.jsx 
=> AlertReportList.test.tsx} (95%)
 rename 
superset-frontend/src/pages/AnnotationLayerList/{AnnotationLayerList.test.jsx 
=> AnnotationLayerList.test.tsx} (93%)
 rename superset-frontend/src/pages/CssTemplateList/{CssTemplateList.test.jsx 
=> CssTemplateList.test.tsx} (93%)
 rename superset-frontend/src/pages/DashboardList/{DashboardList.test.jsx => 
DashboardList.test.tsx} (93%)
 create mode 100644 superset-frontend/src/pages/TaskList/TaskList.test.tsx
 create mode 100644 superset-frontend/src/pages/TaskList/index.tsx
 rename superset-frontend/src/utils/{common.test.jsx => common.test.tsx} (88%)
 rename superset-frontend/src/utils/{common.js => common.ts} (66%)
 delete mode 100644 superset-frontend/src/utils/getControlsForVizType.test.js
 rename superset-frontend/src/visualizations/presets/{MainPreset.js => 
MainPreset.ts} (100%)
 create mode 100644 superset/commands/distributed_lock/acquire.py
 delete mode 100644 superset/commands/distributed_lock/create.py
 delete mode 100644 superset/commands/distributed_lock/delete.py
 create mode 100644 superset/commands/distributed_lock/release.py
 copy superset/commands/{distributed_lock/base.py => tasks/__init__.py} (53%)
 create mode 100644 superset/commands/tasks/cancel.py
 create mode 100644 superset/commands/tasks/exceptions.py
 create mode 100644 superset/commands/tasks/internal_update.py
 create mode 100644 superset/commands/tasks/prune.py
 create mode 100644 superset/commands/tasks/submit.py
 create mode 100644 superset/commands/tasks/update.py
 create mode 100644 superset/daos/tasks.py
 create mode 100644 superset/mcp_service/utils/sanitization.py
 create mode 100644 
superset/migrations/versions/2025_12_18_0220_create_tasks_table.py
 create mode 100644 superset/models/task_subscribers.py
 create mode 100644 superset/models/tasks.py
 create mode 100644 superset/tasks/ambient_context.py
 create mode 100644 superset/tasks/api.py
 create mode 100644 superset/tasks/constants.py
 create mode 100644 superset/tasks/context.py
 create mode 100644 superset/tasks/decorators.py
 create mode 100644 superset/tasks/filters.py
 create mode 100644 superset/tasks/locks.py
 create mode 100644 superset/tasks/manager.py
 create mode 100644 superset/tasks/registry.py
 create mode 100644 superset/tasks/schemas.py
 rename superset/{commands/distributed_lock/get.py => views/tasks.py} (51%)
 create mode 100644 tests/integration_tests/tasks/api_tests.py
 copy {superset-core/src/superset_core/api => 
tests/integration_tests/tasks/commands}/__init__.py (100%)
 create mode 100644 tests/integration_tests/tasks/commands/test_cancel.py
 create mode 100644 
tests/integration_tests/tasks/commands/test_internal_update.py
 create mode 100644 tests/integration_tests/tasks/commands/test_prune.py
 create mode 100644 tests/integration_tests/tasks/commands/test_submit.py
 create mode 100644 tests/integration_tests/tasks/commands/test_update.py
 create mode 100644 tests/integration_tests/tasks/test_event_handlers.py
 create mode 100644 tests/integration_tests/tasks/test_sync_join_wait.py
 create mode 100644 tests/integration_tests/tasks/test_throttling.py
 create mode 100644 tests/integration_tests/tasks/test_timeout.py
 create mode 100644 tests/unit_tests/daos/test_tasks.py
 create mode 100644 tests/unit_tests/mcp_service/chart/test_preview_utils.py
 create mode 100644 tests/unit_tests/mcp_service/utils/test_sanitization.py
 create mode 100644 tests/unit_tests/tasks/test_decorators.py
 create mode 100644 tests/unit_tests/tasks/test_handlers.py
 create mode 100644 tests/unit_tests/tasks/test_manager.py
 create mode 100644 tests/unit_tests/tasks/test_timeout.py


Reply via email to