This is an automated email from the ASF dual-hosted git repository.
jli pushed a change to branch feat-additional-dataset-playwright-tests
in repository https://gitbox.apache.org/repos/asf/superset.git
discard e257bdff66 fix(playwright): use API response interception for export
test
discard cd1ca2bcb2 fix(playwright): improve type safety, download robustness,
and app prefix support
discard c2dabef627 fix(playwright): validate duplicate dataset id and handle
response shape
discard bbe996b491 fix(playwright): handle API response variations in
duplicate dataset
discard 14a3ee8b13 fix(playwright): address review feedback on types and test
structure
discard 017c171b1b fix(playwright): add duplicateDataset API helper and export
dependencies
discard a94eaffd98 fix(playwright): improve component stability and selector
reliability
discard 60383bb19e fix(playwright): fix failing dataset tests with proper
selectors
discard 8fca58f0b4 fix(playwright): use selector-based approach for Select
component
discard f9e6922af9 refactor(playwright): address review feedback on tests
discard c8cc855fbf fix(playwright): fix Select.clickOption and export test
reliability
discard 29ce9788b5 fix(playwright): use specific selector for add dataset
button
discard c8a07f02bb fix(playwright): address PR review comments
discard 06272d426c test(playwright): add edit dataset E2E test
discard 876d70c4bb test(playwright): add create dataset wizard E2E test
discard 77dddbcc31 test(playwright): add bulk export datasets E2E test
discard d59185a2b7 test(playwright): add export single dataset E2E test
add f51f7f3307 fix(tests): resolve flakey selectOption helper race
condition (#36719)
add f3407d7a56 chore: Close playwright browser gracefully (#36537)
add ee45b26ad7 fix(tests): optimize DatasourceEditorCurrency tests for CI
reliability (#36723)
add 0f56e3b9ae fix: Implement SIP-40 error styles for GAQ (#36596)
add 0830a57fa6 feat(docs): add llms.txt for LLM-friendly documentation
index (#36730)
add 2cf0d7936e chore(pre-commit): exclude logos from end-of-file-fixer
(#36744)
add 32435bc3e9 feat(docs): enhance Matomo analytics tracking (#36743)
add da8e077a44 chore(frontend): migrate utility JS files to TypeScript
(#36721)
add b8f31124d0 chore(frontend): migrate 13 JS/JSX files to TypeScript
(#36720)
add 91539f77aa feat(docker): support running multiple Superset instances
simultaneously (#36751)
add fb6f3fbb4d chore: update files for release 6.0.0 (#36745)
add 5920cb57ea refactor(extensions): add Pydantic validation for extension
configuration (#36767)
add d36ddbbb33 feat(extensions-cli): Add .gitignore generation to init
command (#36768)
add 3258082819 docs: add SQL Lab Export to Parquet to community extensions
registry (#36755)
add ae491aee00 docs: Add SQL Lab Query Comparison to community extensions
registry (#36769)
add c026ae2ce7 fix(dashboard): prevent table chart infinite reload loop
(#36686)
add e3e6b0e18b fix(mcp): use SQLScript for all SQL parsing in execute_sql
(#36599)
add 0ced20457b chore(deps-dev): bump webpack from 5.104.0 to 5.104.1 in
/docs (#36758)
add 5cd8e1e736 chore(deps): bump caniuse-lite from 1.0.30001760 to
1.0.30001761 in /docs (#36757)
add 8d070f5cb6 chore(deps-dev): bump @types/node from 25.0.2 to 25.0.3 in
/superset-frontend (#36726)
add e0ea807031 chore(deps-dev): bump baseline-browser-mapping from 2.9.8
to 2.9.9 in /superset-frontend (#36725)
add c0bcf28947 chore(deps-dev): bump @playwright/test from 1.56.0 to
1.57.0 in /superset-frontend (#36571)
add 6b25d0663e refactor: Migrates the MCP `execute_sql` tool to use the
SQL execution API (#36739)
add 32c98d02d3 fix: UI cut off (#36531)
add 54eb6317ef fix(margin): Fixing margin issues (#36479)
add ff24e2f27d fix: fix error with dashboard filters when global async
queries is enabled and user navigates quickly (#36639)
add ff3dab9b3b docs: Add Query Estimator to community extensions registry
(#36814)
add 8f8fe19e3e docs: Add SQL Snippets to community extensions registry
(#36797)
add 9e04c3471d docs: Add SQL Lab Result Stats to community extensions
registry (#36796)
add c399fd2801 fix: Stale editor content in @apache-superset/core (#36813)
add ba8d6eb9ac docs: Adds a new "Dependencies" page to the Developer
Portal (#36817)
add f8cb935105 feat(reports): add webhook option for notifications (#36127)
add ecb4e483df fix: apply `EXCLUDE_USERS_FROM_LISTS` to
`/api/v1/security/users/` (#36742)
add bd8d4ddbee chore(deps-dev): bump typescript-eslint from 8.50.0 to
8.50.1 in /superset-websocket (#36802)
add fd67d3190a chore(deps-dev): bump typescript-eslint from 8.50.0 to
8.50.1 in /docs (#36801)
add f95f125c4c chore(deps-dev): bump html-webpack-plugin from 5.6.4 to
5.6.5 in /superset-frontend (#36787)
add 100789200a chore(deps): bump hot-shots from 11.4.0 to 12.0.0 in
/superset-websocket (#36786)
add bf5070471d chore(deps): bump storybook from 8.6.14 to 8.6.15 in /docs
(#36727)
add 362b5e3b89 chore(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 in
/superset-frontend (#36711)
add 28c802fb6c fix(TableCollection): only apply highlight class when
defined (#36809)
add 1697cf733b chore(deps): bump antd from 6.1.1 to 6.1.2 in /docs (#36823)
add 02411ffde0 docs: Add EnquiryLabs to INTHEWILD.yaml (#36843)
add fe5d5fdae6 fix(chart-creation): use exact match when loading dataset
from URL parameter (#36831)
add e112d863bf fix(dashboard): resolve tab reorder state sync issues
(#36855)
add 7cd76e4647 fix: SqlLab error when collapsing the left panel preview
(#36858)
add d4ba44fce2 fix: Query history view button in SqlLab (#36540)
add 85e830de46 fix: Clear database form errors (#36854)
add c31224c891 fix(TableChart): render cell bars for columns with NULL
values (#36819)
add 12aa425049 fix(logout): clicking logout displays an error
notification "invalid username or password" (#36490)
add e5489bd30f fix(SavedQueries): unify query card actions styling across
all home page cards (#36671)
add 1b1be96274 chore(deps-dev): bump globals from 16.5.0 to 17.0.0 in
/docs (#36886)
add dd2eb6293d chore(deps-dev): bump globals from 16.5.0 to 17.0.0 in
/superset-websocket (#36885)
add 4451e8db05 chore(deps): bump qs from 6.14.0 to 6.14.1 in /docs (#36884)
add aed95453b3 chore(deps): bump qs from 6.14.0 to 6.14.1 in
/superset-websocket/utils/client-ws-app (#36883)
add d07a452e9b fix(RightMenu): fix inconsistent icon alignment in
RightMenu items (#36532)
add 52af489d8f docs: Add Rogow to INTHEWILD.yaml (#36879)
add 1334040fd6 chore(docs): Include VLMedia logo to intothewild (#36868)
add fdef8fa50a chore(deps-dev): bump @typescript-eslint/parser from 8.50.1
to 8.51.0 in /docs (#36866)
add 53fa65fe67 chore(deps): bump caniuse-lite from 1.0.30001761 to
1.0.30001762 in /docs (#36865)
add ac27c0aa3c chore(deps-dev): bump @typescript-eslint/parser from 8.50.1
to 8.51.0 in /superset-websocket (#36861)
add 2080633e57 other: resolve frontend dep vulns (#36820)
add 740ddc03e2 fix(plugin-chart-table): remove column misalignment when no
scrollbars are present (#36891)
add c76ddcbbec fix(deck.gl): Fix Scatterplot chart error when using fixed
point size (#36890)
add 61986100bd chore(deps): bump hot-shots from 12.0.0 to 12.1.0 in
/superset-websocket (#36899)
add dcc556a9a7 chore(CHANGELOG): add link to 6.0.0 CHANGELOG (#36832)
add 5909e90081 feat(security): add built-in Public role for anonymous
dashboard access (#36548)
add 12a266fd2f fix(trino): update query progress using cursor stats
(#36872)
add cedc35e39f fix(SQLLab): remove error icon displayed when writing Jinja
SQL even when the script is correct (#36422)
add f9fde87e85 feat(native filters): add filter type icons in config modal
(#36905)
add 1949d1bb96 feat(dev): add make ports and make open commands (#36906)
add aaa174f820 docs: add Netlify configuration for PR deploy previews
(#36908)
add 9aff89c1b4 chore(frontend): migrate SqlLab and explore JS/JSX files to
TypeScript (#36760)
add 9968393e4c feat(ci): add container security scan for image built for
commits merged to mainline (#36604)
add d7d94ba640 fix(ag-grid): Ag Grid Date Filter timezone correction
(#36270)
add 861e5cd013 fix(security): enforce datasource access control in
get_samples() (#36550)
add 5edaed2e5b fix(alerts): wrong alert trigger with custom query (#35871)
add 7a5441bc7a refactor: Remove unimplemented APIs from
@apache-superset/core (#36952)
add 0c1edd4568 chore: Bump @apache-superset/core (0.0.1-rc9) (#36953)
add dfdf8e75d8 fix: handle undefined template variables safely in query
rendering. (#35009)
add f9be2b816a feat(docs): add resources admonition with external links
(#36761)
add 64ee48f147 fix(mcp): use chart.query_context for get_chart_data like
the API does (#36937)
add 6f67b05375 chore: Update INTHEWILD.yaml for PlaidCloud (#36741)
add 03caa7b337 docs(INTHEWILD): add Cirrus Assessment (#36871)
add 84279acd2f feat(mcp): add unified get_schema tool for schema discovery
(#36458)
add a6d85dccf8 fix: streaming export losing g context (#36950)
add 16e046b5d9 docs(INTHEWILD): add HOLLYLAND猛玛 (#36968)
add 70b2e520b2 chore(frontend): Update $schema path in oxlint.json (#36859)
add 337eb3baf5 fix(dashboard): prevent PublishedLabel overlap in
non-English languages (#36877)
add 047360641a feat(mcp): change save_chart default to False for
preview-first workflow (#36935)
add 4249b8ee6a chore(deps-dev): bump
eslint-plugin-react-you-might-not-need-an-effect from 0.5.1 to 0.8.3 in
/superset-frontend (#36972)
add 3ac76e116d chore: Update INTHEWILD.yaml (#36733)
add e9b91f6ec9 chore(deps): bump ioredis from 5.8.2 to 5.9.0 in
/superset-websocket (#36920)
add 77ebc5ac10 chore(deps-dev): bump @typescript-eslint/parser from 8.51.0
to 8.52.0 in /docs (#36918)
add dd7f0c4224 chore(deps-dev): bump typescript-eslint from 8.50.1 to
8.52.0 in /superset-websocket (#36916)
add af185ad8c9 chore(deps-dev): bump jsdom from 27.0.0 to 27.4.0 in
/superset-frontend (#36922)
add 4fc8157d6f chore(deps-dev): bump source-map from 0.7.4 to 0.7.6 in
/superset-frontend (#36653)
add 85cf46dc1c fix(mcp): remove unused ctx parameter from health_check
tool (#36992)
add 734d64081f chore(deps): bump caniuse-lite from 1.0.30001762 to
1.0.30001763 in /docs (#36970)
add ffbf81e952 chore(deps): bump ws from 8.18.3 to 8.19.0 in
/superset-websocket (#36919)
add 07aa7622f7 chore(deps): bump react-resizable from 3.0.5 to 3.1.3 in
/superset-frontend (#36911)
add 57f8f50292 chore(deps-dev): bump @typescript-eslint/eslint-plugin from
8.50.1 to 8.51.0 in /docs (#36898)
add 413dfc98ff chore(deps): bump @storybook/addon-docs from 8.6.14 to
8.6.15 in /docs (#36824)
add f48322c17d chore: bump flask-cors to 6.0.2 (#36640)
add ea90d1f141 refactor(db-engine-specs): use standard OAuth 2.0 params in
base class (#37010)
add f895250cf9 fix(mypy): add overrides for superset-core local dev
consistency (#36907)
add 14c0cad0ba chore: remove deprecated function (#37021)
add 1e8d648f47 feat: Chart query last run timestamp (#36934)
add 53dddf4db2 feat(embedded-sdk): Add resolvePermalinkUrl callback for
custom permalink URLs (#36924)
add ecefba5bf7 fix(mcp): resolve startup failures from circular DAO
imports (#37023)
add 1cface15e6 docs: Update INTHEWILD.yaml (#36888)
add 0294c30c9e fix(Tabs): prevent infinite rerenders with nested tabs
(#37018)
add e9b6791ffb refactor: move translations and logging to new core (#36929)
add 4f5789abfe fix(reports): Use authenticated user as recipient for
chart/dashboard reports (#36981)
add d914b35cc0 fix(translations): post merge fix for new translations
addded (#37041)
add 459b4cb23d perf(date_parser): bound regex quantifiers for
deterministic parsing performance (#36983)
add 4f444ae1d2 feat(ag-grid): Server Side Filtering for Column Level
Filters (#35683)
add 62c7b48b5c fix(extensions-cli): fix dev mode error (#37024)
add 169d27c9e9 fix(extensions): gracefully handle dist directory
rebuilding (#37025)
add 911d72c957 fix(models): prevent SQLAlchemy and_() deprecation warning
(#37020)
add d8f7ae83ee fix(sqlglot): use Athena dialect for awsathena parsing
(#36747)
add dcdcf88969 chore(chart): rollback legend top alignment to the right
(#36994)
add f4772a9383 chore(deps-dev): bump webpack-bundle-analyzer from 5.1.0 to
5.1.1 in /superset-frontend (#37006)
add 2a38ce001e fix(deckgl): remove visibility condition in deckgl stroke
color (#37029)
add 005b2af985 chore(deps-dev): bump @types/lodash from 4.17.21 to 4.17.23
in /superset-websocket (#37045)
add 4fe2085596 chore(deps): bump caniuse-lite from 1.0.30001763 to
1.0.30001764 in /docs (#37049)
add fac5d2bcb6 feat(db): add dynamic schema support for athena (#36003)
add 22cfc4536b fix(export): URL prefix handling for subdirectory
deployments (#36771)
add 72c69e2ca6 chore(deps): bump fs-extra from 11.3.0 to 11.3.3 in
/superset-frontend (#37001)
add d56bc5826f chore(deps-dev): bump @applitools/eyes-storybook from
3.60.0 to 3.63.4 in /superset-frontend (#37003)
add 2dcebac07e test(playwright): add export single dataset E2E test
add 58fd0ec4f2 test(playwright): add bulk export datasets E2E test
add 1f6ebffa2f test(playwright): add create dataset wizard E2E test
add 60ca155db8 test(playwright): add edit dataset E2E test
add b8c4925c94 fix(playwright): address PR review comments
add b44bd2a479 fix(playwright): use specific selector for add dataset
button
add fbc133eb1a fix(playwright): fix Select.clickOption and export test
reliability
add 7f791f7e7a refactor(playwright): address review feedback on tests
add 0316d1710c fix(playwright): use selector-based approach for Select
component
add 724fae5ff4 fix(playwright): fix failing dataset tests with proper
selectors
add 7b51fb96fe fix(playwright): improve component stability and selector
reliability
add d5a7ee0e8c fix(playwright): add duplicateDataset API helper and export
dependencies
add 6f12ae13db fix(playwright): address review feedback on types and test
structure
add 2753bc8e99 fix(playwright): handle API response variations in
duplicate dataset
add 3fcec3581e fix(playwright): validate duplicate dataset id and handle
response shape
add c19e1c778a fix(playwright): improve type safety, download robustness,
and app prefix support
add 8775c2a788 fix(playwright): use API response interception for export
test
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 (e257bdff66)
\
N -- N -- N refs/heads/feat-additional-dataset-playwright-tests
(8775c2a788)
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:
.envrc.example | 41 +
.github/ISSUE_TEMPLATE/bug-report.yml | 2 +-
.github/workflows/docker.yml | 17 +
.pre-commit-config.yaml | 2 +-
.rat-excludes | 1 +
CHANGELOG.md | 1 +
CHANGELOG/6.0.0.md | 1062 ++++++++++++++++++++
Dockerfile | 2 +-
Makefile | 27 +-
RESOURCES/INTHEWILD.yaml | 39 +-
RESOURCES/STANDARD_ROLES.md | 379 +++----
UPDATING.md | 51 +-
docker-compose.yml | 26 +-
docker/.env | 9 +
docker/.env-local.example | 39 +
docker/README.md | 28 +
.../contributing/development-setup.md | 35 +
docs/developer_portal/extensions/architecture.md | 16 +-
.../extensions/contribution-types.md | 2 +-
docs/developer_portal/extensions/dependencies.md | 166 +++
docs/developer_portal/extensions/deployment.md | 2 +-
docs/developer_portal/extensions/development.md | 6 +-
docs/developer_portal/extensions/mcp.md | 2 +-
docs/developer_portal/extensions/overview.md | 1 +
docs/developer_portal/extensions/registry.md | 17 +-
docs/developer_portal/extensions/security.md | 2 +-
docs/developer_portal/sidebars.js | 1 +
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 | 7 +-
docs/docs/installation/kubernetes.mdx | 5 +
docs/docs/quickstart.mdx | 6 +
docs/docs/security/securing_superset.mdx | 5 +
docs/docs/security/security.mdx | 100 +-
.../creating-your-first-dashboard.mdx | 23 +-
docs/docs/using-superset/exploring-data.mdx | 9 +
docs/docusaurus.config.ts | 12 +
docs/netlify.toml | 56 ++
docs/package.json | 18 +-
docs/sidebarTutorials.js | 1 +
docs/src/styles/custom.css | 39 +
docs/src/theme/Admonition/Types.js | 63 ++
docs/src/theme/Root.js | 238 ++++-
docs/static/img/extensions/parquet-export.png | Bin 0 -> 62473 bytes
docs/static/img/extensions/query-comparison.png | Bin 0 -> 611336 bytes
docs/static/img/extensions/query-estimator.png | Bin 0 -> 443733 bytes
docs/static/img/extensions/result-stats.png | Bin 0 -> 403058 bytes
docs/static/img/extensions/sql-snippets.png | Bin 0 -> 366481 bytes
docs/static/img/logos/cirrus.svg | Bin 0 -> 1809 bytes
.../logos/hollyland\347\214\233\347\216\233.svg" | Bin 0 -> 77086 bytes
docs/static/img/logos/plaidcloud.svg | Bin 0 -> 81228 bytes
docs/static/img/logos/vlmedia.svg | Bin 0 -> 10468 bytes
docs/static/llms.txt | 64 ++
docs/yarn.lock | 443 +++++---
pyproject.toml | 23 +-
requirements/base.txt | 2 +-
requirements/development.txt | 2 +-
scripts/docker-compose-up.sh | 222 ++++
superset-core/src/superset_core/api/models.py | 12 +-
.../src/superset_core/extensions/types.py | 233 ++++-
superset-embedded-sdk/README.md | 61 +-
superset-embedded-sdk/src/index.ts | 38 +-
.../src/superset_extensions_cli/cli.py | 67 +-
.../templates/.gitignore.j2 | 36 +
superset-extensions-cli/tests/test_cli_build.py | 43 +-
superset-extensions-cli/tests/test_cli_dev.py | 36 +-
superset-extensions-cli/tests/test_cli_init.py | 32 +-
superset-extensions-cli/tests/utils.py | 2 +-
superset-frontend/cypress-base/package-lock.json | 354 ++++++-
superset-frontend/cypress-base/package.json | 5 +
.../netlify.toml | 22 +-
superset-frontend/oxlint.json | 2 +-
superset-frontend/package-lock.json | 834 +++++++--------
superset-frontend/package.json | 26 +-
.../packages/generator-superset/package.json | 2 +-
.../packages/superset-core/package.json | 10 +-
.../packages/superset-core/src/api/environment.ts | 153 ---
.../packages/superset-core/src/api/index.ts | 2 -
.../packages/superset-core/src/api/sqlLab.ts | 109 --
.../packages/superset-core/src/index.ts | 1 +
.../superset-core/src/spec/utils/logging.test.ts | 69 ++
.../packages/superset-core/src/ui/index.ts | 1 +
.../src/ui}/translation/README.md | 0
.../src/ui}/translation/Translator.ts | 2 +-
.../src/ui}/translation/TranslatorSingleton.ts | 0
.../src/ui}/translation/index.ts | 1 +
.../src/ui}/translation/types/index.ts | 0
.../src/ui}/translation/types/jed.ts | 0
.../src/utils}/index.ts | 2 +-
.../src/utils/logging.ts | 2 +-
.../types/external.d.ts | 0
.../src/components/CertifiedIconWithTooltip.tsx | 2 +-
.../components/ColumnTypeLabel/ColumnTypeLabel.tsx | 2 +-
.../src/components/ControlHeader.tsx | 2 +-
.../src/components/SQLPopover.tsx | 2 +-
.../src/components/labelUtils.tsx | 2 +-
.../superset-ui-chart-controls/src/constants.ts | 3 +-
.../src/sections/advancedAnalytics.tsx | 3 +-
.../src/sections/annotationsAndLayers.tsx | 2 +-
.../src/sections/chartTitle.tsx | 2 +-
.../src/sections/echartsTimeSeriesQuery.tsx | 2 +-
.../src/sections/forecastInterval.tsx | 7 +-
.../src/sections/matrixify.tsx | 2 +-
.../src/sections/sections.tsx | 2 +-
.../src/sections/timeComparison.tsx | 3 +-
.../components/RadioButtonControl.tsx | 3 +-
.../src/shared-controls/customControls.tsx | 2 +-
.../src/shared-controls/dndControls.tsx | 3 +-
.../src/shared-controls/matrixifyControls.tsx | 3 +-
.../src/shared-controls/mixins.tsx | 2 +-
.../src/shared-controls/sharedControls.tsx | 2 +-
.../src/utils/D3Formatting.ts | 2 +-
.../test/utils/getColorFormatters.test.ts | 2 +-
.../packages/superset-ui-core/package.json | 2 +-
.../src/chart/components/FallbackComponent.tsx | 2 +-
.../src/chart/components/NoResultsComponent.tsx | 3 +-
.../src/chart/components/SuperChartCore.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 | 2 +-
.../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 +-
.../TableCollection/TableCollection.test.tsx | 83 ++
.../src/components/TableCollection/index.tsx | 4 +-
.../superset-ui-core/src/components/Tabs/Tabs.tsx | 5 +-
.../ThemedAgGridReact/ThemedAgGridReact.test.tsx | 10 +-
.../src/components/TimezoneSelector/index.tsx | 2 +-
.../src/components/TruncatedList/index.tsx | 3 +-
.../src/components/UnsavedChangesModal/index.tsx | 2 +-
.../superset-ui-core/src/components/constants.ts | 2 +-
.../packages/superset-ui-core/src/index.ts | 1 -
.../src/query/extractQueryFields.ts | 2 +-
.../src/query/getClientErrorObject.ts | 2 +-
.../src/query/types/QueryResponse.ts | 6 +-
.../superset-ui-core/src/utils/featureFlags.ts | 3 +-
.../packages/superset-ui-core/src/utils/index.ts | 1 -
.../packages/superset-ui-core/src/utils/tooltip.ts | 2 +-
.../src/validator/legacyValidateInteger.ts | 2 +-
.../src/validator/legacyValidateNumber.ts | 2 +-
.../src/validator/validateInteger.ts | 2 +-
.../src/validator/validateMapboxStylesUrl.ts | 2 +-
.../src/validator/validateMaxValue.ts | 2 +-
.../src/validator/validateNonEmpty.ts | 2 +-
.../src/validator/validateNumber.ts | 2 +-
.../src/validator/validateServerPagination.ts | 2 +-
.../validator/validateTimeComparisonRangeValues.ts | 2 +-
.../test/chart/clients/ChartClient.test.ts | 2 +-
.../test/query/extractQueryFields.test.ts | 3 +-
.../test/translation/Translator.test.ts | 201 ----
.../test/translation/TranslatorSingleton.test.ts | 86 --
.../test/translation/index.test.ts | 35 -
.../test/translation/languagePacks/en.ts | 37 -
.../test/translation/languagePacks/zh.ts | 37 -
.../test/utils/featureFlag.test.ts | 19 +-
.../superset-ui-core/test/utils/logging.test.ts | 78 --
.../superset-ui-core/test/validator/setup.ts | 2 +-
.../packages/superset-ui-demo/package.json | 2 +-
.../storybook/shared/components/VerifyCORS.tsx | 2 +-
.../playwright/tests/experimental/README.md | 7 +
.../legacy-plugin-chart-calendar/src/Calendar.js | 3 +-
.../src/controlPanel.ts | 3 +-
.../legacy-plugin-chart-calendar/src/index.js | 3 +-
.../src/vendor/cal-heatmap.js | 3 +-
.../legacy-plugin-chart-chord/src/controlPanel.ts | 3 +-
.../plugins/legacy-plugin-chart-chord/src/index.js | 3 +-
.../src/controlPanel.ts | 3 +-
.../legacy-plugin-chart-country-map/src/index.js | 3 +-
.../src/controlPanel.ts | 2 +-
.../legacy-plugin-chart-horizon/src/index.js | 3 +-
.../src/controlPanel.ts | 3 +-
.../legacy-plugin-chart-map-box/src/index.js | 3 +-
.../src/controlPanel.ts | 3 +-
.../legacy-plugin-chart-paired-t-test/src/index.js | 3 +-
.../src/controlPanel.ts | 2 +-
.../src/index.js | 3 +-
.../src/controlPanel.tsx | 3 +-
.../legacy-plugin-chart-partition/src/index.js | 3 +-
.../legacy-plugin-chart-rose/src/controlPanel.tsx | 2 +-
.../plugins/legacy-plugin-chart-rose/src/index.js | 3 +-
.../src/controlPanel.ts | 2 +-
.../legacy-plugin-chart-world-map/src/index.js | 3 +-
.../src/Multi/controlPanel.ts | 3 +-
.../legacy-preset-chart-deckgl/src/Multi/index.ts | 3 +-
.../src/layers/Arc/controlPanel.ts | 3 +-
.../src/layers/Arc/index.ts | 3 +-
.../src/layers/Contour/Contour.tsx | 2 +-
.../src/layers/Contour/controlPanel.ts | 3 +-
.../src/layers/Contour/index.ts | 3 +-
.../src/layers/Geojson/controlPanel.ts | 2 +-
.../src/layers/Geojson/index.ts | 3 +-
.../src/layers/Grid/controlPanel.ts | 3 +-
.../src/layers/Grid/index.ts | 3 +-
.../src/layers/Heatmap/Heatmap.tsx | 2 +-
.../src/layers/Heatmap/controlPanel.ts | 2 +-
.../src/layers/Heatmap/index.ts | 3 +-
.../src/layers/Hex/controlPanel.ts | 2 +-
.../src/layers/Hex/index.ts | 3 +-
.../src/layers/Path/controlPanel.ts | 2 +-
.../src/layers/Path/index.ts | 3 +-
.../src/layers/Polygon/Polygon.tsx | 2 +-
.../src/layers/Polygon/controlPanel.ts | 4 +-
.../src/layers/Polygon/index.ts | 3 +-
.../src/layers/Scatter/Scatter.tsx | 21 +-
.../src/layers/Scatter/buildQuery.test.ts | 312 ++++++
.../src/layers/Scatter/buildQuery.ts | 26 +-
.../src/layers/Scatter/controlPanel.ts | 3 +-
.../src/layers/Scatter/index.ts | 3 +-
.../src/layers/Scatter/transformProps.test.ts | 303 ++++++
.../src/layers/Scatter/transformProps.ts | 19 +-
.../src/layers/Screengrid/Screengrid.tsx | 2 +-
.../src/layers/Screengrid/controlPanel.ts | 3 +-
.../src/layers/Screengrid/index.ts | 3 +-
.../src/layers/transformUtils.test.ts | 184 ++++
.../src/layers/transformUtils.ts | 12 +-
.../src/layers/utils/metricUtils.test.ts | 121 +++
.../src/layers/utils/metricUtils.ts | 120 +++
.../src/utilities/HandlebarsRenderer.tsx | 3 +-
.../src/utilities/Shared_DeckGL.tsx | 4 +-
.../src/utilities/TooltipTemplateControl.tsx | 2 +-
.../src/utilities/sharedDndControls.tsx | 2 +-
.../src/utilities/tooltipUtils.tsx | 3 +-
.../src/Bubble/controlPanel.ts | 2 +-
.../legacy-preset-chart-nvd3/src/Bubble/index.js | 3 +-
.../src/Bullet/controlPanel.ts | 2 +-
.../legacy-preset-chart-nvd3/src/Bullet/index.js | 3 +-
.../src/Compare/controlPanel.ts | 2 +-
.../legacy-preset-chart-nvd3/src/Compare/index.js | 3 +-
.../legacy-preset-chart-nvd3/src/NVD3Controls.tsx | 2 +-
.../legacy-preset-chart-nvd3/src/NVD3Vis.js | 2 +-
.../src/TimePivot/controlPanel.ts | 2 +-
.../src/TimePivot/index.js | 3 +-
.../src/vendor/superset/AnnotationTypes.js | 2 +-
.../src/AgGridTable/components/CustomHeader.tsx | 82 +-
.../src/AgGridTable/components/Pagination.tsx | 2 +-
.../components/TimeComparisonVisibility.tsx | 2 +-
.../src/AgGridTable/index.tsx | 94 +-
.../src/AgGridTableChart.tsx | 93 +-
.../plugin-chart-ag-grid-table/src/buildQuery.ts | 158 ++-
.../plugin-chart-ag-grid-table/src/consts.ts | 15 +
.../src/controlPanel.tsx | 2 +-
.../plugin-chart-ag-grid-table/src/index.ts | 3 +-
.../src/renderers/NumericCellRenderer.tsx | 14 +-
.../src/renderers/TextCellRenderer.tsx | 3 +-
.../src/stateConversion.ts | 185 +++-
.../src/transformProps.ts | 2 +-
.../plugin-chart-ag-grid-table/src/types.ts | 23 +-
.../src/utils/agGridFilterConverter.ts | 726 +++++++++++++
.../src/utils/dateFilterComparator.ts | 58 +-
.../src/utils/filterStateManager.ts | 164 +++
.../src/utils/getInitialFilterModel.ts} | 37 +-
.../src/utils/useColDefs.ts | 110 +-
.../test/buildQuery.test.ts | 591 +++++++++++
.../test/utils/agGridFilterConverter.test.ts | 863 ++++++++++++++++
.../test/utils/dateFilterComparator.test.ts | 124 +++
.../test/utils/filterStateManager.test.ts | 658 ++++++++++++
.../test/utils/getInitialFilterModel.test.ts | 412 ++++++++
.../src/plugin/controlPanel.ts | 3 +-
.../plugin-chart-cartodiagram/src/plugin/index.ts | 3 +-
.../src/util/controlPanelUtil.tsx | 2 +-
.../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx | 2 +-
.../BigNumberPeriodOverPeriod/controlPanel.ts | 2 +-
.../BigNumber/BigNumberPeriodOverPeriod/index.ts | 3 +-
.../src/BigNumber/BigNumberTotal/controlPanel.ts | 3 +-
.../src/BigNumber/BigNumberTotal/index.ts | 3 +-
.../src/BigNumber/BigNumberViz.tsx | 2 +-
.../BigNumberWithTrendline/controlPanel.tsx | 3 +-
.../src/BigNumber/BigNumberWithTrendline/index.ts | 3 +-
.../BigNumberWithTrendline/transformProps.ts | 2 +-
.../src/BigNumber/sharedControls.ts | 2 +-
.../src/BoxPlot/controlPanel.ts | 2 +-
.../plugin-chart-echarts/src/BoxPlot/index.ts | 3 +-
.../src/Bubble/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Bubble/index.ts | 3 +-
.../src/Funnel/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Funnel/index.ts | 3 +-
.../src/Gantt/EchartsGantt.tsx | 2 +-
.../src/Gantt/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Gantt/index.ts | 3 +-
.../src/Gantt/transformProps.ts | 2 +-
.../src/Gauge/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Gauge/index.ts | 3 +-
.../src/Graph/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Graph/index.ts | 3 +-
.../src/Heatmap/controlPanel.tsx | 3 +-
.../plugin-chart-echarts/src/Heatmap/index.ts | 3 +-
.../src/Heatmap/transformProps.ts | 2 +-
.../src/Histogram/controlPanel.tsx | 3 +-
.../plugin-chart-echarts/src/Histogram/index.ts | 3 +-
.../src/MixedTimeseries/controlPanel.tsx | 3 +-
.../src/MixedTimeseries/index.ts | 3 +-
.../plugin-chart-echarts/src/Pie/controlPanel.tsx | 3 +-
.../plugins/plugin-chart-echarts/src/Pie/index.ts | 3 +-
.../plugin-chart-echarts/src/Pie/transformProps.ts | 2 +-
.../src/Radar/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Radar/index.ts | 3 +-
.../src/Sankey/controlPanel.tsx | 3 +-
.../plugin-chart-echarts/src/Sankey/index.ts | 3 +-
.../src/Sunburst/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Sunburst/index.ts | 3 +-
.../src/Sunburst/transformProps.ts | 2 +-
.../src/Timeseries/Area/controlPanel.tsx | 2 +-
.../src/Timeseries/Area/index.ts | 3 +-
.../src/Timeseries/Regular/Bar/controlPanel.tsx | 3 +-
.../src/Timeseries/Regular/Bar/index.ts | 3 +-
.../src/Timeseries/Regular/Line/controlPanel.tsx | 2 +-
.../src/Timeseries/Regular/Line/index.ts | 3 +-
.../Timeseries/Regular/Scatter/controlPanel.tsx | 2 +-
.../src/Timeseries/Regular/Scatter/index.ts | 3 +-
.../Timeseries/Regular/SmoothLine/controlPanel.tsx | 2 +-
.../src/Timeseries/Regular/SmoothLine/index.ts | 3 +-
.../src/Timeseries/Step/controlPanel.tsx | 2 +-
.../src/Timeseries/Step/index.ts | 3 +-
.../src/Timeseries/constants.ts | 2 +-
.../plugin-chart-echarts/src/Timeseries/index.ts | 3 +-
.../src/Timeseries/transformProps.ts | 2 +-
.../plugin-chart-echarts/src/Tree/controlPanel.tsx | 2 +-
.../plugins/plugin-chart-echarts/src/Tree/index.ts | 2 +-
.../src/Treemap/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Treemap/index.ts | 3 +-
.../src/Waterfall/constants.ts | 2 +-
.../src/Waterfall/controlPanel.tsx | 2 +-
.../plugin-chart-echarts/src/Waterfall/index.ts | 3 +-
.../plugins/plugin-chart-echarts/src/constants.ts | 3 +-
.../plugins/plugin-chart-echarts/src/controls.tsx | 3 +-
.../plugin-chart-echarts/src/utils/series.ts | 3 -
.../src/components/Handlebars/HandlebarsViewer.tsx | 2 +-
.../src/plugin/controlPanel.tsx | 2 +-
.../src/plugin/controls/columns.tsx | 3 +-
.../src/plugin/controls/handlebarTemplate.tsx | 3 +-
.../src/plugin/controls/includeTime.ts | 2 +-
.../src/plugin/controls/metrics.tsx | 2 +-
.../src/plugin/controls/orderBy.tsx | 2 +-
.../src/plugin/controls/queryMode.tsx | 3 +-
.../src/plugin/controls/shared.ts | 8 +-
.../src/plugin/controls/style.tsx | 2 +-
.../plugin-chart-handlebars/src/plugin/index.ts | 3 +-
.../src/PivotTableChart.tsx | 2 +-
.../src/plugin/controlPanel.tsx | 2 +-
.../plugin-chart-pivot-table/src/plugin/index.ts | 2 +-
.../src/react-pivottable/TableRenderers.jsx | 3 +-
.../src/react-pivottable/utilities.js | 2 +-
.../src/DataTable/components/SelectPageSize.tsx | 2 +-
.../src/DataTable/hooks/useSticky.tsx | 2 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 14 +-
.../plugins/plugin-chart-table/src/consts.ts | 2 +-
.../plugin-chart-table/src/controlPanel.tsx | 2 +-
.../plugins/plugin-chart-table/src/index.ts | 3 +-
.../plugin-chart-table/src/transformProps.ts | 2 +-
.../plugin-chart-table/test/TableChart.test.tsx | 72 ++
.../plugins/plugin-chart-table/test/testData.ts | 1 +
.../src/plugin/controlPanel.tsx | 3 +-
.../plugin/controls/ColorSchemeControl/index.tsx | 2 +-
.../src/plugin/controls/RotationControl.tsx | 2 +-
.../plugin-chart-word-cloud/src/plugin/index.ts | 3 +-
superset-frontend/spec/helpers/shim.tsx | 8 +-
superset-frontend/spec/helpers/testing-library.tsx | 3 +-
.../src/SqlLab/actions/sqlLab.test.js | 195 +++-
.../src/SqlLab/actions/{sqlLab.js => sqlLab.ts} | 824 +++++++++++----
.../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/ColumnElement/index.tsx | 2 +-
.../EditorAutoSync/EditorAutoSync.test.tsx | 6 +-
.../src/SqlLab/components/EditorAutoSync/index.tsx | 2 +-
.../components/EstimateQueryCostButton/index.tsx | 2 +-
.../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 +-
.../SqlLab/components/QueryLimitSelect/index.tsx | 2 +-
.../components/QueryTable/QueryTable.test.tsx | 97 +-
.../src/SqlLab/components/QueryTable/index.tsx | 111 +-
.../src/SqlLab/components/QueryTable/styles.ts | 7 +
.../SqlLab/components/ResultSet/ResultSet.test.tsx | 141 +++
.../src/SqlLab/components/ResultSet/index.tsx | 56 +-
.../components/RunQueryActionButton/index.tsx | 2 +-
.../components/SaveDatasetActionButton/index.tsx | 2 +-
.../SqlLab/components/SaveDatasetModal/index.tsx | 8 +-
.../src/SqlLab/components/SaveQuery/index.tsx | 2 +-
.../components/ScheduleQueryButton/index.tsx | 2 +-
.../SqlLab/components/ShareSqlLabQuery/index.tsx | 3 +-
.../src/SqlLab/components/SouthPane/Results.tsx | 3 +-
.../src/SqlLab/components/SouthPane/index.tsx | 6 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 11 +-
.../SqlLab/components/SqlEditorLeftBar/index.tsx | 7 +-
.../SqlLab/components/SqlEditorTabHeader/index.tsx | 3 +-
.../SqlLab/components/TabbedSqlEditors/index.tsx | 3 +-
.../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 | 2 +-
.../middlewares/persistSqlLabStateEnhancer.js | 136 ---
.../middlewares/persistSqlLabStateEnhancer.ts | 185 ++++
.../src/SqlLab/reducers/getInitialState.ts | 2 +-
.../src/SqlLab/reducers/{sqlLab.js => sqlLab.ts} | 336 ++++---
.../src/SqlLab/utils/newQueryTabName.ts | 2 +-
.../src/components/AlteredSliceTag/index.tsx | 2 +-
.../src/components/AuditInfo/index.tsx | 2 +-
superset-frontend/src/components/Chart/Chart.tsx | 3 +-
.../{ChartContainer.jsx => ChartContainer.tsx} | 6 +-
.../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 | 16 +-
.../src/components/Chart/chartActions.test.js | 22 +
.../src/components/Chart/chartReducer.ts | 2 +-
.../Chart/useDrillDetailMenuItems/index.tsx | 2 +-
.../src/components/CopyToClipboard/index.tsx | 2 +-
.../src/components/DatabaseSelector/index.tsx | 3 +-
.../Datasource/ChangeDatasourceModal/index.tsx | 3 +-
.../Datasource/DatasourceModal/index.tsx | 2 +-
.../components/CollectionTable/index.tsx | 2 +-
.../DatasourceEditor/DatasourceEditor.jsx | 2 +-
.../components/DatasetUsageTab/index.tsx | 2 +-
.../tests/DatasourceEditorCurrency.test.tsx | 124 +--
.../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 +-
.../{mockMessageToasts.js => mockMessageToasts.ts} | 6 +-
.../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 +-
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 | 139 ++-
.../dashboard/actions/chartCustomizationActions.ts | 3 +-
.../src/dashboard/actions/dashboardInfo.ts | 3 +-
.../src/dashboard/actions/dashboardLayout.js | 2 +-
.../src/dashboard/actions/dashboardState.js | 16 +-
.../src/dashboard/actions/sliceEntities.ts | 2 +-
.../components/AddSliceCard/AddSliceCard.tsx | 3 +-
.../src/dashboard/components/AnchorLink/index.tsx | 2 +-
.../components/BuilderComponentPane/index.tsx | 2 +-
.../components/ColorSchemeControlWrapper.tsx | 3 +-
.../src/dashboard/components/ColorSchemeSelect.tsx | 2 +-
.../src/dashboard/components/Dashboard.jsx | 2 +-
.../src/dashboard/components/Dashboard.test.jsx | 69 ++
.../DashboardBuilder/DashboardBuilder.tsx | 3 +-
.../src/dashboard/components/DashboardGrid.jsx | 4 +-
.../dashboard/components/EmbeddedModal/index.tsx | 2 +-
.../components/FiltersBadge/DetailsPanel/index.tsx | 2 +-
.../dashboard/components/FiltersBadge/index.tsx | 2 +-
.../dashboard/components/GroupByBadge/index.tsx | 2 +-
.../src/dashboard/components/Header/index.jsx | 3 +-
.../components/Header/useDashboardMetadataBar.tsx | 2 +-
.../Header/useHeaderActionsDropdownMenu.tsx | 2 +-
.../{MissingChart.jsx => MissingChart.tsx} | 13 +-
.../OverwriteConfirm/OverwriteConfirmModal.tsx | 2 +-
.../PropertiesModal/PropertiesModal.test.tsx | 16 +-
.../dashboard/components/PropertiesModal/index.tsx | 17 +-
.../PropertiesModal/sections/AccessSection.tsx | 3 +-
.../PropertiesModal/sections/AdvancedSection.tsx | 2 +-
.../PropertiesModal/sections/BasicInfoSection.tsx | 2 +-
.../sections/CertificationSection.tsx | 2 +-
.../PropertiesModal/sections/RefreshSection.tsx | 2 +-
.../sections/StylingSection.test.tsx | 45 +
.../PropertiesModal/sections/StylingSection.tsx | 51 +-
.../dashboard/components/PublishedStatus/index.tsx | 2 +-
.../RefreshFrequency/RefreshFrequencySelect.tsx | 2 +-
.../dashboard/components/RefreshIntervalModal.tsx | 2 +-
.../src/dashboard/components/SaveModal.tsx | 2 +-
.../src/dashboard/components/SliceAdder.tsx | 2 +-
.../src/dashboard/components/SliceHeader/index.tsx | 6 +-
.../ViewResultsModalTrigger.tsx | 2 +-
.../components/SliceHeaderControls/index.tsx | 25 +-
.../components/SliceHeaderControls/types.ts | 1 +
.../components/URLShortLinkButton/index.tsx | 9 +-
.../dnd/{handleHover.js => handleHover.ts} | 13 +-
.../dashboard/components/dnd/handleScroll/index.ts | 2 +-
.../{FilterFieldItem.jsx => FilterFieldItem.tsx} | 16 +-
.../{FilterFieldTree.jsx => FilterFieldTree.tsx} | 47 +-
.../components/filterscope/FilterScopeSelector.jsx | 3 +-
.../{FilterScopeTree.jsx => FilterScopeTree.tsx} | 45 +-
...reeNodes.jsx => renderFilterFieldTreeNodes.tsx} | 29 +-
...reeNodes.jsx => renderFilterScopeTreeNodes.tsx} | 36 +-
.../filterscope/{treeIcons.jsx => treeIcons.tsx} | 2 +-
.../components/gridComponents/Chart/Chart.jsx | 34 +-
.../components/gridComponents/Column/Column.jsx | 3 +-
.../DynamicComponent/DynamicComponent.tsx | 3 +-
.../gridComponents/Markdown/Markdown.jsx | 3 +-
.../components/gridComponents/Row/Row.tsx | 8 +-
.../components/gridComponents/Tab/Tab.jsx | 25 +-
.../components/gridComponents/Tab/Tab.test.tsx | 103 ++
.../components/gridComponents/Tabs/Tabs.jsx | 6 +-
.../gridComponents/TabsRenderer/TabsRenderer.tsx | 30 +-
.../components/gridComponents/new/NewColumn.tsx | 2 +-
.../components/gridComponents/new/NewDivider.tsx | 2 +-
.../components/gridComponents/new/NewHeader.tsx | 2 +-
.../components/gridComponents/new/NewMarkdown.tsx | 2 +-
.../components/gridComponents/new/NewRow.tsx | 2 +-
.../components/gridComponents/new/NewTabs.tsx | 2 +-
.../components/menu/BackgroundStyleDropdown.tsx | 2 +-
.../components/menu/DownloadMenuItems/index.tsx | 4 +-
.../components/menu/MarkdownModeDropdown.tsx | 2 +-
.../components/menu/ShareMenuItems/index.tsx | 9 +-
.../ChartCustomization/ChartCustomizationForm.tsx | 2 +-
.../ChartCustomization/ChartCustomizationModal.tsx | 2 +-
.../ChartCustomizationTitleContainer.tsx | 2 +-
.../ChartCustomizationTitlePane.tsx | 2 +-
.../ChartCustomization/GroupByFilterCard.tsx | 3 +-
.../nativeFilters/ChartCustomization/utils.ts | 2 +-
.../nativeFilters/ConfigModal/ModalFooter.tsx | 2 +-
.../FilterBar/ActionButtons/index.tsx | 2 +-
.../FilterBar/CrossFilters/CrossFilterTitle.tsx | 3 +-
.../ScopingModal/ChartsScopingListPanel.tsx | 2 +-
.../CrossFilters/ScopingModal/ScopingModal.tsx | 3 +-
.../CrossFilters/ScopingModal/ScopingTreePanel.tsx | 3 +-
.../FilterBar/CrossFilters/VerticalCollapse.tsx | 2 +-
.../FilterBar/FilterBarSettings/index.tsx | 2 +-
.../FilterBar/FilterControls/FilterControls.tsx | 2 +-
.../FilterBar/FilterControls/FilterValue.tsx | 2 +-
.../FiltersOutOfScopeCollapsible/index.tsx | 3 +-
.../nativeFilters/FilterBar/Header/index.tsx | 2 +-
.../nativeFilters/FilterBar/Horizontal.tsx | 3 +-
.../nativeFilters/FilterBar/Vertical.tsx | 2 +-
.../nativeFilters/FilterBar/keyValue.tsx | 3 +-
.../nativeFilters/FilterCard/DependenciesRow.tsx | 3 +-
.../nativeFilters/FilterCard/ScopeRow.tsx | 3 +-
.../nativeFilters/FilterCard/TypeRow.tsx | 3 +-
.../nativeFilters/FilterCard/useFilterScope.ts | 3 +-
.../FiltersConfigModal/DividerConfigForm.tsx | 3 +-
.../FiltersConfigModal/FilterTitleContainer.tsx | 19 +-
.../FiltersConfigModal/FilterTitlePane.tsx | 3 +-
.../FiltersConfigForm/ColumnSelect.tsx | 2 +-
.../FiltersConfigForm/DatasetSelect.tsx | 2 +-
.../FiltersConfigForm/DefaultValue.tsx | 2 +-
.../FiltersConfigForm/DependencyList.tsx | 2 +-
.../FiltersConfigForm/FilterScope/state.ts | 2 +-
.../FiltersConfigForm/FilterScope/utils.ts | 4 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 6 +-
.../FiltersConfigForm/RemovedFilter.tsx | 2 +-
.../FiltersConfigForm/getControlItemsMap.tsx | 3 +-
.../FiltersConfigModal/FiltersConfigForm/state.ts | 3 +-
.../FiltersConfigModal/FiltersConfigModal.tsx | 3 +-
.../Footer/CancelConfirmationAlert.tsx | 2 +-
.../FiltersConfigModal/Footer/Footer.tsx | 2 +-
.../nativeFilters/FiltersConfigModal/utils.ts | 2 +-
.../dashboard/components/nativeFilters/utils.ts | 2 +-
.../{DashboardGrid.jsx => DashboardGrid.tsx} | 7 +-
.../src/dashboard/containers/DashboardPage.tsx | 19 +-
.../{FilterScope.jsx => FilterScope.tsx} | 7 +-
.../containers/{SliceAdder.jsx => SliceAdder.tsx} | 17 +-
.../src/dashboard/hooks/useDownloadScreenshot.ts | 9 +-
.../src/dashboard/reducers/sliceEntities.ts | 2 +-
.../util/activeAllDashboardFilters.test.ts | 150 +++
.../dashboard/util/activeAllDashboardFilters.ts | 17 +-
.../src/dashboard/util/backgroundStyleOptions.ts | 2 +-
...ieldNodesTree.js => getFilterFieldNodesTree.ts} | 27 +-
.../src/dashboard/util/getFilterScopeNodesTree.js | 2 +-
....js => getSelectedChartIdForFilterScopeTree.ts} | 7 +-
.../src/dashboard/util/getSliceHeaderTooltip.tsx | 2 +-
.../src/dashboard/util/headerStyleOptions.ts | 2 +-
...ChildChartIds.js => findNonTabChildChartIds.ts} | 26 +-
...ComponentIds.js => findTopLevelComponentIds.ts} | 33 +-
...nent.js => getLoadStatsPerTopLevelComponent.ts} | 21 +-
.../src/dashboard/util/newComponentFactory.js | 2 +-
...arentsList.js => updateComponentParentsList.ts} | 16 +-
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 | 10 +-
.../components/ControlPanelsContainer.test.tsx | 2 +-
.../explore/components/ControlPanelsContainer.tsx | 2 +-
.../explore/components/DataTableControl/index.tsx | 8 +-
.../components/DataTablesPane/DataTablesPane.tsx | 3 +-
.../components/ResultsPaneOnDashboard.tsx | 2 +-
.../DataTablesPane/components/SamplesPane.tsx | 3 +-
.../components/SingleQueryResultPane.tsx | 2 +-
.../DataTablesPane/components/useResultsPane.tsx | 2 +-
.../DatasourcePanel/DatasourcePanelItem.tsx | 3 +-
.../explore/components/DatasourcePanel/index.tsx | 3 +-
.../DatasourcePanel/transformDatasourceFolders.ts | 3 +-
.../src/explore/components/EmbedCodeContent.jsx | 11 +-
.../components/ExploreChartHeader/index.jsx | 5 +-
.../ExploreChartHeader/useExploreMetadataBar.tsx | 3 +-
.../explore/components/ExploreChartPanel/index.tsx | 17 +-
.../components/ExploreViewContainer/index.jsx | 9 +-
.../components/ExportToCSVDropdown/index.tsx | 2 +-
.../explore/components/PropertiesModal/index.tsx | 2 +-
.../explore/components/RunQueryButton/index.tsx | 2 +-
.../src/explore/components/SaveModal.tsx | 9 +-
.../AnnotationLayer.test.tsx | 39 +-
.../{AnnotationLayer.jsx => AnnotationLayer.tsx} | 419 +++++---
.../{AnnotationTypes.js => AnnotationTypes.ts} | 42 +-
.../controls/AnnotationLayerControl/index.tsx | 2 +-
...undsControl.test.jsx => BoundsControl.test.tsx} | 0
.../explore/components/controls/BoundsControl.tsx | 2 +-
.../{CheckboxControl.jsx => CheckboxControl.tsx} | 52 +-
.../CollectionControl/{index.jsx => index.tsx} | 92 +-
.../ColorBreakpointPopoverControl.tsx | 3 +-
.../controls/ColorBreakpointsControl/index.tsx | 2 +-
.../controls/ColorSchemeControl/index.tsx | 2 +-
.../ColumnConfigControl/ColumnConfigControl.tsx | 2 +-
.../controls/ColumnConfigControl/constants.tsx | 3 +-
.../components/controls/ComparisonRangeLabel.tsx | 2 +-
.../ConditionalFormattingControl.tsx | 2 +-
.../FormattingPopoverContent.tsx | 2 +-
.../controls/ContourControl/ContourOption.tsx | 2 +-
.../ContourControl/ContourPopoverControl.tsx | 3 +-
.../components/controls/ContourControl/index.tsx | 2 +-
.../controls/CurrencyControl/CurrencyControl.tsx | 8 +-
.../DatasourceControl/DatasourceControl.test.tsx | 110 +-
.../DatasourceControl/{index.jsx => index.tsx} | 153 ++-
.../controls/DateFilterControl/DateFilterLabel.tsx | 2 +-
.../DateFilterControl/components/AdvancedFrame.tsx | 3 +-
.../DateFilterControl/components/CalendarFrame.tsx | 2 +-
.../DateFilterControl/components/CommonFrame.tsx | 2 +-
.../components/CurrentCalendarFrame.tsx | 2 +-
.../DateFilterControl/components/CustomFrame.tsx | 3 +-
.../components/DateFunctionTooltip.tsx | 2 +-
.../DateFilterControl/components/DateLabel.tsx | 2 +-
.../controls/DateFilterControl/utils/constants.ts | 2 +-
.../DndColumnSelectControl/ColumnSelectPopover.tsx | 2 +-
.../ColumnSelectPopoverTrigger.tsx | 2 +-
.../DndAdhocFilterOption.tsx | 2 +-
.../DndColumnMetricSelect.tsx | 19 +-
.../DndColumnSelectControl/DndColumnSelect.tsx | 10 +-
...erTitle.jsx => DndColumnSelectPopoverTitle.tsx} | 13 +-
.../DndFilterSelect.test.tsx | 14 +-
.../DndColumnSelectControl/DndFilterSelect.tsx | 3 +-
.../DndColumnSelectControl/DndMetricSelect.tsx | 27 +-
.../DndColumnSelectControl/DndSelectLabel.tsx | 2 +-
.../controls/DndColumnSelectControl/Option.tsx | 2 +-
.../DndColumnSelectControl/utils/optionSelector.ts | 2 +-
.../{AdhocFilter.test.js => AdhocFilter.test.ts} | 0
.../AdhocFilter/{index.js => index.ts} | 110 +-
.../AdhocFilterControl/AdhocFilterControl.test.tsx | 49 +-
.../AdhocFilterControl/{index.jsx => index.tsx} | 164 ++-
...er.test.jsx => AdhocFilterEditPopover.test.tsx} | 24 +-
.../{index.jsx => index.tsx} | 162 ++-
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 133 ++-
.../index.tsx | 90 +-
.../useAdvancedDataTypes.ts | 3 +-
.../AdhocFilterEditPopoverSqlTabContent/index.tsx | 2 +-
.../FilterControl/AdhocFilterOption/index.tsx | 25 +-
.../AdhocFilterPopoverTrigger/index.tsx | 2 +-
.../utils/useDatePickerInAdhocFilter.tsx | 9 +-
.../FilterControl/utils/useGetTimeRangeLabel.tsx | 31 +-
.../FixedOrMetricControl/{index.jsx => index.tsx} | 90 +-
.../controls/LayerConfigsControl/FlatLayerTree.tsx | 2 +-
.../LayerConfigsControl/LayerConfigsControl.tsx | 2 +-
.../LayerConfigsPopoverContent.tsx | 3 +-
.../controls/MapViewControl/ExtentTag.tsx | 2 +-
.../controls/MapViewControl/MapViewControl.tsx | 2 +-
.../MapViewControl/MapViewPopoverContent.tsx | 2 +-
.../controls/MatrixifyDimensionControl.tsx | 3 +-
.../{AdhocMetric.test.js => AdhocMetric.test.ts} | 4 +-
.../{AdhocMetric.js => AdhocMetric.ts} | 102 +-
.../{index.jsx => index.tsx} | 165 ++-
.../MetricControl/AdhocMetricEditPopoverTitle.tsx | 2 +-
...cOption.test.jsx => AdhocMetricOption.test.tsx} | 27 +-
...AdhocMetricOption.jsx => AdhocMetricOption.tsx} | 46 +-
.../MetricControl/AdhocMetricPopoverTrigger.tsx | 23 +-
.../{AggregateOption.jsx => AggregateOption.tsx} | 20 +-
...on.test.jsx => FilterDefinitionOption.test.tsx} | 6 +-
...nitionOption.jsx => FilterDefinitionOption.tsx} | 21 +-
...nitionOption.jsx => MetricDefinitionOption.tsx} | 39 +-
...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 +
.../components/controls/OptionControls/index.tsx | 6 +-
.../controls/SelectAsyncControl/index.tsx | 3 +-
...lectControl.test.jsx => SelectControl.test.tsx} | 34 +-
.../{SelectControl.jsx => SelectControl.tsx} | 155 ++-
.../{SpatialControl.jsx => SpatialControl.tsx} | 125 ++-
...eaControl.test.jsx => TextAreaControl.test.tsx} | 0
.../{TextAreaControl.jsx => TextAreaControl.tsx} | 106 +-
.../components/controls/TextControl/index.tsx | 4 +
.../{index.jsx => index.tsx} | 111 +-
.../src/explore/components/controls/ViewQuery.tsx | 3 +-
.../explore/components/controls/ViewQueryModal.tsx | 2 +-
.../components/controls/ViewQueryModalFooter.tsx | 3 +-
...rtControl.test.jsx => ViewportControl.test.tsx} | 0
.../{ViewportControl.jsx => ViewportControl.tsx} | 84 +-
.../components/controls/VizTypeControl/VizTile.tsx | 4 +-
.../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 +-
.../{saveModalReducer.js => saveModalReducer.ts} | 29 +-
.../src/explore/{store.test.jsx => store.test.tsx} | 5 +-
.../src/explore/{store.js => store.ts} | 62 +-
.../src/extensions/ExtensionPlaceholder.tsx | 2 +-
.../src/extensions/ExtensionsList.tsx | 2 +-
.../src/extensions/ExtensionsManager.ts | 3 +-
.../src/extensions/ExtensionsStartup.test.tsx | 4 +-
.../src/extensions/ExtensionsStartup.tsx | 17 +-
.../src/features/alerts/AlertReportModal.tsx | 3 +-
.../alerts/components/AlertReportCronScheduler.tsx | 2 +-
.../features/alerts/components/AlertStatusIcon.tsx | 2 +-
.../alerts/components/NotificationMethod.tsx | 139 +--
.../features/alerts/components/RecipientIcon.tsx | 6 +
superset-frontend/src/features/alerts/types.ts | 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 | 16 +-
.../databases/DatabaseModal/ModalHeader.tsx | 2 +-
.../databases/DatabaseModal/SSHTunnelForm.tsx | 2 +-
.../databases/DatabaseModal/SSHTunnelSwitch.tsx | 3 +-
.../databases/DatabaseModal/SqlAlchemyForm.tsx | 2 +-
.../databases/DatabaseModal/index.test.tsx | 81 ++
.../src/features/databases/DatabaseModal/index.tsx | 61 +-
.../databases/UploadDataModel/ColumnsPreview.tsx | 2 +-
.../features/databases/UploadDataModel/index.tsx | 3 +-
.../AddDataset/DatasetPanel/DatasetPanel.tsx | 2 +-
.../AddDataset/DatasetPanel/MessageContent.tsx | 2 +-
.../datasets/AddDataset/DatasetPanel/index.tsx | 4 +-
.../datasets/AddDataset/EditDataset/index.tsx | 2 +-
.../datasets/AddDataset/Footer/Footer.test.tsx | 1 +
.../features/datasets/AddDataset/Footer/index.tsx | 12 +-
.../features/datasets/AddDataset/Header/index.tsx | 2 +-
.../datasets/AddDataset/LeftPanel/index.tsx | 2 +-
.../features/datasets/DatasetSelectLabel/index.tsx | 2 +-
.../features/datasets/DuplicateDatasetModal.tsx | 2 +-
.../src/features/datasets/constants.ts | 2 +-
.../src/features/datasets/hooks/useDatasetLists.ts | 4 +-
.../datasets/hooks/useGetDatasetRelatedCounts.ts | 4 +-
.../datasets/metadataBar/useDatasetMetadataBar.tsx | 2 +-
.../src/features/groups/GroupListModal.tsx | 2 +-
superset-frontend/src/features/groups/utils.ts | 3 +-
.../src/features/home/ActivityTable.tsx | 2 +-
superset-frontend/src/features/home/ChartTable.tsx | 2 +-
.../src/features/home/DashboardTable.tsx | 3 +-
superset-frontend/src/features/home/EmptyState.tsx | 2 +-
.../src/features/home/LanguagePicker.tsx | 2 +-
.../src/features/home/RightMenu.test.tsx | 7 +-
superset-frontend/src/features/home/RightMenu.tsx | 24 +-
.../src/features/home/SavedQueries.tsx | 46 +-
superset-frontend/src/features/home/SubMenu.tsx | 2 +-
.../src/features/home/commonMenuData.ts | 2 +-
.../src/features/queries/QueryPreviewModal.tsx | 2 +-
.../features/queries/SavedQueryPreviewModal.tsx | 2 +-
.../src/features/queries/SyntaxHighlighterCopy.tsx | 2 +-
.../ReportModal/HeaderReportDropdown/index.tsx | 2 +-
.../src/features/reports/ReportModal/actions.js | 3 +-
.../src/features/reports/ReportModal/index.tsx | 3 +-
superset-frontend/src/features/reports/types.ts | 2 +-
.../src/features/rls/RowLevelSecurityModal.tsx | 3 +-
superset-frontend/src/features/rls/constants.ts | 2 +-
.../src/features/roles/RoleFormItems.tsx | 2 +-
.../src/features/roles/RoleListAddModal.tsx | 2 +-
.../src/features/roles/RoleListDuplicateModal.tsx | 2 +-
.../src/features/roles/RoleListEditModal.tsx | 2 +-
.../src/features/tags/BulkTagModal.tsx | 3 +-
superset-frontend/src/features/tags/TagCard.tsx | 3 +-
superset-frontend/src/features/tags/TagModal.tsx | 3 +-
.../src/features/themes/ThemeModal.tsx | 2 +-
.../src/features/userInfo/UserInfoModal.tsx | 3 +-
.../src/features/users/UserListModal.tsx | 2 +-
superset-frontend/src/features/users/utils.ts | 3 +-
.../filters/components/Range/RangeFilterPlugin.tsx | 2 +-
.../src/filters/components/Range/controlPanel.ts | 2 +-
.../src/filters/components/Range/index.ts | 3 +-
.../components/Select/SelectFilterPlugin.tsx | 4 +-
.../src/filters/components/Select/controlPanel.ts | 3 +-
.../src/filters/components/Select/index.ts | 3 +-
.../src/filters/components/Time/controlPanel.ts | 2 +-
.../src/filters/components/Time/index.ts | 3 +-
.../TimeColumn/TimeColumnFilterPlugin.tsx | 3 +-
.../filters/components/TimeColumn/controlPanel.ts | 2 +-
.../src/filters/components/TimeColumn/index.ts | 3 +-
.../components/TimeGrain/TimeGrainFilterPlugin.tsx | 4 +-
.../filters/components/TimeGrain/controlPanel.ts | 2 +-
.../src/filters/components/TimeGrain/index.ts | 3 +-
.../src/hooks/apiResources/datasets.ts | 2 +-
superset-frontend/src/hooks/useThemeMenuItems.tsx | 2 +-
.../src/hooks/useUnsavedChangesPrompt/index.ts | 3 +-
superset-frontend/src/middleware/asyncEvent.ts | 2 +-
superset-frontend/src/pages/ActionLog/index.tsx | 2 +-
.../src/pages/AlertReportList/index.tsx | 2 +-
superset-frontend/src/pages/AllEntities/index.tsx | 2 +-
.../src/pages/AnnotationLayerList/index.tsx | 3 +-
.../src/pages/AnnotationList/index.tsx | 3 +-
superset-frontend/src/pages/Chart/index.tsx | 2 +-
.../src/pages/ChartCreation/ChartCreation.test.tsx | 227 +++++
.../src/pages/ChartCreation/index.tsx | 42 +-
superset-frontend/src/pages/ChartList/index.tsx | 2 +-
.../src/pages/CssTemplateList/index.tsx | 3 +-
.../src/pages/DashboardList/index.tsx | 2 +-
superset-frontend/src/pages/DatabaseList/index.tsx | 3 +-
superset-frontend/src/pages/DatasetList/index.tsx | 3 +-
.../src/pages/ExecutionLogList/index.tsx | 2 +-
superset-frontend/src/pages/GroupsList/index.tsx | 2 +-
superset-frontend/src/pages/Home/index.tsx | 2 +-
superset-frontend/src/pages/Login/index.tsx | 3 +-
.../src/pages/QueryHistoryList/index.tsx | 3 +-
superset-frontend/src/pages/Register/index.tsx | 3 +-
superset-frontend/src/pages/RolesList/index.tsx | 3 +-
.../src/pages/RowLevelSecurityList/index.tsx | 3 +-
.../src/pages/SavedQueryList/index.tsx | 2 +-
superset-frontend/src/pages/Tags/index.tsx | 3 +-
superset-frontend/src/pages/ThemeList/index.tsx | 3 +-
superset-frontend/src/pages/UserInfo/index.tsx | 3 +-
.../src/pages/UserRegistrations/index.tsx | 3 +-
superset-frontend/src/pages/UsersList/index.tsx | 2 +-
superset-frontend/src/preamble.ts | 10 +-
superset-frontend/src/setup/setupClient.ts | 3 +-
superset-frontend/src/types/bootstrapTypes.ts | 4 +-
superset-frontend/src/utils/downloadAsImage.tsx | 2 +-
superset-frontend/src/utils/downloadAsPdf.ts | 3 +-
superset-frontend/src/utils/export.test.ts | 57 +-
superset-frontend/src/utils/export.ts | 8 +-
superset-frontend/src/utils/fetchOptions.ts | 3 +-
.../utils/getChartRequiredFieldsMissingMessage.ts | 2 +-
.../src/utils/getControlsForVizType.js | 52 -
superset-frontend/src/utils/reducerUtils.js | 71 --
superset-frontend/src/utils/urlUtils.ts | 67 +-
superset-frontend/src/views/CRUD/hooks.ts | 2 +-
superset-frontend/src/views/CRUD/utils.tsx | 3 +-
.../src/visualizations/TimeTable/TimeTable.tsx | 2 +-
.../TimeTable/config/controlPanel/controlPanel.ts | 3 +-
.../src/visualizations/TimeTable/index.ts | 3 +-
.../ExampleComponent/ExampleComponent.tsx | 3 +-
superset-websocket/package-lock.json | 447 ++++----
superset-websocket/package.json | 14 +-
.../utils/client-ws-app/package-lock.json | 12 +-
superset/charts/schemas.py | 7 +
superset/commands/database/validate_sql.py | 44 +
superset/commands/report/alert.py | 66 +-
superset/commands/report/create.py | 35 +
superset/commands/report/exceptions.py | 15 +
superset/commands/report/execute.py | 18 +-
superset/commands/streaming_export/base.py | 55 +-
superset/common/query_context_processor.py | 1 +
superset/common/utils/query_cache_manager.py | 11 +
superset/config.py | 3 +
superset/dashboards/schemas.py | 2 +
superset/db_engine_specs/athena.py | 40 +
superset/db_engine_specs/base.py | 6 +-
superset/db_engine_specs/gsheets.py | 33 +
superset/db_engine_specs/trino.py | 61 +-
superset/extensions/discovery.py | 3 +-
superset/extensions/local_extensions_watcher.py | 33 +-
superset/extensions/utils.py | 55 +-
superset/initialization/__init__.py | 4 +-
superset/jinja_context.py | 19 +-
superset/mcp_service/CLAUDE.md | 6 +-
superset/mcp_service/__main__.py | 2 +-
superset/mcp_service/app.py | 24 +-
superset/mcp_service/chart/schemas.py | 76 +-
superset/mcp_service/chart/tool/__init__.py | 2 -
superset/mcp_service/chart/tool/generate_chart.py | 6 +-
.../chart/tool/get_chart_available_filters.py | 50 -
superset/mcp_service/chart/tool/get_chart_data.py | 95 +-
superset/mcp_service/chart/tool/list_charts.py | 42 +-
superset/mcp_service/common/schema_discovery.py | 422 ++++++++
superset/mcp_service/dashboard/schemas.py | 56 +-
superset/mcp_service/dashboard/tool/__init__.py | 2 -
.../tool/get_dashboard_available_filters.py | 49 -
.../mcp_service/dashboard/tool/list_dashboards.py | 68 +-
superset/mcp_service/dataset/schemas.py | 61 +-
superset/mcp_service/dataset/tool/__init__.py | 2 -
.../dataset/tool/get_dataset_available_filters.py | 49 -
superset/mcp_service/dataset/tool/list_datasets.py | 43 +-
.../mcp_service/docs/tool-search-optimization.md | 2 +-
superset/mcp_service/mcp_core.py | 120 ++-
superset/mcp_service/server.py | 4 +-
superset/mcp_service/sql_lab/execute_sql_core.py | 221 ----
superset/mcp_service/sql_lab/schemas.py | 42 +-
superset/mcp_service/sql_lab/sql_lab_utils.py | 243 -----
superset/mcp_service/sql_lab/tool/execute_sql.py | 136 ++-
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/schema_utils.py | 21 +-
superset/models/helpers.py | 20 +-
superset/reports/models.py | 1 +
superset/reports/notifications/__init__.py | 1 +
superset/reports/notifications/webhook.py | 144 +++
superset/reports/schemas.py | 2 +-
superset/security/manager.py | 124 ++-
superset/sql/parse.py | 2 +-
superset/sqllab/query_render.py | 23 +-
superset/tasks/async_queries.py | 19 +-
superset/utils/core.py | 1 +
superset/utils/date_parser.py | 10 +-
superset/utils/excel.py | 2 +-
superset/utils/webdriver.py | 2 +
superset/views/base.py | 2 +
superset/views/datasource/utils.py | 6 +
superset/views/utils.py | 2 +-
tests/integration_tests/databases/api_tests.py | 109 ++
tests/integration_tests/fixtures/__init__.py | 1 +
tests/integration_tests/fixtures/public_role.py | 18 +
tests/integration_tests/reports/alert_tests.py | 8 +-
tests/integration_tests/security_tests.py | 99 ++
.../commands/databases/validate_sql_test.py | 279 +++++
tests/unit_tests/commands/report/alert_test.py | 496 +++++++++
.../commands/report/test_create_recipients.py | 179 ++++
tests/unit_tests/db_engine_specs/test_athena.py | 70 ++
tests/unit_tests/db_engine_specs/test_base.py | 49 +
tests/unit_tests/db_engine_specs/test_gsheets.py | 5 +
tests/unit_tests/db_engine_specs/test_trino.py | 309 +++++-
tests/unit_tests/extensions/test_types.py | 258 +++++
tests/unit_tests/jinja_context_test.py | 54 +
.../mcp_service/chart/tool/test_generate_chart.py | 21 +-
.../mcp_service/chart/tool/test_get_chart_data.py | 99 ++
.../mcp_service/chart/tool/test_list_charts.py | 48 +-
.../dashboard/tool/test_dashboard_tools.py | 135 ++-
.../mcp_service/dataset/tool/test_dataset_tools.py | 133 ++-
.../mcp_service/sql_lab/tool/test_execute_sql.py | 490 +++++----
.../mcp_service/system/tool/test_get_schema.py | 368 +++++++
.../mcp_service/system/tool/test_mcp_core.py | 152 ++-
.../mcp_service/test_mcp_tool_registration.py | 42 +-
.../reports/notifications/webhook_tests.py | 225 +++++
.../security/exclude_users_filter_test.py | 165 +++
tests/unit_tests/sql/parse_tests.py | 14 +
tests/unit_tests/sql_lab_test.py | 2 +-
tests/unit_tests/tasks/test_async_queries.py | 96 ++
tests/unit_tests/utils/date_parser_tests.py | 47 +
.../unit_tests/views/datasource}/__init__.py | 0
tests/unit_tests/views/datasource/utils_test.py | 217 ++++
1017 files changed, 23838 insertions(+), 6549 deletions(-)
create mode 100644 .envrc.example
create mode 100644 CHANGELOG/6.0.0.md
create mode 100644 docker/.env-local.example
create mode 100644 docs/developer_portal/extensions/dependencies.md
create mode 100644 docs/netlify.toml
create mode 100644 docs/src/theme/Admonition/Types.js
create mode 100644 docs/static/img/extensions/parquet-export.png
create mode 100644 docs/static/img/extensions/query-comparison.png
create mode 100644 docs/static/img/extensions/query-estimator.png
create mode 100644 docs/static/img/extensions/result-stats.png
create mode 100644 docs/static/img/extensions/sql-snippets.png
create mode 100644 docs/static/img/logos/cirrus.svg
create mode 100644
"docs/static/img/logos/hollyland\347\214\233\347\216\233.svg"
create mode 100644 docs/static/img/logos/plaidcloud.svg
create mode 100644 docs/static/img/logos/vlmedia.svg
create mode 100644 docs/static/llms.txt
create mode 100755 scripts/docker-compose-up.sh
create mode 100644
superset-extensions-cli/src/superset_extensions_cli/templates/.gitignore.j2
copy superset/charts/data/query_context_cache_loader.py =>
superset-frontend/netlify.toml (61%)
delete mode 100644
superset-frontend/packages/superset-core/src/api/environment.ts
create mode 100644
superset-frontend/packages/superset-core/src/spec/utils/logging.test.ts
rename superset-frontend/packages/{superset-ui-core/src =>
superset-core/src/ui}/translation/README.md (100%)
rename superset-frontend/packages/{superset-ui-core/src =>
superset-core/src/ui}/translation/Translator.ts (98%)
rename superset-frontend/packages/{superset-ui-core/src =>
superset-core/src/ui}/translation/TranslatorSingleton.ts (100%)
rename superset-frontend/packages/{superset-ui-core/src =>
superset-core/src/ui}/translation/index.ts (94%)
rename superset-frontend/packages/{superset-ui-core/src =>
superset-core/src/ui}/translation/types/index.ts (100%)
rename superset-frontend/packages/{superset-ui-core/src =>
superset-core/src/ui}/translation/types/jed.ts (100%)
copy superset-frontend/packages/{superset-ui-core/src/dynamic-plugins =>
superset-core/src/utils}/index.ts (94%)
rename superset-frontend/packages/{superset-ui-core =>
superset-core}/src/utils/logging.ts (95%)
rename superset-frontend/packages/{superset-ui-core =>
superset-core}/types/external.d.ts (100%)
delete mode 100644
superset-frontend/packages/superset-ui-core/test/translation/Translator.test.ts
delete mode 100644
superset-frontend/packages/superset-ui-core/test/translation/TranslatorSingleton.test.ts
delete mode 100644
superset-frontend/packages/superset-ui-core/test/translation/index.test.ts
delete mode 100644
superset-frontend/packages/superset-ui-core/test/translation/languagePacks/en.ts
delete mode 100644
superset-frontend/packages/superset-ui-core/test/translation/languagePacks/zh.ts
delete mode 100644
superset-frontend/packages/superset-ui-core/test/utils/logging.test.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/buildQuery.test.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/transformProps.test.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/transformUtils.test.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/utils/metricUtils.test.ts
create mode 100644
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/utils/metricUtils.ts
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/agGridFilterConverter.ts
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/src/utils/filterStateManager.ts
copy superset-frontend/{src/dashboard/types/chartState.ts =>
plugins/plugin-chart-ag-grid-table/src/utils/getInitialFilterModel.ts} (53%)
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/agGridFilterConverter.test.ts
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/dateFilterComparator.test.ts
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/filterStateManager.test.ts
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/getInitialFilterModel.test.ts
rename superset-frontend/src/SqlLab/actions/{sqlLab.js => sqlLab.ts} (59%)
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%)
rename superset-frontend/src/components/Chart/{ChartContainer.jsx =>
ChartContainer.tsx} (89%)
copy
superset-frontend/{packages/superset-ui-core/src/components/IconTooltip/IconTooltip.stories.tsx
=> src/components/LastQueriedLabel/index.tsx} (54%)
rename superset-frontend/src/components/MessageToasts/{mockMessageToasts.js =>
mockMessageToasts.ts} (85%)
delete mode 100644 superset-frontend/src/core/environment/index.ts
rename superset-frontend/src/dashboard/components/{MissingChart.jsx =>
MissingChart.tsx} (84%)
rename superset-frontend/src/dashboard/components/dnd/{handleHover.js =>
handleHover.ts} (84%)
rename
superset-frontend/src/dashboard/components/filterscope/{FilterFieldItem.jsx =>
FilterFieldItem.tsx} (81%)
rename
superset-frontend/src/dashboard/components/filterscope/{FilterFieldTree.jsx =>
FilterFieldTree.tsx} (54%)
rename
superset-frontend/src/dashboard/components/filterscope/{FilterScopeTree.jsx =>
FilterScopeTree.tsx} (58%)
rename
superset-frontend/src/dashboard/components/filterscope/{renderFilterFieldTreeNodes.jsx
=> renderFilterFieldTreeNodes.tsx} (63%)
rename
superset-frontend/src/dashboard/components/filterscope/{renderFilterScopeTreeNodes.jsx
=> renderFilterScopeTreeNodes.tsx} (71%)
rename superset-frontend/src/dashboard/components/filterscope/{treeIcons.jsx
=> treeIcons.tsx} (97%)
rename superset-frontend/src/dashboard/containers/{DashboardGrid.jsx =>
DashboardGrid.tsx} (86%)
rename superset-frontend/src/dashboard/containers/{FilterScope.jsx =>
FilterScope.tsx} (85%)
rename superset-frontend/src/dashboard/containers/{SliceAdder.jsx =>
SliceAdder.tsx} (82%)
rename superset-frontend/src/dashboard/util/{getFilterFieldNodesTree.js =>
getFilterFieldNodesTree.ts} (70%)
rename
superset-frontend/src/dashboard/util/{getSelectedChartIdForFilterScopeTree.js
=> getSelectedChartIdForFilterScopeTree.ts} (91%)
rename
superset-frontend/src/dashboard/util/logging/{findNonTabChildChartIds.js =>
findNonTabChildChartIds.ts} (75%)
rename
superset-frontend/src/dashboard/util/logging/{findTopLevelComponentIds.js =>
findTopLevelComponentIds.ts} (77%)
rename
superset-frontend/src/dashboard/util/logging/{getLoadStatsPerTopLevelComponent.js
=> getLoadStatsPerTopLevelComponent.ts} (71%)
rename superset-frontend/src/dashboard/util/{updateComponentParentsList.js =>
updateComponentParentsList.ts} (85%)
rename
superset-frontend/src/explore/components/controls/AnnotationLayerControl/{AnnotationLayer.jsx
=> AnnotationLayer.tsx} (74%)
rename
superset-frontend/src/explore/components/controls/AnnotationLayerControl/{AnnotationTypes.js
=> AnnotationTypes.ts} (67%)
rename
superset-frontend/src/explore/components/controls/{BoundsControl.test.jsx =>
BoundsControl.test.tsx} (100%)
rename superset-frontend/src/explore/components/controls/{CheckboxControl.jsx
=> CheckboxControl.tsx} (68%)
rename
superset-frontend/src/explore/components/controls/CollectionControl/{index.jsx
=> index.tsx} (66%)
rename
superset-frontend/src/explore/components/controls/DatasourceControl/{index.jsx
=> index.tsx} (80%)
rename
superset-frontend/src/explore/components/controls/DndColumnSelectControl/{DndColumnSelectPopoverTitle.jsx
=> DndColumnSelectPopoverTitle.tsx} (89%)
rename
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilter/{AdhocFilter.test.js
=> AdhocFilter.test.ts} (100%)
rename
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilter/{index.js
=> index.ts} (56%)
rename
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterControl/{index.jsx
=> index.tsx} (70%)
rename
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopover/{AdhocFilterEditPopover.test.jsx
=> AdhocFilterEditPopover.test.tsx} (89%)
rename
superset-frontend/src/explore/components/controls/FilterControl/AdhocFilterEditPopover/{index.jsx
=> index.tsx} (73%)
rename
superset-frontend/src/explore/components/controls/FixedOrMetricControl/{index.jsx
=> index.tsx} (69%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{AdhocMetric.test.js
=> AdhocMetric.test.ts} (98%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{AdhocMetric.js
=> AdhocMetric.ts} (62%)
rename
superset-frontend/src/explore/components/controls/MetricControl/AdhocMetricEditPopover/{index.jsx
=> index.tsx} (79%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{AdhocMetricOption.test.jsx
=> AdhocMetricOption.test.tsx} (90%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{AdhocMetricOption.jsx
=> AdhocMetricOption.tsx} (63%)
rename
superset-frontend/src/explore/components/controls/MetricControl/{AggregateOption.jsx
=> AggregateOption.tsx} (74%)
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/{MetricDefinitionOption.jsx
=> MetricDefinitionOption.tsx} (66%)
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/reducers/{saveModalReducer.js =>
saveModalReducer.ts} (71%)
rename superset-frontend/src/explore/{store.test.jsx => store.test.tsx} (95%)
rename superset-frontend/src/explore/{store.js => store.ts} (61%)
delete mode 100644 superset-frontend/src/utils/getControlsForVizType.js
delete mode 100644 superset-frontend/src/utils/reducerUtils.js
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
delete mode 100644 superset/mcp_service/sql_lab/execute_sql_core.py
delete mode 100644 superset/mcp_service/sql_lab/sql_lab_utils.py
create mode 100644 superset/mcp_service/system/resources/schema_discovery.py
create mode 100644 superset/mcp_service/system/tool/get_schema.py
create mode 100644 superset/reports/notifications/webhook.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/extensions/test_types.py
create mode 100644
tests/unit_tests/mcp_service/chart/tool/test_get_chart_data.py
create mode 100644 tests/unit_tests/mcp_service/system/tool/test_get_schema.py
create mode 100644 tests/unit_tests/reports/notifications/webhook_tests.py
create mode 100644 tests/unit_tests/security/exclude_users_filter_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