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 a44b8a6cf0 feat(database): add SSH tunnel validation to database 
parameters endpoint
     add c31224c891 fix(TableChart): render cell bars for columns with NULL 
values (#36819)
     add 12aa425049 fix(logout):  clicking logout displays an error 
notification "invalid username or password" (#36490)
     add e5489bd30f fix(SavedQueries): unify query card actions styling across 
all home page cards (#36671)
     add 1b1be96274 chore(deps-dev): bump globals from 16.5.0 to 17.0.0 in 
/docs (#36886)
     add dd2eb6293d chore(deps-dev): bump globals from 16.5.0 to 17.0.0 in 
/superset-websocket (#36885)
     add 4451e8db05 chore(deps): bump qs from 6.14.0 to 6.14.1 in /docs (#36884)
     add aed95453b3 chore(deps): bump qs from 6.14.0 to 6.14.1 in 
/superset-websocket/utils/client-ws-app (#36883)
     add d07a452e9b fix(RightMenu): fix inconsistent icon alignment in 
RightMenu items (#36532)
     add 52af489d8f docs: Add Rogow to INTHEWILD.yaml (#36879)
     add 1334040fd6 chore(docs): Include VLMedia logo to intothewild (#36868)
     add fdef8fa50a chore(deps-dev): bump @typescript-eslint/parser from 8.50.1 
to 8.51.0 in /docs (#36866)
     add 53fa65fe67 chore(deps): bump caniuse-lite from 1.0.30001761 to 
1.0.30001762 in /docs (#36865)
     add ac27c0aa3c chore(deps-dev): bump @typescript-eslint/parser from 8.50.1 
to 8.51.0 in /superset-websocket (#36861)
     add 2080633e57 other: resolve frontend dep vulns (#36820)
     add 740ddc03e2 fix(plugin-chart-table): remove column misalignment when no 
scrollbars are present (#36891)
     add c76ddcbbec fix(deck.gl): Fix Scatterplot chart error when using fixed 
point size (#36890)
     add 61986100bd chore(deps): bump hot-shots from 12.0.0 to 12.1.0 in 
/superset-websocket (#36899)
     add dcc556a9a7 chore(CHANGELOG): add link to 6.0.0 CHANGELOG (#36832)
     add 5909e90081 feat(security): add built-in Public role for anonymous 
dashboard access (#36548)
     add 12a266fd2f fix(trino): update query progress using cursor stats 
(#36872)
     add cedc35e39f fix(SQLLab): remove error icon displayed when writing Jinja 
SQL even when the script is correct (#36422)
     add f9fde87e85 feat(native filters): add filter type icons in config modal 
(#36905)
     add 1949d1bb96 feat(dev): add make ports and make open commands (#36906)
     add aaa174f820 docs: add Netlify configuration for PR deploy previews 
(#36908)
     add 9aff89c1b4 chore(frontend): migrate SqlLab and explore JS/JSX files to 
TypeScript (#36760)
     add 9968393e4c feat(ci): add container security scan for image built for 
commits merged to mainline (#36604)
     add d7d94ba640 fix(ag-grid):  Ag Grid Date Filter timezone correction 
(#36270)
     add 861e5cd013 fix(security): enforce datasource access control in 
get_samples() (#36550)
     add 5edaed2e5b fix(alerts): wrong alert trigger with custom query (#35871)
     add 7a5441bc7a refactor: Remove unimplemented APIs from 
@apache-superset/core (#36952)
     add 0c1edd4568 chore: Bump @apache-superset/core (0.0.1-rc9) (#36953)
     add dfdf8e75d8 fix: handle undefined template variables safely in query 
rendering. (#35009)
     add f9be2b816a feat(docs): add resources admonition with external links 
(#36761)
     add 64ee48f147 fix(mcp): use chart.query_context for get_chart_data like 
the API does (#36937)
     add 6f67b05375 chore: Update INTHEWILD.yaml for PlaidCloud (#36741)
     add 03caa7b337 docs(INTHEWILD): add Cirrus Assessment (#36871)
     add 84279acd2f feat(mcp): add unified get_schema tool for schema discovery 
(#36458)
     add a6d85dccf8 fix: streaming export losing g context (#36950)
     add 16e046b5d9 docs(INTHEWILD): add HOLLYLAND猛玛 (#36968)
     add 70b2e520b2 chore(frontend): Update $schema path in oxlint.json (#36859)
     add 337eb3baf5 fix(dashboard): prevent PublishedLabel overlap in 
non-English languages (#36877)
     add 047360641a feat(mcp): change save_chart default to False for 
preview-first workflow (#36935)
     add 4249b8ee6a chore(deps-dev): bump 
eslint-plugin-react-you-might-not-need-an-effect from 0.5.1 to 0.8.3 in 
/superset-frontend (#36972)
     add 3ac76e116d chore: Update INTHEWILD.yaml (#36733)
     add e9b91f6ec9 chore(deps): bump ioredis from 5.8.2 to 5.9.0 in 
/superset-websocket (#36920)
     add 77ebc5ac10 chore(deps-dev): bump @typescript-eslint/parser from 8.51.0 
to 8.52.0 in /docs (#36918)
     add dd7f0c4224 chore(deps-dev): bump typescript-eslint from 8.50.1 to 
8.52.0 in /superset-websocket (#36916)
     add af185ad8c9 chore(deps-dev): bump jsdom from 27.0.0 to 27.4.0 in 
/superset-frontend (#36922)
     add 4fc8157d6f chore(deps-dev): bump source-map from 0.7.4 to 0.7.6 in 
/superset-frontend (#36653)
     add 85cf46dc1c fix(mcp): remove unused ctx parameter from health_check 
tool (#36992)
     add 734d64081f chore(deps): bump caniuse-lite from 1.0.30001762 to 
1.0.30001763 in /docs (#36970)
     add ffbf81e952 chore(deps): bump ws from 8.18.3 to 8.19.0 in 
/superset-websocket (#36919)
     add 07aa7622f7 chore(deps): bump react-resizable from 3.0.5 to 3.1.3 in 
/superset-frontend (#36911)
     add 57f8f50292 chore(deps-dev): bump @typescript-eslint/eslint-plugin from 
8.50.1 to 8.51.0 in /docs (#36898)
     add 413dfc98ff chore(deps): bump @storybook/addon-docs from 8.6.14 to 
8.6.15 in /docs (#36824)
     add f48322c17d chore: bump flask-cors to 6.0.2 (#36640)
     add ea90d1f141 refactor(db-engine-specs): use standard OAuth 2.0 params in 
base class (#37010)
     add f895250cf9 fix(mypy): add overrides for superset-core local dev 
consistency (#36907)
     add 14c0cad0ba chore: remove deprecated function (#37021)
     add 1e8d648f47 feat: Chart query last run timestamp (#36934)
     add 53dddf4db2 feat(embedded-sdk): Add resolvePermalinkUrl callback for 
custom permalink URLs (#36924)
     add ecefba5bf7 fix(mcp): resolve startup failures from circular DAO 
imports (#37023)
     add 1cface15e6 docs: Update INTHEWILD.yaml (#36888)
     add 0294c30c9e fix(Tabs): prevent infinite rerenders with nested tabs 
(#37018)
     add e9b6791ffb refactor: move translations and logging to new core (#36929)
     add 4f5789abfe fix(reports): Use authenticated user as recipient for 
chart/dashboard reports (#36981)
     add d914b35cc0 fix(translations): post merge fix for new translations 
addded (#37041)
     add 459b4cb23d perf(date_parser): bound regex quantifiers for 
deterministic parsing performance (#36983)
     add 4f444ae1d2 feat(ag-grid): Server Side Filtering for Column Level 
Filters (#35683)
     add 62c7b48b5c fix(extensions-cli): fix dev mode error (#37024)
     add 169d27c9e9 fix(extensions): gracefully handle dist directory 
rebuilding (#37025)
     add 911d72c957 fix(models): prevent SQLAlchemy and_() deprecation warning 
(#37020)
     add d8f7ae83ee fix(sqlglot): use Athena dialect for awsathena parsing 
(#36747)
     add dcdcf88969 chore(chart): rollback legend top alignment to the right 
(#36994)
     add f4772a9383 chore(deps-dev): bump webpack-bundle-analyzer from 5.1.0 to 
5.1.1 in /superset-frontend (#37006)
     add 2a38ce001e fix(deckgl): remove visibility condition in deckgl stroke 
color (#37029)
     add 005b2af985 chore(deps-dev): bump @types/lodash from 4.17.21 to 4.17.23 
in /superset-websocket (#37045)
     add 4fe2085596 chore(deps): bump caniuse-lite from 1.0.30001763 to 
1.0.30001764 in /docs (#37049)
     add fac5d2bcb6 feat(db): add dynamic schema support for athena (#36003)
     add 22cfc4536b fix(export): URL prefix handling for subdirectory 
deployments (#36771)
     add 72c69e2ca6 chore(deps): bump fs-extra from 11.3.0 to 11.3.3 in 
/superset-frontend (#37001)
     add d56bc5826f chore(deps-dev): bump @applitools/eyes-storybook from 
3.60.0 to 3.63.4 in /superset-frontend (#37003)
     add adb575be2f chore(deps-dev): bump typescript-eslint from 8.50.1 to 
8.52.0 in /docs (#36913)
     add fa3d4a75ca chore(deps): bump actions/download-artifact from 6 to 7 
(#36699)
     add 7503ee4e09 feat(sqllab): primary/secondary action extensions (#36644)
     add 462fffc23c fix(docs): Update references from LLMS.md to AGENTS.md 
(#37060)
     add 481bfa0f68 feat(starrocks): add catalog support for StarRocks database 
connections (#37026)
     add 5f58241795 fix(explore): dispatch NumberControl value on blur to allow 
field clearing (#37007)
     add ad3812edd7 fix(table): keep d3-format semantics when applying currency 
formatting (#37039)
     add 936e37bd02 chore(deps-dev): bump @babel/node from 7.28.0 to 7.28.6 in 
/superset-frontend (#37089)
     add e17bfae6bd chore(deps-dev): bump webpack from 5.103.0 to 5.104.1 in 
/superset-frontend (#37083)
     add fc67569cd4 fix(datasets): ui bug fixes (#37058)
     add 2df224370e Merge branch 'master' into 
enxdev/feat/enhance-database-modal-validation

No new revisions were added by this update.

Summary of changes:
 .github/workflows/docker.yml                       |  17 +
 .github/workflows/superset-frontend.yml            |   2 +-
 CHANGELOG.md                                       |   1 +
 Dockerfile                                         |   2 +-
 Makefile                                           |   8 +-
 RESOURCES/INTHEWILD.yaml                           |  36 +-
 RESOURCES/STANDARD_ROLES.md                        | 379 ++++----
 .../contributing/development-setup.md              |   2 +
 docs/developer_portal/extensions/architecture.md   |   2 -
 docs/developer_portal/extensions/development.md    |   4 -
 docs/docs/api.mdx                                  |   5 +
 docs/docs/configuration/alerts-reports.mdx         |   5 +
 docs/docs/configuration/async-queries-celery.mdx   |   4 +
 docs/docs/configuration/cache.mdx                  |   5 +
 docs/docs/configuration/configuring-superset.mdx   |   4 +
 docs/docs/configuration/databases.mdx              | 128 ++-
 docs/docs/configuration/networking-settings.mdx    |  16 +-
 docs/docs/configuration/sql-templating.mdx         |   4 +
 docs/docs/configuration/theming.mdx                |   8 +
 docs/docs/contributing/contributing.mdx            |   4 +
 docs/docs/contributing/development.mdx             |  13 +-
 docs/docs/installation/kubernetes.mdx              |   5 +
 docs/docs/quickstart.mdx                           |   6 +
 docs/docs/security/securing_superset.mdx           |   5 +
 docs/docs/security/security.mdx                    | 100 ++-
 .../creating-your-first-dashboard.mdx              |  23 +-
 docs/docs/using-superset/exploring-data.mdx        |   9 +
 docs/docusaurus.config.ts                          |  12 +
 docs/netlify.toml                                  |  56 ++
 docs/package.json                                  |  12 +-
 docs/src/styles/custom.css                         |  39 +
 docs/src/theme/Admonition/Types.js                 |  63 ++
 docs/static/img/logos/cirrus.svg                   | Bin 0 -> 1809 bytes
 .../logos/hollyland\347\214\233\347\216\233.svg"   | Bin 0 -> 77086 bytes
 docs/static/img/logos/plaidcloud.svg               | Bin 0 -> 81228 bytes
 docs/static/img/logos/vlmedia.svg                  | Bin 0 -> 10468 bytes
 docs/yarn.lock                                     | 308 +++----
 pyproject.toml                                     |  23 +-
 requirements/base.txt                              |   2 +-
 requirements/development.txt                       |   2 +-
 scripts/docker-compose-up.sh                       |  77 +-
 superset-embedded-sdk/README.md                    |  61 +-
 superset-embedded-sdk/src/index.ts                 |  38 +-
 .../src/superset_extensions_cli/cli.py             |   5 -
 superset-extensions-cli/tests/test_cli_dev.py      |  24 +-
 superset-frontend/cypress-base/package-lock.json   | 354 +++++++-
 superset-frontend/cypress-base/package.json        |   5 +
 .../netlify.toml                                   |  22 +-
 superset-frontend/oxlint.json                      |   2 +-
 superset-frontend/package-lock.json                | 822 ++++++++++--------
 superset-frontend/package.json                     |  22 +-
 .../packages/generator-superset/package.json       |   2 +-
 .../packages/superset-core/package.json            |  10 +-
 .../packages/superset-core/src/api/environment.ts  | 153 ----
 .../packages/superset-core/src/api/index.ts        |   2 -
 .../packages/superset-core/src/api/sqlLab.ts       | 109 ---
 .../packages/superset-core/src/index.ts            |   1 +
 .../superset-core/src/spec/utils/logging.test.ts   |  69 ++
 .../packages/superset-core/src/ui/index.ts         |   1 +
 .../src/ui}/translation/README.md                  |   0
 .../src/ui}/translation/Translator.ts              |   2 +-
 .../src/ui}/translation/TranslatorSingleton.ts     |   0
 .../src/ui}/translation/index.ts                   |   1 +
 .../src/ui}/translation/types/index.ts             |   0
 .../src/ui}/translation/types/jed.ts               |   0
 .../src/utils}/index.ts                            |   2 +-
 .../src/utils/logging.ts                           |   2 +-
 .../types/external.d.ts                            |   0
 .../src/components/CertifiedIconWithTooltip.tsx    |   2 +-
 .../components/ColumnTypeLabel/ColumnTypeLabel.tsx |   2 +-
 .../src/components/ControlHeader.tsx               |   2 +-
 .../src/components/SQLPopover.tsx                  |   2 +-
 .../src/components/labelUtils.tsx                  |   2 +-
 .../superset-ui-chart-controls/src/constants.ts    |   3 +-
 .../src/sections/advancedAnalytics.tsx             |   3 +-
 .../src/sections/annotationsAndLayers.tsx          |   2 +-
 .../src/sections/chartTitle.tsx                    |   2 +-
 .../src/sections/echartsTimeSeriesQuery.tsx        |   2 +-
 .../src/sections/forecastInterval.tsx              |   7 +-
 .../src/sections/matrixify.tsx                     |   2 +-
 .../src/sections/sections.tsx                      |   2 +-
 .../src/sections/timeComparison.tsx                |   3 +-
 .../components/RadioButtonControl.tsx              |   3 +-
 .../src/shared-controls/customControls.tsx         |   2 +-
 .../src/shared-controls/dndControls.tsx            |   3 +-
 .../src/shared-controls/matrixifyControls.tsx      |   3 +-
 .../src/shared-controls/mixins.tsx                 |   2 +-
 .../src/shared-controls/sharedControls.tsx         |   2 +-
 .../src/utils/D3Formatting.ts                      |   2 +-
 .../test/utils/getColorFormatters.test.ts          |   2 +-
 .../src/chart/components/FallbackComponent.tsx     |   2 +-
 .../src/chart/components/NoResultsComponent.tsx    |   3 +-
 .../src/chart/components/SuperChartCore.tsx        |   2 +-
 .../src/components/AsyncAceEditor/index.tsx        |   2 -
 .../src/components/CachedLabel/TooltipContent.tsx  |   2 +-
 .../src/components/CachedLabel/index.tsx           |   2 +-
 .../CertifiedBadge/CertifiedBadge.stories.tsx      |   2 +-
 .../src/components/CertifiedBadge/index.tsx        |   2 +-
 .../src/components/ConfirmModal/index.tsx          |   2 +-
 .../src/components/CronPicker/index.tsx            |   2 +-
 .../src/components/DeleteModal/index.tsx           |   2 +-
 .../DropdownContainer/DropdownContainer.tsx        |   3 +-
 .../src/components/DynamicEditableTitle/index.tsx  |   2 +-
 .../src/components/EditableTitle/index.tsx         |   2 +-
 .../src/components/EmptyState/index.tsx            |  89 +-
 .../src/components/EmptyState/types.ts             |   3 +
 .../src/components/FaveStar/index.tsx              |   2 +-
 .../src/components/Form/LabeledErrorBoundInput.tsx |   2 +-
 .../src/components/Icons/AntdEnhanced.tsx          |   2 +
 .../src/components/InfoTooltip/index.tsx           |   2 +-
 .../components/Label/reusable/DatasetTypeLabel.tsx |   2 +-
 .../components/Label/reusable/PublishedLabel.tsx   |   2 +-
 .../src/components/LastUpdated/index.tsx           |   2 +-
 .../src/components/ListViewCard/ImageLoader.tsx    |   2 +-
 .../src/components/ListViewCard/index.tsx          |   4 +-
 .../src/components/MetadataBar/ContentConfig.tsx   |   3 +-
 .../src/components/Modal/FormModal.tsx             |   2 +-
 .../src/components/Modal/Modal.tsx                 |   2 +-
 .../src/components/PageHeaderWithActions/index.tsx |   2 +-
 .../src/components/Select/AsyncSelect.tsx          |   2 +-
 .../src/components/Select/Select.tsx               |   3 +-
 .../src/components/Select/constants.ts             |   2 +-
 .../src/components/Select/utils.tsx                |   3 +-
 .../Table/cell-renderers/NumericCell/index.tsx     |   2 +-
 .../src/components/Table/index.tsx                 |   3 +-
 .../ThemedAgGridReact/ThemedAgGridReact.test.tsx   |  10 +-
 .../src/components/TimezoneSelector/index.tsx      |   2 +-
 .../src/components/TruncatedList/index.tsx         |   3 +-
 .../src/components/UnsavedChangesModal/index.tsx   |   2 +-
 .../superset-ui-core/src/components/constants.ts   |   2 +-
 .../src/currency-format/CurrencyFormatter.ts       |  11 +-
 .../packages/superset-ui-core/src/index.ts         |   1 -
 .../src/query/extractQueryFields.ts                |   2 +-
 .../src/query/getClientErrorObject.ts              |   2 +-
 .../src/query/types/QueryResponse.ts               |   6 +-
 .../superset-ui-core/src/utils/featureFlags.ts     |   2 +-
 .../packages/superset-ui-core/src/utils/index.ts   |   1 -
 .../packages/superset-ui-core/src/utils/tooltip.ts |   2 +-
 .../src/validator/legacyValidateInteger.ts         |   2 +-
 .../src/validator/legacyValidateNumber.ts          |   2 +-
 .../src/validator/validateInteger.ts               |   2 +-
 .../src/validator/validateMapboxStylesUrl.ts       |   2 +-
 .../src/validator/validateMaxValue.ts              |   2 +-
 .../src/validator/validateNonEmpty.ts              |   2 +-
 .../src/validator/validateNumber.ts                |   2 +-
 .../src/validator/validateServerPagination.ts      |   2 +-
 .../validator/validateTimeComparisonRangeValues.ts |   2 +-
 .../test/chart/clients/ChartClient.test.ts         |   2 +-
 .../test/currency-format/CurrencyFormatter.test.ts |   6 +-
 .../test/query/extractQueryFields.test.ts          |   3 +-
 .../test/translation/Translator.test.ts            | 201 -----
 .../test/translation/TranslatorSingleton.test.ts   |  86 --
 .../test/translation/index.test.ts                 |  35 -
 .../test/translation/languagePacks/en.ts           |  37 -
 .../test/translation/languagePacks/zh.ts           |  37 -
 .../test/utils/featureFlag.test.ts                 |  19 +-
 .../superset-ui-core/test/utils/logging.test.ts    |  78 --
 .../superset-ui-core/test/validator/setup.ts       |   2 +-
 .../packages/superset-ui-demo/package.json         |   2 +-
 .../storybook/shared/components/VerifyCORS.tsx     |   2 +-
 .../playwright/tests/experimental/README.md        |   7 +
 .../legacy-plugin-chart-calendar/src/Calendar.js   |   3 +-
 .../src/controlPanel.ts                            |   3 +-
 .../legacy-plugin-chart-calendar/src/index.js      |   3 +-
 .../src/vendor/cal-heatmap.js                      |   3 +-
 .../legacy-plugin-chart-chord/src/controlPanel.ts  |   3 +-
 .../plugins/legacy-plugin-chart-chord/src/index.js |   3 +-
 .../src/controlPanel.ts                            |   3 +-
 .../legacy-plugin-chart-country-map/src/index.js   |   3 +-
 .../src/controlPanel.ts                            |   2 +-
 .../legacy-plugin-chart-horizon/src/index.js       |   3 +-
 .../src/controlPanel.ts                            |   3 +-
 .../legacy-plugin-chart-map-box/src/index.js       |   3 +-
 .../src/controlPanel.ts                            |   3 +-
 .../legacy-plugin-chart-paired-t-test/src/index.js |   3 +-
 .../src/controlPanel.ts                            |   2 +-
 .../src/index.js                                   |   3 +-
 .../src/controlPanel.tsx                           |   3 +-
 .../legacy-plugin-chart-partition/src/index.js     |   3 +-
 .../legacy-plugin-chart-rose/src/controlPanel.tsx  |   2 +-
 .../plugins/legacy-plugin-chart-rose/src/index.js  |   3 +-
 .../src/controlPanel.ts                            |   2 +-
 .../legacy-plugin-chart-world-map/src/index.js     |   3 +-
 .../src/Multi/controlPanel.ts                      |   3 +-
 .../legacy-preset-chart-deckgl/src/Multi/index.ts  |   3 +-
 .../src/layers/Arc/controlPanel.ts                 |   3 +-
 .../src/layers/Arc/index.ts                        |   3 +-
 .../src/layers/Contour/Contour.tsx                 |   2 +-
 .../src/layers/Contour/controlPanel.ts             |   3 +-
 .../src/layers/Contour/index.ts                    |   3 +-
 .../src/layers/Geojson/controlPanel.ts             |   2 +-
 .../src/layers/Geojson/index.ts                    |   3 +-
 .../src/layers/Grid/controlPanel.ts                |   3 +-
 .../src/layers/Grid/index.ts                       |   3 +-
 .../src/layers/Heatmap/Heatmap.tsx                 |   2 +-
 .../src/layers/Heatmap/controlPanel.ts             |   2 +-
 .../src/layers/Heatmap/index.ts                    |   3 +-
 .../src/layers/Hex/controlPanel.ts                 |   2 +-
 .../src/layers/Hex/index.ts                        |   3 +-
 .../src/layers/Path/controlPanel.ts                |   2 +-
 .../src/layers/Path/index.ts                       |   3 +-
 .../src/layers/Polygon/Polygon.tsx                 |   2 +-
 .../src/layers/Polygon/controlPanel.ts             |   4 +-
 .../src/layers/Polygon/index.ts                    |   3 +-
 .../src/layers/Scatter/Scatter.tsx                 |  21 +-
 .../src/layers/Scatter/buildQuery.test.ts          | 312 +++++++
 .../src/layers/Scatter/buildQuery.ts               |  26 +-
 .../src/layers/Scatter/controlPanel.ts             |   3 +-
 .../src/layers/Scatter/index.ts                    |   3 +-
 .../src/layers/Scatter/transformProps.test.ts      | 303 +++++++
 .../src/layers/Scatter/transformProps.ts           |  19 +-
 .../src/layers/Screengrid/Screengrid.tsx           |   2 +-
 .../src/layers/Screengrid/controlPanel.ts          |   3 +-
 .../src/layers/Screengrid/index.ts                 |   3 +-
 .../src/layers/transformUtils.test.ts              | 184 ++++
 .../src/layers/transformUtils.ts                   |  12 +-
 .../src/layers/utils/metricUtils.test.ts           | 121 +++
 .../src/layers/utils/metricUtils.ts                | 120 +++
 .../src/utilities/HandlebarsRenderer.tsx           |   3 +-
 .../src/utilities/Shared_DeckGL.tsx                |   4 +-
 .../src/utilities/TooltipTemplateControl.tsx       |   2 +-
 .../src/utilities/sharedDndControls.tsx            |   2 +-
 .../src/utilities/tooltipUtils.tsx                 |   3 +-
 .../src/Bubble/controlPanel.ts                     |   2 +-
 .../legacy-preset-chart-nvd3/src/Bubble/index.js   |   3 +-
 .../src/Bullet/controlPanel.ts                     |   2 +-
 .../legacy-preset-chart-nvd3/src/Bullet/index.js   |   3 +-
 .../src/Compare/controlPanel.ts                    |   2 +-
 .../legacy-preset-chart-nvd3/src/Compare/index.js  |   3 +-
 .../legacy-preset-chart-nvd3/src/NVD3Controls.tsx  |   2 +-
 .../legacy-preset-chart-nvd3/src/NVD3Vis.js        |   2 +-
 .../src/TimePivot/controlPanel.ts                  |   2 +-
 .../src/TimePivot/index.js                         |   3 +-
 .../src/vendor/superset/AnnotationTypes.js         |   2 +-
 .../src/AgGridTable/components/CustomHeader.tsx    |  82 +-
 .../src/AgGridTable/components/Pagination.tsx      |   2 +-
 .../components/TimeComparisonVisibility.tsx        |   2 +-
 .../src/AgGridTable/index.tsx                      |  94 +-
 .../src/AgGridTableChart.tsx                       |  93 +-
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   | 158 +++-
 .../plugin-chart-ag-grid-table/src/consts.ts       |  15 +
 .../src/controlPanel.tsx                           |   2 +-
 .../plugin-chart-ag-grid-table/src/index.ts        |   3 +-
 .../src/renderers/NumericCellRenderer.tsx          |  14 +-
 .../src/renderers/TextCellRenderer.tsx             |   3 +-
 .../src/stateConversion.ts                         | 185 +++-
 .../src/transformProps.ts                          |   2 +-
 .../plugin-chart-ag-grid-table/src/types.ts        |  23 +-
 .../src/utils/agGridFilterConverter.ts             | 726 ++++++++++++++++
 .../src/utils/dateFilterComparator.ts              |  58 +-
 .../src/utils/filterStateManager.ts                | 164 ++++
 .../src/utils/getInitialFilterModel.ts}            |  37 +-
 .../src/utils/useColDefs.ts                        | 110 ++-
 .../test/buildQuery.test.ts                        | 591 +++++++++++++
 .../test/utils/agGridFilterConverter.test.ts       | 863 ++++++++++++++++++
 .../test/utils/dateFilterComparator.test.ts        | 124 +++
 .../test/utils/filterStateManager.test.ts          | 658 ++++++++++++++
 .../test/utils/getInitialFilterModel.test.ts       | 412 +++++++++
 .../src/plugin/controlPanel.ts                     |   3 +-
 .../plugin-chart-cartodiagram/src/plugin/index.ts  |   3 +-
 .../src/util/controlPanelUtil.tsx                  |   2 +-
 .../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx |   2 +-
 .../BigNumberPeriodOverPeriod/controlPanel.ts      |   2 +-
 .../BigNumber/BigNumberPeriodOverPeriod/index.ts   |   3 +-
 .../src/BigNumber/BigNumberTotal/controlPanel.ts   |   3 +-
 .../src/BigNumber/BigNumberTotal/index.ts          |   3 +-
 .../src/BigNumber/BigNumberViz.tsx                 |   2 +-
 .../BigNumberWithTrendline/controlPanel.tsx        |   3 +-
 .../src/BigNumber/BigNumberWithTrendline/index.ts  |   3 +-
 .../BigNumberWithTrendline/transformProps.ts       |   2 +-
 .../src/BigNumber/sharedControls.ts                |   2 +-
 .../src/BoxPlot/controlPanel.ts                    |   2 +-
 .../plugin-chart-echarts/src/BoxPlot/index.ts      |   3 +-
 .../src/Bubble/controlPanel.tsx                    |   2 +-
 .../plugin-chart-echarts/src/Bubble/index.ts       |   3 +-
 .../src/Funnel/controlPanel.tsx                    |   2 +-
 .../plugin-chart-echarts/src/Funnel/index.ts       |   3 +-
 .../src/Gantt/EchartsGantt.tsx                     |   2 +-
 .../src/Gantt/controlPanel.tsx                     |   2 +-
 .../plugin-chart-echarts/src/Gantt/index.ts        |   3 +-
 .../src/Gantt/transformProps.ts                    |   2 +-
 .../src/Gauge/controlPanel.tsx                     |   2 +-
 .../plugin-chart-echarts/src/Gauge/index.ts        |   3 +-
 .../src/Graph/controlPanel.tsx                     |   2 +-
 .../plugin-chart-echarts/src/Graph/index.ts        |   3 +-
 .../src/Heatmap/controlPanel.tsx                   |   3 +-
 .../plugin-chart-echarts/src/Heatmap/index.ts      |   3 +-
 .../src/Heatmap/transformProps.ts                  |   2 +-
 .../src/Histogram/controlPanel.tsx                 |   3 +-
 .../plugin-chart-echarts/src/Histogram/index.ts    |   3 +-
 .../src/MixedTimeseries/controlPanel.tsx           |   3 +-
 .../src/MixedTimeseries/index.ts                   |   3 +-
 .../plugin-chart-echarts/src/Pie/controlPanel.tsx  |   3 +-
 .../plugins/plugin-chart-echarts/src/Pie/index.ts  |   3 +-
 .../plugin-chart-echarts/src/Pie/transformProps.ts |   2 +-
 .../src/Radar/controlPanel.tsx                     |   2 +-
 .../plugin-chart-echarts/src/Radar/index.ts        |   3 +-
 .../src/Sankey/controlPanel.tsx                    |   3 +-
 .../plugin-chart-echarts/src/Sankey/index.ts       |   3 +-
 .../src/Sunburst/controlPanel.tsx                  |   2 +-
 .../plugin-chart-echarts/src/Sunburst/index.ts     |   3 +-
 .../src/Sunburst/transformProps.ts                 |   2 +-
 .../src/Timeseries/Area/controlPanel.tsx           |   2 +-
 .../src/Timeseries/Area/index.ts                   |   3 +-
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |   3 +-
 .../src/Timeseries/Regular/Bar/index.ts            |   3 +-
 .../src/Timeseries/Regular/Line/controlPanel.tsx   |   2 +-
 .../src/Timeseries/Regular/Line/index.ts           |   3 +-
 .../Timeseries/Regular/Scatter/controlPanel.tsx    |   2 +-
 .../src/Timeseries/Regular/Scatter/index.ts        |   3 +-
 .../Timeseries/Regular/SmoothLine/controlPanel.tsx |   2 +-
 .../src/Timeseries/Regular/SmoothLine/index.ts     |   3 +-
 .../src/Timeseries/Step/controlPanel.tsx           |   2 +-
 .../src/Timeseries/Step/index.ts                   |   3 +-
 .../src/Timeseries/constants.ts                    |   2 +-
 .../plugin-chart-echarts/src/Timeseries/index.ts   |   3 +-
 .../src/Timeseries/transformProps.ts               |   2 +-
 .../plugin-chart-echarts/src/Tree/controlPanel.tsx |   2 +-
 .../plugins/plugin-chart-echarts/src/Tree/index.ts |   2 +-
 .../src/Treemap/controlPanel.tsx                   |   2 +-
 .../plugin-chart-echarts/src/Treemap/index.ts      |   3 +-
 .../src/Waterfall/constants.ts                     |   2 +-
 .../src/Waterfall/controlPanel.tsx                 |   2 +-
 .../plugin-chart-echarts/src/Waterfall/index.ts    |   3 +-
 .../plugins/plugin-chart-echarts/src/constants.ts  |   3 +-
 .../plugins/plugin-chart-echarts/src/controls.tsx  |   3 +-
 .../plugin-chart-echarts/src/utils/series.ts       |   3 -
 .../src/components/Handlebars/HandlebarsViewer.tsx |   2 +-
 .../src/plugin/controlPanel.tsx                    |   2 +-
 .../src/plugin/controls/columns.tsx                |   3 +-
 .../src/plugin/controls/handlebarTemplate.tsx      |   3 +-
 .../src/plugin/controls/includeTime.ts             |   2 +-
 .../src/plugin/controls/metrics.tsx                |   2 +-
 .../src/plugin/controls/orderBy.tsx                |   2 +-
 .../src/plugin/controls/queryMode.tsx              |   3 +-
 .../src/plugin/controls/shared.ts                  |   8 +-
 .../src/plugin/controls/style.tsx                  |   2 +-
 .../plugin-chart-handlebars/src/plugin/index.ts    |   3 +-
 .../src/PivotTableChart.tsx                        |   2 +-
 .../src/plugin/controlPanel.tsx                    |   2 +-
 .../plugin-chart-pivot-table/src/plugin/index.ts   |   2 +-
 .../src/react-pivottable/TableRenderers.jsx        |   3 +-
 .../src/react-pivottable/utilities.js              |   2 +-
 .../src/DataTable/components/SelectPageSize.tsx    |   2 +-
 .../src/DataTable/hooks/useSticky.tsx              |   2 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |  14 +-
 .../plugins/plugin-chart-table/src/consts.ts       |   2 +-
 .../plugin-chart-table/src/controlPanel.tsx        |   2 +-
 .../plugins/plugin-chart-table/src/index.ts        |   3 +-
 .../plugin-chart-table/src/transformProps.ts       |   2 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |  72 ++
 .../plugins/plugin-chart-table/test/testData.ts    |   1 +
 .../src/plugin/controlPanel.tsx                    |   3 +-
 .../plugin/controls/ColorSchemeControl/index.tsx   |   2 +-
 .../src/plugin/controls/RotationControl.tsx        |   2 +-
 .../plugin-chart-word-cloud/src/plugin/index.ts    |   3 +-
 superset-frontend/spec/helpers/shim.tsx            |   8 +-
 .../src/SqlLab/actions/{sqlLab.js => sqlLab.ts}    | 796 ++++++++++++-----
 .../SqlLab/components/AceEditorWrapper/index.tsx   |  26 +-
 .../components/AceEditorWrapper/useAnnotations.ts  |   3 +-
 .../AceEditorWrapper/useKeywords.test.ts           |   6 +-
 .../components/AceEditorWrapper/useKeywords.ts     |   9 +-
 .../src/SqlLab/components/App/index.tsx            |   2 +-
 .../src/SqlLab/components/AppLayout/index.tsx      |  22 +-
 .../src/SqlLab/components/ColumnElement/index.tsx  |   2 +-
 .../EditorAutoSync/EditorAutoSync.test.tsx         |   6 +-
 .../src/SqlLab/components/EditorAutoSync/index.tsx |   2 +-
 .../EstimateQueryCostButton.test.tsx               |  28 +-
 .../components/EstimateQueryCostButton/index.tsx   |  11 +-
 .../components/ExploreCtasResultsButton/index.tsx  |   3 +-
 .../components/ExploreResultsButton/index.tsx      |   2 +-
 .../src/SqlLab/components/HighlightedSql/index.tsx |   2 +-
 .../components/KeyboardShortcutButton/index.tsx    |   2 +-
 .../SqlLab/components/QueryAutoRefresh/index.tsx   |   2 +-
 .../src/SqlLab/components/QueryHistory/index.tsx   |   3 +-
 .../QueryLimitSelect/QueryLimitSelect.test.tsx     |   3 +-
 .../SqlLab/components/QueryLimitSelect/index.tsx   |  30 +-
 .../src/SqlLab/components/QueryTable/index.tsx     |   3 +-
 .../SqlLab/components/ResultSet/ResultSet.test.tsx | 141 +++
 .../src/SqlLab/components/ResultSet/index.tsx      |   6 +-
 .../RunQueryActionButton.test.tsx                  |   1 -
 .../components/RunQueryActionButton/index.tsx      |  40 +-
 .../SaveDatasetActionButton.test.tsx               |  39 +-
 .../components/SaveDatasetActionButton/index.tsx   |  49 +-
 .../SqlLab/components/SaveDatasetModal/index.tsx   |   8 +-
 .../SqlLab/components/SaveQuery/SaveQuery.test.tsx |  23 +-
 .../src/SqlLab/components/SaveQuery/index.tsx      |  24 +-
 .../components/ScheduleQueryButton/index.tsx       |   2 +-
 .../SqlLab/components/ShareSqlLabQuery/index.tsx   |  13 +-
 .../src/SqlLab/components/SouthPane/Results.tsx    |   3 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |  29 +-
 .../SqlLab/components/SqlEditor/SqlEditor.test.tsx |   6 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      | 260 +++---
 .../SqlLab/components/SqlEditorLeftBar/index.tsx   |  91 +-
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |   3 +-
 .../SqlEditorTopBar/SqlEditorTopBar.test.tsx       | 130 +++
 .../SqlLab/components/SqlEditorTopBar/index.tsx    |  62 ++
 .../SqlEditorTopBar/useDatabaseSelector.test.ts    | 320 +++++++
 .../SqlEditorTopBar/useDatabaseSelector.ts         | 126 +++
 .../components/StatusBar/StatusBar.test.tsx}       |  28 +-
 .../src/SqlLab/components/StatusBar/index.tsx      |  57 ++
 .../SqlLab/components/TabbedSqlEditors/index.tsx   |  43 +-
 .../src/SqlLab/components/TableElement/index.tsx   |   4 +-
 .../src/SqlLab/components/TablePreview/index.tsx   |   3 +-
 .../components/TemplateParamsEditor/index.tsx      |   2 +-
 superset-frontend/src/SqlLab/constants.ts          |   5 +-
 superset-frontend/src/SqlLab/contributions.ts      |   4 +-
 .../middlewares/persistSqlLabStateEnhancer.js      | 136 ---
 .../middlewares/persistSqlLabStateEnhancer.ts      | 185 ++++
 .../src/SqlLab/reducers/getInitialState.ts         |   2 +-
 .../src/SqlLab/reducers/{sqlLab.js => sqlLab.ts}   | 336 ++++----
 .../src/SqlLab/utils/newQueryTabName.ts            |   2 +-
 .../src/components/AlteredSliceTag/index.tsx       |   2 +-
 .../src/components/AuditInfo/index.tsx             |   2 +-
 superset-frontend/src/components/Chart/Chart.tsx   |   3 +-
 .../Chart/ChartContextMenu/ChartContextMenu.tsx    |   2 +-
 .../src/components/Chart/ChartRenderer.jsx         |  16 +-
 .../src/components/Chart/DrillBy/DrillByModal.tsx  |   2 +-
 .../components/Chart/DrillBy/DrillBySubmenu.tsx    |   2 +-
 .../Chart/DrillBy/useDisplayModeToggle.tsx         |   2 +-
 .../Chart/DrillBy/useResultsTableView.tsx          |   3 +-
 .../Chart/DrillDetail/DrillDetailModal.tsx         |   2 +-
 .../Chart/DrillDetail/DrillDetailPane.tsx          |   2 +-
 .../Chart/DrillDetail/DrillDetailTableControls.tsx |   2 +-
 .../src/components/Chart/chartAction.js            |   2 +-
 .../src/components/Chart/chartReducer.ts           |   2 +-
 .../Chart/useDrillDetailMenuItems/index.tsx        |   2 +-
 .../src/components/CopyToClipboard/index.tsx       |   2 +-
 .../src/components/DatabaseSelector/index.tsx      |   3 +-
 .../Datasource/ChangeDatasourceModal/index.tsx     |   3 +-
 .../Datasource/DatasourceModal/index.tsx           |   2 +-
 .../components/CollectionTable/index.tsx           |   2 +-
 .../DatasourceEditor/DatasourceEditor.jsx          |   2 +-
 .../components/DatasetUsageTab/index.tsx           |   2 +-
 .../src/components/Datasource/utils/index.js       |   3 +-
 .../src/components/Datasource/utils/utils.test.tsx |   2 +-
 .../src/components/DynamicPlugins/index.tsx        |   2 +-
 .../src/components/ErrorBoundary/index.tsx         |   2 +-
 .../ErrorMessage/DatabaseErrorMessage.tsx          |   3 +-
 .../ErrorMessage/DatasetNotFoundErrorMessage.tsx   |   2 +-
 .../src/components/ErrorMessage/ErrorAlert.tsx     |   2 +-
 .../ErrorMessage/ErrorMessageWithStackTrace.tsx    |   3 +-
 .../ErrorMessage/FrontendNetworkErrorMessage.tsx   |   2 +-
 .../ErrorMessage/InvalidSQLErrorMessage.tsx        |   2 +-
 .../ErrorMessage/MarshmallowErrorMessage.tsx       |   2 +-
 .../ErrorMessage/OAuth2RedirectMessage.tsx         |   3 +-
 .../ErrorMessage/ParameterErrorMessage.tsx         |   3 +-
 .../ErrorMessage/TimeoutErrorMessage.tsx           |   3 +-
 .../src/components/FilterableTable/utils.tsx       |   3 +-
 .../src/components/GridTable/Header.tsx            |   2 +-
 .../src/components/GridTable/HeaderMenu.tsx        |   2 +-
 .../src/components/ImportModal/ErrorAlert.tsx      |   2 +-
 .../components/ImportModal/ImportErrorAlert.tsx    |   2 +-
 .../src/components/ImportModal/index.tsx           |   2 +-
 .../components/LastQueriedLabel/index.tsx}         |  63 +-
 .../src/components/ListView/CardSortSelect.tsx     |   2 +-
 .../src/components/ListView/CrossLinksTooltip.tsx  |   2 +-
 .../src/components/ListView/Filters/DateRange.tsx  |   2 +-
 .../components/ListView/Filters/NumericalRange.tsx |   2 +-
 .../src/components/ListView/Filters/Search.tsx     |   2 +-
 .../src/components/ListView/Filters/Select.tsx     |   2 +-
 .../src/components/ListView/ListView.tsx           |   2 +-
 .../MenuListExtension/MenuListExtension.test.tsx   | 374 ++++++++
 .../src/components/MenuListExtension/index.tsx     | 157 ++++
 .../src/components/Modal/StandardModal.tsx         |   2 +-
 .../src/components/Modal/useModalValidation.tsx    |   2 +-
 .../src/components/RowCountLabel/index.tsx         |   3 +-
 .../components/SQLEditorWithValidation/index.tsx   |   3 +-
 .../StreamingExportModal/StreamingExportModal.tsx  |   2 +-
 .../useStreamingExport.test.ts                     | 959 +++++++++++++++++++++
 .../StreamingExportModal/useStreamingExport.ts     |  57 +-
 .../src/components/TableSelector/index.tsx         |   7 +-
 superset-frontend/src/components/Tag/utils.tsx     |   2 +-
 .../ViewListExtension/ViewListExtension.test.tsx   | 198 +++++
 .../ViewListExtension/index.tsx}                   |  32 +-
 superset-frontend/src/core/authentication/index.ts |   6 +-
 superset-frontend/src/core/commands/index.ts       |  12 +-
 superset-frontend/src/core/environment/index.ts    |  57 --
 superset-frontend/src/core/extensions/index.ts     |  11 +-
 superset-frontend/src/core/index.ts                |   1 -
 superset-frontend/src/core/sqlLab/index.ts         | 129 ++-
 .../dashboard/actions/chartCustomizationActions.ts |   3 +-
 .../src/dashboard/actions/dashboardInfo.ts         |   3 +-
 .../src/dashboard/actions/dashboardLayout.js       |   2 +-
 .../src/dashboard/actions/dashboardState.js        |  16 +-
 .../src/dashboard/actions/sliceEntities.ts         |   2 +-
 .../components/AddSliceCard/AddSliceCard.tsx       |   3 +-
 .../src/dashboard/components/AnchorLink/index.tsx  |   2 +-
 .../components/BuilderComponentPane/index.tsx      |   2 +-
 .../components/ColorSchemeControlWrapper.tsx       |   3 +-
 .../src/dashboard/components/ColorSchemeSelect.tsx |   2 +-
 .../src/dashboard/components/Dashboard.jsx         |   2 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |   3 +-
 .../src/dashboard/components/DashboardGrid.jsx     |   4 +-
 .../dashboard/components/EmbeddedModal/index.tsx   |   2 +-
 .../components/FiltersBadge/DetailsPanel/index.tsx |   2 +-
 .../dashboard/components/FiltersBadge/index.tsx    |   2 +-
 .../dashboard/components/GroupByBadge/index.tsx    |   2 +-
 .../src/dashboard/components/Header/index.jsx      |   3 +-
 .../components/Header/useDashboardMetadataBar.tsx  |   2 +-
 .../Header/useHeaderActionsDropdownMenu.tsx        |   2 +-
 .../src/dashboard/components/MissingChart.tsx      |   2 +-
 .../OverwriteConfirm/OverwriteConfirmModal.tsx     |   2 +-
 .../PropertiesModal/PropertiesModal.test.tsx       |  16 +-
 .../dashboard/components/PropertiesModal/index.tsx |  17 +-
 .../PropertiesModal/sections/AccessSection.tsx     |   3 +-
 .../PropertiesModal/sections/AdvancedSection.tsx   |   2 +-
 .../PropertiesModal/sections/BasicInfoSection.tsx  |   2 +-
 .../sections/CertificationSection.tsx              |   2 +-
 .../PropertiesModal/sections/RefreshSection.tsx    |   2 +-
 .../sections/StylingSection.test.tsx               |  45 +
 .../PropertiesModal/sections/StylingSection.tsx    |  51 +-
 .../dashboard/components/PublishedStatus/index.tsx |   2 +-
 .../RefreshFrequency/RefreshFrequencySelect.tsx    |   2 +-
 .../dashboard/components/RefreshIntervalModal.tsx  |   2 +-
 .../src/dashboard/components/SaveModal.tsx         |   2 +-
 .../src/dashboard/components/SliceAdder.tsx        |   2 +-
 .../src/dashboard/components/SliceHeader/index.tsx |   6 +-
 .../ViewResultsModalTrigger.tsx                    |   2 +-
 .../components/SliceHeaderControls/index.tsx       |  25 +-
 .../components/SliceHeaderControls/types.ts        |   1 +
 .../components/URLShortLinkButton/index.tsx        |   9 +-
 .../components/filterscope/FilterScopeSelector.jsx |   3 +-
 .../dashboard/components/filterscope/treeIcons.tsx |   2 +-
 .../components/gridComponents/Chart/Chart.jsx      |  34 +-
 .../components/gridComponents/Column/Column.jsx    |   3 +-
 .../DynamicComponent/DynamicComponent.tsx          |   3 +-
 .../gridComponents/Markdown/Markdown.jsx           |   3 +-
 .../components/gridComponents/Row/Row.tsx          |   8 +-
 .../components/gridComponents/Tab/Tab.jsx          |  25 +-
 .../components/gridComponents/Tab/Tab.test.tsx     | 103 +++
 .../components/gridComponents/Tabs/Tabs.jsx        |   4 +-
 .../components/gridComponents/new/NewColumn.tsx    |   2 +-
 .../components/gridComponents/new/NewDivider.tsx   |   2 +-
 .../components/gridComponents/new/NewHeader.tsx    |   2 +-
 .../components/gridComponents/new/NewMarkdown.tsx  |   2 +-
 .../components/gridComponents/new/NewRow.tsx       |   2 +-
 .../components/gridComponents/new/NewTabs.tsx      |   2 +-
 .../components/menu/BackgroundStyleDropdown.tsx    |   2 +-
 .../components/menu/DownloadMenuItems/index.tsx    |   4 +-
 .../components/menu/MarkdownModeDropdown.tsx       |   2 +-
 .../components/menu/ShareMenuItems/index.tsx       |   9 +-
 .../ChartCustomization/ChartCustomizationForm.tsx  |   2 +-
 .../ChartCustomization/ChartCustomizationModal.tsx |   2 +-
 .../ChartCustomizationTitleContainer.tsx           |   2 +-
 .../ChartCustomizationTitlePane.tsx                |   2 +-
 .../ChartCustomization/GroupByFilterCard.tsx       |   3 +-
 .../nativeFilters/ChartCustomization/utils.ts      |   2 +-
 .../nativeFilters/ConfigModal/ModalFooter.tsx      |   2 +-
 .../FilterBar/ActionButtons/index.tsx              |   2 +-
 .../FilterBar/CrossFilters/CrossFilterTitle.tsx    |   3 +-
 .../ScopingModal/ChartsScopingListPanel.tsx        |   2 +-
 .../CrossFilters/ScopingModal/ScopingModal.tsx     |   3 +-
 .../CrossFilters/ScopingModal/ScopingTreePanel.tsx |   3 +-
 .../FilterBar/CrossFilters/VerticalCollapse.tsx    |   2 +-
 .../FilterBar/FilterBarSettings/index.tsx          |   2 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |   2 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |   2 +-
 .../FiltersOutOfScopeCollapsible/index.tsx         |   3 +-
 .../nativeFilters/FilterBar/Header/index.tsx       |   2 +-
 .../nativeFilters/FilterBar/Horizontal.tsx         |   3 +-
 .../nativeFilters/FilterBar/Vertical.tsx           |   2 +-
 .../nativeFilters/FilterBar/keyValue.tsx           |   3 +-
 .../nativeFilters/FilterCard/DependenciesRow.tsx   |   3 +-
 .../nativeFilters/FilterCard/ScopeRow.tsx          |   3 +-
 .../nativeFilters/FilterCard/TypeRow.tsx           |   3 +-
 .../nativeFilters/FilterCard/useFilterScope.ts     |   3 +-
 .../FiltersConfigModal/DividerConfigForm.tsx       |   3 +-
 .../FiltersConfigModal/FilterTitleContainer.tsx    |  19 +-
 .../FiltersConfigModal/FilterTitlePane.tsx         |   3 +-
 .../FiltersConfigForm/ColumnSelect.tsx             |   2 +-
 .../FiltersConfigForm/DatasetSelect.tsx            |   2 +-
 .../FiltersConfigForm/DefaultValue.tsx             |   2 +-
 .../FiltersConfigForm/DependencyList.tsx           |   2 +-
 .../FiltersConfigForm/FilterScope/state.ts         |   2 +-
 .../FiltersConfigForm/FilterScope/utils.ts         |   4 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |   6 +-
 .../FiltersConfigForm/RemovedFilter.tsx            |   2 +-
 .../FiltersConfigForm/getControlItemsMap.tsx       |   3 +-
 .../FiltersConfigModal/FiltersConfigForm/state.ts  |   3 +-
 .../FiltersConfigModal/FiltersConfigModal.tsx      |   3 +-
 .../Footer/CancelConfirmationAlert.tsx             |   2 +-
 .../FiltersConfigModal/Footer/Footer.tsx           |   2 +-
 .../nativeFilters/FiltersConfigModal/utils.ts      |   2 +-
 .../dashboard/components/nativeFilters/utils.ts    |   2 +-
 .../src/dashboard/containers/DashboardPage.tsx     |  19 +-
 .../src/dashboard/hooks/useDownloadScreenshot.ts   |   9 +-
 .../src/dashboard/reducers/sliceEntities.ts        |   2 +-
 .../src/dashboard/util/backgroundStyleOptions.ts   |   2 +-
 .../src/dashboard/util/getFilterFieldNodesTree.ts  |   2 +-
 .../src/dashboard/util/getFilterScopeNodesTree.js  |   2 +-
 .../src/dashboard/util/getSliceHeaderTooltip.tsx   |   2 +-
 .../src/dashboard/util/headerStyleOptions.ts       |   2 +-
 .../src/dashboard/util/newComponentFactory.js      |   2 +-
 .../dashboard/util/updateComponentParentsList.ts   |   2 +-
 superset-frontend/src/embedded/api.tsx             |   4 +-
 superset-frontend/src/embedded/index.tsx           |   4 +-
 superset-frontend/src/embedded/utils.ts            |   3 +-
 .../src/explore/actions/exploreActions.ts          |   3 +-
 .../src/explore/actions/saveModalActions.ts        |   2 +-
 .../src/explore/components/ControlHeader.tsx       |   2 +-
 .../components/ControlPanelsContainer.test.tsx     |   2 +-
 .../explore/components/ControlPanelsContainer.tsx  |   2 +-
 .../explore/components/DataTableControl/index.tsx  |   8 +-
 .../components/DataTablesPane/DataTablesPane.tsx   |   3 +-
 .../components/ResultsPaneOnDashboard.tsx          |   2 +-
 .../DataTablesPane/components/SamplesPane.tsx      |   3 +-
 .../components/SingleQueryResultPane.tsx           |   2 +-
 .../DataTablesPane/components/useResultsPane.tsx   |   2 +-
 .../DatasourcePanel/DatasourcePanelItem.tsx        |   3 +-
 .../explore/components/DatasourcePanel/index.tsx   |   3 +-
 .../DatasourcePanel/transformDatasourceFolders.ts  |   3 +-
 .../src/explore/components/EmbedCodeContent.jsx    |  11 +-
 .../components/ExploreChartHeader/index.jsx        |   5 +-
 .../ExploreChartHeader/useExploreMetadataBar.tsx   |   3 +-
 .../explore/components/ExploreChartPanel/index.tsx |  17 +-
 .../components/ExploreViewContainer/index.jsx      |   5 +-
 .../components/ExportToCSVDropdown/index.tsx       |   2 +-
 .../explore/components/PropertiesModal/index.tsx   |   2 +-
 .../explore/components/RunQueryButton/index.tsx    |   2 +-
 .../src/explore/components/SaveModal.tsx           |   9 +-
 .../AnnotationLayer.test.tsx                       |  39 +-
 .../{AnnotationLayer.jsx => AnnotationLayer.tsx}   | 419 +++++----
 .../{AnnotationTypes.js => AnnotationTypes.ts}     |  42 +-
 .../controls/AnnotationLayerControl/index.tsx      |   2 +-
 ...undsControl.test.jsx => BoundsControl.test.tsx} |   0
 .../explore/components/controls/BoundsControl.tsx  |   2 +-
 .../{CheckboxControl.jsx => CheckboxControl.tsx}   |  52 +-
 .../CollectionControl/{index.jsx => index.tsx}     |  92 +-
 .../ColorBreakpointPopoverControl.tsx              |   3 +-
 .../controls/ColorBreakpointsControl/index.tsx     |   2 +-
 .../controls/ColorSchemeControl/index.tsx          |   2 +-
 .../ColumnConfigControl/ColumnConfigControl.tsx    |   2 +-
 .../controls/ColumnConfigControl/constants.tsx     |   3 +-
 .../components/controls/ComparisonRangeLabel.tsx   |   2 +-
 .../ConditionalFormattingControl.tsx               |   2 +-
 .../FormattingPopoverContent.tsx                   |   2 +-
 .../controls/ContourControl/ContourOption.tsx      |   2 +-
 .../ContourControl/ContourPopoverControl.tsx       |   3 +-
 .../components/controls/ContourControl/index.tsx   |   2 +-
 .../controls/CurrencyControl/CurrencyControl.tsx   |   8 +-
 .../DatasourceControl/DatasourceControl.test.tsx   | 110 ++-
 .../DatasourceControl/{index.jsx => index.tsx}     | 153 +++-
 .../controls/DateFilterControl/DateFilterLabel.tsx |   2 +-
 .../DateFilterControl/components/AdvancedFrame.tsx |   3 +-
 .../DateFilterControl/components/CalendarFrame.tsx |   2 +-
 .../DateFilterControl/components/CommonFrame.tsx   |   2 +-
 .../components/CurrentCalendarFrame.tsx            |   2 +-
 .../DateFilterControl/components/CustomFrame.tsx   |   3 +-
 .../components/DateFunctionTooltip.tsx             |   2 +-
 .../DateFilterControl/components/DateLabel.tsx     |   2 +-
 .../controls/DateFilterControl/utils/constants.ts  |   2 +-
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |   2 +-
 .../ColumnSelectPopoverTrigger.tsx                 |   2 +-
 .../DndAdhocFilterOption.tsx                       |   2 +-
 .../DndColumnMetricSelect.tsx                      |  19 +-
 .../DndColumnSelectControl/DndColumnSelect.tsx     |  10 +-
 ...erTitle.jsx => DndColumnSelectPopoverTitle.tsx} |  13 +-
 .../DndFilterSelect.test.tsx                       |  14 +-
 .../DndColumnSelectControl/DndFilterSelect.tsx     |   3 +-
 .../DndColumnSelectControl/DndMetricSelect.tsx     |  27 +-
 .../DndColumnSelectControl/DndSelectLabel.tsx      |   2 +-
 .../controls/DndColumnSelectControl/Option.tsx     |   2 +-
 .../DndColumnSelectControl/utils/optionSelector.ts |   2 +-
 .../{AdhocFilter.test.js => AdhocFilter.test.ts}   |   0
 .../AdhocFilter/{index.js => index.ts}             | 110 ++-
 .../AdhocFilterControl/AdhocFilterControl.test.tsx |  49 +-
 .../AdhocFilterControl/{index.jsx => index.tsx}    | 164 +++-
 ...er.test.jsx => AdhocFilterEditPopover.test.tsx} |  24 +-
 .../{index.jsx => index.tsx}                       | 162 +++-
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 133 ++-
 .../index.tsx                                      |  90 +-
 .../useAdvancedDataTypes.ts                        |   3 +-
 .../AdhocFilterEditPopoverSqlTabContent/index.tsx  |   2 +-
 .../FilterControl/AdhocFilterOption/index.tsx      |  25 +-
 .../AdhocFilterPopoverTrigger/index.tsx            |   2 +-
 .../utils/useDatePickerInAdhocFilter.tsx           |   9 +-
 .../FilterControl/utils/useGetTimeRangeLabel.tsx   |  31 +-
 .../FixedOrMetricControl/{index.jsx => index.tsx}  |  90 +-
 .../controls/LayerConfigsControl/FlatLayerTree.tsx |   2 +-
 .../LayerConfigsControl/LayerConfigsControl.tsx    |   2 +-
 .../LayerConfigsPopoverContent.tsx                 |   3 +-
 .../controls/MapViewControl/ExtentTag.tsx          |   2 +-
 .../controls/MapViewControl/MapViewControl.tsx     |   2 +-
 .../MapViewControl/MapViewPopoverContent.tsx       |   2 +-
 .../controls/MatrixifyDimensionControl.tsx         |   3 +-
 .../{AdhocMetric.test.js => AdhocMetric.test.ts}   |   4 +-
 .../{AdhocMetric.js => AdhocMetric.ts}             | 102 ++-
 .../{index.jsx => index.tsx}                       | 165 +++-
 .../MetricControl/AdhocMetricEditPopoverTitle.tsx  |   2 +-
 ...cOption.test.jsx => AdhocMetricOption.test.tsx} |  27 +-
 ...AdhocMetricOption.jsx => AdhocMetricOption.tsx} |  46 +-
 .../MetricControl/AdhocMetricPopoverTrigger.tsx    |  23 +-
 ...on.test.jsx => FilterDefinitionOption.test.tsx} |   6 +-
 ...nitionOption.jsx => FilterDefinitionOption.tsx} |  21 +-
 ...lue.test.jsx => MetricDefinitionValue.test.tsx} |  26 +-
 ...finitionValue.jsx => MetricDefinitionValue.tsx} |  31 +-
 ...icsControl.test.jsx => MetricsControl.test.tsx} |  17 +-
 .../{MetricsControl.jsx => MetricsControl.tsx}     |  96 ++-
 .../{adhocMetricType.js => adhocMetricType.ts}     |   0
 .../components/controls/MetricControl/types.ts     |   2 +
 .../controls/NumberControl/NumberControl.test.tsx  |  50 +-
 .../components/controls/NumberControl/index.tsx    |  14 +-
 .../components/controls/OptionControls/index.tsx   |   6 +-
 .../controls/SelectAsyncControl/index.tsx          |   3 +-
 ...lectControl.test.jsx => SelectControl.test.tsx} |  34 +-
 .../{SelectControl.jsx => SelectControl.tsx}       | 155 +++-
 .../{SpatialControl.jsx => SpatialControl.tsx}     | 125 +--
 ...eaControl.test.jsx => TextAreaControl.test.tsx} |   0
 .../{TextAreaControl.jsx => TextAreaControl.tsx}   | 106 ++-
 .../components/controls/TextControl/index.tsx      |   4 +
 .../{index.jsx => index.tsx}                       | 111 ++-
 .../src/explore/components/controls/ViewQuery.tsx  |   3 +-
 .../explore/components/controls/ViewQueryModal.tsx |   2 +-
 .../components/controls/ViewQueryModalFooter.tsx   |   3 +-
 ...rtControl.test.jsx => ViewportControl.test.tsx} |   0
 .../{ViewportControl.jsx => ViewportControl.tsx}   |  84 +-
 .../components/controls/VizTypeControl/VizTile.tsx |   2 +-
 .../controls/VizTypeControl/VizTypeGallery.tsx     |   2 +-
 .../components/controls/VizTypeControl/index.tsx   |   3 +-
 .../components/controls/XAxisSortControl.tsx       |  16 +-
 .../ZoomConfigControl/ZoomConfigControl.tsx        |   2 +-
 .../ZoomConfigControl/ZoomConfigsChart.tsx         |   2 +-
 .../components/controls/withAsyncVerification.tsx  |   3 +-
 .../DashboardsSubMenu.tsx                          |   2 +-
 .../useExploreAdditionalActionsMenu/index.jsx      |  30 +-
 superset-frontend/src/explore/constants.ts         |   2 +-
 .../src/explore/controlPanels/Separator.ts         |   3 +-
 .../src/explore/controlPanels/sections.tsx         |   2 +-
 .../src/explore/controlUtils/controlUtils.test.tsx |   2 +-
 .../src/explore/controlUtils/getColumnKeywords.tsx |   2 +-
 .../explore/controlUtils/standardizedFormData.ts   |  24 +-
 .../src/explore/{controls.jsx => controls.tsx}     |  81 +-
 .../src/explore/exploreUtils/exportChart.test.ts   | 173 ++++
 superset-frontend/src/explore/fixtures.tsx         |   3 +-
 .../src/explore/{store.test.jsx => store.test.tsx} |   5 +-
 .../src/explore/{store.js => store.ts}             |  62 +-
 .../src/extensions/ExtensionPlaceholder.tsx        |   2 +-
 .../src/extensions/ExtensionsList.tsx              |   2 +-
 .../src/extensions/ExtensionsManager.ts            |   3 +-
 .../src/extensions/ExtensionsStartup.test.tsx      |   4 +-
 .../src/extensions/ExtensionsStartup.tsx           |  17 +-
 .../src/features/alerts/AlertReportModal.tsx       |   2 +-
 .../alerts/components/AlertReportCronScheduler.tsx |   2 +-
 .../features/alerts/components/AlertStatusIcon.tsx |   2 +-
 .../alerts/components/NotificationMethod.tsx       |   2 +-
 .../src/features/allEntities/AllEntitiesTable.tsx  |   2 +-
 .../annotationLayers/AnnotationLayerModal.tsx      |   2 +-
 .../src/features/annotations/AnnotationModal.tsx   |   2 +-
 .../src/features/charts/ChartCard.tsx              |   3 +-
 .../src/features/cssTemplates/CssTemplateModal.tsx |   2 +-
 .../src/features/dashboards/DashboardCard.tsx      |   2 +-
 .../DatabaseConnectionForm/CommonParameters.tsx    |   2 +-
 .../DatabaseConnectionForm/EncryptedField.tsx      |   2 +-
 .../DatabaseConnectionForm/TableCatalog.tsx        |   2 +-
 .../DatabaseConnectionForm/ValidatedInputField.tsx |   2 +-
 .../databases/DatabaseModal/ExtraOptions.test.tsx  |   2 +-
 .../databases/DatabaseModal/ExtraOptions.tsx       |   2 +-
 .../databases/DatabaseModal/ModalHeader.tsx        |   2 +-
 .../databases/DatabaseModal/SSHTunnelForm.tsx      |   3 +-
 .../databases/DatabaseModal/SSHTunnelSwitch.tsx    |   3 +-
 .../databases/DatabaseModal/SqlAlchemyForm.tsx     |   2 +-
 .../src/features/databases/DatabaseModal/index.tsx |   3 +-
 .../databases/UploadDataModel/ColumnsPreview.tsx   |   2 +-
 .../features/databases/UploadDataModel/index.tsx   |   3 +-
 .../AddDataset/DatasetPanel/DatasetPanel.tsx       |  27 +-
 .../AddDataset/DatasetPanel/MessageContent.tsx     |   5 +-
 .../datasets/AddDataset/DatasetPanel/index.tsx     |   4 +-
 .../datasets/AddDataset/EditDataset/index.tsx      |   2 +-
 .../features/datasets/AddDataset/Footer/index.tsx  |   2 +-
 .../features/datasets/AddDataset/Header/index.tsx  |   2 +-
 .../datasets/AddDataset/LeftPanel/index.tsx        |   2 +-
 .../features/datasets/DatasetSelectLabel/index.tsx |   2 +-
 .../features/datasets/DuplicateDatasetModal.tsx    |   2 +-
 .../src/features/datasets/constants.ts             |   2 +-
 .../src/features/datasets/hooks/useDatasetLists.ts |   4 +-
 .../datasets/hooks/useGetDatasetRelatedCounts.ts   |   4 +-
 .../datasets/metadataBar/useDatasetMetadataBar.tsx |   2 +-
 .../src/features/groups/GroupListModal.tsx         |   2 +-
 superset-frontend/src/features/groups/utils.ts     |   3 +-
 .../src/features/home/ActivityTable.tsx            |   2 +-
 superset-frontend/src/features/home/ChartTable.tsx |   2 +-
 .../src/features/home/DashboardTable.tsx           |   3 +-
 superset-frontend/src/features/home/EmptyState.tsx |   2 +-
 .../src/features/home/LanguagePicker.tsx           |   2 +-
 .../src/features/home/RightMenu.test.tsx           |   7 +-
 superset-frontend/src/features/home/RightMenu.tsx  |  24 +-
 .../src/features/home/SavedQueries.tsx             |  46 +-
 superset-frontend/src/features/home/SubMenu.tsx    |   2 +-
 .../src/features/home/commonMenuData.ts            |   2 +-
 .../src/features/queries/QueryPreviewModal.tsx     |   2 +-
 .../features/queries/SavedQueryPreviewModal.tsx    |   2 +-
 .../src/features/queries/SyntaxHighlighterCopy.tsx |   2 +-
 .../ReportModal/HeaderReportDropdown/index.tsx     |   2 +-
 .../src/features/reports/ReportModal/actions.js    |   3 +-
 .../src/features/reports/ReportModal/index.tsx     |   3 +-
 .../src/features/rls/RowLevelSecurityModal.tsx     |   3 +-
 superset-frontend/src/features/rls/constants.ts    |   2 +-
 .../src/features/roles/RoleFormItems.tsx           |   2 +-
 .../src/features/roles/RoleListAddModal.tsx        |   2 +-
 .../src/features/roles/RoleListDuplicateModal.tsx  |   2 +-
 .../src/features/roles/RoleListEditModal.tsx       |   2 +-
 .../src/features/tags/BulkTagModal.tsx             |   3 +-
 superset-frontend/src/features/tags/TagCard.tsx    |   3 +-
 superset-frontend/src/features/tags/TagModal.tsx   |   3 +-
 .../src/features/themes/ThemeModal.tsx             |   2 +-
 .../src/features/userInfo/UserInfoModal.tsx        |   3 +-
 .../src/features/users/UserListModal.tsx           |   2 +-
 superset-frontend/src/features/users/utils.ts      |   3 +-
 .../filters/components/Range/RangeFilterPlugin.tsx |   2 +-
 .../src/filters/components/Range/controlPanel.ts   |   2 +-
 .../src/filters/components/Range/index.ts          |   3 +-
 .../components/Select/SelectFilterPlugin.tsx       |   4 +-
 .../src/filters/components/Select/controlPanel.ts  |   3 +-
 .../src/filters/components/Select/index.ts         |   3 +-
 .../src/filters/components/Time/controlPanel.ts    |   2 +-
 .../src/filters/components/Time/index.ts           |   3 +-
 .../TimeColumn/TimeColumnFilterPlugin.tsx          |   3 +-
 .../filters/components/TimeColumn/controlPanel.ts  |   2 +-
 .../src/filters/components/TimeColumn/index.ts     |   3 +-
 .../components/TimeGrain/TimeGrainFilterPlugin.tsx |   4 +-
 .../filters/components/TimeGrain/controlPanel.ts   |   2 +-
 .../src/filters/components/TimeGrain/index.ts      |   3 +-
 .../src/hooks/apiResources/datasets.ts             |   2 +-
 superset-frontend/src/hooks/useThemeMenuItems.tsx  |   2 +-
 .../src/hooks/useUnsavedChangesPrompt/index.ts     |   3 +-
 superset-frontend/src/middleware/asyncEvent.ts     |   2 +-
 superset-frontend/src/pages/ActionLog/index.tsx    |   2 +-
 .../src/pages/AlertReportList/index.tsx            |   2 +-
 superset-frontend/src/pages/AllEntities/index.tsx  |   2 +-
 .../src/pages/AnnotationLayerList/index.tsx        |   3 +-
 .../src/pages/AnnotationList/index.tsx             |   3 +-
 superset-frontend/src/pages/Chart/index.tsx        |   2 +-
 .../src/pages/ChartCreation/index.tsx              |   3 +-
 superset-frontend/src/pages/ChartList/index.tsx    |   2 +-
 .../src/pages/CssTemplateList/index.tsx            |   3 +-
 .../src/pages/DashboardList/index.tsx              |   2 +-
 superset-frontend/src/pages/DatabaseList/index.tsx |   3 +-
 superset-frontend/src/pages/DatasetList/index.tsx  |   3 +-
 .../src/pages/ExecutionLogList/index.tsx           |   2 +-
 superset-frontend/src/pages/GroupsList/index.tsx   |   2 +-
 superset-frontend/src/pages/Home/index.tsx         |   2 +-
 superset-frontend/src/pages/Login/index.tsx        |   3 +-
 .../src/pages/QueryHistoryList/index.tsx           |   3 +-
 superset-frontend/src/pages/Register/index.tsx     |   3 +-
 superset-frontend/src/pages/RolesList/index.tsx    |   3 +-
 .../src/pages/RowLevelSecurityList/index.tsx       |   3 +-
 .../src/pages/SavedQueryList/index.tsx             |   2 +-
 superset-frontend/src/pages/Tags/index.tsx         |   3 +-
 superset-frontend/src/pages/ThemeList/index.tsx    |   3 +-
 superset-frontend/src/pages/UserInfo/index.tsx     |   3 +-
 .../src/pages/UserRegistrations/index.tsx          |   3 +-
 superset-frontend/src/pages/UsersList/index.tsx    |   2 +-
 superset-frontend/src/preamble.ts                  |  10 +-
 superset-frontend/src/setup/setupClient.ts         |   3 +-
 superset-frontend/src/types/bootstrapTypes.ts      |   4 +-
 superset-frontend/src/utils/downloadAsImage.tsx    |   2 +-
 superset-frontend/src/utils/downloadAsPdf.ts       |   3 +-
 superset-frontend/src/utils/export.test.ts         |  57 +-
 superset-frontend/src/utils/export.ts              |   8 +-
 superset-frontend/src/utils/fetchOptions.ts        |   3 +-
 .../utils/getChartRequiredFieldsMissingMessage.ts  |   2 +-
 superset-frontend/src/utils/urlUtils.ts            |  67 +-
 superset-frontend/src/views/CRUD/hooks.ts          |   2 +-
 superset-frontend/src/views/CRUD/utils.tsx         |   3 +-
 .../src/visualizations/TimeTable/TimeTable.tsx     |   2 +-
 .../TimeTable/config/controlPanel/controlPanel.ts  |   3 +-
 .../src/visualizations/TimeTable/index.ts          |   3 +-
 .../ExampleComponent/ExampleComponent.tsx          |   3 +-
 superset-websocket/package-lock.json               | 447 +++++-----
 superset-websocket/package.json                    |  14 +-
 .../utils/client-ws-app/package-lock.json          |  12 +-
 superset/charts/schemas.py                         |   7 +
 superset/commands/database/validate_sql.py         |  44 +
 superset/commands/report/alert.py                  |  66 +-
 superset/commands/report/create.py                 |  35 +
 superset/commands/report/exceptions.py             |  15 +
 superset/commands/report/execute.py                |  18 +-
 superset/commands/streaming_export/base.py         |  55 +-
 superset/common/query_context_processor.py         |   1 +
 superset/common/utils/query_cache_manager.py       |  11 +
 superset/dashboards/schemas.py                     |   2 +
 superset/db_engine_specs/athena.py                 |  40 +
 superset/db_engine_specs/base.py                   |   6 +-
 superset/db_engine_specs/gsheets.py                |  33 +
 superset/db_engine_specs/starrocks.py              | 155 +++-
 superset/db_engine_specs/trino.py                  |  61 +-
 superset/extensions/local_extensions_watcher.py    |  33 +-
 superset/jinja_context.py                          |  19 +-
 superset/mcp_service/CLAUDE.md                     |   6 +-
 superset/mcp_service/__main__.py                   |   2 +-
 superset/mcp_service/app.py                        |  24 +-
 superset/mcp_service/chart/schemas.py              |  76 +-
 superset/mcp_service/chart/tool/__init__.py        |   2 -
 superset/mcp_service/chart/tool/generate_chart.py  |   6 +-
 .../chart/tool/get_chart_available_filters.py      |  50 --
 superset/mcp_service/chart/tool/get_chart_data.py  |  95 +-
 superset/mcp_service/chart/tool/list_charts.py     |  42 +-
 superset/mcp_service/common/schema_discovery.py    | 422 +++++++++
 superset/mcp_service/dashboard/schemas.py          |  56 +-
 superset/mcp_service/dashboard/tool/__init__.py    |   2 -
 .../tool/get_dashboard_available_filters.py        |  49 --
 .../mcp_service/dashboard/tool/list_dashboards.py  |  68 +-
 superset/mcp_service/dataset/schemas.py            |  61 +-
 superset/mcp_service/dataset/tool/__init__.py      |   2 -
 .../dataset/tool/get_dataset_available_filters.py  |  49 --
 superset/mcp_service/dataset/tool/list_datasets.py |  43 +-
 .../mcp_service/docs/tool-search-optimization.md   |   2 +-
 superset/mcp_service/mcp_core.py                   | 120 ++-
 superset/mcp_service/server.py                     |   4 +-
 superset/mcp_service/system/resources/__init__.py  |   5 +-
 .../system/resources/schema_discovery.py           | 196 +++++
 superset/mcp_service/system/tool/__init__.py       |   2 +
 superset/mcp_service/system/tool/get_schema.py     | 167 ++++
 superset/mcp_service/system/tool/health_check.py   |   3 +-
 superset/models/helpers.py                         |  20 +-
 superset/reports/schemas.py                        |   2 +-
 superset/security/manager.py                       |  97 ++-
 superset/sql/parse.py                              |   2 +-
 superset/sqllab/query_render.py                    |  23 +-
 superset/utils/core.py                             |   1 +
 superset/utils/date_parser.py                      |  10 +-
 superset/utils/excel.py                            |   2 +-
 superset/views/datasource/utils.py                 |   6 +
 superset/views/utils.py                            |   2 +-
 tests/integration_tests/databases/api_tests.py     | 109 +++
 tests/integration_tests/fixtures/__init__.py       |   1 +
 tests/integration_tests/fixtures/public_role.py    |  18 +
 tests/integration_tests/reports/alert_tests.py     |   8 +-
 tests/integration_tests/security_tests.py          |  99 +++
 .../commands/databases/validate_sql_test.py        | 279 ++++++
 tests/unit_tests/commands/report/alert_test.py     | 496 +++++++++++
 .../commands/report/test_create_recipients.py      | 179 ++++
 tests/unit_tests/db_engine_specs/test_athena.py    |  70 ++
 tests/unit_tests/db_engine_specs/test_base.py      |  49 ++
 tests/unit_tests/db_engine_specs/test_gsheets.py   |   5 +
 tests/unit_tests/db_engine_specs/test_starrocks.py | 116 ++-
 tests/unit_tests/db_engine_specs/test_trino.py     | 309 ++++++-
 tests/unit_tests/jinja_context_test.py             |  54 ++
 .../mcp_service/chart/tool/test_generate_chart.py  |  21 +-
 .../mcp_service/chart/tool/test_get_chart_data.py  |  99 +++
 .../mcp_service/chart/tool/test_list_charts.py     |  48 +-
 .../dashboard/tool/test_dashboard_tools.py         | 135 ++-
 .../mcp_service/dataset/tool/test_dataset_tools.py | 133 ++-
 .../mcp_service/system/tool/test_get_schema.py     | 368 ++++++++
 .../mcp_service/system/tool/test_mcp_core.py       | 152 +++-
 .../mcp_service/test_mcp_tool_registration.py      |  42 +-
 tests/unit_tests/sql/parse_tests.py                |  14 +
 tests/unit_tests/sql_lab_test.py                   |   2 +-
 tests/unit_tests/utils/date_parser_tests.py        |  47 +
 .../unit_tests/views/datasource}/__init__.py       |   0
 tests/unit_tests/views/datasource/utils_test.py    | 217 +++++
 952 files changed, 20560 insertions(+), 5585 deletions(-)
 create mode 100644 docs/netlify.toml
 create mode 100644 docs/src/theme/Admonition/Types.js
 create mode 100644 docs/static/img/logos/cirrus.svg
 create mode 100644 
"docs/static/img/logos/hollyland\347\214\233\347\216\233.svg"
 create mode 100644 docs/static/img/logos/plaidcloud.svg
 create mode 100644 docs/static/img/logos/vlmedia.svg
 copy superset/charts/data/query_context_cache_loader.py => 
superset-frontend/netlify.toml (61%)
 delete mode 100644 
superset-frontend/packages/superset-core/src/api/environment.ts
 create mode 100644 
superset-frontend/packages/superset-core/src/spec/utils/logging.test.ts
 rename superset-frontend/packages/{superset-ui-core/src => 
superset-core/src/ui}/translation/README.md (100%)
 rename superset-frontend/packages/{superset-ui-core/src => 
superset-core/src/ui}/translation/Translator.ts (98%)
 rename superset-frontend/packages/{superset-ui-core/src => 
superset-core/src/ui}/translation/TranslatorSingleton.ts (100%)
 rename superset-frontend/packages/{superset-ui-core/src => 
superset-core/src/ui}/translation/index.ts (94%)
 rename superset-frontend/packages/{superset-ui-core/src => 
superset-core/src/ui}/translation/types/index.ts (100%)
 rename superset-frontend/packages/{superset-ui-core/src => 
superset-core/src/ui}/translation/types/jed.ts (100%)
 copy superset-frontend/packages/{superset-ui-core/src/dynamic-plugins => 
superset-core/src/utils}/index.ts (94%)
 rename superset-frontend/packages/{superset-ui-core => 
superset-core}/src/utils/logging.ts (95%)
 rename superset-frontend/packages/{superset-ui-core => 
superset-core}/types/external.d.ts (100%)
 delete mode 100644 
superset-frontend/packages/superset-ui-core/test/translation/Translator.test.ts
 delete mode 100644 
superset-frontend/packages/superset-ui-core/test/translation/TranslatorSingleton.test.ts
 delete mode 100644 
superset-frontend/packages/superset-ui-core/test/translation/index.test.ts
 delete mode 100644 
superset-frontend/packages/superset-ui-core/test/translation/languagePacks/en.ts
 delete mode 100644 
superset-frontend/packages/superset-ui-core/test/translation/languagePacks/zh.ts
 delete mode 100644 
superset-frontend/packages/superset-ui-core/test/utils/logging.test.ts
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/buildQuery.test.ts
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/transformProps.test.ts
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/transformUtils.test.ts
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/utils/metricUtils.test.ts
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/utils/metricUtils.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/agGridFilterConverter.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/filterStateManager.ts
 copy superset-frontend/{src/dashboard/types/chartState.ts => 
plugins/plugin-chart-ag-grid-table/src/utils/getInitialFilterModel.ts} (53%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/agGridFilterConverter.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/dateFilterComparator.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/filterStateManager.test.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/getInitialFilterModel.test.ts
 rename superset-frontend/src/SqlLab/actions/{sqlLab.js => sqlLab.ts} (60%)
 create mode 100644 
superset-frontend/src/SqlLab/components/SqlEditorTopBar/SqlEditorTopBar.test.tsx
 create mode 100644 
superset-frontend/src/SqlLab/components/SqlEditorTopBar/index.tsx
 create mode 100644 
superset-frontend/src/SqlLab/components/SqlEditorTopBar/useDatabaseSelector.test.ts
 create mode 100644 
superset-frontend/src/SqlLab/components/SqlEditorTopBar/useDatabaseSelector.ts
 copy 
superset-frontend/src/{explore/components/controls/MetricControl/AggregateOption.test.tsx
 => SqlLab/components/StatusBar/StatusBar.test.tsx} (57%)
 create mode 100644 superset-frontend/src/SqlLab/components/StatusBar/index.tsx
 delete mode 100644 
superset-frontend/src/SqlLab/middlewares/persistSqlLabStateEnhancer.js
 create mode 100644 
superset-frontend/src/SqlLab/middlewares/persistSqlLabStateEnhancer.ts
 rename superset-frontend/src/SqlLab/reducers/{sqlLab.js => sqlLab.ts} (67%)
 copy 
superset-frontend/{packages/superset-ui-core/src/components/IconTooltip/IconTooltip.stories.tsx
 => src/components/LastQueriedLabel/index.tsx} (54%)
 create mode 100644 
superset-frontend/src/components/MenuListExtension/MenuListExtension.test.tsx
 create mode 100644 superset-frontend/src/components/MenuListExtension/index.tsx
 create mode 100644 
superset-frontend/src/components/ViewListExtension/ViewListExtension.test.tsx
 copy superset-frontend/src/{core/extensions/index.ts => 
components/ViewListExtension/index.tsx} (55%)
 delete mode 100644 superset-frontend/src/core/environment/index.ts
 rename 
superset-frontend/src/explore/components/controls/AnnotationLayerControl/{AnnotationLayer.jsx
 => AnnotationLayer.tsx} (74%)
 rename 
superset-frontend/src/explore/components/controls/AnnotationLayerControl/{AnnotationTypes.js
 => AnnotationTypes.ts} (67%)
 rename 
superset-frontend/src/explore/components/controls/{BoundsControl.test.jsx => 
BoundsControl.test.tsx} (100%)
 rename superset-frontend/src/explore/components/controls/{CheckboxControl.jsx 
=> CheckboxControl.tsx} (68%)
 rename 
superset-frontend/src/explore/components/controls/CollectionControl/{index.jsx 
=> index.tsx} (66%)
 rename 
superset-frontend/src/explore/components/controls/DatasourceControl/{index.jsx 
=> index.tsx} (80%)
 rename 
superset-frontend/src/explore/components/controls/DndColumnSelectControl/{DndColumnSelectPopoverTitle.jsx
 => DndColumnSelectPopoverTitle.tsx} (89%)
 rename 
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilter/{AdhocFilter.test.js
 => AdhocFilter.test.ts} (100%)
 rename 
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilter/{index.js
 => index.ts} (56%)
 rename 
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterControl/{index.jsx
 => index.tsx} (70%)
 rename 
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopover/{AdhocFilterEditPopover.test.jsx
 => AdhocFilterEditPopover.test.tsx} (89%)
 rename 
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopover/{index.jsx
 => index.tsx} (73%)
 rename 
superset-frontend/src/explore/components/controls/FixedOrMetricControl/{index.jsx
 => index.tsx} (69%)
 rename 
superset-frontend/src/explore/components/controls/MetricControl/{AdhocMetric.test.js
 => AdhocMetric.test.ts} (98%)
 rename 
superset-frontend/src/explore/components/controls/MetricControl/{AdhocMetric.js 
=> AdhocMetric.ts} (62%)
 rename 
superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricEditPopover/{index.jsx
 => index.tsx} (79%)
 rename 
superset-frontend/src/explore/components/controls/MetricControl/{AdhocMetricOption.test.jsx
 => AdhocMetricOption.test.tsx} (90%)
 rename 
superset-frontend/src/explore/components/controls/MetricControl/{AdhocMetricOption.jsx
 => AdhocMetricOption.tsx} (63%)
 rename 
superset-frontend/src/explore/components/controls/MetricControl/{FilterDefinitionOption.test.jsx
 => FilterDefinitionOption.test.tsx} (94%)
 rename 
superset-frontend/src/explore/components/controls/MetricControl/{FilterDefinitionOption.jsx
 => FilterDefinitionOption.tsx} (81%)
 rename 
superset-frontend/src/explore/components/controls/MetricControl/{MetricDefinitionValue.test.jsx
 => MetricDefinitionValue.test.tsx} (83%)
 rename 
superset-frontend/src/explore/components/controls/MetricControl/{MetricDefinitionValue.jsx
 => MetricDefinitionValue.tsx} (67%)
 rename 
superset-frontend/src/explore/components/controls/MetricControl/{MetricsControl.test.jsx
 => MetricsControl.test.tsx} (92%)
 rename 
superset-frontend/src/explore/components/controls/MetricControl/{MetricsControl.jsx
 => MetricsControl.tsx} (75%)
 rename 
superset-frontend/src/explore/components/controls/MetricControl/{adhocMetricType.js
 => adhocMetricType.ts} (100%)
 rename 
superset-frontend/src/explore/components/controls/{SelectControl.test.jsx => 
SelectControl.test.tsx} (94%)
 rename superset-frontend/src/explore/components/controls/{SelectControl.jsx => 
SelectControl.tsx} (64%)
 rename superset-frontend/src/explore/components/controls/{SpatialControl.jsx 
=> SpatialControl.tsx} (71%)
 rename 
superset-frontend/src/explore/components/controls/{TextAreaControl.test.jsx => 
TextAreaControl.test.tsx} (100%)
 rename superset-frontend/src/explore/components/controls/{TextAreaControl.jsx 
=> TextAreaControl.tsx} (68%)
 rename 
superset-frontend/src/explore/components/controls/TimeSeriesColumnControl/{index.jsx
 => index.tsx} (81%)
 rename 
superset-frontend/src/explore/components/controls/{ViewportControl.test.jsx => 
ViewportControl.test.tsx} (100%)
 rename superset-frontend/src/explore/components/controls/{ViewportControl.jsx 
=> ViewportControl.tsx} (61%)
 rename superset-frontend/src/explore/{controls.jsx => controls.tsx} (87%)
 create mode 100644 
superset-frontend/src/explore/exploreUtils/exportChart.test.ts
 rename superset-frontend/src/explore/{store.test.jsx => store.test.tsx} (95%)
 rename superset-frontend/src/explore/{store.js => store.ts} (61%)
 delete mode 100644 
superset/mcp_service/chart/tool/get_chart_available_filters.py
 create mode 100644 superset/mcp_service/common/schema_discovery.py
 delete mode 100644 
superset/mcp_service/dashboard/tool/get_dashboard_available_filters.py
 delete mode 100644 
superset/mcp_service/dataset/tool/get_dataset_available_filters.py
 create mode 100644 superset/mcp_service/system/resources/schema_discovery.py
 create mode 100644 superset/mcp_service/system/tool/get_schema.py
 create mode 100644 tests/unit_tests/commands/databases/validate_sql_test.py
 create mode 100644 tests/unit_tests/commands/report/alert_test.py
 create mode 100644 tests/unit_tests/commands/report/test_create_recipients.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/tool/test_get_chart_data.py
 create mode 100644 tests/unit_tests/mcp_service/system/tool/test_get_schema.py
 copy {superset-core/src/superset_core/api => 
tests/unit_tests/views/datasource}/__init__.py (100%)
 create mode 100644 tests/unit_tests/views/datasource/utils_test.py

Reply via email to