This is an automated email from the ASF dual-hosted git repository.
EnxDev pushed a change to branch
enxdev/feat/dashboard-excel-export-sync-fallback
in repository https://gitbox.apache.org/repos/asf/superset.git
from 3108f411672 fix(dashboard): keep image exports queued, list skips in
the workbook
add 0db9ca74012 chore(deps): bump @ant-design/icons from 6.3.2 to 6.3.3 in
/docs (#43951)
add 7c9c32651c7 chore(deps): bump react-error-boundary from 6.1.3 to 6.1.4
in /superset-frontend (#43959)
add 07052752b68 chore(deps-dev): bump tsx from 4.23.12 to 4.23.13 in
/superset-frontend (#43958)
add b8fb5a268c9 chore(deps): bump zod from 4.4.3 to 4.5.4 in
/superset-frontend (#43957)
add e5e6d748195 chore(deps-dev): bump webpack from 5.110.1 to 5.110.2 in
/superset-frontend (#43956)
add a5377541c92 chore(deps): bump zizmorcore/zizmor-action from 0.6.2 to
0.6.3 (#43954)
add 06913244de4 chore(deps-dev): bump webpack from 5.110.1 to 5.110.2 in
/docs (#43952)
add 4eff13b81e9 chore(deps-dev): bump webpack from 5.110.0 to 5.110.2 in
/superset-embedded-sdk (#43953)
add 92bd2ba0572 chore(deps): bump @ant-design/icons from 6.3.2 to 6.3.3 in
/superset-frontend (#43955)
add 53070fa4c04 fix(dashboard): resolve metric Label in Chart Data (View
as table) results grid (#43719)
add 4440887dc2b fix(security): use self-repository syntax for
setup-backend action ref (#43968)
add 233f6379ae5 fix(ci): use self-repository syntax for supersetbot setup
in tag-release (#43965)
add d22069a7af3 fix(security): use GitHub self-repository syntax for local
action refs (#43969)
add 574d121cd86 fix(security): use self-repository uses syntax in
supersetbot workflow (#43962)
add 8d6044a1475 fix(sqllab): wrap cost-estimate JSON parse to prevent raw
JSONDecodeError leak (#43888)
add 1fb6b989413 fix: downgrade md5 namespace-fallback deprecation log to
info (#43884)
add 1b3758d2a4d ci: add ASF GitHub Actions allowlist check (#43844)
add bd3ab309073 chore(deps): bump @ant-design/icons from 6.3.3 to 6.3.4 in
/superset-frontend (#43982)
add 89786160f97 chore(deps): bump @ant-design/icons from 6.3.3 to 6.3.4 in
/docs (#43981)
add cdb6c8e0c90 chore(deps-dev): bump the typescript-eslint group in
/superset-frontend with 2 updates (#43980)
add c4e145b071f fix(sql_lab): raise 400 not 500 on malformed Jinja during
CSV export access check (#43866)
add 7d0cf1acfc8 docs(scarf-404): replace dead links by the Scarf homepage
(#43973)
add 7382ee0bfec fix(dashboard): prevent header metadata bar from
overlapping action buttons at narrow widths (#43845)
add ad319bd8a3c fix(docs): unbreak Netlify docs preview build (#44001)
add 056fd218d44 fix: handle missing table element in downloadAsPivotExcel
(#39386)
add 08694d64cb8 fix(plugin-chart-table): declare DataTable hooks before
the early return (#43150)
add 204ccc7ce7f fix(datasets): apply Schema filter on the combined
datasource list (#43829)
add 33c6df77c99 fix(database): don't reattach stored connection details
when the effective destination changes (#44003)
add c45fc6a31a2 feat(embedded): diagnose guest-token header size budgets
(#43944)
add 57eafd75e0c docs(handlebars): correct helper names that are not
registered (#44020)
add 067a356b6f0 fix(chart): include echart_options in Matrixify
render-trigger allowlist (#43946)
add 3ccab2ea7aa fix(time-format): share DateWithFormatter and stop reading
four-digit years as epoch offsets (#43909)
add a114b4cc468 fix(import): skip redundant has_table check when dataset
import has no data URI (#43808)
add 85ea6e900a4 docs(mcp): document MCP_STATELESS_HTTP and its multi-pod
tradeoff (#43902)
add 60553b4326a docs(ag-grid): document Show summary support for Raw
Records mode (#43905)
add 7029c468c4d fix(reports): bound CSV transport retries and sanitize
failures (#43977)
add bc35151350c docs(handlebars): correct helper names in the 6.1.0
versioned docs (#44024)
add 04ab089962f chore(deps): bump @swc/html from 1.15.43 to 1.16.2 in
/docs in the security group across 1 directory (#44023)
add 5986fe92c2f fix(rls): roll back db.session after RLS failure in
get_from_clause (#43883)
add e6d088d6b1b fix(mcp): surface rejected filter columns in get_chart_sql
(#43680)
add 10866337c5c docs(helm): document Gateway API HTTPRoute support (#43635)
add 1339bdc6ce1 ci: bump ASF allowlist-check to v1.0.1 for self-repository
syntax support (#44014)
add 7b65d222050 chore(tags): TAGGING_SYSTEM to True by default (#39888)
add 83d5d1ccdad fix(security): use GitHub self-repository syntax for local
action ref (#43961)
add 02ea5775c10 fix(ci): use self-repository syntax for local supersetbot
action ref (#43963)
add 9d89dbddc7b fix(security): use self-repository syntax for
change-detector action ref (#43971)
add 0e6170aaa3b fix(security): use self-repository syntax for
setup-backend ref in unit-test workflow (#43970)
add 380675662d8 fix(ci): use self-repository syntax for local actions in
presto-hive workflow (#43975)
add 3564baabf6e fix(security): suppress zizmor self-repository false
positive for setup-backend step (#44018)
add 335a2a78ea8 fix(dashboard): expand clipped scrollable content before
screenshot/PDF export (#43979)
add fa31e9c1c32 fix(security): suppress zizmor self-repository false
positive for cached-dependencies (#43972)
add 362d3509cb0 fix(security): suppress zizmor self-repository false
positive for cached-dependencies in presto-hive workflow (#43984)
add 3828dcb9225 fix(security): suppress zizmor self-repository false
positive for cached-dependencies in presto-hive workflow (#43976)
add 91f4d01ca2c fix(chart-creation): stop antd v6 Steps from doubling the
icon-content gap (#43730)
add c510946df55 fix: BigQuery pivot-table Custom SQL row label with a
space drops from GROUPING SETS (#43720)
add 9de50b85e5a chore(deps): bump the security group across 1 directory
with 3 updates (#44029)
add d0f139c2104 feat(deps): bump `flask-caching` from 2.4.1 to 2.5.0 +
bump `flask` from v2 to v3 (#43875)
add 2875c76d55a chore(deps): bump react-ace from 14.0.1 to 15.0.0 in
/superset-frontend (#42833)
add acb29937aed chore(deps): bump the security group across 1 directory
with 3 updates (#44030)
add 986b648f1ca fix(versioning): resolve dashboard M2M membership by
attach/detach windows, not end_transaction_id (#44010)
add daf41bdf046 fix(security): suppress zizmor self-repository false
positive for sqlite install-deps step (#44002)
add 9669e414711 chore(build): remove legacy re-export shim used for
development (#42190)
add c9965c7bf41 feat(folders): drag and drop visible elements
(columns/metrics) of folders in explore view (#42483)
add 5d771e9f467 fix(dataset): apply the import overwrite permission check
to identity-matched datasets (#43058)
add 50c1504cac4 fix(db_engine_specs): cast VARCHAR before Postgres
DATE_TRUNC (#43167)
add c503f92642a fix(charts): restrict Prophet time grain schema validation
to supported Prophet grains (#43585)
add 613871ed363 fix(native-filters): stabilize DefaultValue's filterState
object identity (#43859)
add 4f26627a6a9 fix(native-filters): stop Date Range calendar popup from
clipping in overflow dropdown (#43978)
add fc110d8428f fix(versioning): enforce is_managed_externally on version
restore (#44013)
add c76e4d98f2c fix(api): advertise only the time grains Prophet can
resolve (#43710)
add 1ab6077e060 fix(filters): clamp filter bar row while remeasuring after
items change (#43966)
add 9079f002ee1 fix(dashboard): scope tab-diff report lookup to the edited
dashboard (#43989)
add de08dc207c0 chore(deps-dev): bump @types/node from 26.4.0 to 26.4.1 in
/superset-frontend (#44062)
add 010c7a12edb chore(deps): bump query-string from 9.5.0 to 9.5.1 in
/superset-frontend (#44061)
add 176a50d2544 chore(deps-dev): bump webpack from 5.110.2 to 5.110.3 in
/superset-frontend (#44060)
add cb2188aec3e chore(deps-dev): bump babel-jest from 30.5.0 to 30.5.1 in
/superset-frontend (#44059)
add 638f87de5f7 chore(deps-dev): bump jest from 30.5.0 to 30.5.1 in
/superset-frontend (#44058)
add 677e9189f12 chore(deps-dev): bump oxfmt from 0.65.0 to 0.66.0 in
/superset-frontend (#44056)
add e170822a28d chore(deps-dev): bump oxfmt from 0.65.0 to 0.66.0 in /docs
(#44054)
add ea287c1ab0f chore(deps-dev): bump webpack from 5.110.2 to 5.110.3 in
/docs (#44053)
add 5e99f14ac90 chore(deps-dev): bump oxlint from 1.80.0 to 1.81.0 in
/superset-websocket (#44051)
add 0a412b07cb0 chore(deps-dev): bump webpack from 5.110.2 to 5.110.3 in
/superset-embedded-sdk (#44050)
add d38f20e5ad2 chore(deps): bump query-string from 9.5.0 to 9.5.1 in
/superset-frontend (#44061)
add e43f44e91ed chore(deps-dev): bump @types/node from 26.4.0 to 26.4.1 in
/superset-embedded-sdk (#44048)
add df95ab23ec2 chore(deps-dev): bump @types/node from 26.4.0 to 26.4.1 in
/superset-websocket (#44046)
add 49b9347974e fix(charts): preserve dataset conversion when saving SQL
Lab charts (#43988)
add 7b83ed83746 fix(mcp): align execute_sql table-access checks with the
SQL Lab path (#43998)
add 954dbc9ff61 fix(dataset): validate SQL table access on virtual dataset
import (#43999)
add 57a92170bd5 fix(chart): apply the query-context datasource check on
create and update (#43997)
add 4d8dfdd1520 fix(sqllab): restrict TabStateView updates to owned
columns and queries (#43992)
add 97329bb1cf1 fix(reports): detect perceptually blank screenshots
(#44034)
add 08e686b5353 fix(mcp): complete Gauge chart support follow-up (#43943)
add ccb5fb279fa Merge branch 'master' into
enxdev/feat/dashboard-excel-export-sync-fallback
No new revisions were added by this update.
Summary of changes:
.github/actions/change-detector/label-draft-pr.yml | 23 -
.github/actions/setup-docker/action.yml | 6 +-
.github/workflows/asf-allowlist-check.yml | 46 +
.github/workflows/github-action-validator.yml | 2 +-
.../workflows/superset-python-integrationtest.yml | 10 +-
.github/workflows/superset-python-presto-hive.yml | 22 +-
.github/workflows/superset-python-unittest.yml | 4 +-
.github/workflows/superset-translations.yml | 14 +-
.github/workflows/supersetbot.yml | 2 +-
.github/workflows/tag-release.yml | 6 +-
.pre-commit-config.yaml | 2 +-
UPDATING.md | 29 +
docs/admin_docs/configuration/alerts-reports.mdx | 43 +
docs/admin_docs/configuration/mcp-server.mdx | 9 +-
docs/admin_docs/installation/docker-compose.mdx | 2 +-
docs/admin_docs/installation/kubernetes.mdx | 50 +-
.../version-6.1.0/installation/docker-compose.mdx | 2 +-
.../version-6.1.0/installation/kubernetes.mdx | 2 +-
.../creating-your-first-dashboard.mdx | 9 +
docs/docs/using-superset/embedding.mdx | 48 +
docs/docs/using-superset/handlebars-chart.mdx | 76 +-
docs/netlify.toml | 7 +-
docs/package.json | 6 +-
docs/static/feature-flags.json | 12 +-
docs/static/resources/openapi.json | 24 +-
.../version-6.0.0/installation/docker-compose.mdx | 2 +-
.../version-6.0.0/installation/kubernetes.mdx | 2 +-
.../using-superset/handlebars-chart.mdx | 76 +-
docs/yarn.lock | 487 +++---
pyproject.toml | 2 +-
requirements/base.txt | 9 +-
requirements/development.txt | 9 +-
superset-embedded-sdk/package-lock.json | 16 +-
superset-embedded-sdk/package.json | 4 +-
superset-frontend/package-lock.json | 1635 +++++++++++---------
superset-frontend/package.json | 16 +-
.../packages/generator-superset/package.json | 2 +-
.../superset-core/src/translation/index.ts | 4 -
.../superset-core/src/translation/types/index.ts | 4 +-
.../superset-core/src/translation/types/jed.ts | 2 -
.../superset-ui-chart-controls/package.json | 2 +-
.../superset-ui-chart-controls/src/types.ts | 2 -
.../packages/superset-ui-core/package.json | 8 +-
.../src/chart/components/StatefulChart.test.tsx | 98 ++
.../src/chart/components/StatefulChart.tsx | 30 +
.../packages/superset-ui-core/src/chart/index.ts | 4 -
.../superset-ui-core/src/chart/types/Base.ts | 2 -
.../src/chart/types/QueryResponse.ts | 2 -
.../src/chart/types/TransformFunction.ts | 2 -
.../AsyncAceEditor/AsyncAceEditor.test.tsx | 55 +
.../DropdownContainer/DropdownContainer.test.tsx | 71 +
.../DropdownContainer/DropdownContainer.tsx | 13 +-
.../PageHeaderWithActions.stories.tsx | 102 ++
.../PageHeaderWithActions.test.tsx | 19 +-
.../src/components/PageHeaderWithActions/index.tsx | 6 +-
.../superset-ui-core/src/connection/index.ts | 1 -
.../superset-ui-core/src/connection/types.ts | 2 -
.../superset-ui-core/src/dimension/index.ts | 1 -
.../superset-ui-core/src/dimension/types.ts | 2 -
.../superset-ui-core/src/query/api/legacy/index.ts | 1 -
.../superset-ui-core/src/query/api/legacy/types.ts | 2 -
.../src/query/types/AdvancedAnalytics.ts | 2 -
.../superset-ui-core/src/query/types/Column.ts | 2 -
.../superset-ui-core/src/query/types/Dashboard.ts | 2 -
.../superset-ui-core/src/query/types/Datasource.ts | 2 -
.../superset-ui-core/src/query/types/Metric.ts | 2 -
.../superset-ui-core/src/query/types/Query.ts | 2 -
.../src/query/types/QueryFormData.ts | 2 -
.../src/query/types/QueryResponse.ts | 2 -
.../superset-ui-core/src/query/types/Time.ts | 2 -
.../superset-ui-core/src/query/types/index.ts | 12 -
.../src/time-format}/DateWithFormatter.ts | 13 +-
.../superset-ui-core/src/time-format/index.ts | 1 +
.../src/time-format/utils/stringifyTimeInput.ts | 15 +-
.../test/time-format}/DateWithFormatter.test.ts | 23 +-
.../time-format/utils/stringifyTimeInput.test.ts | 23 +
.../plugin-chart-ag-grid-table/src/index.ts | 2 -
.../src/transformProps.ts | 2 +-
.../plugin-chart-ag-grid-table/src/types.ts | 2 -
.../src/utils/formatValue.ts | 2 +-
.../src/utils/useColDefs.ts | 7 +-
...rmatter.test.ts => formatDurationValue.test.ts} | 23 +-
.../plugins/plugin-chart-echarts/package.json | 2 +-
.../plugins/plugin-chart-handlebars/package.json | 2 +-
.../plugins/plugin-chart-pivot-table/package.json | 2 +-
.../src/react-pivottable/TableRenderers.tsx | 34 +-
.../test/react-pivottable/tableRenders.test.tsx | 39 +
.../plugin-chart-point-cluster-map/package.json | 4 +-
.../plugin-chart-table/src/DataTable/DataTable.tsx | 154 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 2 +-
.../plugins/plugin-chart-table/src/index.ts | 2 -
.../plugin-chart-table/src/transformProps.ts | 2 +-
.../plugins/plugin-chart-table/src/types.ts | 2 -
.../src/utils/DateWithFormatter.ts | 62 -
.../plugin-chart-table/src/utils/formatValue.ts | 2 +-
.../test/DataTable/DataTable.test.tsx | 129 ++
.../plugin-chart-table/test/TableChart.test.tsx | 2 +-
...rmatter.test.ts => formatDurationValue.test.ts} | 23 +-
.../plugins/preset-chart-deckgl/package.json | 2 +-
.../ChartContextMenu/ChartContextMenu.test.tsx | 70 +-
.../Chart/ChartContextMenu/ChartContextMenu.tsx | 11 +-
.../SliceHeaderControls.test.tsx | 114 ++
.../components/SliceHeaderControls/index.tsx | 15 +-
.../FiltersConfigForm/DefaultValue.test.tsx | 118 ++
.../FiltersConfigForm/DefaultValue.tsx | 25 +-
.../src/embedded/guestTokenDiagnostics.test.ts | 101 ++
.../src/embedded/guestTokenDiagnostics.ts | 71 +
superset-frontend/src/embedded/index.test.tsx | 191 ++-
superset-frontend/src/embedded/index.tsx | 46 +-
.../DatasourcePanelDragOption.test.tsx | 17 +
.../DatasourcePanelDragOption/index.tsx | 33 +-
.../DatasourcePanel/DatasourcePanelItem.test.tsx | 78 +-
.../DatasourcePanel/DatasourcePanelItem.tsx | 128 +-
.../DatasourcePanel/compatibility.test.ts | 57 +
.../components/DatasourcePanel/compatibility.ts | 66 +
.../components/DatasourcePanel/folderDrag.test.ts | 88 ++
.../components/DatasourcePanel/folderDrag.ts | 68 +
.../src/explore/components/DndItemType.ts | 3 +
.../ExploreContainer/ExploreDndContext.test.tsx | 138 ++
.../ExploreContainer/ExploreDndContext.tsx | 129 +-
.../src/explore/components/SaveModal.test.tsx | 14 +-
.../src/explore/components/SaveModal.tsx | 18 +-
.../controls/ColumnConfigControl/index.tsx | 1 -
.../controls/ColumnConfigControl/types.ts | 2 -
.../controls/DateFilterControl/DateFilterLabel.tsx | 6 +-
.../DateFilterControl/components/CustomFrame.tsx | 18 +-
.../tests/DateFilterLabel.test.tsx | 11 +-
.../DndColumnMetricSelect.test.tsx | 104 ++
.../DndColumnMetricSelect.tsx | 34 +-
.../DndColumnSelect.test.tsx | 131 ++
.../DndColumnSelectControl/DndColumnSelect.tsx | 30 +-
.../DndMetricSelect.test.tsx | 192 +++
.../DndColumnSelectControl/DndMetricSelect.tsx | 108 +-
.../DndColumnSelectControl/DndSelectLabel.test.tsx | 114 ++
.../DndColumnSelectControl/DndSelectLabel.tsx | 53 +-
.../createAdhocMetricFromColumn.test.ts} | 48 +-
.../DndColumnSelectControl/dndTestUtils.ts | 18 +
.../VizTypeControl/VizTypeControl.test.tsx | 46 +-
.../controls/VizTypeControl/VizTypeGallery.tsx | 2 +-
.../src/hooks/apiResources/datasets.test.ts | 115 +-
.../src/hooks/apiResources/datasets.ts | 52 +-
superset-frontend/src/hooks/usePermissions.ts | 1 +
.../src/pages/ChartCreation/ChartCreation.test.tsx | 14 +
.../src/pages/ChartCreation/index.tsx | 7 +
superset-frontend/src/types/bootstrapTypes.ts | 5 +-
.../src/utils/downloadAsPivotExcel.test.ts | 19 +
.../src/utils/downloadAsPivotExcel.ts | 7 +
superset-websocket/package-lock.json | 170 +-
superset-websocket/package.json | 4 +-
superset/app.py | 13 +-
superset/charts/schemas.py | 26 +-
superset/commands/chart/create.py | 8 +
superset/commands/chart/importers/v1/__init__.py | 6 +-
superset/commands/chart/update.py | 47 +-
superset/commands/chart/utils.py | 71 +
.../commands/dashboard/importers/v1/__init__.py | 6 +-
superset/commands/dashboard/update.py | 76 +-
superset/commands/database/exceptions.py | 29 +
superset/commands/database/importers/v1/utils.py | 60 +-
superset/commands/database/test_connection.py | 41 +-
superset/commands/database/update.py | 87 ++
superset/commands/database/utils.py | 96 ++
superset/commands/database/validate.py | 47 +-
superset/commands/dataset/importers/v1/utils.py | 128 +-
superset/commands/datasource/list.py | 112 +-
superset/commands/importers/v1/assets.py | 6 +-
superset/commands/importers/v1/utils.py | 54 +
superset/commands/report/chart_data.py | 194 +++
superset/commands/report/execute.py | 91 +-
superset/commands/sql_lab/estimate.py | 14 +-
superset/commands/sql_lab/export.py | 10 +
superset/commands/version_restore.py | 18 +-
superset/common/query_actions.py | 78 +-
superset/config.py | 12 +-
superset/daos/database.py | 17 +-
superset/daos/datasource.py | 4 +
superset/daos/report.py | 12 +-
superset/datasets/api.py | 2 +
superset/datasets/schemas.py | 58 +-
superset/db_engine_specs/postgres.py | 17 +-
superset/embedded/view.py | 7 +-
superset/extensions/metastore_cache.py | 3 +-
superset/key_value/utils.py | 6 +-
superset/mcp_service/app.py | 2 +
superset/mcp_service/chart/chart_helpers.py | 70 +
superset/mcp_service/chart/chart_utils.py | 182 +++
superset/mcp_service/chart/compile.py | 105 +-
superset/mcp_service/chart/plugins/gauge.py | 75 +-
superset/mcp_service/chart/preview_utils.py | 537 ++++++-
superset/mcp_service/chart/query_result.py | 225 +++
.../mcp_service/chart/resources/chart_configs.py | 24 +
superset/mcp_service/chart/schemas.py | 250 ++-
superset/mcp_service/chart/tool/generate_chart.py | 6 +-
superset/mcp_service/chart/tool/get_chart_data.py | 116 +-
.../mcp_service/chart/tool/get_chart_preview.py | 95 +-
superset/mcp_service/chart/tool/get_chart_sql.py | 19 +-
.../chart/tool/get_chart_type_schema.py | 10 +-
superset/mcp_service/chart/tool/update_chart.py | 96 +-
.../mcp_service/chart/tool/update_chart_preview.py | 92 +-
.../chart/validation/dataset_validator.py | 208 ++-
.../chart/validation/schema_validator.py | 11 +
.../explore/tool/generate_explore_link.py | 2 +-
superset/mcp_service/sql_lab/tool/execute_sql.py | 101 +-
superset/models/helpers.py | 43 +-
superset/security/api.py | 24 +-
superset/security/guest_token.py | 19 +
superset/tags/models.py | 31 +
superset/tasks/scheduler.py | 16 +-
superset/utils/cache.py | 2 +-
superset/utils/cache_manager.py | 4 -
superset/utils/csv.py | 9 +-
superset/utils/screenshot_utils.py | 365 ++++-
superset/utils/webdriver.py | 237 ++-
superset/versioning/activity/impact.py | 152 +-
superset/versioning/activity/queries.py | 95 +-
superset/versioning/activity/scope.py | 2 +-
superset/versioning/activity/windows.py | 66 +
superset/versioning/membership.py | 86 +
superset/versioning/restore.py | 50 +-
superset/views/sql_lab/views.py | 65 +-
tests/integration_tests/base_tests.py | 19 +
tests/integration_tests/charts/api_tests.py | 8 +-
tests/integration_tests/charts/commands_tests.py | 14 +-
.../charts/version_restore_tests.py | 42 +
tests/integration_tests/dashboard_tests.py | 3 +-
.../integration_tests/dashboards/commands_tests.py | 3 +
.../dashboards/security/security_dataset_tests.py | 5 +-
.../dashboards/version_restore_tests.py | 70 +
tests/integration_tests/datasets/api_tests.py | 60 +-
tests/integration_tests/datasource/api_tests.py | 62 +
tests/integration_tests/embedded/test_view.py | 17 +-
tests/integration_tests/fixtures/tags.py | 21 +-
tests/integration_tests/reports/commands_tests.py | 109 +-
tests/integration_tests/sql_lab/commands_tests.py | 16 +
tests/integration_tests/tags/api_tests.py | 8 +-
.../charts/commands/data/test_get_data_command.py | 15 +-
tests/unit_tests/charts/test_schemas.py | 85 +-
tests/unit_tests/commands/chart/create_test.py | 87 +-
tests/unit_tests/commands/dashboard/update_test.py | 132 +-
.../commands/databases/test_connection_test.py | 60 +
tests/unit_tests/commands/databases/update_test.py | 297 ++++
.../unit_tests/commands/databases/validate_test.py | 205 +++
tests/unit_tests/commands/datasource/list_test.py | 224 +++
.../commands/importers/v1/assets_test.py | 3 +
.../importers/v1/test_find_existing_for_import.py | 134 +-
.../unit_tests/commands/report/chart_data_test.py | 298 ++++
tests/unit_tests/commands/report/execute_test.py | 185 ++-
tests/unit_tests/commands/sql_lab/test_estimate.py | 42 +
.../commands/test_base_restore_version_command.py | 99 ++
tests/unit_tests/common/test_query_actions.py | 97 ++
.../common/test_query_context_processor.py | 25 +-
tests/unit_tests/connectors/sqla/models_test.py | 48 +
tests/unit_tests/dao/datasource_test.py | 31 +
.../databases/commands/importers/v1/import_test.py | 43 +
.../datasets/commands/importers/v1/import_test.py | 425 +++++
tests/unit_tests/datasets/schema_tests.py | 115 ++
tests/unit_tests/db_engine_specs/test_postgres.py | 34 +
tests/unit_tests/initialization_test.py | 9 +-
tests/unit_tests/key_value/utils_test.py | 12 +-
tests/unit_tests/mcp_service/chart/test_compile.py | 109 ++
.../mcp_service/chart/test_gauge_chart.py | 994 +++++++++++-
.../mcp_service/chart/test_gauge_render.py | 106 ++
.../mcp_service/chart/test_preview_utils.py | 71 +
.../mcp_service/chart/tool/test_generate_chart.py | 86 +
.../mcp_service/chart/tool/test_get_chart_data.py | 320 +++-
.../chart/tool/test_get_chart_preview.py | 152 ++
.../mcp_service/chart/tool/test_get_chart_sql.py | 102 ++
.../chart/tool/test_get_chart_type_schema.py | 29 +
.../mcp_service/chart/tool/test_update_chart.py | 207 ++-
.../chart/tool/test_update_chart_preview.py | 360 ++---
.../explore/tool/test_generate_explore_link.py | 123 +-
.../mcp_service/sql_lab/tool/test_execute_sql.py | 186 ++-
tests/unit_tests/models/helpers_test.py | 74 +
.../models/test_virtual_dataset_format.py | 25 +
.../unit_tests/security/guest_token_audit_test.py | 87 ++
tests/unit_tests/tags/commands/create_test.py | 19 +-
tests/unit_tests/tags/commands/update_test.py | 10 +-
.../tasks/test_scheduler_soft_timeout.py | 44 +-
tests/unit_tests/utils/csv_tests.py | 27 +-
tests/unit_tests/utils/test_cache_manager.py | 6 +-
tests/unit_tests/utils/test_screenshot_utils.py | 309 +++-
tests/unit_tests/utils/webdriver_test.py | 345 ++++-
tests/unit_tests/versioning/test_activity.py | 149 +-
.../views/test_sql_lab_tab_state_views.py | 203 ++-
284 files changed, 15657 insertions(+), 3266 deletions(-)
delete mode 100644 .github/actions/change-detector/label-draft-pr.yml
create mode 100644 .github/workflows/asf-allowlist-check.yml
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/PageHeaderWithActions/PageHeaderWithActions.stories.tsx
rename superset-frontend/{plugins/plugin-chart-ag-grid-table/src/utils =>
packages/superset-ui-core/src/time-format}/DateWithFormatter.ts (82%)
copy superset-frontend/{plugins/plugin-chart-table/test/utils =>
packages/superset-ui-core/test/time-format}/DateWithFormatter.test.ts (65%)
rename
superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/{DateWithFormatter.test.ts
=> formatDurationValue.test.ts} (63%)
delete mode 100644
superset-frontend/plugins/plugin-chart-table/src/utils/DateWithFormatter.ts
create mode 100644
superset-frontend/plugins/plugin-chart-table/test/DataTable/DataTable.test.tsx
rename
superset-frontend/plugins/plugin-chart-table/test/utils/{DateWithFormatter.test.ts
=> formatDurationValue.test.ts} (63%)
create mode 100644
superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/DefaultValue.test.tsx
create mode 100644 superset-frontend/src/embedded/guestTokenDiagnostics.test.ts
create mode 100644 superset-frontend/src/embedded/guestTokenDiagnostics.ts
create mode 100644
superset-frontend/src/explore/components/DatasourcePanel/compatibility.test.ts
create mode 100644
superset-frontend/src/explore/components/DatasourcePanel/compatibility.ts
create mode 100644
superset-frontend/src/explore/components/DatasourcePanel/folderDrag.test.ts
create mode 100644
superset-frontend/src/explore/components/DatasourcePanel/folderDrag.ts
copy
superset-frontend/src/{dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/constants.ts
=>
explore/components/controls/DndColumnSelectControl/createAdhocMetricFromColumn.test.ts}
(50%)
create mode 100644 superset/commands/chart/utils.py
create mode 100644 superset/commands/report/chart_data.py
create mode 100644 superset/mcp_service/chart/query_result.py
create mode 100644 superset/versioning/membership.py
create mode 100644 tests/unit_tests/commands/report/chart_data_test.py
create mode 100644
tests/unit_tests/commands/test_base_restore_version_command.py
create mode 100644 tests/unit_tests/mcp_service/chart/test_gauge_render.py