This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a change to branch
chore/consolidate-storybook-remove-demo-package
in repository https://gitbox.apache.org/repos/asf/superset.git
discard fb034e229d5 style: Apply prettier formatting to story files
discard 3a1555d46a4 fix: Add missing type cast for selectedFlatRows in
TableCollection story
discard 770821305c7 fix: Add type casts for TableCollection story props
discard 4316c9dafbf fix: Add type parameter to TableCollection component usage
discard 07a176b6357 fix: Fix TypeScript errors in TableCollection.stories.tsx
discard c3b20e74dd6 fix: TypeScript errors in TableCollection.stories.tsx
discard 939185dd0e1 fix: Exclude story files from plugin-chart-ag-grid-table
TypeScript build
discard a202046056b fix: TypeScript config and story improvements for
storybook consolidation
discard 66736b9e418 fix: replace ++ with += 1 in check-storybook-coverage.js
discard f25e553619e fix: use template literals in check-storybook-coverage.js
discard 80b2e435255 fix: enhance plugin stories with controls and fix data
issues
discard 41979b2ca35 fix: fix CachedLabel story width and remove cartodiagram
exclusion
discard 51cccace93a feat: add stories for CachedLabel, SafeMarkdown,
TableCollection, and Cartodiagram
discard 4ec7f44ea56 feat: add script to check Storybook coverage for
components/plugins
discard 1f47b826cfa feat: enhance Handlebars stories with impressive styled
templates
discard ba4d58f7534 feat: add stories for AG Grid Table and Handlebars plugins
discard 6d9f6b52004 fix: use Story component pattern in ResizableChartDemo
decorator
discard 46fc128078e fix: fix wrong function signatures in echarts story files
discard d775fc0b338 fix: add overflow hidden to ResizablePanel to contain
charts
discard 1f9f363be99 fix: fix MixedTimeseries story missing metrics and wrong
signature
discard 692193852e9 fix: simplify word cloud and pivot table stories
discard 9d20e4e69e1 fix: fix story function signatures and remove broken
legacyShim
discard 4d7f371abd3 refactor: inline nested story components and remove
stories/** exclusions
discard e810c72e2e1 chore: restrict storybook to TypeScript-only stories
discard 59ded47203b fix: remove story files from webpack exclude pattern
discard 91db38f8a03 fix: filter out ForkTsCheckerWebpackPlugin from storybook
builds
discard 8d5dfa53bc8 fix: make Path story payload a function
discard f2b0df005df fix: restore .storybook to tsconfig include and fix Path
story import
discard db37d869eab fix: remove .storybook/shared from TypeScript project
references
discard 748689d91c5 fix: exclude stories directories from plugin TypeScript
builds
discard 5748d4ca248 fix: skip ForkTsCheckerWebpackPlugin in production builds
discard 3dc0092f3e7 fix: disable ForkTsCheckerWebpackPlugin build mode for
production
discard f4345aa141e fix: exclude story files from production TypeScript
checking
discard 9f677e1451b fix: add @storybook-shared alias to main webpack config
discard 37259efea59 fix: add @storybook-shared path mapping to tsconfig.json
discard 4120e9bb1f9 chore(storybook): consolidate storybook by removing
superset-ui-demo package
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 791a52216cb chore(storybook): consolidate storybook by removing
superset-ui-demo package
add e5fb875bc02 fix: add @storybook-shared path mapping to tsconfig.json
add dda114b4fe5 fix: add @storybook-shared alias to main webpack config
add 1205c8580a7 fix: exclude story files from production TypeScript
checking
add 017394ac797 fix: disable ForkTsCheckerWebpackPlugin build mode for
production
add 541084ace46 fix: skip ForkTsCheckerWebpackPlugin in production builds
add b13488bdf2b fix: exclude stories directories from plugin TypeScript
builds
add c2e2ff17019 fix: remove .storybook/shared from TypeScript project
references
add 2291854c417 fix: restore .storybook to tsconfig include and fix Path
story import
add 374e3a36e1d fix: make Path story payload a function
add 811cce518f6 fix: filter out ForkTsCheckerWebpackPlugin from storybook
builds
add 619b83b2f1e fix: remove story files from webpack exclude pattern
add 34fe45e5a97 chore: restrict storybook to TypeScript-only stories
add 683c3f928a2 refactor: inline nested story components and remove
stories/** exclusions
add 12785a611f7 fix: fix story function signatures and remove broken
legacyShim
add 873d5b0460f fix: simplify word cloud and pivot table stories
add b4cdd915273 fix: fix MixedTimeseries story missing metrics and wrong
signature
add 53ea1dbde04 fix: add overflow hidden to ResizablePanel to contain
charts
add 03d419fd0f5 fix: fix wrong function signatures in echarts story files
add 4a4cc4e11c2 fix: use Story component pattern in ResizableChartDemo
decorator
add 52a93595b8d feat: add stories for AG Grid Table and Handlebars plugins
add c8c3b08d5c6 feat: enhance Handlebars stories with impressive styled
templates
add 2d3b2799caa feat: add script to check Storybook coverage for
components/plugins
add cbeb02d94ce feat: add stories for CachedLabel, SafeMarkdown,
TableCollection, and Cartodiagram
add a09cfb76f4b fix: fix CachedLabel story width and remove cartodiagram
exclusion
add 50f87495450 fix: enhance plugin stories with controls and fix data
issues
add 80d694954aa fix: use template literals in check-storybook-coverage.js
add 3f5197a506f fix: replace ++ with += 1 in check-storybook-coverage.js
add b3f5a98d787 fix: TypeScript config and story improvements for
storybook consolidation
add 07d269d5738 fix: Exclude story files from plugin-chart-ag-grid-table
TypeScript build
add 4bddfa26131 fix: TypeScript errors in TableCollection.stories.tsx
add 911fcfcee24 fix: Fix TypeScript errors in TableCollection.stories.tsx
add 16b058ef035 fix: Add type parameter to TableCollection component usage
add 7c9cebdcfa6 fix: Add type casts for TableCollection story props
add b715c1acbe1 fix: Add missing type cast for selectedFlatRows in
TableCollection story
add b4660d6039a style: Apply prettier formatting to story files
add 553010b717c chore: regenerate package-lock.json after rebase
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 (fb034e229d5)
\
N -- N -- N
refs/heads/chore/consolidate-storybook-remove-demo-package (553010b717c)
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 | 2 +
UPDATING.md | 22 +
docs/developer_portal/extensions/overview.md | 1 +
docs/developer_portal/extensions/registry.md | 2 +-
docs/developer_portal/extensions/tasks.md | 440 +++
docs/developer_portal/sidebars.js | 1 +
docs/developer_portal/testing/overview.md | 2 -
docs/docs/configuration/cache.mdx | 84 +
docs/package.json | 6 +-
docs/sidebarTutorials.js | 1 +
docs/yarn.lock | 315 +-
pyproject.toml | 2 +-
requirements/base.txt | 2 +-
requirements/development.txt | 2 +-
superset-core/pyproject.toml | 2 +-
superset-core/src/superset_core/api/daos.py | 44 +
superset-core/src/superset_core/api/models.py | 129 +
superset-core/src/superset_core/api/tasks.py | 361 ++
.../templates/frontend/package.json.j2 | 2 -
superset-frontend/.eslintrc.js | 18 +-
.../cypress/e2e/chart_list/_skip.filter.test.ts | 57 -
.../cypress/e2e/chart_list/list.test.ts | 57 -
superset-frontend/cypress-base/package-lock.json | 764 +++--
superset-frontend/jest.config.js | 2 +-
superset-frontend/oxlint.json | 21 +-
superset-frontend/package-lock.json | 3475 +++-----------------
superset-frontend/package.json | 33 +-
.../packages/superset-core/package.json | 2 -
.../superset-core/src/spec/utils/logging.test.ts | 4 +-
.../superset-ui-chart-controls/src/types.ts | 80 +
.../src/utils/metricColumnFilter.test.ts | 20 +-
.../test/components/ColumnTypeLabel.test.tsx | 16 +-
.../superset-ui-chart-controls/test/index.test.ts | 2 +-
.../test/operators/aggregateOperator.test.ts | 10 +-
.../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/mainMetric.test.ts | 8 +-
.../test/utils/selectOptions.test.ts | 6 +-
.../packages/superset-ui-core/package.json | 8 +-
.../AsyncAceEditor/useJsonValidation.test.ts | 12 +-
.../components/AutoComplete/AutoComplete.test.tsx | 6 +-
.../src/components/Breadcrumb/Breadcrumb.test.tsx | 2 +-
.../components/CachedLabel/CachedLabel.test.tsx | 4 +-
.../src/components/Checkbox/Checkbox.test.tsx | 20 +-
.../CodeSyntaxHighlighter/index.test.tsx | 18 +-
.../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/Layout/Layout.test.tsx | 10 +-
.../components/ListViewCard/ImageLoader.test.tsx | 6 +-
.../components/ListViewCard/ListViewCard.test.tsx | 6 +-
.../src/components/Modal/FormModal.test.tsx | 10 +-
.../src/components/Radio/Radio.test.tsx | 2 +-
.../src/components/Select/Select.test.tsx | 14 +-
.../src/components/Skeleton/Skeleton.test.tsx | 6 +-
.../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/number-format/D3FormatConfig.ts | 1 +
.../factories/createD3NumberFormatter.ts | 12 +-
.../factories/createSiAtMostNDigitFormatter.ts | 6 +-
.../factories/createSmartNumberFormatter.ts | 10 +-
.../superset-ui-core/src/utils/dates.test.ts | 24 +-
.../superset-ui-core/src/utils/featureFlags.ts | 1 +
.../superset-ui-core/src/utils/html.test.tsx | 74 +-
.../superset-ui-core/src/utils/merge.test.ts | 6 +-
.../chart-composition/legend/WithLegend.test.tsx | 19 +-
.../tooltip/TooltipFrame.test.tsx | 4 +-
.../tooltip/TooltipTable.test.tsx | 6 +-
.../test/chart/clients/ChartClient.test.ts | 32 +-
.../chart/components/ChartDataProvider.test.tsx | 36 +-
.../test/chart/components/SuperChart.test.tsx | 34 +-
.../test/chart/components/SuperChartCore.test.tsx | 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 | 58 +-
.../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 +-
.../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 +-
.../src/switchboard.test.ts | 26 +-
.../experimental/dataset/dataset-list.spec.ts | 4 +-
.../test/utils.test.ts | 14 +-
.../test/CountryMap.test.tsx | 6 +-
.../test/utils/roundDecimal.test.ts | 2 +-
.../test/OptionDescription.test.tsx | 4 +-
.../test/WorldMap.test.ts | 8 +-
.../legacy-preset-chart-deckgl/package.json | 6 +-
.../src/Multi/Multi.test.tsx | 36 +-
.../src/layers/Contour/getSafeCellSize.test.ts | 12 +-
.../src/layers/Path/Path.test.tsx | 3 +-
.../src/layers/Polygon/Polygon.test.tsx | 22 +-
.../src/layers/Scatter/buildQuery.test.ts | 245 +-
.../src/layers/Scatter/buildQuery.ts | 44 +-
.../src/layers/buildQueryUtils.ts | 4 -
.../src/layers/common.test.ts | 42 +-
.../src/layers/spatialUtils.test.ts | 54 +-
.../legacy-preset-chart-deckgl/src/utils.test.ts | 48 +-
.../src/utils/crossFiltersDataMask.test.ts | 14 +-
.../test/utils/colors.test.ts | 2 +-
.../test/utils/getPointsFromPolygon.test.ts | 4 +-
.../legacy-preset-chart-nvd3/test/utils.test.ts | 18 +-
.../test/utils/isTruthy.test.ts | 12 +-
.../test/utils/tokenize.test.ts | 14 +-
.../src/controlPanel.tsx | 2 +-
.../src/transformProps.ts | 2 +-
.../plugin-chart-ag-grid-table/src/types.ts | 86 +-
.../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 +-
.../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 +-
.../BigNumber/BigNumberPeriodOverPeriod/PopKPI.tsx | 6 +-
.../BigNumberPeriodOverPeriod/controlPanel.ts | 2 +-
.../BigNumber/BigNumberPeriodOverPeriod/types.ts | 5 -
.../BigNumber/BigNumberTotal/controlPanel.test.ts | 6 +-
.../BigNumberTotal/transformProps.test.ts | 14 +-
.../BigNumberWithTrendline/buildQuery.test.ts | 8 +-
.../BigNumberWithTrendline/transformProps.test.ts | 12 +-
.../src/Funnel/controlPanel.tsx | 28 +-
.../src/Funnel/transformProps.ts | 18 +-
.../plugin-chart-echarts/src/Funnel/types.ts | 10 +-
.../src/Timeseries/EchartsTimeseries.test.tsx | 7 +-
.../src/Treemap/transformProps.ts | 2 -
.../src/utils/themeOverrides.test.ts | 14 +-
.../test/BigNumber/transformProps.test.ts | 34 +-
.../test/BoxPlot/buildQuery.test.ts | 4 +-
.../test/BoxPlot/transformProps.test.ts | 2 +-
.../test/Bubble/buildQuery.test.ts | 4 +-
.../test/Bubble/transformProps.test.ts | 14 +-
.../test/Funnel/buildQuery.test.ts | 2 +-
.../test/Funnel/transformProps.test.ts | 10 +-
.../test/Gantt/buildQuery.test.ts | 2 +-
.../test/Gantt/transformProps.test.ts | 8 +-
.../test/Gauge/buildQuery.test.ts | 6 +-
.../test/Gauge/transformProps.test.ts | 36 +-
.../test/Graph/buildQuery.test.ts | 8 +-
.../test/Graph/transformProps.test.ts | 10 +-
.../test/MixedTimeseries/transformProps.test.ts | 6 +-
.../test/Pie/buildQuery.test.ts | 2 +-
.../test/Pie/transformProps.test.ts | 32 +-
.../test/Radar/transformProps.test.ts | 8 +-
.../test/Timeseries/Bar/controlPanel.test.ts | 14 +-
.../test/Timeseries/Bar/transformProps.test.ts | 24 +-
.../test/Timeseries/buildQuery.test.ts | 10 +-
.../test/Timeseries/constants.test.ts | 8 +-
.../test/Timeseries/transformProps.test.ts | 28 +-
.../test/Timeseries/transformers.test.ts | 34 +-
.../test/Tree/buildQuery.test.ts | 4 +-
.../test/Tree/transformProps.test.ts | 10 +-
.../test/Treemap/buildQuery.test.ts | 2 +-
.../test/Treemap/transformProps.test.ts | 2 +-
.../test/Waterfall/buildQuery.test.ts | 2 +-
.../test/utils/annotation.test.ts | 16 +-
.../test/utils/controls.test.ts | 4 +-
.../test/utils/forecast.test.ts | 14 +-
.../test/utils/formatters.test.ts | 6 +-
.../plugin-chart-echarts/test/utils/series.test.ts | 80 +-
.../test/utils/transformers.test.ts | 16 +-
.../test/utils/treeBuilder.test.ts | 4 +-
.../plugin-chart-handlebars/test/index.test.ts | 2 +-
.../test/plugin/buildQuery.test.ts | 2 +-
.../test/plugin/transformProps.test.ts | 2 +-
.../plugin-chart-pivot-table/test/index.test.ts | 2 +-
.../test/plugin/transformProps.test.ts | 12 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 3 +-
.../plugin-chart-table/src/controlPanel.tsx | 2 +-
.../plugin-chart-table/src/transformProps.ts | 2 +-
.../plugins/plugin-chart-table/src/types.ts | 91 +-
.../plugin-chart-table/test/TableChart.test.tsx | 4 +-
.../plugin-chart-table/test/buildQuery.test.ts | 26 +-
.../plugin-chart-table/test/controlPanel.test.tsx | 2 +-
.../test/sortAlphanumericCaseInsensitive.test.ts | 4 +-
.../test/buildQuery.test.ts | 2 +-
superset-frontend/src/.eslintrc.json | 11 -
.../src/SqlLab/actions/sqlLab.test.ts | 1 +
.../SaveDatasetModal/SaveDatasetModal.test.tsx | 3 +-
.../TableExploreTree/TreeNodeRenderer.tsx | 2 +-
.../SqlLab/components/TableExploreTree/index.tsx | 63 +-
.../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 +
.../tests/DatasourceEditor.test.tsx | 3 +
.../src/components/ListView/ListView.tsx | 54 +-
.../src/components/MessageToasts/Toast.tsx | 18 +-
.../components/MessageToasts/ToastPresenter.tsx | 59 +-
.../src/components/PanelToolbar/index.tsx | 2 +-
.../ViewListExtension/ViewListExtension.test.tsx | 5 +-
superset-frontend/src/components/index.ts | 2 +-
.../src/core/editors/AceEditorProvider.test.tsx | 3 +-
.../src/core/editors/AceEditorProvider.tsx | 20 +-
.../src/core/editors/EditorHost.test.tsx | 14 +-
.../src/dashboard/components/Dashboard.test.tsx | 14 +-
.../components/gridComponents/Chart/Chart.test.tsx | 1 +
.../gridComponents/Column/Column.test.tsx | 2 +
.../gridComponents/Header/Header.test.tsx | 2 +-
.../components/gridComponents/Row/Row.test.tsx | 71 +-
.../components/gridComponents/Tab/Tab.test.tsx | 2 +-
.../FilterControls/FilterControls.test.tsx | 2 +-
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 2 +-
.../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 +
.../ExploreChartPanel/ExploreChartPanel.test.tsx | 2 +-
.../src/explore/components/SaveModal.test.tsx | 22 +-
.../FormattingPopoverContent.test.tsx | 3 +-
.../FormattingPopoverContent.tsx | 8 +-
.../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 +
.../src/features/tasks/TaskPayloadPopover.tsx | 76 +
.../src/features/tasks/TaskStackTracePopover.tsx | 137 +
.../src/features/tasks/TaskStatusIcon.tsx | 145 +
.../src/features/tasks/timeUtils.test.ts | 145 +
superset-frontend/src/features/tasks/timeUtils.ts | 151 +
superset-frontend/src/features/tasks/types.ts | 115 +
.../components/Select/SelectFilterPlugin.test.tsx | 118 +
.../components/Select/SelectFilterPlugin.tsx | 5 -
.../pages/ChartList/ChartList.cardview.test.tsx | 45 +-
.../pages/ChartList/ChartList.listview.test.tsx | 189 +-
.../src/pages/ChartList/ChartList.test.tsx | 181 +-
.../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 +-
.../src/pages/FileHandler/index.test.tsx | 4 +-
.../src/pages/TaskList/TaskList.test.tsx | 328 ++
superset-frontend/src/pages/TaskList/index.tsx | 658 ++++
superset-frontend/src/preamble.ts | 135 +-
superset-frontend/src/utils/assetUrl.test.ts | 4 +-
superset-frontend/src/views/index.tsx | 18 +-
superset-frontend/src/views/routes.tsx | 9 +
superset-frontend/webpack.config.js | 6 +
superset-websocket/package-lock.json | 1072 +++++-
superset-websocket/package.json | 6 +-
superset/async_events/cache_backend.py | 144 +-
superset/commands/distributed_lock/__init__.py | 24 +
superset/commands/distributed_lock/acquire.py | 132 +
superset/commands/distributed_lock/base.py | 41 +-
superset/commands/distributed_lock/create.py | 64 -
superset/commands/distributed_lock/delete.py | 49 -
superset/commands/distributed_lock/get.py | 45 -
superset/commands/distributed_lock/release.py | 83 +
.../dashboard/tool => commands/tasks}/__init__.py | 16 +-
superset/commands/tasks/cancel.py | 314 ++
superset/commands/tasks/exceptions.py | 106 +
superset/commands/tasks/internal_update.py | 184 ++
superset/commands/{logs => tasks}/prune.py | 45 +-
superset/commands/tasks/submit.py | 168 +
superset/commands/tasks/update.py | 170 +
superset/config.py | 93 +
superset/core/api/core_api_injection.py | 37 +-
superset/daos/chart.py | 5 +-
superset/daos/tasks.py | 474 +++
superset/distributed_lock/__init__.py | 63 +-
superset/exceptions.py | 21 +-
superset/extensions/local_extensions_watcher.py | 5 +-
superset/initialization/__init__.py | 26 +
.../versions/2025_12_18_0220_create_tasks_table.py | 221 ++
superset/models/task_subscribers.py | 62 +
superset/models/tasks.py | 358 ++
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 | 609 ++++
superset/tasks/filters.py | 112 +
superset/tasks/locks.py | 81 +
superset/tasks/manager.py | 761 +++++
superset/tasks/registry.py | 110 +
superset/tasks/scheduler.py | 257 ++
superset/tasks/schemas.py | 204 ++
superset/tasks/types.py | 2 +
superset/tasks/utils.py | 176 +-
superset/utils/cache_manager.py | 55 +-
superset/utils/log.py | 5 +-
superset/utils/oauth2.py | 10 +-
superset/views/base.py | 7 +-
superset/views/{chart/views.py => tasks.py} | 11 +-
tests/integration_tests/superset_test_config.py | 1 +
tests/integration_tests/tasks/api_tests.py | 538 +++
.../integration_tests/tasks/commands}/__init__.py | 0
.../tasks/commands/test_cancel.py | 482 +++
.../tasks/commands/test_internal_update.py | 419 +++
.../integration_tests/tasks/commands/test_prune.py | 258 ++
.../tasks/commands/test_submit.py | 238 ++
.../tasks/commands/test_update.py | 260 ++
.../integration_tests/tasks/test_event_handlers.py | 415 +++
.../integration_tests/tasks/test_sync_join_wait.py | 143 +
tests/integration_tests/tasks/test_throttling.py | 172 +
tests/integration_tests/tasks/test_timeout.py | 226 ++
tests/unit_tests/daos/test_tasks.py | 503 +++
.../distributed_lock/distributed_lock_tests.py | 158 +-
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/utils/json_tests.py | 2 +-
tests/unit_tests/utils/oauth2_tests.py | 6 +-
434 files changed, 20998 insertions(+), 6893 deletions(-)
create mode 100644 docs/developer_portal/extensions/tasks.md
create mode 100644 superset-core/src/superset_core/api/tasks.py
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/chart_list/_skip.filter.test.ts
delete mode 100644 superset-frontend/src/.eslintrc.json
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/commands/distributed_lock/acquire.py
delete mode 100644 superset/commands/distributed_lock/create.py
delete mode 100644 superset/commands/distributed_lock/delete.py
delete mode 100644 superset/commands/distributed_lock/get.py
create mode 100644 superset/commands/distributed_lock/release.py
copy superset/{mcp_service/dashboard/tool => commands/tasks}/__init__.py (70%)
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
copy superset/commands/{logs => tasks}/prune.py (74%)
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
copy superset/views/{chart/views.py => tasks.py} (84%)
create mode 100644 tests/integration_tests/tasks/api_tests.py
copy {superset-core/src/superset_core/api =>
tests/integration_tests/tasks/commands}/__init__.py (100%)
create mode 100644 tests/integration_tests/tasks/commands/test_cancel.py
create mode 100644
tests/integration_tests/tasks/commands/test_internal_update.py
create mode 100644 tests/integration_tests/tasks/commands/test_prune.py
create mode 100644 tests/integration_tests/tasks/commands/test_submit.py
create mode 100644 tests/integration_tests/tasks/commands/test_update.py
create mode 100644 tests/integration_tests/tasks/test_event_handlers.py
create mode 100644 tests/integration_tests/tasks/test_sync_join_wait.py
create mode 100644 tests/integration_tests/tasks/test_throttling.py
create mode 100644 tests/integration_tests/tasks/test_timeout.py
create mode 100644 tests/unit_tests/daos/test_tasks.py
create mode 100644 tests/unit_tests/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