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

rusackas pushed a change to branch geojson-controls
in repository https://gitbox.apache.org/repos/asf/superset.git


    omit ee1a8ffa79a fix(lint): remove unsupported oxlint rule config option
    omit d43d40da649 test(deckgl): add backward compatibility tests for point 
radius
    omit 7705ffcfe06 fix(deckgl): use deck.gl defaults for backward 
compatibility
    omit 66b6abed9ff feat(deckgl): add point radius controls for GeoJSON layer
     add 9ea5ded9880 fix(dashboard): Prevent fatal error when database 
connection is unavailable (#37576)
     add 174e3c26d31 chore(deps): update @luma.gl/webgl requirement from ~9.2.5 
to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#37764)
     add 76a27d5360e chore(deps): bump d3-format from 1.4.5 to 3.1.2 in 
/superset-frontend/packages/superset-ui-core (#37442)
     add 5cea4fb7feb chore(deps): update @luma.gl/shadertools requirement from 
~9.2.5 to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl 
(#37763)
     add df253f6aa47 chore(deps-dev): bump @babel/plugin-transform-runtime from 
7.28.5 to 7.29.0 in /superset-frontend (#37631)
     add b9ab03994ad chore(deps-dev): bump jsdom from 27.4.0 to 28.0.0 in 
/superset-frontend (#37688)
     add f4708a56484 fix(db): prevent long database error messages from 
overflowing UI (#37709)
     add 3521f191b24 chore(deps): bump webpack from 5.96.1 to 5.105.0 in 
/superset-frontend/cypress-base (#37775)
     add c4e7c3b03b7 refactor: consolidating ColorSchemeEnum settings into one 
place (#37591)
     add 7580bd14015 chore(deps-dev): bump timezone-mock from 1.3.6 to 1.4.0 in 
/superset-frontend (#37333)
     add c4d2d42b3b0 build(dev-deps): move Webpack-dedicated `js-yaml-loader` 
to dev deps section (#37788)
     add 563d9f1a3fd chore(lint): migrate Jest lint rules from eslint to oxlint 
(#37787)
     add 3b75af9ac3b docs(dev_portal/test): remove refs of testing tools not 
used in project (#37786)
     add 82d6076804b refactor(charts): filter saved metrics by key and label 
(#37136)
     add ebee9bb3f91 refactor(types): consolidate shared table types and fix 
Funnel enum typo (#37768)
     add 29aa69b7792 chore(deps): update @luma.gl/engine requirement from 
~9.2.5 to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl 
(#37762)
     add ce872ddaf01 chore(deps-dev): bump @swc/core from 1.14.0 to 1.15.11 in 
/superset-frontend (#37511)
     add cebdb9e0b7a fix(ListView): add tooltip for layout toggle buttons 
(#37581)
     add 2b411b32ba0 fix(scatter): Fix ad-hoc metric for pointsize (#37669)
     add 15b3c96f8e9 fix(security): Add table blocklist and fix MCP SQL 
validation bypass (#37411)
     add a1d65c7529c feat(deps): significant `npm audit fix` to trim off 
inadvertently runtime dep from upstream libraries  (#37220)
     add 059b57d784e chore(deps-dev): bump @types/node from 25.2.1 to 25.2.2 in 
/superset-frontend (#37801)
     add 5125a670025 build(dev-deps): remove `npm` from @apache-superset/core 
(#37774)
     add f25d95be410 fix: Vertical lines in the middle of Treemap categories 
(#37808)
     add 6984e93171e fix: SQL Lab improvements and bug fixes (#37760)
     add 59dd2fa3857 feat: add global task framework (#36368)
     add f6f96ecc49c test(chart-list): migrate Chart List tests from Cypress to 
RTL (#37813)
     add 76351ff12c4 fix(i18n): ensure language pack loads before React renders 
(#36893)
     add 6ca028dee90 chore(deps): bump axios from 1.12.2 to 1.13.5 in /docs 
(#37814)
     add d078f18ff88 chore(deps-dev): bump @types/node from 25.2.1 to 25.2.2 in 
/superset-websocket (#37796)
     add 2df60f9caf0 chore(deps): bump immer from 11.1.3 to 11.1.4 in 
/superset-frontend (#37830)
     add f370da5a87a chore(deps-dev): bump @typescript-eslint/parser from 
8.54.0 to 8.55.0 in /docs (#37827)
     add 4d8ff845875 chore(deps-dev): bump @playwright/test from 1.58.1 to 
1.58.2 in /superset-frontend (#37826)
     add 8c6bc3eaea3 chore(deps): bump antd from 6.2.3 to 6.3.0 in /docs 
(#37824)
     add 1cba53a043d chore(deps-dev): bump @typescript-eslint/parser from 
8.54.0 to 8.55.0 in /superset-websocket (#37823)
     add 3af795af364 chore(deps-dev): bump @typescript-eslint/eslint-plugin 
from 8.54.0 to 8.55.0 in /superset-websocket (#37822)
     add 948b1d613b2 chore(deps-dev): bump typescript-eslint from 8.54.0 to 
8.55.0 in /docs (#37825)
     add 0f1278fa614 fix(gtf): set dedup_key on atomic sql (#37820)
     add c59d0a73d47 fix: Prevent table rows from overlapping pagination in 
table view (#37174)
     add ae8d671fea3 fix(sql): fix sql suggestions (#37699)
     add c41942a38ad chore(deps): Upgrade sqlglot from 27.15.2 to 28.10.0 
(#37841)
     add 76aa91f5ea2 fix(deps): pin `react-error-boundary` to 6.0.0 for React 
17 peer dep constraint (#37706)
     add 7ec5f1d7ecf fix(native-filters): Filters with select first value not 
restored correctly from url (#37855)
     add b98b34a60f5 refactor: Make extensions contribution schema consistent 
(#37856)
     add 6a6b9b53864 chore: Bump core packages (0.0.1rc11, 0.0.1rc4) (#37860)
     add 1388a628230 fix(filters): fix filter / customization name not updating 
in sidebar in real time (#37358)
     add 39ac96817a8 fix(helm): Add default initContainer resources (#37637)
     add 4eb8fc814a9 chore(deps-dev): bump @types/node from 25.2.2 to 25.2.3 in 
/superset-websocket (#37846)
     add 7d4a7f113c4 chore(deps-dev): bump webpack from 5.105.0 to 5.105.1 in 
/docs (#37849)
     add 7e5ca83220e chore(deps-dev): bump @types/node from 25.2.2 to 25.2.3 in 
/superset-frontend (#37851)
     add 9a79dbf4457 fix(docs): make page size selector work in database table 
(#37863)
     add 69c679be20a fix(explore): Don't show unsaved changes modal on new 
charts (#37714)
     add 74e1607010e fix(extensions): broken test (#37871)
     add 88a14f2ba0d fix(FiltersBadge): world map wont show filter icon after 
refresh page (#37260)
     add c28729f944f chore(lint): add jest/expect-expect rule for test 
assertions (#37887)
     add 534fa48f1ff chore(lint): enforce stricter eslint/oxlint rules (#37883)
     add d640fe42c9b chore: remove Applitools visual testing integration 
(#37873)
     add 98ca599eef9 perf: fix N+1 query in chart list API when thumbnail_url 
is requested (#37895)
     add 9089f300459 chore(lint): upgrade array creation, effect, and 
TypeScript rules (#37885)
     add 255a0ada814 fix(gtf): add missing user_id to task commands (#37867)
     add 5f0001affc9 feat(timeseries): remove stream style for bar charts 
(#37532)
     add 26a2e127793 perf: fix N+1 query in Slice.datasource property (#37899)
     add 00d02cb2ea1 perf(gtf): improve task base filter (#37900)
     add b0be47a4ac2 fix: Unreachable drop zones within tabs in dashbboard 
editor (#37904)
     add b012b63e5b8 fix(native-filters): align refresh icon with default value 
field (#37802)
     add 981b370fe9e chore(storybook): consolidate storybook and enhance plugin 
stories (#37771)
     add 77148277b96 feat(charts): improve negative stacked bar label 
positioning and accessibility (#37405)
     add 19ec7b48a0f fix: Conditional formatting painting empty cells (#37894)
     add 30ccbb2e050 chore(deps): update @types/geojson requirement from 
^7946.0.10 to ^7946.0.16 in 
/superset-frontend/plugins/plugin-chart-cartodiagram (#37908)
     add afacca350f0 chore(deps-dev): bump oxlint from 1.42.0 to 1.46.0 in 
/superset-frontend (#37917)
     add 3f64c257120 fix(mcp): Add database_name as valid filter column for 
list_datasets (#37865)
     add 4dfece9ee54 feat(mcp): add event_logger instrumentation to MCP tools 
(#37859)
     add 88ce1425e2c fix(roles): optimize user fetching and resolve N+1 query 
issue (#37235)
     add dbf5e1f1314 feat(theme): use IBM Plex Mono for code and numerical 
displays (#37366)
     add 58d245c6b03 chore(deps): Update sqlachemy-utils to 0.42.0 (#36240)
     add 0d5ddb36749 feat(themes): add enhanced validation and error handling 
with fallback mechanisms (#37378)
     add 6328e516206 test(examples): add tests for UUID threading and security 
bypass (#37557)
     add 142b2cc4254 test(e2e): add Playwright E2E tests for Chart List page 
(#37866)
     add 080f629ea21 fix(echarts): formula annotations not rendering with 
dataset-level columns label (#37522)
     add 0c0d915391d fix(echarts-timeseries-combined-labels): combine 
annotation labels for events at same timestamp (#37164)
     add e3e2bece6bc feat(owners): display email in owner selectors (#37906)
     add ffd7f103207 chore(deps): bump markdown-to-jsx from 9.7.3 to 9.7.4 in 
/superset-frontend (#37959)
     add 75d6a95ac39 chore(deps): bump aquasecurity/trivy-action from 0.33.1 to 
0.34.0 (#37958)
     add 79f51e2ae7d chore(deps-dev): bump webpack from 5.105.1 to 5.105.2 in 
/docs (#37953)
     add 475615e1186 chore(deps): bump ioredis from 5.9.2 to 5.9.3 in 
/superset-websocket (#37951)
     add a65f73a5323 chore(deps): bump qs from 6.14.1 to 6.14.2 in /docs 
(#37937)
     add 73adff55ee8 chore(deps): Relax sqlalchemy-utils lower bound for 
pydoris compatibility  (#37949)
     add 097f474f24b chore(deps): bump pillow from 11.3.0 to 12.1.1 (#37935)
     add cbf153845ed chore(deps): bump qs from 6.14.1 to 6.14.2 in 
/superset-websocket/utils/client-ws-app (#37933)
     add 440602ef344 fix(utils): datetime_to_epoch function is fixed to 
timezone aware epoch (#37979)
     add 5300f65a74e chore(deps): bump qs from 6.14.1 to 6.14.2 in 
/superset-frontend (#37936)
     add d748ed19ced chore(deps): bump hot-shots from 13.2.0 to 14.0.0 in 
/superset-websocket (#37993)
     add 232b34d9443 chore(deps-dev): bump webpack-sources from 3.3.3 to 3.3.4 
in /superset-frontend (#38004)
     add eee3af57759 chore(deps-dev): bump oxlint from 1.46.0 to 1.47.0 in 
/superset-frontend (#38005)
     add 982e2c1ef7f chore(deps-dev): bump webpack from 5.105.0 to 5.105.2 in 
/superset-frontend (#38003)
     add c873225308e chore(deps-dev): bump jsdom from 28.0.0 to 28.1.0 in 
/superset-frontend (#37997)
     add d47a7105dfa chore(deps): bump caniuse-lite from 1.0.30001769 to 
1.0.30001770 in /docs (#37994)
     add 2c9f0c1c2a8 chore(deps-dev): bump wait-on from 9.0.3 to 9.0.4 in 
/superset-frontend (#37999)
     add 22ac5e02b60 fix(deckgl): remove dataset field from Deck.gl Layer 
Visibility Display controls (#37611)
     add 8853ff19d48 chore(websocket): migrate external uuid usage with Node's 
native UUID generator (#37101)
     add 7b21979fa3b fix(charts): Force refresh uses async mode when GAQ is 
enabled (#37845)
     add 3e3c9686de8 perf(dashboard): Batch RLS filter lookups for dashboard 
digest computation (#37941)
     add 84f1ee44093 feat: added conditional formatting enhancements string to 
pivot table (#35863)
     add 604d49f5579 chore(deps): bump datamaps from 0.5.9 to 0.5.10 in 
/superset-frontend (#37913)
     add 9566e8a9c6a chore(deps-dev): bump 
eslint-plugin-react-you-might-not-need-an-effect from 0.8.5 to 0.9.1 in 
/superset-frontend (#38000)
     add 5cd829f13c8 fix(mcp): handle more chart types in get_chart_data 
fallback query construction (#37969)
     add f7218e7a192 feat(mcp): expose current user identity in 
get_instance_info and add created_by_fk filter (#37967)
     add aec1f6edce9 fix(mcp): use last data-bearing statement in execute_sql 
response (#37968)
     add 5a777c0f45f feat(matrixify): add single metric constraint (#37169)
     add 746e266e901 chore(deps): bump swagger-ui-react from 5.31.0 to 5.31.1 
in /docs (#38023)
     add b0f9a73f63d chore(deps-dev): bump typescript-eslint from 8.54.0 to 
8.56.0 in /superset-websocket (#38020)
     add 5efc7ea5a51 chore(deps-dev): bump typescript-eslint from 8.55.0 to 
8.56.0 in /docs (#38024)
     add 868e719c60e chore(deps-dev): bump oxlint from 1.47.0 to 1.48.0 in 
/superset-frontend (#38055)
     add 65c460c9d26 chore(deps-dev): bump @swc/plugin-emotion from 14.5.0 to 
14.6.0 in /superset-frontend (#38053)
     add cd4cd537260 chore(deps-dev): bump css-loader from 7.1.3 to 7.1.4 in 
/superset-frontend (#38050)
     add 090eab099c0 chore(deps): bump storybook from 8.6.15 to 8.6.16 in /docs 
(#38043)
     add a30492f55e1 fix(plugin/cal-heatmap): properly color tooltip's text for 
both dark/light theme (#38010)
     add 9131739f98b fix(home): null check for possibly undefined filtered 
other table data due to insufficient permission (#37983)
     add 7b56fc1714c fix(docs): correct DB module filename for editing + update 
DB metadata file (#37990)
     add 0d2c8fd3737 chore(deps): bump @storybook/core from 8.6.15 to 8.6.16 in 
/docs (#38046)
     add 21481eef4fc chore(deps): bump the storybook group in /docs with 9 
updates (#38067)
     add 29f499528ff chore(deps-dev): bump eslint-plugin-testing-library from 
7.15.4 to 7.16.0 in /superset-frontend (#38066)
     add af3e0882331 build(deps): resolve GHSA-36jr-mh4h-2g58 by upgrading 
d3-color to 3.1.0 (#37981)
     add 11a36ff4887 chore(deps-dev): bump the storybook group across 1 
directory with 11 updates (#38068)
     add 9ec56f5f02b fix: Include app_root in next param (#37942)
     add 33441ccf3db feat: add formatting column and formatting object to 
conditional formating table (#35897)
     add f54bbdc06b3 chore(deps): bump dawidd6/action-download-artifact from 14 
to 15 (#38060)
     add de079a7b199 feat(deps)!: bump postgresql from 16 to 17 (#37782)
     add 6b80135aa28 chore(lint): enforce more strict eslint/oxlint rules 
(batch 2) (#37884)
     add c175346808a fix(table-charts): Prevent time grain from altering Raw 
Records in Tables + Interactive Tables (#37561)
     add 0b77ace1109 chore: fix lint issue with `no-unsafe-optional-chaining` 
rule (#38103)
     add f5a5a804e23 perf(dashboard): skip thumbnail_url computing on single 
dashboard endpoint (#38015)
     add b7a3224f040 feat: Larger folder drag area in folders editor (#38102)
     add e12140beb65 fix: Warning toast copy in folders editor (#38099)
     add 86c8fa5cd7b fix: Badge count in folders editor (#38100)
     add f049d3e34aa fix: Search in folders editor with verbose names (#38101)
     add 1f76944c2b1 fix: Add editors to ContributionConfig and additional 
properties to EditorKeyword (#38098)
     add 5cc8ae5427d chore(deps): bump ol from 7.5.2 to 10.8.0 in 
/superset-frontend (#37961)
     add 6a61baf5be8 fix(alerts): show friendly filter names in report edit 
modal (#38054)
     add 3868821dc81 fix(webpack): skip building service worker in dev (#38106)
     add c1727cd2365 feat(deckgl): add point radius controls for GeoJSON layer
     add faabaa02cfc fix(deckgl): use deck.gl defaults for backward 
compatibility
     add c99547a5717 test(deckgl): add backward compatibility tests for point 
radius
     add e264c6399c1 fix(lint): use destructuring syntax for oxlint compliance

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   (ee1a8ffa79a)
            \
             N -- N -- N   refs/heads/geojson-controls (e264c6399c1)

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/dependabot.yml                             |    93 +-
 .github/workflows/bashlib.sh                       |    23 -
 .github/workflows/dependency-review.yml            |     6 +-
 .github/workflows/docker.yml                       |     2 +-
 .github/workflows/superset-app-cli.yml             |     2 +-
 .github/workflows/superset-applitool-cypress.yml   |    91 -
 .../workflows/superset-applitools-storybook.yml    |    52 -
 .github/workflows/superset-docs-deploy.yml         |     4 +-
 .github/workflows/superset-docs-verify.yml         |     2 +-
 .github/workflows/superset-e2e.yml                 |     4 +-
 .github/workflows/superset-frontend.yml            |     5 -
 .github/workflows/superset-playwright.yml          |     2 +-
 .../workflows/superset-python-integrationtest.yml  |     2 +-
 .github/workflows/superset-python-presto-hive.yml  |     4 +-
 UPDATING.md                                        |    58 +
 docker-compose-image-tag.yml                       |     2 +-
 docker-compose-light.yml                           |     2 +-
 docker-compose-non-dev.yml                         |     2 +-
 docker-compose.yml                                 |     2 +-
 docs/.nvmrc                                        |     2 +-
 .../extensions/contribution-types.md               |    54 +-
 docs/developer_portal/extensions/development.md    |    14 +-
 .../extensions/extension-points/sqllab.md          |    54 +-
 docs/developer_portal/extensions/overview.md       |     1 +
 docs/developer_portal/extensions/quick-start.md    |    14 +-
 docs/developer_portal/extensions/registry.md       |     2 +-
 docs/developer_portal/extensions/tasks.md          |   440 +
 .../guidelines/frontend-style-guidelines.md        |     2 +-
 docs/developer_portal/sidebars.js                  |     1 +
 docs/developer_portal/testing/overview.md          |     2 -
 docs/docs/configuration/cache.mdx                  |    84 +
 docs/docs/configuration/configuring-superset.mdx   |     8 +-
 docs/docusaurus.config.ts                          |     1 -
 docs/i18n/en/docusaurus-theme-classic/footer.json  |     2 +-
 docs/package.json                                  |    31 +-
 docs/sidebarTutorials.js                           |     1 +
 docs/src/components/databases/DatabaseIndex.tsx    |     2 +-
 docs/src/components/databases/DatabasePage.tsx     |     8 +-
 docs/src/data/databases.json                       |   170 +-
 docs/static/img/applitools.png                     |   Bin 37046 -> 0 bytes
 docs/yarn.lock                                     |  1042 +-
 helm/superset/Chart.lock                           |     6 +-
 helm/superset/Chart.yaml                           |     4 +-
 helm/superset/README.md                            |     4 +-
 helm/superset/values.yaml                          |    30 +
 pyproject.toml                                     |     6 +-
 requirements/base.txt                              |     4 +-
 requirements/development.txt                       |     4 +-
 superset-core/pyproject.toml                       |     6 +-
 superset-core/src/superset_core/api/daos.py        |    44 +
 superset-core/src/superset_core/api/models.py      |   129 +
 superset-core/src/superset_core/api/tasks.py       |   361 +
 .../src/superset_core/extensions/types.py          |    32 +-
 .../templates/frontend/package.json.j2             |     2 -
 superset-frontend/.eslintrc.js                     |    43 +-
 superset-frontend/.storybook/main.js               |    17 +-
 superset-frontend/.storybook/preview.jsx           |    21 +
 .../shared}/ErrorMessage.tsx                       |     0
 .../shared}/Expandable.tsx                         |     0
 .../shared}/ResizableChartDemo.tsx                 |    14 +-
 .../shared}/ResizablePanel.tsx                     |    20 +-
 .../shared}/VerifyCORS.tsx                         |     0
 .../shared/createQueryStory.tsx}                   |     4 +-
 .../shared/dummyDatasource.ts                      |     0
 .../shared/index.ts}                               |    27 +-
 superset-frontend/applitools.config.js             |    27 -
 .../cypress-base/applitools.config.js              |    29 -
 superset-frontend/cypress-base/cypress.config.ts   |   120 +-
 .../cypress/applitools/chartlist.test.ts           |    45 -
 .../cypress/applitools/dashboard.test.ts           |    53 -
 .../cypress/applitools/dashboardlist.test.ts       |    45 -
 .../cypress/applitools/explore.test.ts             |    46 -
 .../cypress/e2e/chart_list/_skip.filter.test.ts    |    57 -
 .../cypress/e2e/chart_list/list.test.ts            |    57 -
 .../cypress-base/cypress/support/e2e.ts            |     1 -
 superset-frontend/cypress-base/package-lock.json   | 17323 ++---
 superset-frontend/cypress-base/package.json        |     1 -
 superset-frontend/cypress-base/tsconfig.json       |     4 +-
 superset-frontend/jest.config.js                   |     3 +-
 superset-frontend/oxlint.json                      |    47 +-
 superset-frontend/package-lock.json                | 73728 ++++++++-----------
 superset-frontend/package.json                     |    83 +-
 .../packages/superset-core/package.json            |     6 +-
 .../superset-core/src/api/contributions.ts         |    51 +-
 .../packages/superset-core/src/api/editors.ts      |     4 +
 .../superset-core/src/spec/utils/logging.test.ts   |     4 +-
 .../superset-core/src/ui/theme/GlobalStyles.tsx    |     6 +-
 .../superset-core/src/ui/theme/Theme.test.tsx      |     2 +-
 .../packages/superset-core/src/ui/theme/types.ts   |     1 +
 .../packages/superset-core/src/utils/index.ts      |     1 +
 .../superset-core/src/utils/isBlank.test.ts        |    59 +
 .../superset-core/src/utils/isBlank.ts}            |    22 +-
 .../components/RadioButtonControl.tsx              |   103 +-
 .../src/shared-controls/matrixifyControls.tsx      |    33 +-
 .../superset-ui-chart-controls/src/types.ts        |    91 +
 .../src/utils/getColorFormatters.ts                |    15 +-
 .../src/utils/metricColumnFilter.test.ts           |    20 +-
 .../test/components/ColumnTypeLabel.test.tsx       |    16 +-
 .../superset-ui-chart-controls/test/index.test.ts  |     2 +-
 .../test/operators/aggregateOperator.test.ts       |    10 +-
 .../components/RadioButtonControl.test.tsx         |   420 +
 .../test/utils/colorControls.test.ts               |    10 +-
 .../test/utils/columnChoices.test.tsx              |    10 +-
 .../test/utils/defineSavedMetrics.test.tsx         |     4 +-
 .../test/utils/expandControlConfig.test.tsx        |    14 +-
 .../test/utils/getColorFormatters.test.ts          |   111 +
 .../test/utils/mainMetric.test.ts                  |     8 +-
 .../test/utils/selectOptions.test.ts               |     6 +-
 .../packages/superset-ui-core/package.json         |     8 +-
 .../chart/stories}/ChartDataProvider.stories.tsx   |     4 +-
 .../src/chart/stories}/SuperChart.stories.tsx      |     2 +-
 .../src/color/stories}/ColorPalettes.stories.tsx   |     0
 .../src/color/stories}/RenderPalettes.tsx          |     0
 .../src/color/stories}/color-styles.css            |    11 +-
 .../AsyncAceEditor/AsyncAceEditor.test.tsx         |    15 +
 .../src/components/AsyncAceEditor/index.tsx        |     5 +-
 .../AsyncAceEditor/useJsonValidation.test.ts       |    12 +-
 .../components/AutoComplete/AutoComplete.test.tsx  |     6 +-
 .../src/components/Breadcrumb/Breadcrumb.test.tsx  |     2 +-
 .../components/CachedLabel/CachedLabel.stories.tsx |   100 +
 .../components/CachedLabel/CachedLabel.test.tsx    |     4 +-
 .../src/components/Checkbox/Checkbox.test.tsx      |    20 +-
 .../CodeSyntaxHighlighter/index.test.tsx           |    18 +-
 .../src/components/Dropdown/Dropdown.test.tsx      |     8 +-
 .../DynamicEditableTitle.test.tsx                  |     8 +-
 .../EditableTitle/EditableTitle.test.tsx           |    10 +-
 .../Form/LabeledErrorBoundInput.test.tsx           |    10 +-
 .../src/components/Grid/Grid.test.tsx              |     2 +-
 .../src/components/IconButton/IconButton.test.tsx  |    12 +-
 .../src/components/Icons/AntdEnhanced.tsx          |     2 +
 .../src/components/Label/Label.test.tsx            |     5 +
 .../src/components/Layout/Layout.test.tsx          |    18 +-
 .../components/ListViewCard/ImageLoader.test.tsx   |     6 +-
 .../components/ListViewCard/ListViewCard.test.tsx  |     6 +-
 .../src/components/Modal/FormModal.test.tsx        |    10 +-
 .../src/components/Modal/Modal.tsx                 |     2 +-
 .../components/ModalTrigger/ModalTrigger.test.tsx  |     2 +-
 .../src/components/Radio/Radio.test.tsx            |     2 +-
 .../SafeMarkdown/SafeMarkdown.stories.tsx          |   249 +
 .../src/components/Select/Select.test.tsx          |    14 +-
 .../src/components/Skeleton/Skeleton.test.tsx      |     6 +-
 .../TableCollection/TableCollection.stories.tsx    |   530 +
 .../src/components/Tabs/Tabs.test.tsx              |    46 +-
 .../src/components/Timer/Timer.test.tsx            |     2 +-
 .../src/components/Tree/Tree.test.tsx              |     2 +-
 .../src/components/TreeSelect/TreeSelect.test.tsx  |     2 +-
 .../src/components/Typography/Typography.test.tsx  |    14 +-
 .../src/components/Upload/Upload.test.tsx          |     2 +-
 .../src/connection/callApi/callApi.ts              |    10 +-
 .../src/connection/stories}/Connection.stories.tsx |    12 +-
 .../src/models/ExtensibleFunction.ts               |     3 +-
 .../src/number-format/D3FormatConfig.ts            |     1 +
 .../factories/createD3NumberFormatter.ts           |    12 +-
 .../factories/createSiAtMostNDigitFormatter.ts     |     6 +-
 .../factories/createSmartNumberFormatter.ts        |    10 +-
 .../stories}/NumberFormat.stories.tsx              |     0
 .../src/style/stories}/Theme.stories.tsx           |     0
 .../time-format/stories}/TimeFormat.stories.tsx    |     0
 .../superset-ui-core/src/utils/dates.test.ts       |    24 +-
 .../superset-ui-core/src/utils/featureFlags.ts     |     1 +
 .../superset-ui-core/src/utils/html.test.tsx       |    75 +-
 .../packages/superset-ui-core/src/utils/html.tsx   |     2 +
 .../superset-ui-core/src/utils/merge.test.ts       |     6 +-
 .../chart-composition/legend/WithLegend.test.tsx   |    19 +-
 .../tooltip/TooltipFrame.test.tsx                  |     4 +-
 .../tooltip/TooltipTable.test.tsx                  |     6 +-
 .../test/chart/clients/ChartClient.test.ts         |    32 +-
 .../chart/components/ChartDataProvider.test.tsx    |    38 +-
 .../test/chart/components/SuperChart.test.tsx      |    34 +-
 .../test/chart/components/SuperChartCore.test.tsx  |    28 +-
 .../components/createLoadableRenderer.test.tsx     |    12 +-
 .../test/chart/components/reactify.test.tsx        |    18 +-
 .../superset-ui-core/test/chart/index.test.ts      |     2 +-
 .../test/chart/models/ChartMetadata.test.ts        |    12 +-
 .../test/chart/models/ChartPlugin.test.tsx         |    40 +-
 .../test/chart/models/ChartProps.test.ts           |    14 +-
 .../test/color/CategoricalColorNameSpace.test.ts   |    48 +-
 .../test/color/CategoricalColorScale.test.ts       |    68 +-
 .../CategoricalSchemeRegistrySingleton.test.ts     |     2 +-
 .../test/color/ColorScheme.test.ts                 |     2 +-
 .../test/color/ColorSchemeRegistry.test.ts         |     8 +-
 .../test/color/LabelsColorMapSingleton.test.ts     |    42 +-
 .../test/color/SequentialScheme.test.ts            |    20 +-
 .../SequentialSchemeRegistrySingleton.test.ts      |     2 +-
 .../test/color/colorSchemes.test.ts                |     4 +-
 .../superset-ui-core/test/color/index.test.ts      |     2 +-
 .../superset-ui-core/test/color/utils.test.ts      |    34 +-
 .../Icons/AsyncIcon.integration.test.tsx           |     8 +-
 .../test/components/SafeMarkdown.test.tsx          |    12 +-
 .../test/connection/SupersetClient.test.ts         |     6 +-
 .../test/connection/SupersetClientClass.test.ts    |    72 +-
 .../test/connection/callApi/callApi.test.ts        |    73 +-
 .../callApi/callApiAndParseWithTimeout.test.ts     |    12 +-
 .../test/connection/callApi/parseResponse.test.ts  |    16 +-
 .../connection/callApi/rejectAfterTimeout.test.ts  |     2 +-
 .../test/dimension/computeMaxFontSize.test.ts      |    10 +-
 .../dimension/getMultipleTextDimensions.test.ts    |    22 +-
 .../test/dimension/getTextDimension.test.ts        |    24 +-
 .../test/dimension/mergeMargin.test.ts             |    18 +-
 .../test/dimension/parseLength.test.ts             |    10 +-
 .../test/dimension/svg/LazyFactory.test.ts         |    10 +-
 .../test/dimension/svg/getBBoxCeil.test.ts         |     8 +-
 .../test/dimension/svg/updateTextNode.test.ts      |    10 +-
 .../test/dynamic-plugins/shared-modules.test.ts    |    10 +-
 .../packages/superset-ui-core/test/index.test.ts   |     2 +-
 .../test/models/ExtensibleFunction.test.ts         |     8 +-
 .../superset-ui-core/test/models/Plugin.test.ts    |    18 +-
 .../superset-ui-core/test/models/Preset.test.ts    |     8 +-
 .../superset-ui-core/test/models/Registry.test.ts  |    96 +-
 .../test/models/RegistryWithDefaultKey.test.ts     |    52 +-
 .../test/models/TypedRegistry.test.ts              |     4 +-
 .../test/number-format/NumberFormatter.test.ts     |    22 +-
 .../number-format/NumberFormatterRegistry.test.ts  |    20 +-
 .../NumberFormatterRegistrySingleton.test.ts       |    16 +-
 .../factories/createD3NumberFormatter.test.ts      |    30 +-
 .../createSiAtMostNDigitFormatter.test.ts          |    12 +-
 .../factories/createSmartNumberFormatter.test.ts   |    47 +-
 .../test/number-format/index.test.ts               |     2 +-
 .../test/query/DatasourceKey.test.ts               |     4 +-
 .../query/api/legacy/getDatasourceMetadata.test.ts |     2 +-
 .../test/query/api/legacy/getFormData.test.ts      |     4 +-
 .../test/query/api/v1/getChartData.test.ts         |     2 +-
 .../test/query/api/v1/handleError.test.ts          |    26 +-
 .../test/query/api/v1/makeApi.test.ts              |    26 +-
 .../test/query/buildQueryContext.test.ts           |    10 +-
 .../test/query/buildQueryObject.test.ts            |    34 +-
 .../test/query/convertFilter.test.ts               |     6 +-
 .../test/query/extractExtras.test.ts               |     6 +-
 .../test/query/extractQueryFields.test.ts          |    26 +-
 .../test/query/extractTimegrain.test.ts            |    10 +-
 .../test/query/getColumnLabel.test.ts              |     6 +-
 .../test/query/getMetricLabel.test.ts              |    10 +-
 .../test/query/normalizeOrderBy.test.ts            |    20 +-
 .../test/query/processExtraFormData.test.ts        |    10 +-
 .../test/query/processFilters.test.ts              |     8 +-
 .../test/query/types/AnnotationLayer.test.ts       |    20 +-
 .../test/query/types/Filter.test.ts                |    16 +-
 .../time-comparison/customTimeRangeDecode.test.ts  |    22 +-
 .../time-comparison/getComparisonFilters.test.ts   |     8 +-
 .../test/time-comparison/getComparisonInfo.test.ts |    12 +-
 .../test/time-comparison/getTimeOffset.test.ts     |    46 +-
 .../test/time-comparison/index.test.ts             |     2 +-
 .../test/time-comparison/parseDttmToDate.test.ts   |   114 +-
 .../test/time-format/TimeFormatter.test.ts         |    20 +-
 .../test/time-format/TimeFormatterRegistry.test.ts |    32 +-
 .../TimeFormatterRegistrySingleton.test.ts         |    24 +-
 .../factories/createD3TimeFormatter.test.ts        |    10 +-
 .../factories/createMultiFormatter.test.ts         |    64 +-
 .../test/time-format/formatters/smartDate.test.ts  |    20 +-
 .../formatters/smartDateDetailed.test.ts           |    24 +-
 .../formatters/smartDateVerbose.test.ts            |    16 +-
 .../test/time-format/index.test.ts                 |     2 +-
 .../test/time-format/utils/createTime.test.ts      |     8 +-
 .../utils/createTimeRangeFromGranularity.test.ts   |     4 +-
 .../test/time-format/utils/d3Time.test.ts          |    28 +-
 .../test/utils/convertKeysToCamelCase.test.ts      |     8 +-
 .../test/utils/ensureIsArray.test.ts               |     2 +-
 .../test/utils/ensureIsInt.test.ts                 |     2 +-
 .../test/utils/getSelectedText.test.ts             |     3 +-
 .../superset-ui-core/test/utils/isDefined.test.ts  |     4 +-
 .../superset-ui-core/test/utils/isRequired.test.ts |     2 +-
 .../test/utils/makeSingleton.test.ts               |     8 +-
 .../test/utils/promiseTimeout.test.ts              |     4 +-
 .../superset-ui-core/test/utils/random.test.ts     |     4 +-
 .../test/utils/removeDuplicates.test.ts            |     4 +-
 .../test/validator/legacyValidateInteger.test.ts   |     4 +-
 .../test/validator/legacyValidateNumber.test.ts    |     4 +-
 .../test/validator/validateInteger.test.ts         |     4 +-
 .../test/validator/validateMapboxStylesUrl.test.ts |     4 +-
 .../test/validator/validateNonEmpty.test.ts        |     4 +-
 .../test/validator/validateNumber.test.ts          |     4 +-
 .../validateTimeComparisonRangeValues.test.ts      |     4 +-
 .../packages/superset-ui-demo/.babelrc.json        |    18 -
 .../packages/superset-ui-demo/.storybook/main.js   |    55 -
 .../superset-ui-demo/.storybook/preview.js         |    77 -
 .../superset-ui-demo/.storybook/storybook.css      |    19 -
 .../superset-ui-demo/.storybook/themeDecorator.jsx |    10 -
 .../packages/superset-ui-demo/CHANGELOG.md         |    89 -
 .../packages/superset-ui-demo/README.md            |    28 -
 .../packages/superset-ui-demo/package.json         |    84 -
 .../storybook/stories/ExampleApp.stories.jsx       |    90 -
 .../LegacyPluginChartCalendar.stories.tsx          |    53 -
 .../legacy-plugin-chart-map-box/MapBox.stories.tsx |    58 -
 .../Partition.stories.tsx                          |    52 -
 .../legacy-plugin-chart-rose/Rose.stories.tsx      |    45 -
 .../legacy-preset-chart-deckgl/Arc/payload.js      |   269 -
 .../legacy-preset-chart-deckgl/Grid/payload.js     |   113 -
 .../legacy-preset-chart-deckgl/Hex/payload.js      |   113 -
 .../legacy-preset-chart-deckgl/Path/payload.js     |   227 -
 .../Polygon/geojsonPayload.js                      |   130 -
 .../legacy-preset-chart-deckgl/Polygon/payload.js  |   382 -
 .../legacy-preset-chart-deckgl/Scatter/payload.js  |   228 -
 .../Screengrid/payload.js                          |   135 -
 .../BoxPlot/NVD3BoxPlot.stories.tsx                |    28 -
 .../legacy-preset-chart-nvd3/BoxPlot/data.ts       |    77 -
 .../BoxPlot/stories/basic.tsx                      |    37 -
 .../Bubble/NVD3Bubble.stories.tsx                  |    29 -
 .../Bubble/stories/basic.tsx                       |    55 -
 .../Bullet/NVD3Bullet.stories.tsx                  |    29 -
 .../Bullet/stories/basic.tsx                       |    41 -
 .../Compare/NVD3Compare.stories.tsx                |    30 -
 .../Compare/stories/basic.tsx                      |    48 -
 .../Compare/stories/timeFormat.tsx                 |   249 -
 .../plugin-chart-echarts/Gauge/Gauge.stories.tsx   |    52 -
 .../plugin-chart-echarts/Graph/Graph.stories.tsx   |    54 -
 .../PivotTable.stories.tsx                         |    74 -
 .../plugins/plugin-chart-table/birthNames.json     | 13354 ----
 .../plugin-chart-word-cloud/WordCloud.stories.tsx  |   188 -
 .../packages/superset-ui-demo/tsconfig.json        |    22 -
 .../src/switchboard.test.ts                        |    26 +-
 .../components/modals/ChartPropertiesModal.ts      |    52 +
 .../playwright/helpers/api/assertions.ts           |    58 +
 superset-frontend/playwright/helpers/api/chart.ts  |   104 +
 .../playwright/helpers/fixtures/testAssets.ts      |    57 +-
 .../playwright/pages/ChartListPage.ts              |   132 +
 .../tests/experimental/chart/chart-list.spec.ts    |   307 +
 .../tests/experimental/chart/chart-test-helpers.ts |    88 +
 .../experimental/dataset/dataset-list.spec.ts      |    55 +-
 .../src/ReactCalendar.tsx                          |     2 +-
 .../stories/LegacyPluginChartCalendar.stories.tsx  |   123 +
 .../src/stories}/data.ts                           |     0
 .../test/utils.test.ts                             |    14 +-
 .../legacy-plugin-chart-calendar/tsconfig.json     |     3 +-
 .../stories}/LegacyPluginChartChord.stories.tsx    |    45 +-
 .../legacy-plugin-chart-chord/src/stories}/data.ts |    10 +-
 .../legacy-plugin-chart-chord/tsconfig.json        |     3 +-
 .../src/stories}/CountryMap.stories.tsx            |    29 +-
 .../test/CountryMap.test.tsx                       |     6 +-
 .../legacy-plugin-chart-country-map/tsconfig.json  |     3 +-
 .../legacy-plugin-chart-horizon/package.json       |     2 +-
 .../src/stories}/Horizon.stories.tsx               |    36 +-
 .../src/stories}/data.ts                           |     0
 .../legacy-plugin-chart-horizon/tsconfig.json      |     3 +-
 .../src/ScatterPlotGlowOverlay.tsx                 |     2 +-
 .../src/stories/MapBox.stories.tsx                 |   107 +
 .../src/stories}/data.ts                           |     0
 .../test/utils/roundDecimal.test.ts                |     2 +-
 .../legacy-plugin-chart-map-box/tsconfig.json      |     3 +-
 .../src/stories}/TTest.stories.tsx                 |    45 +-
 .../src/stories}/data.ts                           |     0
 .../tsconfig.json                                  |     3 +-
 .../src/stories}/ParallelCoordinates.stories.tsx   |    53 +-
 .../src/stories}/data.ts                           |     0
 .../tsconfig.json                                  |     3 +-
 .../src/stories/Partition.stories.tsx              |   101 +
 .../src/stories}/data.ts                           |     0
 .../test/OptionDescription.test.tsx                |     4 +-
 .../legacy-plugin-chart-partition/tsconfig.json    |     3 +-
 .../src/stories/Rose.stories.tsx                   |    95 +
 .../legacy-plugin-chart-rose/src/stories}/data.ts  |     0
 .../plugins/legacy-plugin-chart-rose/tsconfig.json |     3 +-
 .../legacy-plugin-chart-world-map/package.json     |     2 +-
 .../src/stories}/WorldMap.stories.tsx              |    35 +-
 .../src/stories}/data.ts                           |     0
 .../test/WorldMap.test.ts                          |     8 +-
 .../legacy-plugin-chart-world-map/tsconfig.json    |     3 +-
 .../legacy-preset-chart-deckgl/package.json        |    10 +-
 .../src/Multi/Multi.test.tsx                       |    36 +-
 .../src/layers/Arc/stories}/Arc.stories.tsx        |    48 +-
 .../src/layers/Arc/stories/payload.ts              |    80 +
 .../src/layers/Contour/getSafeCellSize.test.ts     |    12 +-
 .../src/layers/Geojson/Geojson.test.ts             |     4 +-
 .../src/layers/Grid/stories}/Grid.stories.tsx      |    45 +-
 .../src/layers/Grid/stories/payload.ts             |    41 +
 .../src/layers/Hex/stories}/Hex.stories.tsx        |    45 +-
 .../src/layers/Hex/stories/payload.ts              |    46 +
 .../src/layers/Path/Path.test.tsx                  |     3 +-
 .../src/layers/Path/stories}/Path.stories.tsx      |    38 +-
 .../src/layers/Path/stories/payload.ts}            |    30 +-
 .../src/layers/Polygon/Polygon.test.tsx            |    22 +-
 .../layers/Polygon/stories}/Polygon.stories.tsx    |   174 +-
 .../src/layers/Polygon/stories/geojsonPayload.ts   |    77 +
 .../src/layers/Polygon/stories/payload.ts}         |    79 +-
 .../src/layers/Scatter/buildQuery.test.ts          |   245 +-
 .../src/layers/Scatter/buildQuery.ts               |    44 +-
 .../layers/Scatter/stories}/Scatter.stories.tsx    |    54 +-
 .../src/layers/Scatter/stories/payload.ts          |    41 +
 .../Screengrid/stories/Screengrid.stories.tsx}     |    36 +-
 .../src/layers/Screengrid/stories/payload.ts       |    44 +
 .../src/layers/buildQueryUtils.ts                  |     4 -
 .../src/layers/common.test.ts                      |    42 +-
 .../src/layers/spatialUtils.test.ts                |    54 +-
 .../legacy-preset-chart-deckgl/src/utils.test.ts   |    48 +-
 .../legacy-preset-chart-deckgl/src/utils.ts        |     2 +-
 .../src/utils/crossFiltersDataMask.test.ts         |    14 +-
 .../test/utils/colors.test.ts                      |     2 +-
 .../test/utils/getPointsFromPolygon.test.ts        |     4 +-
 .../src/BoxPlot/stories/NVD3BoxPlot.stories.tsx    |    81 +
 .../src/BoxPlot/stories/data.ts                    |    78 +
 .../src/Bubble/stories/NVD3Bubble.stories.tsx      |   103 +
 .../src/Bubble/stories}/data.ts                    |     0
 .../src/Bullet/stories/NVD3Bullet.stories.tsx      |    87 +
 .../src/Bullet/stories}/data.ts                    |     0
 .../src/Compare/stories/NVD3Compare.stories.tsx    |   208 +
 .../src/Compare/stories}/data.ts                   |     0
 .../legacy-preset-chart-nvd3/test/utils.test.ts    |    18 +-
 .../test/utils/isTruthy.test.ts                    |    12 +-
 .../test/utils/tokenize.test.ts                    |    14 +-
 .../src/AgGridTableChart.tsx                       |    18 +-
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |     2 +-
 .../src/controlPanel.tsx                           |     2 +-
 .../src/renderers/TextCellRenderer.tsx             |     2 +
 .../src/stories/AgGridTable.stories.tsx            |   100 +
 .../plugin-chart-ag-grid-table/src/stories/data.ts |    58 +
 .../src/transformProps.ts                          |     5 +-
 .../plugin-chart-ag-grid-table/src/types.ts        |    86 +-
 .../test/AgGridTableChart.test.tsx                 |   359 +
 .../test/buildQuery.test.ts                        |   120 +-
 .../test/controlPanel.test.tsx                     |     2 +-
 .../test/utils/agGridFilterConverter.test.ts       |    90 +-
 .../test/utils/filterStateManager.test.ts          |    40 +-
 .../test/utils/getInitialFilterModel.test.ts       |    42 +-
 .../plugin-chart-ag-grid-table/tsconfig.json       |     3 +-
 .../plugins/plugin-chart-cartodiagram/package.json |     4 +-
 .../src/stories/Cartodiagram.stories.tsx           |   208 +
 .../plugin-chart-cartodiagram/src/stories/data.ts  |   206 +
 .../test/components/chartLayer.test.ts             |     4 +-
 .../plugin-chart-cartodiagram/test/index.test.ts   |     2 +-
 .../test/plugin/buildQuery.test.ts                 |     4 +-
 .../test/plugin/index.test.ts                      |     2 +-
 .../test/plugin/transformProps.test.ts             |     4 +-
 .../test/util/chartUtil.test.ts                    |     6 +-
 .../test/util/controlPanelUtil.test.tsx            |    12 +-
 .../test/util/geometryUtil.test.ts                 |     6 +-
 .../test/util/layerUtil.test.ts                    |     8 +-
 .../test/util/mapUtil.test.ts                      |     2 +-
 .../test/util/serviceUtil.test.ts                  |     8 +-
 .../test/util/transformPropsUtil.test.ts           |    34 +-
 .../plugin-chart-cartodiagram/tsconfig.json        |     3 +-
 .../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx |     6 +-
 .../BigNumberPeriodOverPeriod/controlPanel.ts      |     2 +-
 .../BigNumber/BigNumberPeriodOverPeriod/types.ts   |     5 -
 .../BigNumber/BigNumberTotal/controlPanel.test.ts  |     6 +-
 .../stories}/BigNumberTotal.stories.tsx            |    56 +-
 .../src/BigNumber/BigNumberTotal/stories}/data.ts  |     0
 .../BigNumberTotal/transformProps.test.ts          |    14 +-
 .../BigNumberWithTrendline/buildQuery.test.ts      |     8 +-
 .../stories}/BigNumber.stories.tsx                 |    76 +-
 .../BigNumberWithTrendline/stories}/data.ts        |     0
 .../BigNumberWithTrendline/transformProps.test.ts  |    12 +-
 .../src/BoxPlot/stories}/BoxPlot.stories.tsx       |    19 +-
 .../src/BoxPlot/stories}/data.ts                   |     0
 .../src/Bubble/stories}/BubbleChart.stories.tsx    |    43 +-
 .../src/Bubble/stories}/data.ts                    |     0
 .../src/Funnel/controlPanel.tsx                    |    28 +-
 .../src/Funnel/stories}/Funnel.stories.tsx         |    43 +-
 .../src/Funnel/stories}/constants.ts               |     0
 .../src/Funnel/transformProps.ts                   |    18 +-
 .../plugin-chart-echarts/src/Funnel/types.ts       |    10 +-
 .../src/Gauge/stories/Gauge.stories.tsx            |   118 +
 .../src/Gauge/stories}/data.ts                     |     0
 .../src/Graph/stories/Graph.stories.tsx            |   138 +
 .../src/Graph/stories}/data.ts                     |     0
 .../stories}/MixedSeries.stories.tsx               |   149 +-
 .../src/MixedTimeseries/stories}/negativeData.ts   |     0
 .../src/MixedTimeseries/transformProps.ts          |     2 +-
 .../src/Pie/stories}/Pie.stories.tsx               |   141 +-
 .../plugin-chart-echarts/src/Pie/stories}/data.ts  |     0
 .../src/Radar/stories}/Radar.stories.tsx           |    63 +-
 .../src/Radar/stories}/data.ts                     |     0
 .../src/Sunburst/stories}/Sunburst.stories.tsx     |    23 +-
 .../src/Sunburst/stories}/data.ts                  |     0
 .../src/Timeseries/EchartsTimeseries.test.tsx      |     7 +-
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |    21 +-
 .../stories}/AreaSeries/AreaSeries.stories.tsx     |    67 +-
 .../src/Timeseries/stories}/AreaSeries/data.ts     |     0
 .../src/Timeseries/stories}/Timeseries.stories.tsx |    96 +-
 .../src/Timeseries/stories}/confbandData.ts        |     0
 .../src/Timeseries/stories}/data.ts                |     0
 .../src/Timeseries/stories}/negativeNumData.ts     |     0
 .../src/Timeseries/stories}/stackWithNulls.ts      |     0
 .../src/Timeseries/transformProps.ts               |     3 +-
 .../src/Timeseries/transformers.ts                 |   303 +-
 .../src/Tree/stories}/Tree.stories.tsx             |   163 +-
 .../plugin-chart-echarts/src/Tree/stories}/data.ts |     0
 .../src/Treemap/stories}/Treemap.stories.tsx       |    27 +-
 .../src/Treemap/stories}/data.ts                   |     0
 .../src/Treemap/transformProps.ts                  |     2 -
 .../src/Waterfall/stories}/Waterfall.stories.tsx   |    38 +-
 .../src/Waterfall/stories}/data.ts                 |     0
 .../src/components/ExtraControls.tsx               |     7 +-
 .../plugins/plugin-chart-echarts/src/constants.ts  |     8 +
 .../plugins/plugin-chart-echarts/src/controls.tsx  |    21 +-
 .../src/utils/themeOverrides.test.ts               |    14 +-
 .../test/BigNumber/transformProps.test.ts          |    50 +-
 .../test/BoxPlot/buildQuery.test.ts                |     4 +-
 .../test/BoxPlot/transformProps.test.ts            |     2 +-
 .../test/Bubble/buildQuery.test.ts                 |     4 +-
 .../test/Bubble/transformProps.test.ts             |    14 +-
 .../test/Funnel/buildQuery.test.ts                 |     2 +-
 .../test/Funnel/transformProps.test.ts             |    10 +-
 .../test/Gantt/buildQuery.test.ts                  |     2 +-
 .../test/Gantt/transformProps.test.ts              |     8 +-
 .../test/Gauge/buildQuery.test.ts                  |     6 +-
 .../test/Gauge/transformProps.test.ts              |    36 +-
 .../test/Graph/buildQuery.test.ts                  |     8 +-
 .../test/Graph/transformProps.test.ts              |    10 +-
 .../test/MixedTimeseries/transformProps.test.ts    |   279 +-
 .../test/Pie/buildQuery.test.ts                    |     2 +-
 .../test/Pie/transformProps.test.ts                |    32 +-
 .../test/Radar/transformProps.test.ts              |     8 +-
 .../test/Timeseries/Bar/controlPanel.test.ts       |   344 +-
 .../test/Timeseries/Bar/transformProps.test.ts     |    24 +-
 .../test/Timeseries/buildQuery.test.ts             |    10 +-
 .../test/Timeseries/constants.test.ts              |     8 +-
 .../test/Timeseries/transformProps.test.ts         |   738 +-
 .../test/Timeseries/transformers.test.ts           |   129 +-
 .../test/Tree/buildQuery.test.ts                   |     4 +-
 .../test/Tree/transformProps.test.ts               |    10 +-
 .../test/Treemap/buildQuery.test.ts                |     2 +-
 .../test/Treemap/transformProps.test.ts            |     2 +-
 .../test/Waterfall/buildQuery.test.ts              |     2 +-
 .../plugins/plugin-chart-echarts/test/helpers.ts   |   110 +
 .../test/utils/annotation.test.ts                  |    16 +-
 .../test/utils/controls.test.ts                    |     4 +-
 .../test/utils/forecast.test.ts                    |    14 +-
 .../test/utils/formatters.test.ts                  |     6 +-
 .../plugin-chart-echarts/test/utils/series.test.ts |    80 +-
 .../test/utils/transformers.test.ts                |   265 +-
 .../test/utils/treeBuilder.test.ts                 |     4 +-
 .../plugins/plugin-chart-echarts/tsconfig.json     |     3 +-
 .../src/stories/Handlebars.stories.tsx             |   268 +
 .../plugin-chart-handlebars/src/stories/data.ts    |   129 +
 .../plugin-chart-handlebars/test/index.test.ts     |     2 +-
 .../test/plugin/buildQuery.test.ts                 |     2 +-
 .../test/plugin/transformProps.test.ts             |     2 +-
 .../plugins/plugin-chart-handlebars/tsconfig.json  |     3 +-
 .../src/plugin/controlPanel.tsx                    |    14 +-
 .../src/react-pivottable/TableRenderers.tsx        |    69 +-
 .../src/react-pivottable/utilities.ts              |     4 +-
 .../src/stories/PivotTable.stories.tsx             |   119 +
 .../src/stories}/testData.ts                       |     0
 .../plugin-chart-pivot-table/test/index.test.ts    |     2 +-
 .../test/plugin/transformProps.test.ts             |   489 +-
 .../src/DataTable/components/Pagination.tsx        |    10 +-
 .../plugins/plugin-chart-table/src/TableChart.tsx  |    77 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |     2 +-
 .../plugin-chart-table/src/controlPanel.tsx        |    35 +-
 .../src/stories}/Table.stories.tsx                 |    43 +-
 .../plugin-chart-table/src/stories/birthNames.json |    25 +
 .../plugin-chart-table/src/stories}/testData.ts    |     0
 .../plugin-chart-table/src/transformProps.ts       |     5 +-
 .../plugins/plugin-chart-table/src/types.ts        |    91 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |    73 +-
 .../plugin-chart-table/test/buildQuery.test.ts     |    26 +-
 .../plugin-chart-table/test/controlPanel.test.tsx  |     2 +-
 .../test/sortAlphanumericCaseInsensitive.test.ts   |     4 +-
 .../plugins/plugin-chart-table/tsconfig.json       |     3 +-
 .../plugins/plugin-chart-word-cloud/package.json   |     2 +-
 .../src/stories/WordCloud.stories.tsx              |    90 +
 .../plugin-chart-word-cloud/src/stories}/data.ts   |     0
 .../test/buildQuery.test.ts                        |     2 +-
 .../plugins/plugin-chart-word-cloud/tsconfig.json  |     3 +-
 superset-frontend/scripts/check-custom-rules.js    |     2 -
 .../scripts/check-storybook-coverage.js            |   221 +
 superset-frontend/spec/fixtures/mockStore.js       |    11 +
 superset-frontend/src/.eslintrc.json               |    11 -
 .../src/SqlLab/actions/sqlLab.test.ts              |     1 +
 .../src/SqlLab/components/App/index.tsx            |     8 +-
 .../SqlLab/components/AppLayout/AppLayout.test.tsx |     5 +-
 .../src/SqlLab/components/AppLayout/index.tsx      |     6 +-
 .../components/EditorWrapper/useKeywords.test.ts   |     4 +-
 .../SqlLab/components/EditorWrapper/useKeywords.ts |     2 +-
 .../src/SqlLab/components/QueryHistory/index.tsx   |     4 +-
 .../src/SqlLab/components/ResultSet/index.tsx      |     5 +-
 .../SaveDatasetModal/SaveDatasetModal.test.tsx     |     3 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |     6 +-
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |     2 +
 .../SqlLab/components/SqlEditorTopBar/index.tsx    |     4 +-
 .../src/SqlLab/components/StatusBar/index.tsx      |     6 +-
 .../TableExploreTree/TreeNodeRenderer.tsx          |     2 +-
 .../SqlLab/components/TableExploreTree/index.tsx   |    65 +-
 superset-frontend/src/SqlLab/contributions.ts      |    41 +-
 superset-frontend/src/SqlLab/fixtures.ts           |     2 +-
 .../src/SqlLab/reducers/sqlLab.test.ts             |     3 +
 .../src/SqlLab/utils/emptyQueryResults.test.ts     |     6 +-
 .../components/DeckglLayerVisibility/index.ts      |     1 +
 .../src/components/AuditInfo/index.tsx             |    25 +-
 .../src/components/AuditInfo/types.ts              |     2 +-
 .../ChartContextMenu/ChartContextMenu.test.tsx     |     6 +-
 .../Chart/DrillBy/useResultsTableView.test.ts      |    48 +
 .../Chart/DrillBy/useResultsTableView.tsx          |     5 +-
 .../src/components/Chart/chartActions.test.ts      |     2 +-
 .../useDrillDetailMenuItems.test.tsx               |     1 +
 .../Datasource/FoldersEditor/TreeItem.styles.ts    |    15 +-
 .../Datasource/FoldersEditor/TreeItem.tsx          |     5 +-
 .../Datasource/FoldersEditor/constants.ts          |     3 +
 .../FoldersEditor/folderOperations.test.ts         |    37 +
 .../Datasource/FoldersEditor/folderOperations.ts   |     8 +-
 .../FoldersEditor/hooks/useDragHandlers.ts         |     4 +-
 .../Datasource/FoldersEditor/treeUtils.test.ts     |    59 +
 .../Datasource/FoldersEditor/treeUtils.ts          |    19 +
 .../DatasourceEditor/DatasourceEditor.tsx          |    55 +-
 .../tests/DatasourceEditor.test.tsx                |     3 +
 .../src/components/FacePile/FacePile.stories.tsx   |     2 +-
 .../src/components/FacePile/FacePile.test.tsx      |     2 +-
 .../src/components/FacePile/utils.tsx              |     4 +-
 .../src/components/ListView/CardCollection.tsx     |     6 +-
 .../src/components/ListView/Filters/Select.tsx     |    13 +-
 .../src/components/ListView/Filters/index.tsx      |     2 +
 .../src/components/ListView/ListView.tsx           |    54 +-
 superset-frontend/src/components/ListView/types.ts |     8 +-
 .../src/components/MessageToasts/Toast.tsx         |    18 +-
 .../components/MessageToasts/ToastPresenter.tsx    |    59 +-
 .../src/components/PanelToolbar/index.tsx          |     2 +-
 .../src/components/RowCountLabel/index.tsx         |     2 +-
 .../ViewListExtension/ViewListExtension.test.tsx   |    32 +-
 superset-frontend/src/components/index.ts          |     2 +-
 .../src/core/editors/AceEditorProvider.test.tsx    |     3 +-
 .../src/core/editors/AceEditorProvider.tsx         |    22 +-
 .../src/core/editors/EditorHost.test.tsx           |    14 +-
 .../src/dashboard/components/Dashboard.test.tsx    |    14 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |     5 -
 .../components/FiltersBadge/FiltersBadge.test.tsx  |     4 +-
 .../PropertiesModal/hooks/useAccessOptions.ts      |    32 +-
 .../dashboard/components/PropertiesModal/index.tsx |    17 +-
 .../PropertiesModal/sections/AccessSection.tsx     |    22 +-
 .../components/gridComponents/Chart/Chart.test.tsx |     1 +
 .../gridComponents/Column/Column.test.tsx          |    12 +
 .../components/gridComponents/Column/Column.tsx    |     6 +
 .../gridComponents/Header/Header.test.tsx          |     2 +-
 .../gridComponents/Markdown/Markdown.test.tsx      |     8 +
 .../components/gridComponents/Row/Row.test.tsx     |    73 +-
 .../components/gridComponents/Tab/Tab.test.tsx     |     2 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |   183 +-
 .../FilterControls/FilterControls.test.tsx         |     2 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |    14 +-
 .../components/nativeFilters/FilterBar/index.tsx   |    12 +-
 .../ConfigModalSidebar/ConfigModalSidebar.tsx      |    13 +-
 .../FiltersConfigModal/FilterConfigPane.test.tsx   |    10 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |     4 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |    41 +-
 .../FiltersConfigModal/FiltersConfigModal.tsx      |    18 +-
 .../components/nativeFilters/selectors.test.ts     |   425 +-
 .../components/nativeFilters/selectors.ts          |    60 +-
 .../dashboard/components/nativeFilters/state.ts    |    10 +-
 .../src/dashboard/util/dropOverflowsParent.test.ts |    14 +-
 .../util/getChartIdsInFilterScope.test.ts          |    66 +-
 .../src/dashboard/util/getDropPosition.test.ts     |    10 +-
 .../components/SingleQueryResultPane.tsx           |     5 +-
 .../src/explore/components/DataTablesPane/types.ts |     1 +
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |   143 +
 .../components/ExploreChartHeader/index.tsx        |    12 +-
 .../ExploreChartPanel/ExploreChartPanel.test.tsx   |     2 +-
 .../explore/components/PropertiesModal/index.tsx   |    50 +-
 .../src/explore/components/SaveModal.test.tsx      |    22 +-
 .../ConditionalFormattingControl.tsx               |     5 +-
 .../FormattingPopover.tsx                          |     4 +-
 .../FormattingPopoverContent.test.tsx              |   140 +-
 .../FormattingPopoverContent.tsx                   |   272 +-
 .../ConditionalFormattingControl/constants.ts      |    72 +
 .../controls/ConditionalFormattingControl/types.ts |    25 +-
 .../DatasourceControl/DatasourceControl.test.tsx   |    14 +-
 .../ColumnSelectPopover.test.tsx                   |   199 +-
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |    17 +-
 .../AdhocFilterEditPopover.test.tsx                |     1 +
 .../AdhocFilterEditPopoverSqlTabContent/index.tsx  |     4 +-
 .../AdhocMetricEditPopover.test.tsx                |   158 +
 .../MetricControl/AdhocMetricEditPopover/index.tsx |     6 +
 .../controlUtils/getColumnKeywords.test.tsx        |     2 +-
 .../src/explore/controlUtils/getColumnKeywords.tsx |     2 +-
 .../src/extensions/ExtensionsManager.test.ts       |    36 +-
 .../src/extensions/ExtensionsManager.ts            |    31 +-
 .../src/features/alerts/AlertReportModal.test.tsx  |   284 +-
 .../src/features/alerts/AlertReportModal.tsx       |    53 +-
 superset-frontend/src/features/alerts/types.ts     |     4 +-
 .../UploadDataModel/UploadDataModal.test.tsx       |     6 +-
 .../src/features/home/DashboardTable.tsx           |     4 +-
 .../OwnerSelectLabel/OwnerSelectLabel.test.tsx}    |    43 +-
 .../src/features/owners/OwnerSelectLabel/index.tsx |    62 +
 .../src/features/roles/RoleListEditModal.test.tsx  |    37 +
 .../src/features/roles/RoleListEditModal.tsx       |    12 +-
 .../src/features/tasks/TaskPayloadPopover.tsx      |    76 +
 .../src/features/tasks/TaskStackTracePopover.tsx   |   137 +
 .../src/features/tasks/TaskStatusIcon.tsx          |   145 +
 .../src/features/tasks/timeUtils.test.ts           |   145 +
 superset-frontend/src/features/tasks/timeUtils.ts  |   151 +
 superset-frontend/src/features/tasks/types.ts      |   115 +
 .../src/features/themes/ThemeModal.test.tsx        |   174 +-
 .../src/features/themes/ThemeModal.tsx             |    65 +-
 .../components/Select/SelectFilterPlugin.test.tsx  |   118 +
 .../components/Select/SelectFilterPlugin.tsx       |     5 -
 .../src/hooks/apiResources/dashboards.test.ts      |    23 +-
 .../src/hooks/apiResources/dashboards.ts           |    35 +-
 .../src/pages/AlertReportList/index.tsx            |    11 +-
 .../AnnotationLayerList.test.tsx                   |     2 +-
 .../src/pages/ChartCreation/ChartCreation.test.tsx |     4 +-
 .../pages/ChartList/ChartList.cardview.test.tsx    |    45 +-
 .../pages/ChartList/ChartList.listview.test.tsx    |   189 +-
 .../src/pages/ChartList/ChartList.test.tsx         |   181 +-
 superset-frontend/src/pages/ChartList/index.tsx    |     6 +-
 .../pages/CssTemplateList/CssTemplateList.test.tsx |     2 +-
 .../src/pages/DashboardList/index.tsx              |     6 +-
 .../DatasetList/DatasetList.behavior.test.tsx      |     2 +-
 .../DatasetList/DatasetList.integration.test.tsx   |     2 +-
 .../DatasetList/DatasetList.listview.test.tsx      |     6 +-
 .../DatasetList/DatasetList.permissions.test.tsx   |     1 +
 .../src/pages/DatasetList/DatasetList.test.tsx     |     4 +-
 superset-frontend/src/pages/DatasetList/index.tsx  |     6 +-
 .../ExecutionLogList/ExecutionLogList.test.tsx     |     2 +-
 .../src/pages/ExecutionLogList/index.tsx           |    12 +-
 .../src/pages/FileHandler/index.test.tsx           |     4 +-
 superset-frontend/src/pages/Home/index.tsx         |     2 +-
 .../src/pages/RolesList/RolesList.test.tsx         |     6 +-
 .../pages/SavedQueryList/SavedQueryList.test.tsx   |     2 +-
 .../src/pages/TaskList/TaskList.test.tsx           |   328 +
 superset-frontend/src/pages/TaskList/index.tsx     |   658 +
 .../UserRegistrations/UserRegistrations.test.tsx   |     2 +-
 .../src/pages/UsersList/UsersList.test.tsx         |     4 +-
 superset-frontend/src/preamble.ts                  |   135 +-
 superset-frontend/src/theme/ThemeController.ts     |   147 +-
 .../src/theme/hooks/useThemeValidation.test.ts     |   133 +
 .../src/theme/hooks/useThemeValidation.ts          |   155 +
 .../src/theme/tests/ThemeController.test.ts        |   196 +
 .../src/theme/utils/antdTokenNames.test.ts         |   108 +
 .../src/theme/utils/antdTokenNames.ts              |   115 +
 .../theme/utils/themeStructureValidation.test.ts   |   346 +
 .../src/theme/utils/themeStructureValidation.ts    |   191 +
 superset-frontend/src/types/Owner.ts               |     1 +
 superset-frontend/src/utils/assetUrl.test.ts       |     4 +-
 superset-frontend/src/views/CRUD/types.ts          |     2 +-
 superset-frontend/src/views/CRUD/utils.tsx         |    83 +-
 superset-frontend/src/views/index.tsx              |    18 +-
 superset-frontend/src/views/routes.tsx             |     9 +
 superset-frontend/tsconfig.json                    |     2 +
 superset-frontend/webpack.config.js                |    37 +-
 superset-websocket/package-lock.json               |   371 +-
 superset-websocket/package.json                    |    15 +-
 superset-websocket/src/index.ts                    |     4 +-
 .../utils/client-ws-app/package-lock.json          |    12 +-
 superset-websocket/utils/loadtest.js               |     4 +-
 superset/async_events/cache_backend.py             |   144 +-
 superset/charts/api.py                             |     1 +
 superset/charts/data/api.py                        |    20 +-
 superset/charts/schemas.py                         |     1 +
 superset/commands/distributed_lock/__init__.py     |    24 +
 superset/commands/distributed_lock/acquire.py      |   132 +
 superset/commands/distributed_lock/base.py         |    41 +-
 superset/commands/distributed_lock/create.py       |    64 -
 superset/commands/distributed_lock/delete.py       |    49 -
 superset/commands/distributed_lock/release.py      |    83 +
 .../{utils/dates.py => commands/tasks/__init__.py} |    26 +-
 superset/commands/tasks/cancel.py                  |   314 +
 superset/commands/tasks/exceptions.py              |   106 +
 superset/commands/tasks/internal_update.py         |   184 +
 superset/commands/tasks/prune.py                   |   134 +
 superset/commands/tasks/submit.py                  |   169 +
 superset/commands/tasks/update.py                  |   170 +
 superset/common/query_context_processor.py         |    12 +
 superset/config.py                                 |    96 +-
 superset/core/api/core_api_injection.py            |    37 +-
 superset/daos/chart.py                             |     5 +-
 superset/daos/dataset.py                           |    41 +-
 superset/daos/tasks.py                             |   474 +
 superset/dashboards/api.py                         |    29 +-
 superset/datasets/schemas.py                       |     1 +
 superset/distributed_lock/__init__.py              |    63 +-
 superset/exceptions.py                             |    21 +-
 superset/explorables/base.py                       |    12 +
 superset/extensions/local_extensions_watcher.py    |     5 +-
 superset/initialization/__init__.py                |    26 +
 superset/mcp_service/app.py                        |    16 +-
 superset/mcp_service/chart/schemas.py              |     4 +-
 superset/mcp_service/chart/tool/generate_chart.py  |   270 +-
 superset/mcp_service/chart/tool/get_chart_data.py  |   187 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |    20 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |   149 +-
 superset/mcp_service/chart/tool/list_charts.py     |    27 +-
 superset/mcp_service/chart/tool/update_chart.py    |    83 +-
 .../mcp_service/chart/tool/update_chart_preview.py |    23 +-
 superset/mcp_service/dashboard/schemas.py          |    10 +-
 .../tool/add_chart_to_existing_dashboard.py        |   135 +-
 .../dashboard/tool/generate_dashboard.py           |    99 +-
 .../dashboard/tool/get_dashboard_info.py           |    20 +-
 .../mcp_service/dashboard/tool/list_dashboards.py  |    25 +-
 superset/mcp_service/dataset/schemas.py            |     1 +
 .../mcp_service/dataset/tool/get_dataset_info.py   |    20 +-
 superset/mcp_service/dataset/tool/list_datasets.py |    28 +-
 .../explore/tool/generate_explore_link.py          |    20 +-
 superset/mcp_service/middleware.py                 |   118 +-
 superset/mcp_service/sql_lab/tool/execute_sql.py   |    67 +-
 .../sql_lab/tool/open_sql_lab_with_context.py      |     6 +-
 superset/mcp_service/system/schemas.py             |     7 +
 .../mcp_service/system/tool/get_instance_info.py   |    20 +-
 superset/mcp_service/system/tool/get_schema.py     |     6 +-
 superset/mcp_service/system/tool/health_check.py   |     8 +-
 superset/mcp_service/utils/schema_utils.py         |     6 +-
 .../versions/2025_12_18_0220_create_tasks_table.py |   221 +
 superset/models/dashboard.py                       |    32 +-
 superset/models/slice.py                           |    25 +-
 superset/models/task_subscribers.py                |    62 +
 superset/models/tasks.py                           |   358 +
 superset/reports/api.py                            |     7 +
 superset/security/api.py                           |    10 +-
 superset/security/manager.py                       |   125 +-
 superset/sql/dialects/pinot.py                     |     2 +
 superset/sql/execution/celery_task.py              |     5 +-
 superset/sql/execution/executor.py                 |    41 +-
 superset/sql/parse.py                              |    50 +-
 superset/sql_lab.py                                |    15 +
 superset/sqllab/utils.py                           |     3 +
 superset/tasks/ambient_context.py                  |    87 +
 superset/tasks/api.py                              |   471 +
 superset/tasks/constants.py                        |    54 +
 superset/tasks/context.py                          |   673 +
 superset/tasks/decorators.py                       |   607 +
 superset/tasks/filters.py                          |    63 +
 superset/tasks/locks.py                            |    81 +
 superset/tasks/manager.py                          |   761 +
 superset/tasks/registry.py                         |   110 +
 superset/tasks/scheduler.py                        |   257 +
 superset/tasks/schemas.py                          |   204 +
 superset/tasks/types.py                            |     2 +
 superset/tasks/utils.py                            |   176 +-
 superset/thumbnails/digest.py                      |    11 +-
 superset/utils/cache_manager.py                    |    55 +-
 superset/utils/dates.py                            |     2 +-
 superset/utils/log.py                              |     5 +-
 superset/utils/oauth2.py                           |    10 +-
 superset/views/base.py                             |     7 +-
 .../distributed_lock/get.py => views/tasks.py}     |    37 +-
 superset/views/utils.py                            |     4 +-
 tests/integration_tests/charts/api_tests.py        |     1 +
 tests/integration_tests/charts/data/api_tests.py   |    42 +
 tests/integration_tests/dashboards/api_tests.py    |    81 +
 tests/integration_tests/model_tests.py             |     2 +-
 tests/integration_tests/reports/api_tests.py       |    20 +-
 tests/integration_tests/security/api_tests.py      |   111 +-
 tests/integration_tests/superset_test_config.py    |     1 +
 tests/integration_tests/tasks/api_tests.py         |   538 +
 .../integration_tests/tasks/commands}/__init__.py  |     0
 .../tasks/commands/test_cancel.py                  |   494 +
 .../tasks/commands/test_internal_update.py         |   419 +
 .../integration_tests/tasks/commands/test_prune.py |   258 +
 .../tasks/commands/test_submit.py                  |   235 +
 .../tasks/commands/test_update.py                  |   260 +
 .../integration_tests/tasks/test_event_handlers.py |   415 +
 .../tasks/test_subscription_visibility.py          |   224 +
 .../integration_tests/tasks/test_sync_join_wait.py |   142 +
 tests/integration_tests/tasks/test_throttling.py   |   172 +
 tests/integration_tests/tasks/test_timeout.py      |   226 +
 .../test_subdirectory_deployments.py               |    56 +
 .../commands/importers/v1/examples_test.py         |   133 +-
 .../common/test_query_context_processor.py         |    68 +
 tests/unit_tests/daos/test_tasks.py                |   503 +
 tests/unit_tests/dashboards/api_test.py            |    99 +
 .../databases/commands/importers/v1/import_test.py |    33 +
 .../distributed_lock/distributed_lock_tests.py     |   158 +-
 .../api => tests/unit_tests/examples}/__init__.py  |     0
 tests/unit_tests/examples/data_loading_test.py     |   204 +
 tests/unit_tests/examples/generic_loader_test.py   |   233 +
 tests/unit_tests/examples/utils_test.py            |   206 +
 tests/unit_tests/extensions/test_types.py          |    11 +-
 .../mcp_service/chart/tool/test_get_chart_data.py  |   437 +-
 .../mcp_service/dataset/tool/test_dataset_tools.py |    46 +
 .../mcp_service/sql_lab/tool/test_execute_sql.py   |   138 +-
 .../system/tool/test_get_current_user.py           |   363 +
 .../mcp_service/system/tool/test_get_schema.py     |     8 +-
 .../mcp_service/test_middleware_logging.py         |   207 +
 .../mcp_service/utils/test_schema_utils.py         |    11 +
 tests/unit_tests/security/manager_test.py          |   247 +
 tests/unit_tests/sql/execution/test_executor.py    |    73 +-
 tests/unit_tests/sql/parse_tests.py                |    50 +
 tests/unit_tests/tasks/test_decorators.py          |   477 +
 tests/unit_tests/tasks/test_handlers.py            |   677 +
 tests/unit_tests/tasks/test_manager.py             |   457 +
 tests/unit_tests/tasks/test_timeout.py             |   612 +
 tests/unit_tests/tasks/test_utils.py               |   249 +
 tests/unit_tests/thumbnails/test_digest.py         |    56 +-
 tests/unit_tests/utils/json_tests.py               |     8 +-
 tests/unit_tests/utils/oauth2_tests.py             |     6 +-
 871 files changed, 74417 insertions(+), 78451 deletions(-)
 delete mode 100644 .github/workflows/superset-applitool-cypress.yml
 delete mode 100644 .github/workflows/superset-applitools-storybook.yml
 create mode 100644 docs/developer_portal/extensions/tasks.md
 delete mode 100644 docs/static/img/applitools.png
 create mode 100644 superset-core/src/superset_core/api/tasks.py
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/shared/components => 
.storybook/shared}/ErrorMessage.tsx (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/shared/components => 
.storybook/shared}/Expandable.tsx (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/shared/components => 
.storybook/shared}/ResizableChartDemo.tsx (91%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/shared/components => 
.storybook/shared}/ResizablePanel.tsx (81%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/shared/components => 
.storybook/shared}/VerifyCORS.tsx (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/shared/components/createQuery.story.tsx
 => .storybook/shared/createQueryStory.tsx} (98%)
 rename superset-frontend/{packages/superset-ui-demo/storybook => 
.storybook}/shared/dummyDatasource.ts (100%)
 copy 
superset-frontend/{packages/superset-ui-core/test/color/CategoricalSchemeRegistrySingleton.test.ts
 => .storybook/shared/index.ts} (60%)
 delete mode 100644 superset-frontend/applitools.config.js
 delete mode 100644 superset-frontend/cypress-base/applitools.config.js
 delete mode 100644 
superset-frontend/cypress-base/cypress/applitools/chartlist.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/applitools/dashboard.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/applitools/dashboardlist.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/applitools/explore.test.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/e2e/chart_list/_skip.filter.test.ts
 create mode 100644 
superset-frontend/packages/superset-core/src/utils/isBlank.test.ts
 rename superset-frontend/{cypress-base/cypress/applitools/sqllab.test.ts => 
packages/superset-core/src/utils/isBlank.ts} (72%)
 create mode 100644 
superset-frontend/packages/superset-ui-chart-controls/test/shared-controls/components/RadioButtonControl.test.tsx
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-chart
 => superset-ui-core/src/chart/stories}/ChartDataProvider.stories.tsx (96%)
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-chart
 => superset-ui-core/src/chart/stories}/SuperChart.stories.tsx (98%)
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-color
 => superset-ui-core/src/color/stories}/ColorPalettes.stories.tsx (100%)
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-color
 => superset-ui-core/src/color/stories}/RenderPalettes.tsx (100%)
 copy 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-color
 => superset-ui-core/src/color/stories}/color-styles.css (87%)
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/components/CachedLabel/CachedLabel.stories.tsx
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/components/SafeMarkdown/SafeMarkdown.stories.tsx
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/components/TableCollection/TableCollection.stories.tsx
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-connection
 => superset-ui-core/src/connection/stories}/Connection.stories.tsx (92%)
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-number-format
 => superset-ui-core/src/number-format/stories}/NumberFormat.stories.tsx (100%)
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-theme
 => superset-ui-core/src/style/stories}/Theme.stories.tsx (100%)
 rename 
superset-frontend/packages/{superset-ui-demo/storybook/stories/superset-ui-time-format
 => superset-ui-core/src/time-format/stories}/TimeFormat.stories.tsx (100%)
 delete mode 100644 superset-frontend/packages/superset-ui-demo/.babelrc.json
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/.storybook/main.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/.storybook/preview.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/.storybook/storybook.css
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/.storybook/themeDecorator.jsx
 delete mode 100644 superset-frontend/packages/superset-ui-demo/CHANGELOG.md
 delete mode 100644 superset-frontend/packages/superset-ui-demo/README.md
 delete mode 100644 superset-frontend/packages/superset-ui-demo/package.json
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/ExampleApp.stories.jsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-calendar/LegacyPluginChartCalendar.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-map-box/MapBox.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-partition/Partition.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-rose/Rose.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Arc/payload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Grid/payload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Hex/payload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Path/payload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Polygon/geojsonPayload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Polygon/payload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Scatter/payload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Screengrid/payload.js
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/BoxPlot/NVD3BoxPlot.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/BoxPlot/data.ts
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/BoxPlot/stories/basic.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bubble/NVD3Bubble.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bubble/stories/basic.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bullet/NVD3Bullet.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bullet/stories/basic.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Compare/NVD3Compare.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Compare/stories/basic.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Compare/stories/timeFormat.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Gauge/Gauge.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Graph/Graph.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-pivot-table/PivotTable.stories.tsx
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-table/birthNames.json
 delete mode 100644 
superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-word-cloud/WordCloud.stories.tsx
 delete mode 100644 superset-frontend/packages/superset-ui-demo/tsconfig.json
 create mode 100644 
superset-frontend/playwright/components/modals/ChartPropertiesModal.ts
 create mode 100644 superset-frontend/playwright/helpers/api/chart.ts
 create mode 100644 superset-frontend/playwright/pages/ChartListPage.ts
 create mode 100644 
superset-frontend/playwright/tests/experimental/chart/chart-list.spec.ts
 create mode 100644 
superset-frontend/playwright/tests/experimental/chart/chart-test-helpers.ts
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-calendar/src/stories/LegacyPluginChartCalendar.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-calendar
 => plugins/legacy-plugin-chart-calendar/src/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-chord
 => 
plugins/legacy-plugin-chart-chord/src/stories}/LegacyPluginChartChord.stories.tsx
 (59%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-chord
 => plugins/legacy-plugin-chart-chord/src/stories}/data.ts (89%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-country-map
 => plugins/legacy-plugin-chart-country-map/src/stories}/CountryMap.stories.tsx 
(88%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-horizon
 => plugins/legacy-plugin-chart-horizon/src/stories}/Horizon.stories.tsx (63%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-horizon
 => plugins/legacy-plugin-chart-horizon/src/stories}/data.ts (100%)
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-map-box/src/stories/MapBox.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-map-box
 => plugins/legacy-plugin-chart-map-box/src/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-paired-t-test
 => plugins/legacy-plugin-chart-paired-t-test/src/stories}/TTest.stories.tsx 
(55%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-paired-t-test
 => plugins/legacy-plugin-chart-paired-t-test/src/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-parallel-coordinates
 => 
plugins/legacy-plugin-chart-parallel-coordinates/src/stories}/ParallelCoordinates.stories.tsx
 (56%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-parallel-coordinates
 => plugins/legacy-plugin-chart-parallel-coordinates/src/stories}/data.ts (100%)
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-partition/src/stories/Partition.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-partition
 => plugins/legacy-plugin-chart-partition/src/stories}/data.ts (100%)
 create mode 100644 
superset-frontend/plugins/legacy-plugin-chart-rose/src/stories/Rose.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-rose
 => plugins/legacy-plugin-chart-rose/src/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-world-map
 => plugins/legacy-plugin-chart-world-map/src/stories}/WorldMap.stories.tsx 
(65%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-world-map
 => plugins/legacy-plugin-chart-world-map/src/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Arc
 => plugins/legacy-preset-chart-deckgl/src/layers/Arc/stories}/Arc.stories.tsx 
(72%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/stories/payload.ts
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Grid
 => 
plugins/legacy-preset-chart-deckgl/src/layers/Grid/stories}/Grid.stories.tsx 
(70%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Grid/stories/payload.ts
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Hex
 => plugins/legacy-preset-chart-deckgl/src/layers/Hex/stories}/Hex.stories.tsx 
(70%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Hex/stories/payload.ts
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Path
 => 
plugins/legacy-preset-chart-deckgl/src/layers/Path/stories}/Path.stories.tsx 
(76%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/superset-ui-color/color-styles.css
 => plugins/legacy-preset-chart-deckgl/src/layers/Path/stories/payload.ts} (69%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Polygon
 => 
plugins/legacy-preset-chart-deckgl/src/layers/Polygon/stories}/Polygon.stories.tsx
 (65%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/stories/geojsonPayload.ts
 copy superset-frontend/{src/components/FacePile/FacePile.stories.tsx => 
plugins/legacy-preset-chart-deckgl/src/layers/Polygon/stories/payload.ts} (50%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Scatter
 => 
plugins/legacy-preset-chart-deckgl/src/layers/Scatter/stories}/Scatter.stories.tsx
 (67%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/stories/payload.ts
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Screengrid/Stories.tsx
 => 
plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/stories/Screengrid.stories.tsx}
 (75%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/stories/payload.ts
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/stories/NVD3BoxPlot.stories.tsx
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/BoxPlot/stories/data.ts
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/stories/NVD3Bubble.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bubble
 => plugins/legacy-preset-chart-nvd3/src/Bubble/stories}/data.ts (100%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bullet/stories/NVD3Bullet.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Bullet
 => plugins/legacy-preset-chart-nvd3/src/Bullet/stories}/data.ts (100%)
 create mode 100644 
superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/stories/NVD3Compare.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-nvd3/Compare
 => plugins/legacy-preset-chart-nvd3/src/Compare/stories}/data.ts (100%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/src/stories/AgGridTable.stories.tsx
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/src/stories/data.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/test/AgGridTableChart.test.tsx
 create mode 100644 
superset-frontend/plugins/plugin-chart-cartodiagram/src/stories/Cartodiagram.stories.tsx
 create mode 100644 
superset-frontend/plugins/plugin-chart-cartodiagram/src/stories/data.ts
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumberTotal
 => 
plugins/plugin-chart-echarts/src/BigNumber/BigNumberTotal/stories}/BigNumberTotal.stories.tsx
 (57%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumberTotal
 => plugins/plugin-chart-echarts/src/BigNumber/BigNumberTotal/stories}/data.ts 
(100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumber
 => 
plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/stories}/BigNumber.stories.tsx
 (63%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-big-number/BigNumber
 => 
plugins/plugin-chart-echarts/src/BigNumber/BigNumberWithTrendline/stories}/data.ts
 (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/BoxPlot
 => plugins/plugin-chart-echarts/src/BoxPlot/stories}/BoxPlot.stories.tsx (88%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/BoxPlot
 => plugins/plugin-chart-echarts/src/BoxPlot/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Bubble
 => plugins/plugin-chart-echarts/src/Bubble/stories}/BubbleChart.stories.tsx 
(90%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Bubble
 => plugins/plugin-chart-echarts/src/Bubble/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Funnel
 => plugins/plugin-chart-echarts/src/Funnel/stories}/Funnel.stories.tsx (84%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Funnel
 => plugins/plugin-chart-echarts/src/Funnel/stories}/constants.ts (100%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Gauge/stories/Gauge.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Gauge
 => plugins/plugin-chart-echarts/src/Gauge/stories}/data.ts (100%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/src/Graph/stories/Graph.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Graph
 => plugins/plugin-chart-echarts/src/Graph/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/MixedSeries
 => 
plugins/plugin-chart-echarts/src/MixedTimeseries/stories}/MixedSeries.stories.tsx
 (77%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/MixedSeries
 => plugins/plugin-chart-echarts/src/MixedTimeseries/stories}/negativeData.ts 
(100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Pie
 => plugins/plugin-chart-echarts/src/Pie/stories}/Pie.stories.tsx (77%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Pie
 => plugins/plugin-chart-echarts/src/Pie/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Radar
 => plugins/plugin-chart-echarts/src/Radar/stories}/Radar.stories.tsx (59%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Radar
 => plugins/plugin-chart-echarts/src/Radar/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Sunburst
 => plugins/plugin-chart-echarts/src/Sunburst/stories}/Sunburst.stories.tsx 
(86%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Sunburst
 => plugins/plugin-chart-echarts/src/Sunburst/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts
 => 
plugins/plugin-chart-echarts/src/Timeseries/stories}/AreaSeries/AreaSeries.stories.tsx
 (85%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts
 => plugins/plugin-chart-echarts/src/Timeseries/stories}/AreaSeries/data.ts 
(100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries
 => plugins/plugin-chart-echarts/src/Timeseries/stories}/Timeseries.stories.tsx 
(84%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries
 => plugins/plugin-chart-echarts/src/Timeseries/stories}/confbandData.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries
 => plugins/plugin-chart-echarts/src/Timeseries/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries
 => plugins/plugin-chart-echarts/src/Timeseries/stories}/negativeNumData.ts 
(100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries
 => plugins/plugin-chart-echarts/src/Timeseries/stories}/stackWithNulls.ts 
(100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Tree
 => plugins/plugin-chart-echarts/src/Tree/stories}/Tree.stories.tsx (50%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Tree
 => plugins/plugin-chart-echarts/src/Tree/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Treemap
 => plugins/plugin-chart-echarts/src/Treemap/stories}/Treemap.stories.tsx (85%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Treemap
 => plugins/plugin-chart-echarts/src/Treemap/stories}/data.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Waterfall
 => plugins/plugin-chart-echarts/src/Waterfall/stories}/Waterfall.stories.tsx 
(68%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Waterfall
 => plugins/plugin-chart-echarts/src/Waterfall/stories}/data.ts (100%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-echarts/test/helpers.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-handlebars/src/stories/Handlebars.stories.tsx
 create mode 100644 
superset-frontend/plugins/plugin-chart-handlebars/src/stories/data.ts
 create mode 100644 
superset-frontend/plugins/plugin-chart-pivot-table/src/stories/PivotTable.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-pivot-table
 => plugins/plugin-chart-pivot-table/src/stories}/testData.ts (100%)
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-table
 => plugins/plugin-chart-table/src/stories}/Table.stories.tsx (90%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-table/src/stories/birthNames.json
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-table
 => plugins/plugin-chart-table/src/stories}/testData.ts (100%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-word-cloud/src/stories/WordCloud.stories.tsx
 rename 
superset-frontend/{packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-word-cloud
 => plugins/plugin-chart-word-cloud/src/stories}/data.ts (100%)
 create mode 100644 superset-frontend/scripts/check-storybook-coverage.js
 delete mode 100644 superset-frontend/src/.eslintrc.json
 create mode 100644 
superset-frontend/src/explore/components/controls/ConditionalFormattingControl/constants.ts
 copy 
superset-frontend/{packages/superset-ui-core/src/number-format/factories/createSiAtMostNDigitFormatter.ts
 => src/features/owners/OwnerSelectLabel/OwnerSelectLabel.test.tsx} (50%)
 create mode 100644 
superset-frontend/src/features/owners/OwnerSelectLabel/index.tsx
 create mode 100644 superset-frontend/src/features/tasks/TaskPayloadPopover.tsx
 create mode 100644 
superset-frontend/src/features/tasks/TaskStackTracePopover.tsx
 create mode 100644 superset-frontend/src/features/tasks/TaskStatusIcon.tsx
 create mode 100644 superset-frontend/src/features/tasks/timeUtils.test.ts
 create mode 100644 superset-frontend/src/features/tasks/timeUtils.ts
 create mode 100644 superset-frontend/src/features/tasks/types.ts
 create mode 100644 superset-frontend/src/pages/TaskList/TaskList.test.tsx
 create mode 100644 superset-frontend/src/pages/TaskList/index.tsx
 create mode 100644 superset-frontend/src/theme/hooks/useThemeValidation.test.ts
 create mode 100644 superset-frontend/src/theme/hooks/useThemeValidation.ts
 create mode 100644 superset-frontend/src/theme/utils/antdTokenNames.test.ts
 create mode 100644 superset-frontend/src/theme/utils/antdTokenNames.ts
 create mode 100644 
superset-frontend/src/theme/utils/themeStructureValidation.test.ts
 create mode 100644 
superset-frontend/src/theme/utils/themeStructureValidation.ts
 create mode 100644 superset/commands/distributed_lock/acquire.py
 delete mode 100644 superset/commands/distributed_lock/create.py
 delete mode 100644 superset/commands/distributed_lock/delete.py
 create mode 100644 superset/commands/distributed_lock/release.py
 copy superset/{utils/dates.py => commands/tasks/__init__.py} (62%)
 create mode 100644 superset/commands/tasks/cancel.py
 create mode 100644 superset/commands/tasks/exceptions.py
 create mode 100644 superset/commands/tasks/internal_update.py
 create mode 100644 superset/commands/tasks/prune.py
 create mode 100644 superset/commands/tasks/submit.py
 create mode 100644 superset/commands/tasks/update.py
 create mode 100644 superset/daos/tasks.py
 create mode 100644 
superset/migrations/versions/2025_12_18_0220_create_tasks_table.py
 create mode 100644 superset/models/task_subscribers.py
 create mode 100644 superset/models/tasks.py
 create mode 100644 superset/tasks/ambient_context.py
 create mode 100644 superset/tasks/api.py
 create mode 100644 superset/tasks/constants.py
 create mode 100644 superset/tasks/context.py
 create mode 100644 superset/tasks/decorators.py
 create mode 100644 superset/tasks/filters.py
 create mode 100644 superset/tasks/locks.py
 create mode 100644 superset/tasks/manager.py
 create mode 100644 superset/tasks/registry.py
 create mode 100644 superset/tasks/schemas.py
 rename superset/{commands/distributed_lock/get.py => views/tasks.py} (51%)
 create mode 100644 tests/integration_tests/tasks/api_tests.py
 copy {superset-core/src/superset_core/api => 
tests/integration_tests/tasks/commands}/__init__.py (100%)
 create mode 100644 tests/integration_tests/tasks/commands/test_cancel.py
 create mode 100644 
tests/integration_tests/tasks/commands/test_internal_update.py
 create mode 100644 tests/integration_tests/tasks/commands/test_prune.py
 create mode 100644 tests/integration_tests/tasks/commands/test_submit.py
 create mode 100644 tests/integration_tests/tasks/commands/test_update.py
 create mode 100644 tests/integration_tests/tasks/test_event_handlers.py
 create mode 100644 
tests/integration_tests/tasks/test_subscription_visibility.py
 create mode 100644 tests/integration_tests/tasks/test_sync_join_wait.py
 create mode 100644 tests/integration_tests/tasks/test_throttling.py
 create mode 100644 tests/integration_tests/tasks/test_timeout.py
 create mode 100644 tests/unit_tests/daos/test_tasks.py
 create mode 100644 tests/unit_tests/dashboards/api_test.py
 copy {superset-core/src/superset_core/api => 
tests/unit_tests/examples}/__init__.py (100%)
 create mode 100644 tests/unit_tests/examples/data_loading_test.py
 create mode 100644 tests/unit_tests/examples/generic_loader_test.py
 create mode 100644 tests/unit_tests/examples/utils_test.py
 create mode 100644 
tests/unit_tests/mcp_service/system/tool/test_get_current_user.py
 create mode 100644 tests/unit_tests/mcp_service/test_middleware_logging.py
 create mode 100644 tests/unit_tests/tasks/test_decorators.py
 create mode 100644 tests/unit_tests/tasks/test_handlers.py
 create mode 100644 tests/unit_tests/tasks/test_manager.py
 create mode 100644 tests/unit_tests/tasks/test_timeout.py

Reply via email to