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

jli pushed a change to branch feat-async-select-tests
in repository https://gitbox.apache.org/repos/asf/superset.git


 discard ed3ae5b890 fix(tests): add timeout to default value validation test 
for CI stability
 discard 65aae164dc test(filters): remove long-skipped time range pre-filter 
test
 discard e22807b2e7 test(filters): add unit tests for mostUsedDataset and 
doesColumnMatchFilterType
 discard d019031c2a test(filters): improve test isolation and follow testing 
guidelines
 discard 28ebfca48c refactor(filters): extract shouldShowTimeRangePicker and 
fix test typing
 discard c6b67b63f2 test(filters): add hasTemporalColumns unit tests and 
improve default value validation
 discard cbd115bd71 test(dashboard): fix and document FiltersConfigModal async 
select limitations
     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 23a47e2f5a chore(deps-dev): bump webpack-dev-server from 5.2.2 to 
5.2.3 in /superset-frontend (#37088)
     add 3a3cbc2900 chore(deps-dev): bump @types/node from 25.0.3 to 25.0.7 in 
/superset-websocket (#37081)
     add 6c75365427 chore(deps-dev): bump typescript-eslint from 8.52.0 to 
8.53.0 in /docs (#37076)
     add 5d5012aa9f chore(deps-dev): bump @types/lodash from 4.17.21 to 4.17.23 
in /superset-frontend (#37077)
     add 560da50df8 chore(deps): bump @babel/runtime from 7.28.4 to 7.28.6 in 
/superset-frontend (#37080)
     add 393259bb9e chore(deps-dev): bump typescript-eslint from 8.52.0 to 
8.53.0 in /superset-websocket (#37082)
     add 0b4fcce03b chore(deps-dev): bump cross-env from 10.0.0 to 10.1.0 in 
/superset-frontend (#36657)
     add 1166df3579 docs(inthewild): Dark mode issues on InTheWild page (#37034)
     add 0c490dc1ab docs(exploring-data): add overview to tutorial (#37028)
     add fd3eea0557 chore(deps): bump lodash-es from 4.17.21 to 4.17.22 in 
/superset-frontend (#37048)
     add 0404c99e39 fix(dashboard): revert cell hover and active colors to 
grayscale (#36991)
     add e053418c97 fix(Matrixify): Do not clear values when saving (#37090)
     add bdcc98743d chore(deps-dev): bump cheerio from 1.1.0 to 1.1.2 in 
/superset-frontend (#37002)
     add 91dba9dcbf chore(deps-dev): bump @babel/types from 7.28.4 to 7.28.5 in 
/superset-frontend (#36652)
     add 86bc493423 chore(deps-dev): bump @babel/types from 7.28.4 to 7.28.6 in 
/superset-frontend (#37087)
     add 4f3403b134 chore(deps): bump antd from 6.1.2 to 6.2.0 in /docs (#37079)
     add 35ac4c74fd feat(dashboard): chart customizations modal and plugins 
(#36062)
     add a272253243 fix(table chart): time comparison totals returning null 
(#37111)
     add 137ebdee39 fix(prune_logs): improve performance by using id column 
only for ordering log records when max_rows_per_run is provided (#37138)
     add 4c01b5c324 docs: Add UserGuiding INTHEWILD.yaml (#37030)
     add debdfbc835 chore(deps-dev): bump 
@babel/plugin-transform-modules-commonjs from 7.27.1 to 7.28.6 in 
/superset-frontend (#37117)
     add 64424f1625 chore(deps-dev): bump @types/node from 25.0.7 to 25.0.8 in 
/superset-websocket (#37116)
     add 6ca0f7a925 chore(deps-dev): bump @babel/cli from 7.28.3 to 7.28.6 in 
/superset-frontend (#37124)
     add 2324b4c9e5 chore(deps-dev): bump @babel/preset-typescript from 7.26.0 
to 7.28.5 in /superset-frontend (#36661)
     add 6eb4db6930 fix(controls): Only initialize categorical control on 
numeric x axis (#37115)
     add 23b91d22ef fix(charts): properly parse error responses in 
StatefulChart (#37130)
     add 81fdc2bd0e feat(dates): adding handling for first of (#37098)
     add c867d9379f chore(deps-dev): bump ts-loader from 9.5.2 to 9.5.4 in 
/superset-frontend (#36999)
     add 96a3f2a187 chore(deps-dev): bump @babel/preset-react from 7.27.1 to 
7.28.5 in /superset-frontend (#37047)
     add 68e917c3f6 chore(deps-dev): bump eslint-plugin-testing-library from 
7.14.0 to 7.15.4 in /superset-frontend (#37052)
     add db61e4f62a chore(deps-dev): bump 
eslint-plugin-react-you-might-not-need-an-effect from 0.8.3 to 0.8.5 in 
/superset-frontend (#37054)
     add 7f6cdc5616 chore(deps-dev): bump prettier from 3.7.4 to 3.8.0 in 
/superset-websocket (#37149)
     add 4c267b7ee2 chore(deps-dev): bump prettier from 3.7.4 to 3.8.0 in /docs 
(#37152)
     add f69cd43bd0 chore(deps-dev): bump eslint-plugin-prettier from 5.5.4 to 
5.5.5 in /docs (#37153)
     add c6ad0dbd3a chore(deps-dev): bump prettier from 3.7.4 to 3.8.0 in 
/superset-frontend (#37156)
     add 89380638b0 chore(deps): bump immer from 11.0.1 to 11.1.3 in 
/superset-frontend (#37159)
     add 82d74d15ec chore(deps): bump react-intersection-observer from 9.16.0 
to 10.0.0 in /superset-frontend (#37162)
     add 129b8e10a2 chore(deps-dev): bump @babel/core from 7.28.3 to 7.28.6 in 
/superset-frontend (#37154)
     add e071e0c5a4 chore(deps-dev): bump eslint-plugin-prettier from 5.5.4 to 
5.5.5 in /superset-frontend (#37160)
     add b142f1956f chore(deps): bump chrono-node from 2.7.8 to 2.9.0 in 
/superset-frontend (#36632)
     add 95c14b1fc1 chore(Matrixify): disable matrixify for incompatible viz 
types (#37163)
     add 9555798d37 fix(data-zoom): Data-zoom not rendered properly in 
Matrixify (#37134)
     add ab8df1ab34 fix: Move head_custom_extra above csrf token input (#37173)
     add 54f19856de fix: HTML detection in tables (#37171)
     add c30edaf075 feat: add tab select with save chart to dashboard (#36332)
     add 4532ccf638 fix(mcp): push Flask app context in mcp_auth_hook for tool 
execution (#37190)
     add d0783da3e5 fix(mcp): Handle big_number charts and make semantic 
warnings non-blocking (#37142)
     add 2bcb66c2fc refactor(mcp): simplify single metric chart type check 
(#37215)
     add 4b1d92e575 feat: add droppable area to tab empty state (#37210)
     add 896947c787 fix(mcp): restore select_columns filtering in list tools 
(#37213)
     add f4474b2e3e feat: Dynamic currency (#36416)
     add b941be01cf chore(deps-dev): bump @types/node from 25.0.8 to 25.0.9 in 
/superset-websocket (#37193)
     add 33ff127370 chore(deps-dev): bump baseline-browser-mapping from 2.9.9 
to 2.9.14 in /superset-frontend (#37198)
     add f00f7d1c18 chore(deps): bump ioredis from 5.9.0 to 5.9.2 in 
/superset-websocket (#37194)
     add a77c2d550c fix(mixed-timeseries): prevent duplicate legend entries 
(#37217)
     add f984dca5cc fix(sunburst): make Show Total text theme-aware (#37177)
     add 6453980d8d chore(deps): bump react-error-boundary from 6.0.0 to 6.1.0 
in /superset-frontend (#37206)
     add cee5ce13e0 chore(deps-dev): bump @types/node from 25.0.3 to 25.0.9 in 
/superset-frontend (#37196)
     add a06e6eb680 chore(deps): bump googleapis from 169.0.0 to 170.1.0 in 
/superset-frontend (#37195)
     add 4d462c76bd chore(deps-dev): bump @types/urijs from 1.19.25 to 1.19.26 
in /superset-frontend (#36636)
     add 476e454384 chore(deps): update @deck.gl/extensions requirement from 
~9.2.2 to ~9.2.5 in /superset-frontend/plugins/legacy-preset-chart-deckgl 
(#36618)
     add 39238ef8a9 feat(ag-grid-table): Enable Time Shift feature for AG Grid 
Table (#37072)
     add 2e29e33dd8 fix(calendar-heatmap): correct month display across 
timezones (#37064)
     add 2900258e05 fix(Dashboard): Auto-apply filters with default values when 
extraForm… (#36927)
     add c0cbbe393a feat(Matrixify): add matrixify tag to list view and explore 
(#37247)
     add 409cdad264 fix(mcp): prevent MCP service from corrupting shared 
appbuilder singleton (#37252)
     add 4393db57d9 fix(native-filters): enable Apply button when selecting 
Boolean FALSE value (#37017)
     add f4597be341 fix(timeseries): x-axis last month was hidden (#37181)
     add 1f19ef92cb refactor(TimezoneSelector): Enhance timezone selection 
logic and improve performance (#36486)
     add 2d20079a88 fix(mcp): Remove screenshot URL functionality from MCP 
chart tools (#37228)
     add 6e1718910f fix(sqllab): show virtual dataset banner only when 
isDataset param is true (#37184)
     add fe16c828cf feat(mcp): Add support for AG Grid Interactive Table 
(ag-grid-table) viz_type (#37191)
     add 2187fb4ab4 fix(transpile_query): Fix export_as_csv error: 
"transpile_to_dialect": ['Unknown field.'] (#37249)
     add 50d0508a92 feat(mcp): Add Redis EventStore support for multi-pod 
deployments (#37216)
     add e1fa374517 feat(mcp): add time_grain parameter to XY chart generation 
(#37182)
     add 3fba967856 fix(delete-filter): deleted native filters are still shown 
until [sc-96553] (#37012)
     add 13e3e1af41 test(dashboard): fix and document FiltersConfigModal async 
select limitations
     add ad49d76cd3 test(filters): add hasTemporalColumns unit tests and 
improve default value validation
     add 4d3c531389 refactor(filters): extract shouldShowTimeRangePicker and 
fix test typing
     add b14b4866aa test(filters): improve test isolation and follow testing 
guidelines
     add a53ef62896 test(filters): add unit tests for mostUsedDataset and 
doesColumnMatchFilterType
     add 86842739dc test(filters): remove long-skipped time range pre-filter 
test
     add 05302a6d3a fix(tests): add timeout to default value validation test 
for CI stability

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (ed3ae5b890)
            \
             N -- N -- N   refs/heads/feat-async-select-tests (05302a6d3a)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

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                           |   27 +-
 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        |   17 +-
 docs/docusaurus.config.ts                          |   12 +
 docs/netlify.toml                                  |   56 +
 docs/package.json                                  |   16 +-
 docs/src/pages/inTheWild.tsx                       |    2 +-
 docs/src/styles/custom.css                         |   48 +
 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/userguiding.svg              |  Bin 0 -> 5610 bytes
 docs/yarn.lock                                     |  560 +++----
 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 +-
 .../e2e/dashboard/horizontalFilterBar.test.ts      |    1 +
 .../cypress/e2e/dashboard/nativeFilters.test.ts    |    3 +
 .../cypress-base/cypress/e2e/dashboard/utils.ts    |   10 +-
 .../netlify.toml                                   |   22 +-
 superset-frontend/oxlint.json                      |    2 +-
 superset-frontend/package-lock.json                | 1691 ++++++++++++--------
 superset-frontend/package.json                     |   58 +-
 .../packages/generator-superset/package.json       |    4 +-
 .../packages/superset-core/package.json            |   20 +-
 .../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         |   23 +-
 .../src/shared-controls/dndControls.tsx            |    3 +-
 .../src/shared-controls/matrixifyControls.tsx      |    3 +-
 .../src/shared-controls/mixins.tsx                 |    2 +-
 .../src/shared-controls/sharedControls.tsx         |    5 +-
 .../superset-ui-chart-controls/src/types.ts        |    1 +
 .../src/utils/D3Formatting.ts                      |    2 +-
 .../test/shared-controls/customControls.test.tsx   |   57 +
 .../test/utils/getColorFormatters.test.ts          |    2 +-
 .../packages/superset-ui-core/package.json         |    8 +-
 .../src/chart/components/FallbackComponent.tsx     |    7 +-
 .../src/chart/components/NoResultsComponent.tsx    |    3 +-
 .../src/chart/components/StatefulChart.test.tsx    |  340 ++++
 .../src/chart/components/StatefulChart.tsx         |   37 +-
 .../src/chart/components/SuperChartCore.tsx        |    2 +-
 .../superset-ui-core/src/chart/types/Base.ts       |    1 +
 .../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 +-
 .../TimezoneSelector/TimezoneOptionsCache.test.tsx |  256 +++
 .../TimezoneSelector/TimezoneOptionsCache.ts       |  159 ++
 .../TimezoneSelector.DaylightSavingTime.test.tsx   |   12 +-
 .../TimezoneSelector/TimezoneSelector.test.tsx     |   36 +-
 .../src/components/TimezoneSelector/index.tsx      |  239 +--
 .../src/components/TimezoneSelector/types.ts}      |   14 +-
 .../src/components/TruncatedList/index.tsx         |    3 +-
 .../src/components/UnsavedChangesModal/index.tsx   |    2 +-
 .../superset-ui-core/src/components/constants.ts   |    2 +-
 .../CurrencyFormats.ts}                            |    4 +-
 .../src/currency-format/CurrencyFormatter.ts       |   95 +-
 .../superset-ui-core/src/currency-format/index.ts  |   10 +-
 .../Drawer => currency-format}/types.ts            |   11 +-
 .../superset-ui-core/src/currency-format/utils.ts  |  129 +-
 .../packages/superset-ui-core/src/index.ts         |    1 -
 .../superset-ui-core/src/query/constants.ts        |    1 +
 .../src/query/extractQueryFields.ts                |    2 +-
 .../src/query/getClientErrorObject.ts              |    2 +-
 .../packages/superset-ui-core/src/query/index.ts   |    1 +
 .../superset-ui-core/src/query/types/Dashboard.ts  |   81 +-
 .../superset-ui-core/src/query/types/Datasource.ts |    1 +
 .../superset-ui-core/src/query/types/Query.ts      |    2 +
 .../src/query/types/QueryFormData.ts               |    5 +-
 .../src/query/types/QueryResponse.ts               |   12 +-
 .../superset-ui-core/src/utils/featureFlags.ts     |    2 +-
 .../superset-ui-core/src/utils/html.test.tsx       |   18 +
 .../packages/superset-ui-core/src/utils/html.tsx   |  129 +-
 .../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 +-
 .../chart/components/FallbackComponent.test.tsx    |    9 +-
 .../test/currency-format/CurrencyFormatter.test.ts |   37 +-
 .../currency-format/analyzeCurrencyInData.test.ts} |   23 +-
 .../currency-format/hasMixedCurrencies.test.ts}    |   18 +-
 .../currency-format/normalizeCurrency.test.ts}     |   23 +-
 .../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         |   10 +-
 .../storybook/shared/components/VerifyCORS.tsx     |    2 +-
 .../playwright/tests/experimental/README.md        |    7 +
 .../legacy-plugin-chart-calendar/src/Calendar.js   |    6 +-
 .../src/controlPanel.ts                            |    3 +-
 .../legacy-plugin-chart-calendar/src/index.js      |    3 +-
 .../legacy-plugin-chart-calendar/src/utils.ts      |   10 +-
 .../src/vendor/cal-heatmap.js                      |    3 +-
 .../test/getFormattedUTCTime.ts                    |   28 -
 .../test/utils.test.ts                             |   96 ++
 .../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/transformProps.js                          |   13 +-
 .../legacy-preset-chart-deckgl/package.json        |    4 +-
 .../src/DeckGLContainer.tsx                        |    6 +-
 .../legacy-preset-chart-deckgl/src/Multi/Multi.tsx |  127 +-
 .../src/Multi/controlPanel.ts                      |   32 +-
 .../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                 |    3 +-
 .../src/layers/Scatter/controlPanel.ts             |    3 +-
 .../src/layers/Scatter/index.ts                    |    3 +-
 .../src/layers/Screengrid/Screengrid.tsx           |    2 +-
 .../src/layers/Screengrid/controlPanel.ts          |    3 +-
 .../src/layers/Screengrid/index.ts                 |    3 +-
 .../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   |  164 +-
 .../plugin-chart-ag-grid-table/src/consts.ts       |   15 +
 .../src/controlPanel.tsx                           |    8 +-
 .../plugin-chart-ag-grid-table/src/index.ts        |    3 +-
 .../src/renderers/NumericCellRenderer.tsx          |   14 +-
 .../src/renderers/TextCellRenderer.tsx             |    3 +-
 .../src/stateConversion.ts                         |  185 ++-
 .../src/styles/index.tsx                           |    4 +-
 .../src/transformProps.ts                          |   20 +-
 .../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                        |   89 +-
 .../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 +-
 .../BigNumberPeriodOverPeriod/transformProps.ts    |   13 +-
 .../src/BigNumber/BigNumberTotal/controlPanel.ts   |    3 +-
 .../src/BigNumber/BigNumberTotal/index.ts          |    3 +-
 .../src/BigNumber/BigNumberTotal/transformProps.ts |   16 +-
 .../src/BigNumber/BigNumberViz.tsx                 |    2 +-
 .../BigNumberWithTrendline/controlPanel.tsx        |    3 +-
 .../src/BigNumber/BigNumberWithTrendline/index.ts  |    3 +-
 .../BigNumberWithTrendline/transformProps.ts       |   13 +-
 .../src/BigNumber/sharedControls.ts                |    2 +-
 .../plugin-chart-echarts/src/BigNumber/types.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/Funnel/transformProps.ts                   |   11 +-
 .../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/Gauge/transformProps.ts                    |    6 +
 .../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                  |   19 +-
 .../src/Histogram/controlPanel.tsx                 |    3 +-
 .../plugin-chart-echarts/src/Histogram/index.ts    |    3 +-
 .../src/MixedTimeseries/controlPanel.tsx           |    3 +-
 .../src/MixedTimeseries/index.ts                   |    3 +-
 .../src/MixedTimeseries/transformProps.ts          |   54 +-
 .../plugin-chart-echarts/src/Pie/controlPanel.tsx  |    3 +-
 .../plugins/plugin-chart-echarts/src/Pie/index.ts  |    3 +-
 .../plugin-chart-echarts/src/Pie/transformProps.ts |   15 +-
 .../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                 |   14 +-
 .../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               |   35 +-
 .../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/Treemap/transformProps.ts                  |   12 +-
 .../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 -
 .../test/BigNumber/transformProps.test.ts          |   56 +
 .../test/Timeseries/transformProps.test.ts         |  132 ++
 .../test/Timeseries/transformers.test.ts           |   49 +-
 .../plugins/plugin-chart-handlebars/package.json   |    2 +-
 .../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 +-
 .../plugins/plugin-chart-pivot-table/package.json  |    2 +-
 .../src/PivotTableChart.tsx                        |  126 +-
 .../src/plugin/controlPanel.tsx                    |    2 +-
 .../plugin-chart-pivot-table/src/plugin/index.ts   |    2 +-
 .../src/plugin/transformProps.ts                   |   18 +-
 .../src/react-pivottable/Styles.js                 |    2 +-
 .../src/react-pivottable/TableRenderers.jsx        |   11 +-
 .../src/react-pivottable/utilities.js              |   58 +-
 .../plugins/plugin-chart-pivot-table/src/types.ts  |    2 +
 .../test/plugin/transformProps.test.ts             |  189 +++
 .../src/DataTable/components/SelectPageSize.tsx    |    2 +-
 .../plugins/plugin-chart-table/src/Styles.tsx      |    4 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |   13 +-
 .../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       |   37 +-
 .../plugins/plugin-chart-table/src/types.ts        |    1 +
 .../plugin-chart-table/src/utils/formatValue.ts    |   11 +-
 .../plugin-chart-table/src/utils/isEqualColumns.ts |    3 +
 .../plugins/plugin-chart-table/test/testData.ts    |    1 +
 .../test/utils/formatValue.test.ts                 |  155 ++
 .../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            |    2 +-
 .../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      |  262 ++-
 .../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 +-
 ...ckglLayerVisibilityCustomizationPlugin.test.tsx |  484 ++++++
 .../DeckglLayerVisibilityCustomizationPlugin.tsx   |  204 +++
 .../DeckglLayerVisibility/buildQuery.test.ts}      |   47 +-
 .../components/DeckglLayerVisibility/buildQuery.ts |   17 +-
 .../DeckglLayerVisibility/controlPanel.ts}         |    9 +-
 .../components/DeckglLayerVisibility}/index.ts     |   18 +-
 .../DeckglLayerVisibility/transformProps.test.ts   |  100 ++
 .../DeckglLayerVisibility}/transformProps.ts       |   12 +-
 .../components/DeckglLayerVisibility}/types.ts     |   39 +-
 .../useDeckLayerMetadata.test.ts                   |  195 +++
 .../DeckglLayerVisibility/useDeckLayerMetadata.ts  |   87 +
 .../DynamicGroupBy/DynamicGroupByPlugin.tsx        |  140 ++
 .../components/DynamicGroupBy}/buildQuery.ts       |   13 +-
 .../components/DynamicGroupBy}/controlPanel.ts     |   37 +-
 .../DynamicGroupBy}/images/thumbnail.png           |  Bin
 .../components/DynamicGroupBy}/index.ts            |   16 +-
 .../components/DynamicGroupBy}/transformProps.ts   |    0
 .../components/DynamicGroupBy}/types.ts            |   74 +-
 .../TimeColumn/TimeColumnFilterPlugin.tsx          |    3 +-
 .../components/TimeColumn/buildQuery.ts            |    0
 .../components/TimeColumn/controlPanel.ts          |    2 +-
 .../components/TimeColumn}/images/thumbnail.png    |  Bin
 .../components/TimeColumn/index.ts                 |    9 +-
 .../components/TimeColumn/transformProps.ts        |    0
 .../components/TimeColumn/types.ts                 |    0
 .../components/TimeGrain/TimeGrainFilterPlugin.tsx |   63 +-
 .../components/TimeGrain/buildQuery.ts             |    0
 .../components/TimeGrain}/controlPanel.ts          |    6 +-
 .../components/TimeGrain}/images/thumbnail.png     |  Bin
 .../components/TimeGrain/index.ts                  |    9 +-
 .../components/TimeGrain/transformProps.ts         |    0
 .../components/TimeGrain/types.ts                  |    0
 .../components/common.ts                           |    0
 .../chartCustomizations/components}/index.ts       |   12 +-
 .../components/types.ts                            |    7 +-
 .../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           |    3 +-
 .../components/CollectionTable/index.tsx           |    2 +-
 .../DatasourceEditor/DatasourceEditor.jsx          |  185 ++-
 .../components/DatasetUsageTab/index.tsx           |    2 +-
 .../tests/DatasourceEditor.test.tsx                |   44 +-
 .../tests/DatasourceEditorCurrency.test.tsx        |   67 +
 .../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/constants.ts                 |    7 +
 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 |  379 +++--
 .../src/dashboard/actions/dashboardInfo.ts         |    3 +-
 .../src/dashboard/actions/dashboardLayout.js       |    2 +-
 .../src/dashboard/actions/dashboardState.js        |   16 +-
 superset-frontend/src/dashboard/actions/hydrate.js |    9 +-
 .../src/dashboard/actions/nativeFilters.ts         |   30 +-
 .../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 +-
 .../index.tsx                                      |  208 +--
 .../src/dashboard/components/Dashboard.jsx         |    2 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |    3 +-
 .../DashboardBuilder/DashboardContainer.test.tsx   |  211 ++-
 .../DashboardBuilder/DashboardContainer.tsx        |  152 +-
 .../dashboard/components/DashboardBuilder/state.ts |   27 +-
 .../src/dashboard/components/DashboardGrid.jsx     |    4 +-
 .../dashboard/components/EmbeddedModal/index.tsx   |    2 +-
 .../components/FiltersBadge/DetailsPanel/index.tsx |    2 +-
 .../dashboard/components/FiltersBadge/index.tsx    |   55 +-
 .../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 |   10 +-
 .../ViewResultsModalTrigger.tsx                    |    2 +-
 .../components/SliceHeaderControls/index.tsx       |   25 +-
 .../components/SliceHeaderControls/types.ts        |    1 +
 .../components/SyncDashboardState/index.tsx        |    5 +-
 .../components/URLShortLinkButton/index.tsx        |    9 +-
 .../components/filterscope/FilterScopeSelector.jsx |    3 +-
 .../dashboard/components/filterscope/treeIcons.tsx |    2 +-
 .../components/gridComponents/Chart/Chart.jsx      |   40 +-
 .../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          |  111 +-
 .../components/gridComponents/Tab/Tab.test.tsx     |  172 +-
 .../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  | 1457 -----------------
 .../ChartCustomization/ChartCustomizationModal.tsx |  700 --------
 .../ChartCustomizationTitleContainer.tsx           |  184 ---
 .../ChartCustomizationTitlePane.tsx                |  124 --
 .../ChartCustomization/groupBySelectors.ts         |  262 ---
 .../nativeFilters/ChartCustomization/selectors.ts  |   47 -
 .../useChartCustomizationModal.tsx                 |   52 -
 .../nativeFilters/ChartCustomization/utils.ts      |   63 -
 .../nativeFilters/ConfigModal/ModalFooter.tsx      |    2 +-
 .../nativeFilters/ConfigModal/SharedStyles.tsx     |    1 -
 .../FilterBar/ActionButtons/index.tsx              |   17 +-
 .../FilterBar/CrossFilters/CrossFilterTitle.tsx    |    3 +-
 .../ScopingModal/ChartsScopingListPanel.tsx        |    2 +-
 .../CrossFilters/ScopingModal/ScopingModal.tsx     |    3 +-
 .../CrossFilters/ScopingModal/ScopingTreePanel.tsx |    3 +-
 .../FilterBar/CrossFilters/VerticalCollapse.tsx    |    2 +-
 .../index.tsx                                      |   32 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |  160 +-
 .../FilterBar/FilterBarSettings/index.tsx          |   31 +-
 .../useFilterConfigModal.tsx                       |   33 +-
 .../FilterBar/FilterControls/FilterControl.tsx     |  280 +---
 .../{FilterControl.tsx => FilterControlShared.tsx} |  244 +--
 .../FilterControls/FilterControls.test.tsx         |  186 +++
 .../FilterBar/FilterControls/FilterControls.tsx    |  208 ++-
 .../FilterBar/FilterControls/FilterValue.tsx       |   74 +-
 .../FilterControls}/GroupByFilterCard.tsx          |  404 +++--
 .../FilterBar/FilterControls/types.ts              |   19 +-
 .../FiltersOutOfScopeCollapsible/index.tsx         |    3 +-
 .../nativeFilters/FilterBar/Header/index.tsx       |    2 +-
 .../nativeFilters/FilterBar/Horizontal.tsx         |   18 +-
 .../FilterBar/HorizontalFilterBar.test.tsx         |    2 +
 .../nativeFilters/FilterBar/Vertical.tsx           |   25 +-
 .../components/nativeFilters/FilterBar/index.tsx   |  275 ++--
 .../nativeFilters/FilterBar/keyValue.tsx           |    3 +-
 .../components/nativeFilters/FilterBar/state.ts    |   67 +-
 .../components/nativeFilters/FilterBar/types.ts    |    7 +
 .../FilterBar/useFilterControlFactory.tsx          |    5 +-
 .../components/nativeFilters/FilterBar/utils.ts    |   10 +-
 .../nativeFilters/FilterCard/DependenciesRow.tsx   |    3 +-
 .../nativeFilters/FilterCard/FilterCard.test.tsx   |    8 +-
 .../nativeFilters/FilterCard/FilterCardContent.tsx |    4 +-
 .../nativeFilters/FilterCard/NameRow.tsx           |   25 +-
 .../nativeFilters/FilterCard/ScopeRow.tsx          |    3 +-
 .../nativeFilters/FilterCard/TypeRow.tsx           |    9 +-
 .../components/nativeFilters/FilterCard/types.ts   |    5 +-
 .../FilterCard/useFilterDependencies.ts            |    5 +-
 .../nativeFilters/FilterCard/useFilterScope.ts     |    5 +-
 .../ConfigModalContent/ConfigModalContent.tsx      |  164 ++
 .../CustomizationContentRenderer.tsx               |  133 ++
 .../ConfigModalContent/FilterContentRenderer.tsx   |  136 ++
 .../ConfigModalContent}/index.ts                   |    8 +-
 .../ConfigModalSidebar/ConfigModalSidebar.tsx      |  192 +++
 .../ConfigModalSidebar/ItemSection.tsx             |   77 +
 .../ConfigModalSidebar}/index.ts                   |    6 +-
 .../FiltersConfigModal/DividerConfigForm.tsx       |   65 +-
 .../FiltersConfigModal/DraggableFilter.test.tsx    |  230 +++
 .../FiltersConfigModal/DraggableFilter.tsx         |   74 +-
 .../FiltersConfigModal/FilterTitleContainer.tsx    |   19 +-
 .../FiltersConfigModal/FilterTitlePane.tsx         |    3 +-
 .../FiltersConfigForm/ColumnSelect.tsx             |    2 +-
 .../FiltersConfigForm/DatasetSelect.tsx            |    6 +-
 .../FiltersConfigForm/DefaultValue.tsx             |   22 +-
 .../FiltersConfigForm/DependencyList.tsx           |    2 +-
 .../FiltersConfigForm/FilterScope/state.ts         |    2 +-
 .../FiltersConfigForm/FilterScope/utils.ts         |    4 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |  377 +++--
 .../FiltersConfigForm/RemovedFilter.tsx            |    2 +-
 .../FiltersConfigForm/constants.ts                 |   11 +
 .../FiltersConfigForm/getControlItemsMap.tsx       |   15 +-
 .../FiltersConfigModal/FiltersConfigForm/state.ts  |   17 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |  149 +-
 .../FiltersConfigModal/FiltersConfigModal.tsx      |  957 +++++------
 .../Footer/CancelConfirmationAlert.tsx             |    2 +-
 .../FiltersConfigModal/Footer/Footer.tsx           |    2 +-
 ...erTitleContainer.tsx => ItemTitleContainer.tsx} |   86 +-
 .../FiltersConfigModal/ItemTitlePane.tsx           |   93 ++
 .../FiltersConfigModal/NativeFiltersModal.test.tsx |    9 +-
 .../FiltersConfigModal/NewItemDropdown.tsx         |   93 ++
 .../FiltersConfigModal/hooks/index.ts}             |   28 +-
 .../hooks/useCustomizationOperations.ts            |  127 ++
 .../hooks/useFilterOperations.ts                   |  248 +++
 .../hooks/useItemStateManager.ts                   |  154 ++
 .../FiltersConfigModal/hooks/useModalSaveLogic.ts  |  430 +++++
 .../nativeFilters/FiltersConfigModal/state.ts      |   16 +-
 .../transformers/customizationTransformer.ts       |  163 ++
 .../transformers/filterTransformer.ts              |  172 ++
 .../FiltersConfigModal/transformers}/index.ts      |    3 +-
 .../nativeFilters/FiltersConfigModal/types.ts      |   80 +-
 .../nativeFilters/FiltersConfigModal/utils.test.ts |  139 ++
 .../nativeFilters/FiltersConfigModal/utils.ts      |  162 +-
 .../dashboard/components/nativeFilters/state.ts    |  191 ++-
 .../dashboard/components/nativeFilters/utils.ts    |   33 +-
 superset-frontend/src/dashboard/constants.ts       |    3 +
 .../src/dashboard/containers/DashboardPage.tsx     |   19 +-
 .../src/dashboard/hooks/useDownloadScreenshot.ts   |    9 +-
 .../src/dashboard/reducers/dashboardInfo.js        |  101 +-
 .../dashboard/reducers/groupByCustomizations.ts    |  198 ---
 .../src/dashboard/reducers/nativeFilters.test.ts   |  257 ++-
 .../src/dashboard/reducers/nativeFilters.ts        |   66 +-
 .../src/dashboard/reducers/sliceEntities.ts        |    2 +-
 superset-frontend/src/dashboard/types.ts           |   20 +-
 .../dashboard/util/activeAllDashboardFilters.ts    |    5 +-
 .../src/dashboard/util/backgroundStyleOptions.ts   |    2 +-
 .../src/dashboard/util/calculateScopes.ts          |   75 +
 .../util/charts/getFormDataWithExtraFilters.ts     |  119 +-
 .../src/dashboard/util/getFilterFieldNodesTree.ts  |    2 +-
 .../src/dashboard/util/getFilterScopeNodesTree.js  |    2 +-
 .../util/getFormDataWithExtraFilters.test.ts       |  114 ++
 .../src/dashboard/util/getRelatedCharts.ts         |   13 +-
 .../src/dashboard/util/getSliceHeaderTooltip.tsx   |    2 +-
 .../src/dashboard/util/headerStyleOptions.ts       |    2 +-
 .../src/dashboard/util/newComponentFactory.js      |    2 +-
 .../dashboard/util/updateComponentParentsList.ts   |    2 +-
 .../util/useFilterFocusHighlightStyles.test.tsx    |    4 +
 .../util/useFilterFocusHighlightStyles.ts          |   10 +-
 superset-frontend/src/dataMask/actions.ts          |    3 +
 superset-frontend/src/dataMask/reducer.ts          |  160 +-
 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     |  212 ++-
 .../explore/components/ControlPanelsContainer.tsx  |   31 +-
 .../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 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |   28 +
 .../components/ExploreChartHeader/index.jsx        |    9 +-
 .../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.test.jsx      |  383 +++++
 .../src/explore/components/SaveModal.tsx           |  296 +++-
 .../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    |    4 +-
 .../controls/ColumnConfigControl/constants.tsx     |    5 +-
 .../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 +-
 .../CurrencyControl.test.tsx}                      |   27 +-
 .../controls/CurrencyControl/CurrencyControl.tsx   |   88 +-
 .../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.test.tsx    |  119 ++
 .../controls/MatrixifyDimensionControl.tsx         |   39 +-
 .../{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          |   21 +-
 ...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 +-
 superset-frontend/src/explore/types.ts             |   19 +
 .../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.test.tsx  |    3 +-
 .../src/features/alerts/AlertReportModal.tsx       |   52 +-
 .../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      |    2 +-
 .../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 +-
 superset-frontend/src/features/datasets/types.ts   |    1 +
 .../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 +-
 superset-frontend/src/features/home/RightMenu.tsx  |    3 +-
 .../src/features/home/SavedQueries.tsx             |    3 +-
 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.test.tsx  |  457 +++++-
 .../components/Select/SelectFilterPlugin.tsx       |    6 +-
 .../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 +-
 .../src/pages/ChartList/ChartList.test.tsx         |   35 +-
 .../src/pages/ChartList/ChartList.testHelpers.tsx  |   13 +
 superset-frontend/src/pages/ChartList/index.tsx    |   23 +-
 .../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 +-
 .../src/pages/SqlLab/LocationContext.tsx           |    3 +-
 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 +-
 superset-frontend/src/views/store.ts               |    2 -
 .../src/visualizations/TimeTable/TimeTable.tsx     |    2 +-
 .../TimeTable/config/controlPanel/controlPanel.ts  |    3 +-
 .../src/visualizations/TimeTable/index.ts          |    3 +-
 .../ExampleComponent/ExampleComponent.tsx          |    3 +-
 .../src/visualizations/presets/MainPreset.js       |   20 +-
 superset-websocket/package-lock.json               |  728 +++------
 superset-websocket/package.json                    |   12 +-
 superset/charts/schemas.py                         |   23 +
 superset/cli/examples.py                           |    3 +
 superset/commands/dashboard/exceptions.py          |    4 +
 superset/commands/dashboard/update.py              |   18 +
 superset/commands/database/validate_sql.py         |   44 +
 superset/commands/logs/prune.py                    |    6 +-
 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_actions.py                   |   65 +
 superset/common/query_context_factory.py           |   34 +
 superset/common/query_context_processor.py         |    1 +
 superset/common/utils/query_cache_manager.py       |   11 +
 superset/connectors/sqla/models.py                 |    6 +-
 superset/daos/dashboard.py                         |   64 +
 superset/dashboards/api.py                         |   91 ++
 superset/dashboards/schemas.py                     |    9 +
 superset/datasets/api.py                           |    2 +
 superset/datasets/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/examples/data_loading.py                  |    2 +
 superset/examples/international_sales.py           |  238 +++
 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/auth.py                       |  115 +-
 superset/mcp_service/chart/chart_utils.py          |   20 +-
 superset/mcp_service/chart/schemas.py              |  104 +-
 superset/mcp_service/chart/tool/__init__.py        |    2 -
 superset/mcp_service/chart/tool/generate_chart.py  |   31 +-
 .../chart/tool/get_chart_available_filters.py      |   50 -
 superset/mcp_service/chart/tool/get_chart_data.py  |  112 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |   60 +-
 superset/mcp_service/chart/tool/list_charts.py     |   19 +-
 superset/mcp_service/chart/tool/update_chart.py    |    7 +-
 .../mcp_service/chart/tool/update_chart_preview.py |   30 +-
 .../chart/validation/runtime/__init__.py           |   22 +-
 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  |   45 +-
 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 |   20 +-
 .../mcp_service/docs/tool-search-optimization.md   |    2 +-
 superset/mcp_service/flask_singleton.py            |   82 +-
 superset/mcp_service/mcp_config.py                 |   12 +-
 superset/mcp_service/mcp_core.py                   |  120 +-
 superset/mcp_service/server.py                     |   97 +-
 superset/mcp_service/storage.py                    |   71 +-
 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/mcp_service/utils/url_utils.py            |   28 -
 ...00_9787190b3d89_add_currency_column_support.py} |   23 +-
 superset/models/helpers.py                         |   30 +-
 superset/reports/schemas.py                        |    2 +-
 superset/security/manager.py                       |   97 +-
 superset/sql/parse.py                              |    2 +-
 superset/sqllab/query_render.py                    |   23 +-
 superset/superset_typing.py                        |    2 +
 superset/templates/superset/spa.html               |    7 +-
 superset/utils/core.py                             |    1 +
 superset/utils/currency.py                         |  160 ++
 superset/utils/date_parser.py                      |  119 +-
 superset/utils/excel.py                            |    2 +-
 superset/views/core.py                             |   21 +-
 superset/views/datasource/utils.py                 |    6 +
 superset/views/utils.py                            |    2 +-
 superset/viz.py                                    |    1 +
 tests/integration_tests/dashboards/api_tests.py    |  325 ++++
 tests/integration_tests/databases/api_tests.py     |  109 ++
 tests/integration_tests/datasets/commands_tests.py |    3 +
 tests/integration_tests/fixtures/__init__.py       |    1 +
 tests/integration_tests/fixtures/importexport.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 +++
 .../common/test_query_actions_currency.py          |  290 ++++
 .../common/test_query_context_factory.py           |  106 ++
 tests/unit_tests/common/test_time_shifts.py        |   33 +
 tests/unit_tests/connectors/sqla/models_test.py    |   64 +
 .../dashboards/test_chart_customizations_dao.py    |  339 ++++
 tests/unit_tests/datasets/commands/export_test.py  |    1 +
 tests/unit_tests/datasets/schema_tests.py          |   29 +
 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/test_chart_schemas.py        |   53 +
 .../mcp_service/chart/test_chart_utils.py          |  128 ++
 .../mcp_service/chart/tool/test_generate_chart.py  |   21 +-
 .../mcp_service/chart/tool/test_get_chart_data.py  |  227 +++
 .../mcp_service/chart/tool/test_list_charts.py     |   48 +-
 .../mcp_service/chart/validation}/__init__.py      |    0
 .../chart/validation/test_runtime_validator.py     |  221 +++
 .../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 +-
 tests/unit_tests/mcp_service/test_mcp_server.py    |  126 ++
 tests/unit_tests/mcp_service/test_mcp_storage.py   |  194 ++-
 .../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/currency_test.py            |  332 ++++
 tests/unit_tests/utils/date_parser_tests.py        |  111 ++
 .../unit_tests/views/datasource}/__init__.py       |    0
 tests/unit_tests/views/datasource/utils_test.py    |  217 +++
 1165 files changed, 36129 insertions(+), 12877 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/userguiding.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%)
 create mode 100644 
superset-frontend/packages/superset-ui-chart-controls/test/shared-controls/customControls.test.tsx
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/components/TimezoneSelector/TimezoneOptionsCache.test.tsx
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/components/TimezoneSelector/TimezoneOptionsCache.ts
 copy superset-frontend/{plugins/legacy-preset-chart-deckgl/src/TooltipRow.tsx 
=> packages/superset-ui-core/src/components/TimezoneSelector/types.ts} (80%)
 copy 
superset-frontend/packages/superset-ui-core/src/{components/Divider/types.ts => 
currency-format/CurrencyFormats.ts} (90%)
 copy superset-frontend/packages/superset-ui-core/src/{components/Drawer => 
currency-format}/types.ts (83%)
 copy superset-frontend/{src/explore/exploreUtils/getLegacyEndpointType.test.ts 
=> 
packages/superset-ui-core/test/currency-format/analyzeCurrencyInData.test.ts} 
(57%)
 copy 
superset-frontend/packages/{superset-ui-chart-controls/test/operators/utils/timeOffset.test.ts
 => superset-ui-core/test/currency-format/hasMixedCurrencies.test.ts} (60%)
 copy 
superset-frontend/packages/superset-ui-core/{src/components/Input/Input.test.tsx
 => test/currency-format/normalizeCurrency.test.ts} (61%)
 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
 delete mode 100644 
superset-frontend/plugins/legacy-plugin-chart-calendar/test/getFormattedUTCTime.ts
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-calendar/test/utils.test.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
 create mode 100644 
superset-frontend/plugins/plugin-chart-table/test/utils/formatValue.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%)
 create mode 100644 
superset-frontend/src/chartCustomizations/components/DeckglLayerVisibility/DeckglLayerVisibilityCustomizationPlugin.test.tsx
 create mode 100644 
superset-frontend/src/chartCustomizations/components/DeckglLayerVisibility/DeckglLayerVisibilityCustomizationPlugin.tsx
 copy superset-frontend/src/{filters/components/TimeGrain/index.ts => 
chartCustomizations/components/DeckglLayerVisibility/buildQuery.test.ts} (52%)
 copy docs/src/types/apache-superset-core/index.d.ts => 
superset-frontend/src/chartCustomizations/components/DeckglLayerVisibility/buildQuery.ts
 (65%)
 copy 
superset-frontend/{plugins/plugin-chart-echarts/src/utils/convertInteger.ts => 
src/chartCustomizations/components/DeckglLayerVisibility/controlPanel.ts} (84%)
 copy superset-frontend/src/{filters/components/Select => 
chartCustomizations/components/DeckglLayerVisibility}/index.ts (67%)
 create mode 100644 
superset-frontend/src/chartCustomizations/components/DeckglLayerVisibility/transformProps.test.ts
 copy superset-frontend/{plugins/legacy-preset-chart-deckgl/src/layers/Hex => 
src/chartCustomizations/components/DeckglLayerVisibility}/transformProps.ts 
(82%)
 copy superset-frontend/{packages/superset-ui-core/src/dimension => 
src/chartCustomizations/components/DeckglLayerVisibility}/types.ts (58%)
 create mode 100644 
superset-frontend/src/chartCustomizations/components/DeckglLayerVisibility/useDeckLayerMetadata.test.ts
 create mode 100644 
superset-frontend/src/chartCustomizations/components/DeckglLayerVisibility/useDeckLayerMetadata.ts
 create mode 100644 
superset-frontend/src/chartCustomizations/components/DynamicGroupBy/DynamicGroupByPlugin.tsx
 copy superset-frontend/{plugins/plugin-chart-echarts/src/Tree => 
src/chartCustomizations/components/DynamicGroupBy}/buildQuery.ts (86%)
 copy superset-frontend/src/{filters/components/Range => 
chartCustomizations/components/DynamicGroupBy}/controlPanel.ts (70%)
 copy 
superset-frontend/{packages/generator-superset/generators/plugin-chart/templates/src
 => src/chartCustomizations/components/DynamicGroupBy}/images/thumbnail.png 
(100%)
 copy superset-frontend/src/{filters/components/Range => 
chartCustomizations/components/DynamicGroupBy}/index.ts (70%)
 copy superset-frontend/src/{filters/components/TimeGrain => 
chartCustomizations/components/DynamicGroupBy}/transformProps.ts (100%)
 rename 
superset-frontend/src/{dashboard/components/nativeFilters/ChartCustomization => 
chartCustomizations/components/DynamicGroupBy}/types.ts (51%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeColumn/TimeColumnFilterPlugin.tsx (97%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeColumn/buildQuery.ts (100%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeColumn/controlPanel.ts (97%)
 copy 
superset-frontend/{packages/generator-superset/generators/plugin-chart/templates/src
 => src/chartCustomizations/components/TimeColumn}/images/thumbnail.png (100%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeColumn/index.ts (79%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeColumn/transformProps.ts (100%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeColumn/types.ts (100%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeGrain/TimeGrainFilterPlugin.tsx (70%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeGrain/buildQuery.ts (100%)
 copy superset-frontend/src/{filters/components/TimeColumn => 
chartCustomizations/components/TimeGrain}/controlPanel.ts (88%)
 copy 
superset-frontend/{packages/generator-superset/generators/plugin-chart/templates/src
 => src/chartCustomizations/components/TimeGrain}/images/thumbnail.png (100%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeGrain/index.ts (79%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeGrain/transformProps.ts (100%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/TimeGrain/types.ts (100%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/common.ts (100%)
 copy superset-frontend/{packages/superset-ui-chart-controls/src/sections => 
src/chartCustomizations/components}/index.ts (71%)
 copy superset-frontend/src/{filters => 
chartCustomizations}/components/types.ts (99%)
 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/dashboard/components/{GroupByBadge => 
CustomizationsBadge}/index.tsx (55%)
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/ChartCustomizationForm.tsx
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/ChartCustomizationModal.tsx
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/ChartCustomizationTitleContainer.tsx
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/ChartCustomizationTitlePane.tsx
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/groupBySelectors.ts
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/selectors.ts
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/useChartCustomizationModal.tsx
 delete mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/ChartCustomization/utils.ts
 copy 
superset-frontend/src/dashboard/components/nativeFilters/FilterBar/{FiltersOutOfScopeCollapsible
 => CustomizationsOutOfScopeCollapsible}/index.tsx (61%)
 copy 
superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/{FilterControl.tsx
 => FilterControlShared.tsx} (54%)
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControls.test.tsx
 rename 
superset-frontend/src/dashboard/components/nativeFilters/{ChartCustomization => 
FilterBar/FilterControls}/GroupByFilterCard.tsx (59%)
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/ConfigModalContent/ConfigModalContent.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/ConfigModalContent/CustomizationContentRenderer.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/ConfigModalContent/FilterContentRenderer.tsx
 copy superset-frontend/{packages/superset-core/src => 
src/dashboard/components/nativeFilters/FiltersConfigModal/ConfigModalContent}/index.ts
 (63%)
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/ConfigModalSidebar/ConfigModalSidebar.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/ConfigModalSidebar/ItemSection.tsx
 copy superset-frontend/{packages/superset-core/src => 
src/dashboard/components/nativeFilters/FiltersConfigModal/ConfigModalSidebar}/index.ts
 (76%)
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/DraggableFilter.test.tsx
 copy 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/{FilterTitleContainer.tsx
 => ItemTitleContainer.tsx} (69%)
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/ItemTitlePane.tsx
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/NewItemDropdown.tsx
 copy 
superset-frontend/{packages/superset-ui-chart-controls/src/utils/colorControls.ts
 => src/dashboard/components/nativeFilters/FiltersConfigModal/hooks/index.ts} 
(60%)
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/hooks/useCustomizationOperations.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/hooks/useFilterOperations.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/hooks/useItemStateManager.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/hooks/useModalSaveLogic.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/transformers/customizationTransformer.ts
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/transformers/filterTransformer.ts
 copy superset-frontend/{packages/superset-core/src/ui/components => 
src/dashboard/components/nativeFilters/FiltersConfigModal/transformers}/index.ts
 (85%)
 create mode 100644 
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/utils.test.ts
 delete mode 100644 
superset-frontend/src/dashboard/reducers/groupByCustomizations.ts
 create mode 100644 superset-frontend/src/dashboard/util/calculateScopes.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%)
 copy 
superset-frontend/src/explore/components/controls/{DateFilterControl/tests/CurrentCalendarFrame.test.tsx
 => CurrencyControl/CurrencyControl.test.tsx} (62%)
 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%)
 create mode 100644 superset/examples/international_sales.py
 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
 copy 
superset/migrations/versions/{2025-03-03_20-52_94e7a3499973_add_folders_column_to_dataset.py
 => 2025-11-18_14-00_9787190b3d89_add_currency_column_support.py} (66%)
 create mode 100644 superset/utils/currency.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/common/test_query_actions_currency.py
 create mode 100644 tests/unit_tests/dashboards/test_chart_customizations_dao.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/tool/test_get_chart_data.py
 copy {superset-core/src/superset_core/api => 
tests/unit_tests/mcp_service/chart/validation}/__init__.py (100%)
 create mode 100644 
tests/unit_tests/mcp_service/chart/validation/test_runtime_validator.py
 create mode 100644 tests/unit_tests/mcp_service/system/tool/test_get_schema.py
 create mode 100644 tests/unit_tests/mcp_service/test_mcp_server.py
 create mode 100644 tests/unit_tests/utils/currency_test.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