This is an automated email from the ASF dual-hosted git repository.
enzomartellucci pushed a change to branch
enxdev/fix/save-chart-info-icon-alignment
in repository https://gitbox.apache.org/repos/asf/superset.git
from 98a83903685 fix(save-chart): fix info icon alignment in save chart
modal
add a9dca529c17 fix(mcp): treat runtime validation warnings as
informational, not errors (#37214)
add 4147d877fc1 fix(mcp): prevent DATE_TRUNC on non-temporal columns in
chart generation (#37433)
add fd8c21591a0 chore(deps-dev): update @babel/types requirement from
^7.28.6 to ^7.29.0 in /superset-frontend/plugins/plugin-chart-pivot-table
(#37603)
add 75fa474fced test(native-filters): add unit tests for requiredFirst
filter logic (#37640)
add 4f42928b34d fix(sqllab): Skip progress bar on no data (#37652)
add 2e463078a2c refactor(filters): extract shouldShowTimeRangePicker and
improve test coverage (#36012)
add 47db185e3b9 fix(mcp): include x_axis column in query context for
series charts with group_by (#37639)
add ef4f7afa90e chore(docs): improve build performance and fix OOM crashes
(#37588)
add 5040db859c8 test(playwright): additional dataset list playwright tests
(#36684)
add 00a53eec2d0 fix(translations): remove corrupted text from Spanish
translation file (#37717)
add 8506d702422 chore(deps-dev): bump webpack from 5.94.0 to 5.105.0 in
/superset-embedded-sdk (#37713)
add 361fe6fe898 chore(build): add @hainenber as codeowner for GHA workflow
changes (#37703)
add 27889651b3f chore(deps): bump markdown-to-jsx from 9.6.1 to 9.7.2 in
/superset-frontend (#37691)
add d3919cf24fe fix(translations): Periodic language strings extraction,
newly Translatable label positions for Radar Chart (#33940)
add b7acb7984f5 chore(deps-dev): bump @babel/core from 7.28.6 to 7.29.0 in
/superset-frontend (#37686)
add 97e5f0631d1 chore(deps): bump aws-actions/configure-aws-credentials
from 5 to 6 (#37685)
add 01ac966b830 fix(mcp): remove html.escape to fix ampersand display in
chart titles (#37186)
add cd447ca1fdb chore(deps): update @luma.gl/webgl requirement from ~9.2.2
to ~9.2.6 in /superset-frontend/plugins/legacy-preset-chart-deckgl (#37469)
add b71654877f6 chore(deps-dev): bump @types/node from 25.2.0 to 25.2.1 in
/superset-websocket (#37719)
add 1c35c3f6d04 chore(deps): bump markdown-to-jsx from 9.7.2 to 9.7.3 in
/superset-frontend (#37730)
add 9b861b2848d chore(deps): bump caniuse-lite from 1.0.30001768 to
1.0.30001769 in /docs (#37726)
add 246dbd7f5c0 chore(deps): upgrade react-resize-detector to v9.1.1
(#37741)
add 1e50422a666 chore: remove deprecated react-hot-loader (#36433)
add ddba88ffada chore(deps): bump googleapis from 171.2.0 to 171.4.0 in
/superset-frontend (#37736)
add 7d9a8a0c5a4 chore(deps-dev): bump @babel/node from 7.28.6 to 7.29.0 in
/superset-frontend (#37734)
add 87d15d32c46 chore(deps-dev): bump @types/node from 25.2.0 to 25.2.1 in
/superset-frontend (#37732)
add ec6eaf48982 fix(deps): bump elasticsearch-dbapi to 0.2.12 for urllib3
2.x compatibility (#37758)
add 935bbe6061d docs: Updates extensions docs (#37704)
add 0415118544f chore: Bump @apache-superset/core (0.0.1-rc10) (#37759)
add fc26dbfebf8 chore(deps): upgrade deck.gl and luma.gl packages to
~9.2.6 (#37718)
add a04571fa20f fix(world-map): reset hover highlight on mouse out (#37716)
add 46bca32677c docs(seo): add structured data, OpenGraph tags, and
sitemap improvements (#37404)
add e9ae212c1cc fix(alerts): show screenshot width field for PDF reports
(#37037)
add fc5506e4669 chore(frontend): comprehensive TypeScript quality
improvements (#37625)
add 9086ae8e6c6 feat(ci): only bump patch version for Storybook-related
deps until React 18 (#37749)
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 3f557bbf85a Merge branch 'master' into
enxdev/fix/save-chart-info-icon-alignment
No new revisions were added by this update.
Summary of changes:
.github/CODEOWNERS | 2 +-
.github/dependabot.yml | 24 +-
.github/workflows/ephemeral-env-pr-close.yml | 2 +-
.github/workflows/ephemeral-env.yml | 4 +-
.github/workflows/prefer-typescript.yml | 70 -
UPDATING.md | 22 +
docker-compose-light.yml | 4 +-
docker-compose.yml | 2 +-
.../contributing/development-setup.md | 2 +-
docs/developer_portal/contributing/howtos.md | 2 +-
docs/developer_portal/extensions/development.md | 16 +-
.../extensions/extension-points/sqllab.md | 82 +-
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/docs/faq.mdx | 56 +
docs/docusaurus.config.ts | 155 +-
docs/netlify.toml | 2 +-
docs/package.json | 32 +-
docs/plugins/remark-tech-article-schema.mjs | 153 +
docs/plugins/robots-txt-plugin.js | 83 +
docs/sidebarTutorials.js | 1 +
docs/src/components/FAQSchema.tsx | 66 +
docs/src/components/TechArticleSchema.tsx | 91 +
docs/src/data/databases.json | 146 +-
docs/src/pages/index.tsx | 4 +-
docs/src/styles/antd-theme.less | 27 -
docs/src/styles/{main.less => main.css} | 152 +-
docs/src/webpack.extend.ts | 37 +-
docs/static/img/superset-og-image.png | Bin 0 -> 89831 bytes
docs/yarn.lock | 4446 +-
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 +
superset-embedded-sdk/package-lock.json | 1120 +-
.../templates/frontend/package.json.j2 | 2 -
superset-frontend/.eslintrc.js | 65 +-
superset-frontend/.swcrc | 64 -
superset-frontend/babel.config.js | 3 -
.../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 +-
.../{index.js => index.ts} | 90 +-
...plate-vars.test.js => no-template-vars.test.ts} | 8 +-
.../eslint-plugin-i18n-strings/package.json | 2 +-
.../eslint-plugin-icons/{index.js => index.ts} | 52 +-
...-fontawesome.test.js => no-fontawesome.test.ts} | 12 +-
.../eslint-rules/eslint-plugin-icons/package.json | 2 +-
.../{colors.js => colors.ts} | 4 +-
.../eslint-plugin-theme-colors/index.js | 119 -
.../eslint-plugin-theme-colors/index.ts | 162 +
.../eslint-plugin-theme-colors/package.json | 2 +-
superset-frontend/jest.config.js | 10 +-
superset-frontend/oxlint.json | 21 +-
superset-frontend/package-lock.json | 72892 ++++++++-----------
superset-frontend/package.json | 81 +-
.../test/{app.test.js => app.test.ts} | 1 +
.../{plugin-chart.test.js => plugin-chart.test.ts} | 8 +-
.../packages/superset-core/package.json | 6 +-
.../superset-core/src/spec/utils/logging.test.ts | 4 +-
.../superset-core/src/ui/theme/utils/utils.test.ts | 8 +-
.../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 +-
.../operators/utils/extractExtraMetrics.test.ts | 2 +-
.../test/utils/colorControls.test.ts | 10 +-
.../test/utils/columnChoices.test.tsx | 10 +-
.../test/utils/defineSavedMetrics.test.tsx | 6 +-
.../test/utils/expandControlConfig.test.tsx | 14 +-
.../test/utils/getColorFormatters.test.ts | 2 +-
.../test/utils/mainMetric.test.ts | 8 +-
.../test/utils/selectOptions.test.ts | 6 +-
.../packages/superset-ui-core/package.json | 8 +-
.../src/chart/components/FallbackComponent.tsx | 9 +-
.../AsyncAceEditor/useJsonValidation.test.ts | 12 +-
.../src/components/AsyncEsmComponent/index.tsx | 2 +-
.../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 +-
.../components/CronPicker/CronPicker.stories.tsx | 19 +-
.../src/components/Dropdown/Dropdown.test.tsx | 10 +-
.../DynamicEditableTitle.test.tsx | 8 +-
.../EditableTitle/EditableTitle.test.tsx | 10 +-
...ut.test.jsx => LabeledErrorBoundInput.test.tsx} | 17 +-
.../src/components/Grid/Grid.test.tsx | 2 +-
.../src/components/IconButton/IconButton.test.tsx | 12 +-
.../{IconTooltip.test.jsx => IconTooltip.test.tsx} | 0
.../src/components/Icons/AntdEnhanced.tsx | 2 +
.../src/components/Label/Label.test.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/AsyncSelect.tsx | 6 +-
.../src/components/Select/Select.test.tsx | 14 +-
.../src/components/Select/Select.tsx | 2 +-
.../src/components/Skeleton/Skeleton.test.tsx | 6 +-
.../src/components/Table/sorters.test.ts | 40 +-
.../src/components/Table/utils/utils.test.ts | 8 +-
.../TableCollection/TableCollection.test.tsx | 2 +-
.../src/components/Tabs/Tabs.test.tsx | 46 +-
.../src/components/TelemetryPixel/index.tsx | 1 -
.../src/components/Timer/Timer.test.tsx | 2 +-
.../TimezoneSelector/TimezoneOptionsCache.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 +-
.../superset-ui-core/src/math-expression/index.ts | 2 +-
.../src/models/ExtensibleFunction.ts | 2 +-
.../src/number-format/D3FormatConfig.ts | 1 +
.../factories/createD3NumberFormatter.ts | 12 +-
.../factories/createSiAtMostNDigitFormatter.ts | 6 +-
.../factories/createSmartNumberFormatter.ts | 10 +-
.../superset-ui-core/src/query/normalizeOrderBy.ts | 1 -
.../src/query/processExtraFormData.ts | 2 +-
.../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 | 30 +-
.../components/createLoadableRenderer.test.tsx | 12 +-
.../test/chart/components/reactify.test.tsx | 20 +-
.../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 | 82 +-
.../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/currency-format/CurrencyFormatter.test.ts | 10 +-
.../test/dimension/computeMaxFontSize.test.ts | 10 +-
.../test/dimension/getBBoxDummyFill.ts | 6 +-
.../dimension/getMultipleTextDimensions.test.ts | 22 +-
.../test/dimension/getTextDimension.test.ts | 24 +-
.../test/dimension/mergeMargin.test.ts | 20 +-
.../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 | 12 +-
.../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 | 26 +-
.../number-format/NumberFormatterRegistry.test.ts | 22 +-
.../NumberFormatterRegistrySingleton.test.ts | 16 +-
.../factories/createD3NumberFormatter.test.ts | 32 +-
.../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 | 28 +-
.../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/getClientErrorObject.test.ts | 8 +-
.../test/query/getColumnLabel.test.ts | 6 +-
.../test/query/getMetricLabel.test.ts | 10 +-
.../test/query/normalizeOrderBy.test.ts | 22 +-
.../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 | 24 +-
.../test/time-format/TimeFormatterRegistry.test.ts | 34 +-
.../TimeFormatterRegistrySingleton.test.ts | 24 +-
.../factories/createD3TimeFormatter.test.ts | 14 +-
.../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 | 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 +-
.../packages/superset-ui-demo/package.json | 2 +-
.../stories/plugins/plugin-chart-table/testData.ts | 2 +-
.../src/switchboard.test.ts | 26 +-
superset-frontend/playwright.config.ts | 24 +-
.../playwright/components/ListView/BulkSelect.ts | 116 +
.../components/ListView/index.ts} | 4 +-
.../playwright/components/core/AceEditor.ts | 207 +
.../playwright/components/core/Checkbox.ts | 95 +
.../playwright/components/core/Select.ts | 187 +
.../playwright/components/core/Tabs.ts | 75 +
.../playwright/components/core/Textarea.ts | 109 +
.../playwright/components/core/index.ts | 5 +
.../playwright/components/modals/ConfirmDialog.ts | 75 +
.../components/modals/DuplicateDatasetModal.ts | 5 +-
.../components/modals/EditDatasetModal.ts | 189 +
.../components/modals/ImportDatasetModal.ts | 73 +
.../playwright/components/modals/index.ts | 1 +
.../playwright/fixtures/dataset_export.zip | Bin 0 -> 5261 bytes
.../playwright/helpers/api/assertions.ts | 61 +
.../playwright/helpers/api/database.ts | 74 +-
.../playwright/helpers/api/dataset.ts | 69 +-
.../playwright/helpers/api/intercepts.ts | 145 +
.../helpers/fixtures/index.ts} | 7 +-
.../playwright/helpers/fixtures/testAssets.ts | 68 +
.../playwright/pages/ChartCreationPage.ts | 138 +
.../playwright/pages/CreateDatasetPage.ts | 138 +
.../playwright/pages/DatasetListPage.ts | 99 +-
.../experimental/dataset/create-dataset.spec.ts | 219 +
.../experimental/dataset/dataset-list.spec.ts | 630 +-
.../experimental/dataset/dataset-test-helpers.ts | 67 +
superset-frontend/playwright/utils/constants.ts | 10 +
.../src/{Calendar.js => Calendar.ts} | 93 +-
.../src/{ReactCalendar.jsx => ReactCalendar.tsx} | 29 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 7 +-
.../src/vendor/{cal-heatmap.js => cal-heatmap.ts} | 1 +
.../test/utils.test.ts | 14 +-
.../types/external.d.ts} | 12 +-
.../src/{Chord.js => Chord.ts} | 46 +-
.../src/{ReactChord.jsx => ReactChord.tsx} | 27 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 4 +-
.../types/external.d.ts} | 12 +-
.../src/{CountryMap.js => CountryMap.ts} | 121 +-
.../{ReactCountryMap.jsx => ReactCountryMap.tsx} | 20 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 4 +-
.../test/CountryMap.test.tsx | 25 +-
.../types/external.d.ts} | 12 +-
.../src/{HorizonChart.jsx => HorizonChart.tsx} | 66 +-
.../src/{HorizonRow.jsx => HorizonRow.tsx} | 72 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 16 +-
.../types/external.d.ts} | 12 +-
.../src/{MapBox.jsx => MapBox.tsx} | 116 +-
...tGlowOverlay.jsx => ScatterPlotGlowOverlay.tsx} | 182 +-
.../src/{index.js => index.ts} | 4 +-
.../src/{transformProps.js => transformProps.ts} | 34 +-
.../src/utils/{geo.js => geo.ts} | 6 +-
.../{luminanceFromRGB.js => luminanceFromRGB.ts} | 6 +-
.../test/utils/roundDecimal.test.ts | 2 +-
.../types/external.d.ts | 101 +
.../src/{PairedTTest.jsx => PairedTTest.tsx} | 30 +-
.../src/{TTestTable.jsx => TTestTable.tsx} | 86 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 9 +-
.../types/external.d.ts | 83 +
...rallelCoordinates.js => ParallelCoordinates.ts} | 69 +-
...oordinates.jsx => ReactParallelCoordinates.tsx} | 21 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 8 +-
.../parcoords/{d3.parcoords.js => d3.parcoords.ts} | 3 +-
.../vendor/parcoords/{divgrid.js => divgrid.ts} | 3 +-
.../types/d3-parcoords.d.ts | 28 +-
.../types/d3.d.ts | 2 +-
.../types/{d3.d.ts => external.d.ts} | 15 +-
.../src/{Partition.js => Partition.ts} | 82 +-
.../src/{ReactPartition.jsx => ReactPartition.tsx} | 19 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 8 +-
...ription.test.jsx => OptionDescription.test.tsx} | 7 +-
.../types/external.d.ts} | 12 +-
.../src/{ReactRose.jsx => ReactRose.tsx} | 17 +-
.../src/{Rose.js => Rose.ts} | 85 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 4 +-
.../types/external.d.ts} | 12 +-
.../src/{ReactWorldMap.jsx => ReactWorldMap.tsx} | 25 +-
.../src/{WorldMap.js => WorldMap.ts} | 90 +-
.../src/{index.js => index.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 4 +-
.../test/WorldMap.test.ts | 389 +
.../test/tsconfig.json | 8 +
.../types/external.d.ts} | 12 +-
.../legacy-preset-chart-deckgl/package.json | 8 +-
.../src/Multi/Multi.test.tsx | 36 +-
.../legacy-preset-chart-deckgl/src/Multi/Multi.tsx | 2 +-
.../src/layers/Contour/getSafeCellSize.test.ts | 12 +-
.../src/layers/Grid/Grid.tsx | 6 +-
.../src/layers/Hex/Hex.tsx | 6 +-
.../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 +-
.../src/Bubble/{index.js => index.ts} | 0
.../src/Bullet/{index.js => index.ts} | 0
.../src/Compare/{index.js => index.ts} | 0
.../src/{NVD3Vis.js => NVD3Vis.ts} | 1 +
.../src/{PropTypes.js => PropTypes.ts} | 0
.../src/{ReactNVD3.jsx => ReactNVD3.tsx} | 1 +
.../src/TimePivot/{index.js => index.ts} | 0
.../src/{index.js => index.ts} | 0
.../src/{preset.js => preset.ts} | 0
.../src/{transformProps.js => transformProps.ts} | 22 +-
.../src/{utils.js => utils.ts} | 1 +
.../src/utils/{isTruthy.js => isTruthy.ts} | 2 +-
.../{AnnotationTypes.js => AnnotationTypes.ts} | 1 +
.../superset/{exploreUtils.js => exploreUtils.ts} | 1 +
.../test/{utils.test.js => utils.test.ts} | 21 +-
.../utils/{isTruthy.test.js => isTruthy.test.ts} | 12 +-
.../utils/{tokenize.test.js => tokenize.test.ts} | 14 +-
.../types/external.d.ts} | 31 +-
.../src/controlPanel.tsx | 2 +-
.../src/transformProps.ts | 2 +-
.../plugin-chart-ag-grid-table/src/types.ts | 86 +-
.../src/utils/formatValue.ts | 2 +-
.../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 +-
.../src/util/layerUtil.tsx | 1 -
.../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 | 12 +-
.../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 +-
.../src/BigNumber/BigNumberViz.tsx | 15 +-
.../BigNumberWithTrendline/buildQuery.test.ts | 8 +-
.../BigNumberWithTrendline/transformProps.test.ts | 12 +-
.../BigNumberWithTrendline/transformProps.ts | 13 +-
.../src/BoxPlot/transformProps.ts | 4 +-
.../plugin-chart-echarts/src/BoxPlot/types.ts | 2 +-
.../src/Funnel/controlPanel.tsx | 28 +-
.../src/Funnel/transformProps.ts | 19 +-
.../plugin-chart-echarts/src/Funnel/types.ts | 12 +-
.../src/Gauge/transformProps.ts | 1 -
.../plugin-chart-echarts/src/Graph/types.ts | 2 +-
.../src/MixedTimeseries/EchartsMixedTimeseries.tsx | 1 -
.../src/MixedTimeseries/index.ts | 1 -
.../src/MixedTimeseries/transformProps.ts | 1 -
.../src/MixedTimeseries/types.ts | 2 +-
.../plugins/plugin-chart-echarts/src/Pie/types.ts | 2 +-
.../src/Radar/controlPanel.tsx | 20 +-
.../plugin-chart-echarts/src/Radar/types.ts | 2 +-
.../src/Timeseries/EchartsTimeseries.test.tsx | 7 +-
.../src/Timeseries/EchartsTimeseries.tsx | 2 +-
.../src/Timeseries/constants.ts | 2 +-
.../src/Timeseries/transformers.ts | 10 +-
.../src/Treemap/transformProps.ts | 2 -
.../plugins/plugin-chart-echarts/src/constants.ts | 17 -
.../src/utils/themeOverrides.test.ts | 14 +-
.../test/BigNumber/transformProps.test.ts | 40 +-
.../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/Scatter/controlPanel.test.ts | 2 +-
.../test/Timeseries/Scatter/transformProps.test.ts | 4 -
.../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 +-
.../plugins/plugin-chart-pivot-table/package.json | 2 +-
.../src/PivotTableChart.tsx | 24 +-
.../{PivotTable.jsx => PivotTable.tsx} | 8 +-
.../src/react-pivottable/{Styles.js => Styles.ts} | 2 +-
.../{TableRenderers.jsx => TableRenderers.tsx} | 432 +-
.../src/react-pivottable/{index.js => index.ts} | 0
.../{utilities.js => utilities.ts} | 523 +-
.../plugin-chart-pivot-table/test/index.test.ts | 2 +-
.../test/plugin/transformProps.test.ts | 12 +-
.../test/react-pivottable/tableRenders.test.tsx | 16 +-
.../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 | 6 +-
.../test/buildQuery.test.ts | 2 +-
.../spec/fixtures/mockNativeFilters.ts | 2 +-
superset-frontend/spec/helpers/testing-library.tsx | 2 +-
superset-frontend/src/.eslintrc.json | 11 -
.../actions/{sqlLab.test.js => sqlLab.test.ts} | 443 +-
superset-frontend/src/SqlLab/actions/sqlLab.ts | 353 +-
.../components/EditorWrapper/useKeywords.test.ts | 8 +-
.../QueryAutoRefresh/QueryAutoRefresh.test.tsx | 23 +-
.../SqlLab/components/ResultSet/ResultSet.test.tsx | 1 -
.../src/SqlLab/components/ResultSet/index.tsx | 7 +-
.../SaveDatasetModal/SaveDatasetModal.test.tsx | 9 +-
.../SqlLab/components/SaveDatasetModal/index.tsx | 4 +-
.../SqlLab/components/SouthPane/Results.test.tsx | 34 +
.../src/SqlLab/components/SouthPane/Results.tsx | 34 +-
.../src/SqlLab/components/SqlEditor/index.tsx | 7 +-
.../TableExploreTree/TreeNodeRenderer.tsx | 2 +-
.../SqlLab/components/TableExploreTree/index.tsx | 63 +-
superset-frontend/src/SqlLab/fixtures.ts | 5 +-
.../src/SqlLab/reducers/getInitialState.ts | 2 +
.../reducers/{sqlLab.test.js => sqlLab.test.ts} | 89 +-
superset-frontend/src/SqlLab/reducers/sqlLab.ts | 7 +
.../TimeColumn/TimeColumnFilterPlugin.tsx | 2 +-
.../src/components/AuditInfo/index.tsx | 25 +-
.../src/components/AuditInfo/types.ts | 2 +-
superset-frontend/src/components/Chart/Chart.tsx | 21 +-
.../ChartContextMenu/ChartContextMenu.test.tsx | 6 +-
.../Chart/ChartContextMenu/useContextMenu.test.tsx | 2 +-
...artRenderer.test.jsx => ChartRenderer.test.tsx} | 177 +-
.../Chart/{ChartRenderer.jsx => ChartRenderer.tsx} | 294 +-
.../Chart/DrillDetail/DrillDetailPane.tsx | 5 +-
.../src/components/Chart/chartAction.js | 652 -
.../src/components/Chart/chartAction.ts | 1013 +
.../{chartActions.test.js => chartActions.test.ts} | 441 +-
...chartReducers.test.js => chartReducers.test.ts} | 32 +-
.../useDrillDetailMenuItems.test.tsx | 1 +
...dal.test.jsx => ChangeDatasourceModal.test.tsx} | 3 +-
...urceModal.test.jsx => DatasourceModal.test.tsx} | 19 +-
.../components/CollectionTable/index.tsx | 2 +-
.../{DatasourceEditor.jsx => DatasourceEditor.tsx} | 677 +-
.../tests/DatasourceEditor.test.tsx | 3 +
.../Datasource/components/Field/index.tsx | 10 +-
.../Datasource/components/Fieldset/index.tsx | 12 +-
.../src/components/Datasource/types.ts | 34 +-
.../Datasource/utils/{index.js => index.ts} | 134 +-
.../ErrorMessage/DatabaseErrorMessage.test.tsx | 2 +-
.../ErrorMessage/ErrorMessageWithStackTrace.tsx | 2 +-
.../ErrorMessage/OAuth2RedirectMessage.test.tsx | 8 +-
.../ErrorMessage/OAuth2RedirectMessage.tsx | 2 +-
.../src/components/ListView/ListView.tsx | 54 +-
.../{Toast.test.jsx => Toast.test.tsx} | 6 +-
.../src/components/MessageToasts/Toast.tsx | 18 +-
...tPresenter.test.jsx => ToastPresenter.test.tsx} | 5 +-
.../components/MessageToasts/ToastPresenter.tsx | 59 +-
.../{reducers.test.js => reducers.test.ts} | 41 +-
.../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 +-
superset-frontend/src/core/sqlLab/index.ts | 3 +-
.../src/dashboard/actions/dashboardFilters.js | 64 -
.../src/dashboard/actions/dashboardFilters.ts | 120 +
...boardLayout.test.js => dashboardLayout.test.ts} | 150 +-
.../{dashboardLayout.js => dashboardLayout.ts} | 212 +-
.../src/dashboard/actions/dashboardState.js | 1100 -
...shboardState.test.js => dashboardState.test.ts} | 86 +-
.../src/dashboard/actions/dashboardState.ts | 1519 +
.../dashboard/actions/{hydrate.js => hydrate.ts} | 156 +-
.../src/dashboard/actions/sliceEntities.ts | 12 +-
.../{Dashboard.test.jsx => Dashboard.test.tsx} | 83 +-
.../components/{Dashboard.jsx => Dashboard.tsx} | 158 +-
.../DashboardBuilder/DashboardBuilder.tsx | 2 -
.../components/DashboardBuilder/state.test.ts | 254 +
...shboardGrid.test.jsx => DashboardGrid.test.tsx} | 12 +-
.../{DashboardGrid.jsx => DashboardGrid.tsx} | 104 +-
.../components/Header/{index.jsx => index.tsx} | 159 +-
.../src/dashboard/components/Header/types.ts | 59 +-
.../Header/useHeaderActionsDropdownMenu.tsx | 14 +-
.../src/dashboard/components/SliceAdder.tsx | 2 +-
.../components/SliceHeader/SliceHeader.test.tsx | 32 -
.../SliceHeaderControls.test.tsx | 15 +-
...agDroppable.test.jsx => DragDroppable.test.tsx} | 55 +-
.../dnd/{DragDroppable.jsx => DragDroppable.tsx} | 180 +-
.../components/dnd/dragDroppableConfig.ts | 4 +
.../dnd/{handleDrop.js => handleDrop.ts} | 22 +-
.../components/filterscope/FilterScope.test.tsx | 8 +-
...erScopeSelector.jsx => FilterScopeSelector.tsx} | 356 +-
.../Chart/{Chart.test.jsx => Chart.test.tsx} | 30 +-
.../gridComponents/Chart/{Chart.jsx => Chart.tsx} | 497 +-
.../ChartHolder/ChartHolder.test.tsx | 5 +-
.../gridComponents/ChartHolder/ChartHolder.tsx | 14 +-
.../Column/{Column.test.jsx => Column.test.tsx} | 60 +-
.../Column/{Column.jsx => Column.tsx} | 126 +-
.../gridComponents/Divider/Divider.test.tsx | 6 +-
.../DynamicComponent/DynamicComponent.tsx | 2 -
.../gridComponents/Header/Header.test.tsx | 26 +-
.../Markdown/{Markdown.jsx => Markdown.tsx} | 165 +-
.../components/gridComponents/Row/Row.test.tsx | 71 +-
.../components/gridComponents/Row/Row.tsx | 2 +-
.../components/gridComponents/Tab/Tab.test.tsx | 25 +-
.../gridComponents/Tab/{Tab.jsx => Tab.tsx} | 161 +-
.../components/gridComponents/Tabs/Tabs.test.tsx | 7 +-
.../gridComponents/Tabs/{Tabs.jsx => Tabs.tsx} | 201 +-
.../gridComponents/TabsRenderer/TabsRenderer.tsx | 2 +-
...ent.test.jsx => DraggableNewComponent.test.tsx} | 2 +-
.../new/{NewColumn.test.jsx => NewColumn.test.tsx} | 2 +-
.../{NewDivider.test.jsx => NewDivider.test.tsx} | 2 +-
.../new/{NewHeader.test.jsx => NewHeader.test.tsx} | 2 +-
.../new/{NewTabs.test.jsx => NewTabs.test.tsx} | 2 +-
.../menu/ShareMenuItems/ShareMenuItems.test.tsx | 3 +-
...poverMenu.test.jsx => WithPopoverMenu.test.tsx} | 16 +-
.../FilterBarSettings/FilterBarSettings.test.tsx | 3 +-
.../FilterControls/FilterControls.test.tsx | 2 +-
.../FilterBar/FilterControls/FilterValue.tsx | 6 +-
.../components/nativeFilters/FilterBar/state.ts | 2 +-
.../components/nativeFilters/FilterBar/utils.ts | 5 +-
.../nativeFilters/FilterCard/FilterCard.test.tsx | 1 -
.../FiltersConfigForm/FilterScope/state.ts | 12 +-
.../FiltersConfigForm/FilterScope/utils.test.ts | 79 +-
.../FiltersConfigForm/FilterScope/utils.ts | 6 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 27 +-
.../FiltersConfigForm/getControlItemsMap.test.tsx | 5 +-
.../FiltersConfigForm/utils.test.ts | 278 +
.../FiltersConfigModal/FiltersConfigForm/utils.ts | 25 +
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 157 +-
.../FiltersConfigModal/NativeFiltersModal.test.tsx | 1 -
.../dashboard/components/nativeFilters/state.ts | 2 +-
.../dashboard/components/nativeFilters/utils.ts | 2 +-
.../components/resizable/ResizableContainer.tsx | 4 +-
.../dashboard/containers/DashboardComponent.jsx | 144 -
.../dashboard/containers/DashboardComponent.tsx | 187 +
.../src/dashboard/containers/DashboardPage.tsx | 23 +-
...ardFilters.test.js => dashboardFilters.test.ts} | 58 +-
.../{dashboardFilters.js => dashboardFilters.ts} | 110 +-
.../{dashboardInfo.js => dashboardInfo.ts} | 185 +-
...boardLayout.test.js => dashboardLayout.test.ts} | 46 +-
.../{dashboardLayout.js => dashboardLayout.ts} | 160 +-
.../src/dashboard/reducers/dashboardState.test.js | 296 -
.../src/dashboard/reducers/dashboardState.test.ts | 328 +-
.../{dashboardState.js => dashboardState.ts} | 235 +-
...sliceEntities.test.js => sliceEntities.test.ts} | 27 +-
superset-frontend/src/dashboard/reducers/types.ts | 81 -
...shboardLayout.js => undoableDashboardLayout.ts} | 23 +-
superset-frontend/src/dashboard/types.ts | 91 +-
.../dashboard/util/buildFilterScopeTreeEntry.ts | 6 +-
.../src/dashboard/util/crossFilters.test.ts | 3 +-
.../{dnd-reorder.test.js => dnd-reorder.test.ts} | 2 +-
.../util/{dnd-reorder.js => dnd-reorder.ts} | 30 +-
.../src/dashboard/util/dropOverflowsParent.test.ts | 66 +-
.../src/dashboard/util/dropOverflowsParent.ts | 12 +-
.../src/dashboard/util/extractUrlParams.test.ts | 4 +-
...er.test.js => findFirstParentContainer.test.ts} | 17 +-
.../src/dashboard/util/findParentId.test.ts | 8 +-
...=> getChartAndLabelComponentIdFromPath.test.ts} | 0
.../util/getChartIdsInFilterScope.test.ts | 66 +-
...dthFromDrop.js => getComponentWidthFromDrop.ts} | 29 +-
...ashboardUrl.test.js => getDashboardUrl.test.ts} | 47 +-
...h.test.js => getDetailedComponentWidth.test.ts} | 11 +-
...ponentWidth.js => getDetailedComponentWidth.ts} | 37 +-
...ropPosition.test.js => getDropPosition.test.ts} | 17 +-
.../{getDropPosition.js => getDropPosition.ts} | 45 +-
...rs.test.js => getEffectiveExtraFilters.test.ts} | 3 +-
...est.js => getFilterConfigsFromFormdata.test.ts} | 3 +
...Formdata.js => getFilterConfigsFromFormdata.ts} | 41 +-
...test.js => getFilterScopeFromNodesTree.test.ts} | 5 +-
...NodesTree.js => getFilterScopeFromNodesTree.ts} | 75 +-
...copeNodesTree.js => getFilterScopeNodesTree.ts} | 77 +-
....test.js => getLeafComponentIdFromPath.test.ts} | 0
.../src/dashboard/util/getRelatedCharts.ts | 4 +-
.../src/dashboard/util/getRevertedFilterScope.ts | 27 +-
...Factory.test.js => newComponentFactory.test.ts} | 0
...wComponentFactory.js => newComponentFactory.ts} | 18 +-
...romDrop.test.js => newEntitiesFromDrop.test.ts} | 35 +-
...wEntitiesFromDrop.js => newEntitiesFromDrop.ts} | 15 +-
.../src/dashboard/util/propShapes.jsx | 129 -
....test.js => updateComponentParentsList.test.ts} | 24 +-
.../src/embedded/EmbeddedContextProviders.tsx | 2 +-
superset-frontend/src/embedded/utils.test.ts | 12 +-
superset-frontend/src/embedded/utils.ts | 10 +-
.../src/explore/actions/datasourcesActions.test.ts | 15 +-
...ploreActions.test.js => exploreActions.test.ts} | 29 +-
.../src/explore/actions/hydrateExplore.test.ts | 12 +-
.../src/explore/actions/saveModalActions.test.ts | 105 +-
.../src/explore/actions/saveModalActions.ts | 4 +-
.../explore/components/ControlPanelsContainer.tsx | 3 +-
.../CopyToClipboardButton.test.tsx | 8 +-
.../explore/components/DataTableControl/index.tsx | 7 +-
.../components/DataTableControls.tsx | 3 +-
.../DataTablesPane/components/useResultsPane.tsx | 6 +-
.../DataTablesPane/test/DataTablesPane.test.tsx | 2 +-
.../explore/components/DatasourcePanel/index.tsx | 2 +-
...eContent.test.jsx => EmbedCodeContent.test.tsx} | 7 +-
.../{EmbedCodeContent.jsx => EmbedCodeContent.tsx} | 31 +-
.../ExploreChartHeader/ExploreChartHeader.test.tsx | 297 +-
.../ExploreChartHeader/{index.jsx => index.tsx} | 105 +-
...rtPanel.test.jsx => ExploreChartPanel.test.tsx} | 9 +-
.../explore/components/ExploreChartPanel/index.tsx | 11 +-
.../ExploreViewContainer/{index.jsx => index.tsx} | 398 +-
.../{SaveModal.test.jsx => SaveModal.test.tsx} | 79 +-
.../src/explore/components/SaveModal.tsx | 7 +-
.../controls/AnnotationLayerControl/index.tsx | 10 +-
.../controls/CollectionControl/index.tsx | 18 -
.../ControlForm/ControlFormItem.tsx | 2 +-
.../FormattingPopoverContent.test.tsx | 3 +-
.../FormattingPopoverContent.tsx | 8 +-
.../DatasourceControl/DatasourceControl.test.tsx | 23 +-
.../controls/DatasourceControl/index.tsx | 22 -
.../ColumnSelectPopover.test.tsx | 128 +-
.../DndColumnSelectControl/ColumnSelectPopover.tsx | 20 +-
.../FilterControl/AdhocFilterControl/index.tsx | 46 +-
.../AdhocFilterEditPopover.test.tsx | 1 +
.../FilterControl/AdhocFilterEditPopover/index.tsx | 26 -
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 108 +-
.../AdhocFilterEditPopoverSqlTabContent/index.tsx | 2 +-
.../controls/FilterControl/adhocFilterType.test.ts | 104 -
.../controls/FilterControl/adhocFilterType.ts | 64 -
.../components/controls/FilterControl/types.ts | 7 -
.../controls/FilterControl/utils/translateToSQL.ts | 7 +-
.../controls/FixedOrMetricControl/index.tsx | 16 +-
.../AdhocMetricEditPopover.test.tsx | 158 +
.../MetricControl/AdhocMetricEditPopover/index.tsx | 28 +-
.../controls/MetricControl/AdhocMetricOption.tsx | 22 -
.../MetricControl/FilterDefinitionOption.tsx | 13 -
.../MetricControl/MetricDefinitionValue.tsx | 19 -
.../controls/MetricControl/MetricsControl.tsx | 20 -
.../controls/MetricControl/adhocMetricType.ts | 37 -
.../controls/MetricControl/savedMetricType.test.ts | 45 -
.../controls/MetricControl/savedMetricType.ts | 31 -
.../explore/components/controls/SelectControl.tsx | 52 -
.../components/controls/TextAreaControl.tsx | 37 -
.../controls/TimeSeriesColumnControl/index.tsx | 21 -
.../explore/components/controls/ViewQueryModal.tsx | 2 +-
.../ZoomConfigControl/ZoomConfigControl.tsx | 8 +-
.../controls/ZoomConfigControl/zoomUtil.test.ts | 2 +-
.../{index.jsx => index.tsx} | 262 +-
...exploreUtils.test.jsx => exploreUtils.test.tsx} | 54 +-
.../explore/exploreUtils/getChartDataUri.test.ts | 8 +-
.../src/explore/exploreUtils/getChartKey.test.ts | 5 +-
.../src/explore/exploreUtils/getExploreUrl.test.ts | 2 +-
.../exploreUtils/getParsedExploreURLParams.test.ts | 2 +-
.../exploreUtils/getSimpleSQLExpression.test.ts | 6 -
.../explore/exploreUtils/{index.js => index.ts} | 203 +-
.../src/explore/reducers/exploreReducer.js | 375 -
...ploreReducer.test.js => exploreReducer.test.ts} | 27 +-
.../src/explore/reducers/exploreReducer.ts | 633 +
superset-frontend/src/explore/types.ts | 1 +
.../src/extensions/ExtensionsManager.ts | 4 +-
.../src/features/alerts/AlertReportModal.test.tsx | 26 +-
.../src/features/alerts/AlertReportModal.tsx | 4 +-
.../DatabaseModal/DatabaseConnectionForm/index.tsx | 3 +-
.../src/features/home/RightMenu.test.tsx | 24 +-
.../ReportModal/HeaderReportDropdown/index.tsx | 16 +-
.../reports/ReportModal/ReportModal.test.tsx | 5 +-
.../src/features/reports/ReportModal/actions.js | 162 -
.../src/features/reports/ReportModal/actions.ts | 257 +
.../src/features/reports/ReportModal/index.tsx | 3 +-
.../src/features/reports/ReportModal/reducer.js | 99 -
.../src/features/reports/ReportModal/reducer.ts | 159 +
.../src/features/tags/BulkTagModal.tsx | 4 +-
superset-frontend/src/features/tags/TagModal.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/Range/RangeFilterPlugin.test.tsx | 8 +-
.../filters/components/Range/RangeFilterPlugin.tsx | 2 +-
.../src/filters/components/Range/buildQuery.ts | 2 +-
.../components/Select/SelectFilterPlugin.test.tsx | 48 +-
.../components/Select/SelectFilterPlugin.tsx | 2 +-
.../TimeColumn/TimeColumnFilterPlugin.tsx | 29 +-
.../components/TimeGrain/TimeGrainFilterPlugin.tsx | 2 +-
superset-frontend/src/filters/utils.ts | 1 -
superset-frontend/src/middleware/logger.test.js | 161 -
superset-frontend/src/middleware/logger.test.ts | 187 +
.../{loggerMiddleware.js => loggerMiddleware.ts} | 97 +-
...eportList.test.jsx => AlertReportList.test.tsx} | 16 +-
...rList.test.jsx => AnnotationLayerList.test.tsx} | 15 +-
.../pages/ChartList/ChartList.cardview.test.tsx | 45 +-
.../pages/ChartList/ChartList.listview.test.tsx | 189 +-
.../pages/ChartList/ChartList.permissions.test.tsx | 2 +-
.../src/pages/ChartList/ChartList.test.tsx | 181 +-
.../src/pages/ChartList/ChartList.testHelpers.tsx | 2 +-
...plateList.test.jsx => CssTemplateList.test.tsx} | 14 +-
...shboardList.test.jsx => DashboardList.test.tsx} | 22 +-
.../DatasetList/DatasetList.behavior.test.tsx | 116 +-
.../DatasetList/DatasetList.integration.test.tsx | 4 +-
.../DatasetList/DatasetList.listview.test.tsx | 429 +-
.../DatasetList/DatasetList.permissions.test.tsx | 105 +-
.../src/pages/DatasetList/DatasetList.test.tsx | 122 +-
.../pages/DatasetList/DatasetList.testHelpers.tsx | 88 +-
.../src/pages/FileHandler/index.test.tsx | 4 +-
.../src/pages/GroupsList/GroupsList.test.tsx | 2 +-
superset-frontend/src/pages/Home/Home.test.tsx | 6 +-
.../src/pages/RolesList/RolesList.test.tsx | 2 +-
.../RowLevelSecurityList.test.tsx | 2 +-
.../pages/SavedQueryList/SavedQueryList.test.tsx | 2 +-
.../src/pages/TaskList/TaskList.test.tsx | 328 +
superset-frontend/src/pages/TaskList/index.tsx | 658 +
.../src/pages/UserInfo/UserInfo.test.tsx | 2 +-
.../src/pages/UsersList/UsersList.test.tsx | 2 +-
superset-frontend/src/preamble.ts | 141 +-
superset-frontend/src/setup/setupColors.ts | 2 -
superset-frontend/src/theme.ts | 6 +
superset-frontend/src/utils/assetUrl.test.ts | 4 +-
.../src/utils/{common.test.jsx => common.test.tsx} | 28 +-
.../src/utils/{common.js => common.ts} | 72 +-
.../src/utils/getControlsForVizType.test.js | 102 -
superset-frontend/src/views/App.tsx | 3 +-
superset-frontend/src/views/CRUD/utils.tsx | 1 -
.../src/views/RootContextProviders.tsx | 2 +-
superset-frontend/src/views/index.tsx | 18 +-
superset-frontend/src/views/menu.tsx | 3 +-
superset-frontend/src/views/routes.tsx | 9 +
.../presets/{MainPreset.js => MainPreset.ts} | 0
superset-frontend/tsconfig.json | 1 +
superset-frontend/webpack.config.js | 64 +-
superset-frontend/webpack.proxy-config.js | 24 +-
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/release.py | 83 +
.../base.py => tasks/__init__.py} | 35 +-
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 | 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/explorables/base.py | 12 +
superset/extensions/local_extensions_watcher.py | 5 +-
superset/initialization/__init__.py | 26 +
superset/mcp_service/chart/chart_utils.py | 157 +-
superset/mcp_service/chart/preview_utils.py | 23 +-
superset/mcp_service/chart/schemas.py | 297 +-
superset/mcp_service/chart/tool/generate_chart.py | 44 +-
superset/mcp_service/chart/tool/get_chart_data.py | 15 +-
.../mcp_service/chart/tool/get_chart_preview.py | 25 +-
superset/mcp_service/chart/tool/update_chart.py | 4 +-
.../mcp_service/chart/tool/update_chart_preview.py | 5 +-
superset/mcp_service/chart/validation/pipeline.py | 66 +-
.../chart/validation/runtime/__init__.py | 29 +-
.../explore/tool/generate_explore_link.py | 5 +-
superset/mcp_service/utils/sanitization.py | 283 +
.../versions/2025_12_18_0220_create_tasks_table.py | 221 +
superset/models/task_subscribers.py | 62 +
superset/models/tasks.py | 358 +
superset/security/manager.py | 2 +-
superset/sql/execution/celery_task.py | 5 +-
superset/sql/execution/executor.py | 41 +-
superset/sql/parse.py | 40 +
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/translations/es/LC_MESSAGES/messages.po | 28 +-
superset/utils/cache_manager.py | 55 +-
superset/utils/log.py | 5 +-
superset/utils/oauth2.py | 10 +-
superset/views/base.py | 7 +-
.../distributed_lock/get.py => views/tasks.py} | 37 +-
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 +-
.../mcp_service/chart/test_chart_schemas.py | 36 +
.../mcp_service/chart/test_chart_utils.py | 281 +-
.../mcp_service/chart/test_preview_utils.py | 158 +
.../mcp_service/chart/tool/test_get_chart_data.py | 109 +
.../chart/tool/test_get_chart_preview.py | 113 +
.../chart/validation/test_runtime_validator.py | 52 +-
.../explore/tool/test_generate_explore_link.py | 23 +-
.../mcp_service/utils/test_sanitization.py | 480 +
tests/unit_tests/security/manager_test.py | 37 +
tests/unit_tests/sql/execution/test_executor.py | 73 +-
tests/unit_tests/sql/parse_tests.py | 33 +
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 +-
897 files changed, 75715 insertions(+), 57517 deletions(-)
delete mode 100644 .github/workflows/prefer-typescript.yml
create mode 100644 docs/developer_portal/extensions/tasks.md
create mode 100644 docs/plugins/remark-tech-article-schema.mjs
create mode 100644 docs/plugins/robots-txt-plugin.js
create mode 100644 docs/src/components/FAQSchema.tsx
create mode 100644 docs/src/components/TechArticleSchema.tsx
delete mode 100644 docs/src/styles/antd-theme.less
rename docs/src/styles/{main.less => main.css} (71%)
create mode 100644 docs/static/img/superset-og-image.png
create mode 100644 superset-core/src/superset_core/api/tasks.py
delete mode 100644 superset-frontend/.swcrc
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/chart_list/_skip.filter.test.ts
rename superset-frontend/eslint-rules/eslint-plugin-i18n-strings/{index.js =>
index.ts} (50%)
rename
superset-frontend/eslint-rules/eslint-plugin-i18n-strings/{no-template-vars.test.js
=> no-template-vars.test.ts} (88%)
rename superset-frontend/eslint-rules/eslint-plugin-icons/{index.js =>
index.ts} (55%)
rename
superset-frontend/eslint-rules/eslint-plugin-icons/{no-fontawesome.test.js =>
no-fontawesome.test.ts} (83%)
rename superset-frontend/eslint-rules/eslint-plugin-theme-colors/{colors.js =>
colors.ts} (97%)
delete mode 100644
superset-frontend/eslint-rules/eslint-plugin-theme-colors/index.js
create mode 100644
superset-frontend/eslint-rules/eslint-plugin-theme-colors/index.ts
rename superset-frontend/packages/generator-superset/test/{app.test.js =>
app.test.ts} (92%)
rename
superset-frontend/packages/generator-superset/test/{plugin-chart.test.js =>
plugin-chart.test.ts} (89%)
rename
superset-frontend/packages/superset-ui-core/src/components/Form/{LabeledErrorBoundInput.test.jsx
=> LabeledErrorBoundInput.test.tsx} (83%)
rename
superset-frontend/packages/superset-ui-core/src/components/IconTooltip/{IconTooltip.test.jsx
=> IconTooltip.test.tsx} (100%)
create mode 100644
superset-frontend/playwright/components/ListView/BulkSelect.ts
copy
superset-frontend/{plugins/plugin-chart-pivot-table/src/react-pivottable/index.js
=> playwright/components/ListView/index.ts} (89%)
create mode 100644 superset-frontend/playwright/components/core/AceEditor.ts
create mode 100644 superset-frontend/playwright/components/core/Checkbox.ts
create mode 100644 superset-frontend/playwright/components/core/Select.ts
create mode 100644 superset-frontend/playwright/components/core/Tabs.ts
create mode 100644 superset-frontend/playwright/components/core/Textarea.ts
create mode 100644
superset-frontend/playwright/components/modals/ConfirmDialog.ts
create mode 100644
superset-frontend/playwright/components/modals/EditDatasetModal.ts
create mode 100644
superset-frontend/playwright/components/modals/ImportDatasetModal.ts
create mode 100644 superset-frontend/playwright/fixtures/dataset_export.zip
create mode 100644 superset-frontend/playwright/helpers/api/assertions.ts
create mode 100644 superset-frontend/playwright/helpers/api/intercepts.ts
copy superset-frontend/{src/components/AuditInfo/types.ts =>
playwright/helpers/fixtures/index.ts} (87%)
create mode 100644 superset-frontend/playwright/helpers/fixtures/testAssets.ts
create mode 100644 superset-frontend/playwright/pages/ChartCreationPage.ts
create mode 100644 superset-frontend/playwright/pages/CreateDatasetPage.ts
create mode 100644
superset-frontend/playwright/tests/experimental/dataset/create-dataset.spec.ts
create mode 100644
superset-frontend/playwright/tests/experimental/dataset/dataset-test-helpers.ts
rename superset-frontend/plugins/legacy-plugin-chart-calendar/src/{Calendar.js
=> Calendar.ts} (62%)
rename
superset-frontend/plugins/legacy-plugin-chart-calendar/src/{ReactCalendar.jsx
=> ReactCalendar.tsx} (91%)
rename superset-frontend/plugins/legacy-plugin-chart-calendar/src/{index.js =>
index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-calendar/src/{transformProps.js
=> transformProps.ts} (87%)
rename
superset-frontend/plugins/legacy-plugin-chart-calendar/src/vendor/{cal-heatmap.js
=> cal-heatmap.ts} (99%)
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-plugin-chart-calendar/types/external.d.ts} (84%)
rename superset-frontend/plugins/legacy-plugin-chart-chord/src/{Chord.js =>
Chord.ts} (76%)
rename superset-frontend/plugins/legacy-plugin-chart-chord/src/{ReactChord.jsx
=> ReactChord.tsx} (73%)
rename superset-frontend/plugins/legacy-plugin-chart-chord/src/{index.js =>
index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-chord/src/{transformProps.js =>
transformProps.ts} (90%)
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-plugin-chart-chord/types/external.d.ts} (84%)
rename
superset-frontend/plugins/legacy-plugin-chart-country-map/src/{CountryMap.js =>
CountryMap.ts} (69%)
rename
superset-frontend/plugins/legacy-plugin-chart-country-map/src/{ReactCountryMap.jsx
=> ReactCountryMap.tsx} (78%)
rename superset-frontend/plugins/legacy-plugin-chart-country-map/src/{index.js
=> index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-country-map/src/{transformProps.js
=> transformProps.ts} (91%)
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-plugin-chart-country-map/types/external.d.ts} (84%)
rename
superset-frontend/plugins/legacy-plugin-chart-horizon/src/{HorizonChart.jsx =>
HorizonChart.tsx} (75%)
rename
superset-frontend/plugins/legacy-plugin-chart-horizon/src/{HorizonRow.jsx =>
HorizonRow.tsx} (83%)
rename superset-frontend/plugins/legacy-plugin-chart-horizon/src/{index.js =>
index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-horizon/src/{transformProps.js =>
transformProps.ts} (67%)
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-plugin-chart-horizon/types/external.d.ts} (84%)
rename superset-frontend/plugins/legacy-plugin-chart-map-box/src/{MapBox.jsx
=> MapBox.tsx} (61%)
rename
superset-frontend/plugins/legacy-plugin-chart-map-box/src/{ScatterPlotGlowOverlay.jsx
=> ScatterPlotGlowOverlay.tsx} (66%)
rename superset-frontend/plugins/legacy-plugin-chart-map-box/src/{index.js =>
index.ts} (92%)
rename
superset-frontend/plugins/legacy-plugin-chart-map-box/src/{transformProps.js =>
transformProps.ts} (79%)
rename superset-frontend/plugins/legacy-plugin-chart-map-box/src/utils/{geo.js
=> geo.ts} (92%)
rename
superset-frontend/plugins/legacy-plugin-chart-map-box/src/utils/{luminanceFromRGB.js
=> luminanceFromRGB.ts} (92%)
create mode 100644
superset-frontend/plugins/legacy-plugin-chart-map-box/types/external.d.ts
rename
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{PairedTTest.jsx
=> PairedTTest.tsx} (86%)
rename
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{TTestTable.jsx
=> TTestTable.tsx} (82%)
rename
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{index.js =>
index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/src/{transformProps.js
=> transformProps.ts} (80%)
create mode 100644
superset-frontend/plugins/legacy-plugin-chart-paired-t-test/types/external.d.ts
rename
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{ParallelCoordinates.js
=> ParallelCoordinates.ts} (64%)
rename
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{ReactParallelCoordinates.jsx
=> ReactParallelCoordinates.tsx} (88%)
rename
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{index.js
=> index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/{transformProps.js
=> transformProps.ts} (84%)
rename
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/vendor/parcoords/{d3.parcoords.js
=> d3.parcoords.ts} (99%)
rename
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/vendor/parcoords/{divgrid.js
=> divgrid.ts} (96%)
copy
superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/types/{d3.d.ts
=> external.d.ts} (79%)
rename
superset-frontend/plugins/legacy-plugin-chart-partition/src/{Partition.js =>
Partition.ts} (84%)
rename
superset-frontend/plugins/legacy-plugin-chart-partition/src/{ReactPartition.jsx
=> ReactPartition.tsx} (78%)
rename superset-frontend/plugins/legacy-plugin-chart-partition/src/{index.js
=> index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-partition/src/{transformProps.js
=> transformProps.ts} (87%)
rename
superset-frontend/plugins/legacy-plugin-chart-partition/test/{OptionDescription.test.jsx
=> OptionDescription.test.tsx} (91%)
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-plugin-chart-partition/types/external.d.ts} (84%)
rename superset-frontend/plugins/legacy-plugin-chart-rose/src/{ReactRose.jsx
=> ReactRose.tsx} (79%)
rename superset-frontend/plugins/legacy-plugin-chart-rose/src/{Rose.js =>
Rose.ts} (89%)
rename superset-frontend/plugins/legacy-plugin-chart-rose/src/{index.js =>
index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-rose/src/{transformProps.js =>
transformProps.ts} (91%)
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-plugin-chart-rose/types/external.d.ts} (84%)
rename
superset-frontend/plugins/legacy-plugin-chart-world-map/src/{ReactWorldMap.jsx
=> ReactWorldMap.tsx} (71%)
rename
superset-frontend/plugins/legacy-plugin-chart-world-map/src/{WorldMap.js =>
WorldMap.ts} (75%)
rename superset-frontend/plugins/legacy-plugin-chart-world-map/src/{index.js
=> index.ts} (100%)
rename
superset-frontend/plugins/legacy-plugin-chart-world-map/src/{transformProps.js
=> transformProps.ts} (94%)
create mode 100644
superset-frontend/plugins/legacy-plugin-chart-world-map/test/WorldMap.test.ts
create mode 100644
superset-frontend/plugins/legacy-plugin-chart-world-map/test/tsconfig.json
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-plugin-chart-world-map/types/external.d.ts} (84%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bubble/{index.js
=> index.ts} (100%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/Bullet/{index.js
=> index.ts} (100%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/src/Compare/{index.js =>
index.ts} (100%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{NVD3Vis.js =>
NVD3Vis.ts} (99%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{PropTypes.js =>
PropTypes.ts} (100%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{ReactNVD3.jsx
=> ReactNVD3.tsx} (98%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/src/TimePivot/{index.js =>
index.ts} (100%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{index.js =>
index.ts} (100%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{preset.js =>
preset.ts} (100%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/src/{transformProps.js =>
transformProps.ts} (88%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/src/{utils.js =>
utils.ts} (99%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/src/utils/{isTruthy.js =>
isTruthy.ts} (94%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/src/vendor/superset/{AnnotationTypes.js
=> AnnotationTypes.ts} (97%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/src/vendor/superset/{exploreUtils.js
=> exploreUtils.ts} (97%)
rename superset-frontend/plugins/legacy-preset-chart-nvd3/test/{utils.test.js
=> utils.test.ts} (86%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/test/utils/{isTruthy.test.js
=> isTruthy.test.ts} (87%)
rename
superset-frontend/plugins/legacy-preset-chart-nvd3/test/utils/{tokenize.test.js
=> tokenize.test.ts} (86%)
copy
superset-frontend/plugins/{legacy-plugin-chart-parallel-coordinates/types/d3.d.ts
=> legacy-preset-chart-nvd3/types/external.d.ts} (61%)
rename
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{PivotTable.jsx
=> PivotTable.tsx} (85%)
rename
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{Styles.js
=> Styles.ts} (98%)
rename
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{TableRenderers.jsx
=> TableRenderers.tsx} (74%)
rename
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{index.js
=> index.ts} (100%)
rename
superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/{utilities.js
=> utilities.ts} (61%)
delete mode 100644 superset-frontend/src/.eslintrc.json
rename superset-frontend/src/SqlLab/actions/{sqlLab.test.js => sqlLab.test.ts}
(81%)
rename superset-frontend/src/SqlLab/reducers/{sqlLab.test.js =>
sqlLab.test.ts} (89%)
rename superset-frontend/src/components/Chart/{ChartRenderer.test.jsx =>
ChartRenderer.test.tsx} (58%)
rename superset-frontend/src/components/Chart/{ChartRenderer.jsx =>
ChartRenderer.tsx} (62%)
delete mode 100644 superset-frontend/src/components/Chart/chartAction.js
create mode 100644 superset-frontend/src/components/Chart/chartAction.ts
rename superset-frontend/src/components/Chart/{chartActions.test.js =>
chartActions.test.ts} (52%)
rename superset-frontend/src/components/Chart/{chartReducers.test.js =>
chartReducers.test.ts} (76%)
rename
superset-frontend/src/components/Datasource/ChangeDatasourceModal/{ChangeDatasourceModal.test.jsx
=> ChangeDatasourceModal.test.tsx} (98%)
rename
superset-frontend/src/components/Datasource/DatasourceModal/{DatasourceModal.test.jsx
=> DatasourceModal.test.tsx} (95%)
rename
superset-frontend/src/components/Datasource/components/DatasourceEditor/{DatasourceEditor.jsx
=> DatasourceEditor.tsx} (81%)
rename superset-frontend/src/components/Datasource/utils/{index.js =>
index.ts} (60%)
rename superset-frontend/src/components/MessageToasts/{Toast.test.jsx =>
Toast.test.tsx} (88%)
rename superset-frontend/src/components/MessageToasts/{ToastPresenter.test.jsx
=> ToastPresenter.test.tsx} (91%)
rename superset-frontend/src/components/MessageToasts/{reducers.test.js =>
reducers.test.ts} (58%)
delete mode 100644 superset-frontend/src/dashboard/actions/dashboardFilters.js
create mode 100644 superset-frontend/src/dashboard/actions/dashboardFilters.ts
rename superset-frontend/src/dashboard/actions/{dashboardLayout.test.js =>
dashboardLayout.test.ts} (78%)
rename superset-frontend/src/dashboard/actions/{dashboardLayout.js =>
dashboardLayout.ts} (65%)
delete mode 100644 superset-frontend/src/dashboard/actions/dashboardState.js
rename superset-frontend/src/dashboard/actions/{dashboardState.test.js =>
dashboardState.test.ts} (73%)
create mode 100644 superset-frontend/src/dashboard/actions/dashboardState.ts
rename superset-frontend/src/dashboard/actions/{hydrate.js => hydrate.ts} (68%)
rename superset-frontend/src/dashboard/components/{Dashboard.test.jsx =>
Dashboard.test.tsx} (82%)
rename superset-frontend/src/dashboard/components/{Dashboard.jsx =>
Dashboard.tsx} (70%)
create mode 100644
superset-frontend/src/dashboard/components/DashboardBuilder/state.test.ts
rename superset-frontend/src/dashboard/components/{DashboardGrid.test.jsx =>
DashboardGrid.test.tsx} (94%)
rename superset-frontend/src/dashboard/components/{DashboardGrid.jsx =>
DashboardGrid.tsx} (81%)
rename superset-frontend/src/dashboard/components/Header/{index.jsx =>
index.tsx} (85%)
rename superset-frontend/src/dashboard/components/dnd/{DragDroppable.test.jsx
=> DragDroppable.test.tsx} (82%)
rename superset-frontend/src/dashboard/components/dnd/{DragDroppable.jsx =>
DragDroppable.tsx} (60%)
rename superset-frontend/src/dashboard/components/dnd/{handleDrop.js =>
handleDrop.ts} (83%)
rename
superset-frontend/src/dashboard/components/filterscope/{FilterScopeSelector.jsx
=> FilterScopeSelector.tsx} (69%)
rename
superset-frontend/src/dashboard/components/gridComponents/Chart/{Chart.test.jsx
=> Chart.test.tsx} (94%)
rename
superset-frontend/src/dashboard/components/gridComponents/Chart/{Chart.jsx =>
Chart.tsx} (58%)
rename
superset-frontend/src/dashboard/components/gridComponents/Column/{Column.test.jsx
=> Column.test.tsx} (81%)
rename
superset-frontend/src/dashboard/components/gridComponents/Column/{Column.jsx =>
Column.tsx} (72%)
rename
superset-frontend/src/dashboard/components/gridComponents/Markdown/{Markdown.jsx
=> Markdown.tsx} (75%)
rename superset-frontend/src/dashboard/components/gridComponents/Tab/{Tab.jsx
=> Tab.tsx} (80%)
rename
superset-frontend/src/dashboard/components/gridComponents/Tabs/{Tabs.jsx =>
Tabs.tsx} (78%)
rename
superset-frontend/src/dashboard/components/gridComponents/new/{DraggableNewComponent.test.jsx
=> DraggableNewComponent.test.tsx} (97%)
rename
superset-frontend/src/dashboard/components/gridComponents/new/{NewColumn.test.jsx
=> NewColumn.test.tsx} (96%)
rename
superset-frontend/src/dashboard/components/gridComponents/new/{NewDivider.test.jsx
=> NewDivider.test.tsx} (96%)
rename
superset-frontend/src/dashboard/components/gridComponents/new/{NewHeader.test.jsx
=> NewHeader.test.tsx} (96%)
rename
superset-frontend/src/dashboard/components/gridComponents/new/{NewTabs.test.jsx
=> NewTabs.test.tsx} (97%)
rename
superset-frontend/src/dashboard/components/menu/{WithPopoverMenu.test.jsx =>
WithPopoverMenu.test.tsx} (96%)
create mode 100644
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/utils.test.ts
delete mode 100644
superset-frontend/src/dashboard/containers/DashboardComponent.jsx
create mode 100644
superset-frontend/src/dashboard/containers/DashboardComponent.tsx
rename superset-frontend/src/dashboard/reducers/{dashboardFilters.test.js =>
dashboardFilters.test.ts} (77%)
rename superset-frontend/src/dashboard/reducers/{dashboardFilters.js =>
dashboardFilters.ts} (50%)
rename superset-frontend/src/dashboard/reducers/{dashboardInfo.js =>
dashboardInfo.ts} (53%)
rename superset-frontend/src/dashboard/reducers/{dashboardLayout.test.js =>
dashboardLayout.test.ts} (92%)
rename superset-frontend/src/dashboard/reducers/{dashboardLayout.js =>
dashboardLayout.ts} (67%)
delete mode 100644
superset-frontend/src/dashboard/reducers/dashboardState.test.js
rename superset-frontend/src/dashboard/reducers/{dashboardState.js =>
dashboardState.ts} (52%)
rename superset-frontend/src/dashboard/reducers/{sliceEntities.test.js =>
sliceEntities.test.ts} (71%)
delete mode 100644 superset-frontend/src/dashboard/reducers/types.ts
rename superset-frontend/src/dashboard/reducers/{undoableDashboardLayout.js =>
undoableDashboardLayout.ts} (83%)
rename superset-frontend/src/dashboard/util/{dnd-reorder.test.js =>
dnd-reorder.test.ts} (99%)
rename superset-frontend/src/dashboard/util/{dnd-reorder.js => dnd-reorder.ts}
(86%)
rename superset-frontend/src/dashboard/util/{findFirstParentContainer.test.js
=> findFirstParentContainer.test.ts} (85%)
rename
superset-frontend/src/dashboard/util/{getChartAndLabelComponentIdFromPath.test.js
=> getChartAndLabelComponentIdFromPath.test.ts} (100%)
rename superset-frontend/src/dashboard/util/{getComponentWidthFromDrop.js =>
getComponentWidthFromDrop.ts} (74%)
rename superset-frontend/src/dashboard/util/{getDashboardUrl.test.js =>
getDashboardUrl.test.ts} (82%)
rename superset-frontend/src/dashboard/util/{getDetailedComponentWidth.test.js
=> getDetailedComponentWidth.test.ts} (95%)
rename superset-frontend/src/dashboard/util/{getDetailedComponentWidth.js =>
getDetailedComponentWidth.ts} (76%)
rename superset-frontend/src/dashboard/util/{getDropPosition.test.js =>
getDropPosition.test.ts} (96%)
rename superset-frontend/src/dashboard/util/{getDropPosition.js =>
getDropPosition.ts} (84%)
rename superset-frontend/src/dashboard/util/{getEffectiveExtraFilters.test.js
=> getEffectiveExtraFilters.test.ts} (93%)
rename
superset-frontend/src/dashboard/util/{getFilterConfigsFromFormdata.test.js =>
getFilterConfigsFromFormdata.test.ts} (97%)
rename superset-frontend/src/dashboard/util/{getFilterConfigsFromFormdata.js
=> getFilterConfigsFromFormdata.ts} (69%)
rename
superset-frontend/src/dashboard/util/{getFilterScopeFromNodesTree.test.js =>
getFilterScopeFromNodesTree.test.ts} (98%)
rename superset-frontend/src/dashboard/util/{getFilterScopeFromNodesTree.js =>
getFilterScopeFromNodesTree.ts} (75%)
rename superset-frontend/src/dashboard/util/{getFilterScopeNodesTree.js =>
getFilterScopeNodesTree.ts} (62%)
rename
superset-frontend/src/dashboard/util/{getLeafComponentIdFromPath.test.js =>
getLeafComponentIdFromPath.test.ts} (100%)
rename superset-frontend/src/dashboard/util/{newComponentFactory.test.js =>
newComponentFactory.test.ts} (100%)
rename superset-frontend/src/dashboard/util/{newComponentFactory.js =>
newComponentFactory.ts} (82%)
rename superset-frontend/src/dashboard/util/{newEntitiesFromDrop.test.js =>
newEntitiesFromDrop.test.ts} (75%)
rename superset-frontend/src/dashboard/util/{newEntitiesFromDrop.js =>
newEntitiesFromDrop.ts} (84%)
delete mode 100644 superset-frontend/src/dashboard/util/propShapes.jsx
rename
superset-frontend/src/dashboard/util/{updateComponentParentsList.test.js =>
updateComponentParentsList.test.ts} (90%)
rename superset-frontend/src/explore/actions/{exploreActions.test.js =>
exploreActions.test.ts} (87%)
rename superset-frontend/src/explore/components/{EmbedCodeContent.test.jsx =>
EmbedCodeContent.test.tsx} (92%)
rename superset-frontend/src/explore/components/{EmbedCodeContent.jsx =>
EmbedCodeContent.tsx} (85%)
rename superset-frontend/src/explore/components/ExploreChartHeader/{index.jsx
=> index.tsx} (80%)
rename
superset-frontend/src/explore/components/ExploreChartPanel/{ExploreChartPanel.test.jsx
=> ExploreChartPanel.test.tsx} (95%)
rename
superset-frontend/src/explore/components/ExploreViewContainer/{index.jsx =>
index.tsx} (73%)
rename superset-frontend/src/explore/components/{SaveModal.test.jsx =>
SaveModal.test.tsx} (92%)
delete mode 100644
superset-frontend/src/explore/components/controls/FilterControl/adhocFilterType.test.ts
delete mode 100644
superset-frontend/src/explore/components/controls/FilterControl/adhocFilterType.ts
delete mode 100644
superset-frontend/src/explore/components/controls/MetricControl/adhocMetricType.ts
delete mode 100644
superset-frontend/src/explore/components/controls/MetricControl/savedMetricType.test.ts
delete mode 100644
superset-frontend/src/explore/components/controls/MetricControl/savedMetricType.ts
rename
superset-frontend/src/explore/components/useExploreAdditionalActionsMenu/{index.jsx
=> index.tsx} (80%)
rename superset-frontend/src/explore/exploreUtils/{exploreUtils.test.jsx =>
exploreUtils.test.tsx} (89%)
rename superset-frontend/src/explore/exploreUtils/{index.js => index.ts} (64%)
delete mode 100644 superset-frontend/src/explore/reducers/exploreReducer.js
rename superset-frontend/src/explore/reducers/{exploreReducer.test.js =>
exploreReducer.test.ts} (66%)
create mode 100644 superset-frontend/src/explore/reducers/exploreReducer.ts
delete mode 100644
superset-frontend/src/features/reports/ReportModal/actions.js
create mode 100644
superset-frontend/src/features/reports/ReportModal/actions.ts
delete mode 100644
superset-frontend/src/features/reports/ReportModal/reducer.js
create mode 100644
superset-frontend/src/features/reports/ReportModal/reducer.ts
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
delete mode 100644 superset-frontend/src/middleware/logger.test.js
create mode 100644 superset-frontend/src/middleware/logger.test.ts
rename superset-frontend/src/middleware/{loggerMiddleware.js =>
loggerMiddleware.ts} (67%)
rename superset-frontend/src/pages/AlertReportList/{AlertReportList.test.jsx
=> AlertReportList.test.tsx} (95%)
rename
superset-frontend/src/pages/AnnotationLayerList/{AnnotationLayerList.test.jsx
=> AnnotationLayerList.test.tsx} (93%)
rename superset-frontend/src/pages/CssTemplateList/{CssTemplateList.test.jsx
=> CssTemplateList.test.tsx} (93%)
rename superset-frontend/src/pages/DashboardList/{DashboardList.test.jsx =>
DashboardList.test.tsx} (93%)
create mode 100644 superset-frontend/src/pages/TaskList/TaskList.test.tsx
create mode 100644 superset-frontend/src/pages/TaskList/index.tsx
rename superset-frontend/src/utils/{common.test.jsx => common.test.tsx} (88%)
rename superset-frontend/src/utils/{common.js => common.ts} (66%)
delete mode 100644 superset-frontend/src/utils/getControlsForVizType.test.js
rename superset-frontend/src/visualizations/presets/{MainPreset.js =>
MainPreset.ts} (100%)
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/commands/{distributed_lock/base.py => tasks/__init__.py} (53%)
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/mcp_service/utils/sanitization.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_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/mcp_service/chart/test_preview_utils.py
create mode 100644 tests/unit_tests/mcp_service/utils/test_sanitization.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