This is an automated email from the ASF dual-hosted git repository.
hainenber pushed a change to branch chore/re-enable-jest-lint-in-oxlint
in repository https://gitbox.apache.org/repos/asf/superset.git
from 6c004e2fdb4 chore: resolve prettier issues + fix GroupsList test with
mocked route
add 570cc3e5f8b feat(sqllab): treeview table selection ui (#37298)
add 9764a844027 fix(charts): Table chart shows an error on row limit
(#37218)
add 1ee14c59931 fix(mcp): improve prompts, resources, and instructions
clarity (#37389)
add 6043e7e7e32 fix: more DB OAuth2 fixes (#37398)
add 05c23549976 feat: AWS Cross-Account IAM Authentication for Aurora
(#37585)
add 5d20dc57d76 feat(oauth2): add PKCE support for database OAuth2
authentication (#37067)
add 004f02746fc fix(build): Increase ForkTsCheckerWebpackPlugin memory
limit to fix OOM error (#37583)
add 70b95ca1b98 fix(build): eliminate PostgreSQL extra installation on
Python 3.12-based Superset Docker images (#37587)
add d95a3d84269 chore(deps-dev): bump @applitools/eyes-storybook from
3.63.9 to 3.63.10 in /superset-frontend (#37566)
add 901dca58f79 chore(deps): bump JustinBeckwith/linkinator-action from
2.3 to 2.4 (#37562)
add ae10e105c2c fix(chart): enable cross-filter on bar charts without
dimensions (#37407)
add 61bd8f0cf26 chore(deps): bump use-query-params from 1.2.3 to 2.2.2 in
/superset-frontend (#36997)
add 4a7cdccdad5 fix: Heatmap does not render correctly on normalization
(#37208)
add a6a66ca4832 feat: Dataset folders editor (#36239)
add bd654690918 chore(deps-dev): bump globals from 17.2.0 to 17.3.0 in
/docs (#37599)
add 2d35ed23918 chore(deps-dev): bump @babel/runtime-corejs3 from 7.28.6
to 7.29.0 in /superset-frontend (#37605)
add f2b6c395cdf feat: Add PWA file handler for CSV/XLS/Parquet uploads
(#36191)
add 11257c05369 fix(examples): skip URI safety check for system imports
(#37577)
add be404f9b844 fix(dashboard): Avoid calling loadData for invisible
charts on virtual rendering (#37452)
add e9b494163b9 refactor(db): use Dialect instead of Engine in select_star
to avoid SSH tunnels (#35540)
add 86f690d17fe fix(dashboard): fix Export as Example with app prefix and
enable Dashboard Export E2E tests (#37529)
add 4b0d4975130 test: add new RTL and integration tests for DatasetList
(#36681)
add 91131d59966 chore(charts): echarts left padding too big and automation
of title (#36993)
add f60c82e4a60 fix: charts row limit warning is missing for server
(#37112)
add 3a565a6c16e fix(tests): update DatasetList tests to new fetch-mock API
(#37623)
add 0b5e4dd5de4 feat(mcp): add config toggle to disable parse_request
decorator (#37617)
add 5914e834361 chore(mcp): remove unused MCP_SERVICE feature flag (#37618)
add 2accab3b352 Merge branch 'master' into
chore/re-enable-jest-lint-in-oxlint
No new revisions were added by this update.
Summary of changes:
.github/workflows/superset-docs-verify.yml | 2 +-
.pre-commit-config.yaml | 1 +
docker/pythonpath_dev/superset_config.py | 2 +-
docs/package.json | 2 +-
docs/static/feature-flags.json | 13 +
docs/yarn.lock | 8 +-
pyproject.toml | 3 +-
requirements/development.txt | 16 +-
superset-frontend/jest.config.js | 2 +-
superset-frontend/package-lock.json | 218 +-
superset-frontend/package.json | 8 +-
.../components/ColumnTypeLabel/ColumnTypeLabel.tsx | 7 +-
.../src/components/MetricOption.tsx | 2 +-
.../src/sections/chartTitle.tsx | 4 +-
.../test/components/ColumnTypeLabel.test.tsx | 4 +
.../src/components/Button/index.tsx | 2 +-
.../src/components/Icons/AntdEnhanced.tsx | 14 +
.../src/components/Icons/index.tsx | 2 +
.../superset-ui-core/src/utils/featureFlags.ts | 2 +
.../packages/superset-ui-core/src/utils/index.ts | 1 +
.../Input/Input.test.tsx => utils/withLabel.ts} | 38 +-
.../superset-ui-core/src/validator/index.ts | 1 +
.../src/validator/legacyValidateInteger.ts | 2 +-
.../src/validator/legacyValidateNumber.ts | 2 +-
.../stringifyAndTrim.ts => validator/types.ts} | 11 +-
.../src/validator/validateInteger.ts | 2 +-
.../src/validator/validateMapboxStylesUrl.ts | 2 +-
.../src/validator/validateMaxValue.ts | 5 +-
.../src/validator/validateNonEmpty.ts | 2 +-
.../src/validator/validateNumber.ts | 2 +-
.../src/validator/validateServerPagination.ts | 2 +-
.../validator/validateTimeComparisonRangeValues.ts | 12 +-
.../test/validator/validateMaxValue.test.ts | 4 +-
.../playwright/components/core/Menu.ts | 217 ++
.../playwright/components/core/index.ts | 2 +
.../playwright/pages/DashboardPage.ts | 68 +-
.../tests/experimental/dashboard/export.spec.ts | 81 +-
.../src/controlPanel.tsx | 5 +-
.../src/BoxPlot/transformProps.ts | 6 +-
.../src/Heatmap/transformProps.ts | 29 +-
.../src/Histogram/controlPanel.tsx | 8 +-
.../src/MixedTimeseries/transformProps.ts | 7 +-
.../src/Timeseries/EchartsTimeseries.test.tsx | 90 +
.../src/Timeseries/EchartsTimeseries.tsx | 77 +-
.../src/Timeseries/transformProps.ts | 7 +-
.../src/Timeseries/transformers.ts | 11 +-
.../test/Heatmap/buildQuery.test.ts | 82 +
.../test/Heatmap/transformProps.test.ts | 68 +
.../test/Timeseries/transformers.test.ts | 194 ++
.../plugin-chart-table/src/controlPanel.tsx | 8 +-
superset-frontend/spec/helpers/ProviderWrapper.tsx | 12 +-
superset-frontend/spec/helpers/testing-library.tsx | 7 +-
.../src/SqlLab/components/AppLayout/index.tsx | 6 +-
.../src/SqlLab/components/SaveQuery/index.tsx | 1 +
.../SqlLab/components/SqlEditor/SqlEditor.test.tsx | 9 +
.../SqlEditorLeftBar/SqlEditorLeftBar.test.tsx | 233 +-
.../SqlLab/components/SqlEditorLeftBar/index.tsx | 259 ++-
.../SqlLab/components/SqlEditorTopBar/index.tsx | 14 +-
.../SqlEditorTopBar/useDatabaseSelector.ts | 4 +-
.../TableExploreTree/TableExploreTree.test.tsx | 241 ++
.../TableExploreTree/TreeNodeRenderer.tsx | 243 ++
.../SqlLab/components/TableExploreTree/index.tsx | 335 +++
.../SqlLab/components/TableExploreTree}/types.ts | 24 +-
.../components/TableExploreTree/useTreeData.ts | 339 +++
superset-frontend/src/SqlLab/constants.ts | 1 +
superset-frontend/src/SqlLab/contributions.ts | 1 +
.../assets/images/icons/move.svg} | Bin 1466 -> 1468 bytes
.../assets/images/icons/sigma.svg} | Bin 1045 -> 1013 bytes
.../src/assets/images/pwa/icon-192.png | Bin 0 -> 9097 bytes
.../src/assets/images/pwa/icon-512.png | Bin 0 -> 25535 bytes
.../src/assets/images/pwa/screenshot-narrow.png | Bin 0 -> 100187 bytes
.../src/assets/images/pwa/screenshot-wide.png | Bin 0 -> 253025 bytes
superset-frontend/src/components/Chart/Chart.tsx | 18 +-
.../DatabaseSelector/DatabaseSelector.test.tsx | 2 +-
.../src/components/DatabaseSelector/index.tsx | 206 +-
.../src/components/DatabaseSelector/types.ts | 1 +
.../Datasource/DatasourceModal/index.tsx | 10 +-
.../FoldersEditor/FoldersEditor.test.tsx | 545 +++++
.../Datasource/FoldersEditor/TreeItem.styles.ts | 214 ++
.../Datasource/FoldersEditor/TreeItem.tsx | 396 ++++
.../FoldersEditor/VirtualizedTreeItem.tsx | 220 ++
.../FoldersEditor/VirtualizedTreeList.tsx | 229 ++
.../components/DragOverlayContent.tsx | 75 +
.../components/FoldersToolbarComponent.tsx | 78 +
.../components/ResetConfirmModal.tsx} | 50 +-
.../Datasource/FoldersEditor/components}/index.ts | 4 +-
.../Datasource/FoldersEditor/constants.ts | 60 +
.../FoldersEditor/folderOperations.test.ts | 217 ++
.../Datasource/FoldersEditor/folderOperations.ts | 217 ++
.../Datasource/FoldersEditor/folderValidation.ts | 109 +
.../FoldersEditor/hooks/useAutoScroll.ts | 191 ++
.../FoldersEditor/hooks/useDragHandlers.ts | 663 ++++++
.../FoldersEditor/hooks/useHeightCache.ts | 81 +
.../FoldersEditor/hooks/useItemHeights.ts | 89 +
.../components/Datasource/FoldersEditor/index.tsx | 467 ++++
.../components/Datasource/FoldersEditor/sensors.ts | 47 +
.../components/Datasource/FoldersEditor/styles.tsx | 90 +
.../Datasource/FoldersEditor/treeUtils.test.ts | 669 ++++++
.../Datasource/FoldersEditor/treeUtils.ts | 332 +++
.../Datasource/FoldersEditor}/types.ts | 16 +-
.../DatasourceEditor/DatasourceEditor.jsx | 52 +
.../src/components/Datasource/types.ts | 6 +
.../src/components/ListView/ListView.test.tsx | 20 +-
.../TableSelector/TableSelector.test.tsx | 41 -
.../src/components/TableSelector/index.tsx | 7 +-
.../components/SliceHeader/SliceHeader.test.tsx | 189 +-
.../src/dashboard/components/SliceHeader/index.tsx | 20 +-
.../DownloadMenuItems/DownloadMenuItems.test.tsx | 88 +-
.../components/menu/DownloadMenuItems/index.tsx | 7 +-
.../src/embedded/EmbeddedContextProviders.tsx | 11 +-
.../src/explore/components/ChartPills.tsx | 20 +-
.../DatasourcePanel/DatasourcePanel.test.tsx | 23 +-
.../DatasourcePanel/DatasourcePanelItem.test.tsx | 14 +-
.../transformDatasourceFolders.test.ts | 61 +-
.../DatasourcePanel/transformDatasourceFolders.ts | 5 +-
.../explore/components/DatasourcePanel/types.ts | 18 +-
.../explore/components/ExploreChartPanel/index.tsx | 1 +
.../ExploreViewContainer.test.tsx | 436 +++-
.../components/ExploreViewContainer/index.jsx | 23 +
.../MetricControl/FilterDefinitionOption.tsx | 4 +-
.../src/explore/controlUtils/getControlState.ts | 3 +-
.../features/allEntities/AllEntitiesTable.test.tsx | 7 -
.../features/databases/UploadDataModel/index.tsx | 20 +-
.../datasets/AddDataset/LeftPanel/index.tsx | 1 -
.../datasets/DuplicateDatasetModal.test.tsx | 282 +++
.../datasets/hooks/useDatasetLists.test.ts | 180 +-
.../src/features/home/RightMenu.test.tsx | 2 +
.../pages/AlertReportList/AlertReportList.test.jsx | 3 +-
.../AnnotationLayerList.test.jsx | 3 +-
.../pages/ChartList/ChartList.permissions.test.tsx | 3 +-
.../src/pages/ChartList/ChartList.test.tsx | 16 +-
.../src/pages/ChartList/ChartList.testHelpers.tsx | 9 +-
.../pages/CssTemplateList/CssTemplateList.test.jsx | 3 +-
.../src/pages/DashboardList/DashboardList.test.jsx | 5 +-
.../DatasetList/DatasetList.behavior.test.tsx | 521 +++++
.../DatasetList/DatasetList.integration.test.tsx | 258 +++
.../DatasetList/DatasetList.listview.test.tsx | 2319 ++++++++++++++++++++
.../DatasetList/DatasetList.permissions.test.tsx | 448 ++++
.../src/pages/DatasetList/DatasetList.test.tsx | 589 +++++
.../pages/DatasetList/DatasetList.testHelpers.tsx | 564 +++++
.../src/pages/FileHandler/index.test.tsx | 368 ++++
superset-frontend/src/pages/FileHandler/index.tsx | 138 ++
.../src/pages/GroupsList/GroupsList.test.tsx | 3 +-
.../src/pages/RolesList/RolesList.test.tsx | 3 +-
.../RowLevelSecurityList.test.tsx | 3 +-
.../pages/SavedQueryList/SavedQueryList.test.tsx | 3 +-
.../src/pages/UserInfo/UserInfo.test.tsx | 3 +-
.../src/pages/UsersList/UsersList.test.tsx | 3 +-
superset-frontend/src/pwa-manifest.json | 65 +
.../Slider.test.tsx => src/service-worker.ts} | 29 +-
.../src/views/RootContextProviders.tsx | 11 +-
superset-frontend/src/views/menu.tsx | 12 +-
superset-frontend/src/views/routes.tsx | 8 +
superset-frontend/webpack.config.js | 49 +-
superset/commands/database/importers/v1/utils.py | 4 +-
superset/commands/database/oauth2.py | 22 +
superset/commands/dataset/update.py | 13 +-
superset/config.py | 10 +
superset/db_engine_specs/aurora.py | 26 +
superset/db_engine_specs/aws_iam.py | 660 ++++++
superset/db_engine_specs/base.py | 77 +-
superset/db_engine_specs/bigquery.py | 5 +-
superset/db_engine_specs/gsheets.py | 101 +-
superset/db_engine_specs/hive.py | 6 +-
superset/db_engine_specs/mysql.py | 59 +-
superset/db_engine_specs/postgres.py | 53 +
superset/db_engine_specs/presto.py | 6 +-
superset/db_engine_specs/redshift.py | 42 +
superset/examples/data_loading.py | 5 +
superset/examples/generic_loader.py | 7 +
superset/initialization/__init__.py | 10 +-
superset/key_value/types.py | 1 +
superset/mcp_service/app.py | 86 +-
.../chart/prompts/create_chart_guided.py | 219 +-
.../mcp_service/chart/resources/chart_configs.py | 293 +--
superset/mcp_service/chart/schemas.py | 16 +-
superset/mcp_service/chart/tool/generate_chart.py | 4 -
.../mcp_service/chart/tool/get_chart_preview.py | 3 -
superset/mcp_service/common/schema_discovery.py | 65 +-
superset/mcp_service/mcp_config.py | 12 +-
superset/mcp_service/system/prompts/quickstart.py | 94 +-
.../system/resources/instance_metadata.py | 74 +-
superset/mcp_service/utils/schema_utils.py | 149 +-
superset/models/core.py | 22 +-
superset/sqllab/utils.py | 1 +
.../static/service-worker.js | 11 +-
superset/superset_typing.py | 2 +-
superset/templates/superset/spa.html | 15 +-
superset/utils/oauth2.py | 78 +-
superset/views/base.py | 1 +
superset/views/core.py | 15 +
tests/unit_tests/databases/api_test.py | 26 +-
tests/unit_tests/db_engine_specs/test_aurora.py | 317 +++
tests/unit_tests/db_engine_specs/test_aws_iam.py | 1045 +++++++++
tests/unit_tests/db_engine_specs/test_base.py | 284 ++-
tests/unit_tests/db_engine_specs/test_bigquery.py | 5 +-
tests/unit_tests/db_engine_specs/test_gsheets.py | 252 +++
tests/unit_tests/db_engine_specs/test_hive.py | 4 +-
tests/unit_tests/db_engine_specs/test_mysql_iam.py | 236 ++
tests/unit_tests/db_engine_specs/test_postgres.py | 4 +-
tests/unit_tests/db_engine_specs/test_presto.py | 4 +-
.../db_engine_specs/test_redshift_iam.py | 387 ++++
tests/unit_tests/sql_lab_test.py | 57 +-
tests/unit_tests/utils/oauth2_tests.py | 188 +-
204 files changed, 18869 insertions(+), 1570 deletions(-)
copy
superset-frontend/packages/superset-ui-core/src/{components/Input/Input.test.tsx
=> utils/withLabel.ts} (54%)
copy
superset-frontend/packages/superset-ui-core/src/{color/stringifyAndTrim.ts =>
validator/types.ts} (77%)
create mode 100644 superset-frontend/playwright/components/core/Menu.ts
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/test/Heatmap/buildQuery.test.ts
create mode 100644
superset-frontend/src/SqlLab/components/TableExploreTree/TableExploreTree.test.tsx
create mode 100644
superset-frontend/src/SqlLab/components/TableExploreTree/TreeNodeRenderer.tsx
create mode 100644
superset-frontend/src/SqlLab/components/TableExploreTree/index.tsx
copy superset-frontend/{packages/superset-ui-core/src/components/TableView =>
src/SqlLab/components/TableExploreTree}/types.ts (64%)
create mode 100644
superset-frontend/src/SqlLab/components/TableExploreTree/useTreeData.ts
copy
superset-frontend/{packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_boolean.svg
=> src/assets/images/icons/move.svg} (59%)
copy
superset-frontend/{packages/superset-ui-chart-controls/src/components/ColumnTypeLabel/type-icons/field_num.svg
=> src/assets/images/icons/sigma.svg} (82%)
create mode 100644 superset-frontend/src/assets/images/pwa/icon-192.png
create mode 100644 superset-frontend/src/assets/images/pwa/icon-512.png
create mode 100644
superset-frontend/src/assets/images/pwa/screenshot-narrow.png
create mode 100644 superset-frontend/src/assets/images/pwa/screenshot-wide.png
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/FoldersEditor.test.tsx
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/TreeItem.styles.ts
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/TreeItem.tsx
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/VirtualizedTreeItem.tsx
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/VirtualizedTreeList.tsx
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/components/DragOverlayContent.tsx
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/components/FoldersToolbarComponent.tsx
copy
superset-frontend/{packages/superset-ui-core/src/components/CertifiedBadge/index.tsx
=> src/components/Datasource/FoldersEditor/components/ResetConfirmModal.tsx}
(55%)
copy superset-frontend/{packages/superset-core/src/utils =>
src/components/Datasource/FoldersEditor/components}/index.ts (81%)
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/constants.ts
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/folderOperations.test.ts
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/folderOperations.ts
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/folderValidation.ts
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/hooks/useAutoScroll.ts
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/hooks/useDragHandlers.ts
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/hooks/useHeightCache.ts
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/hooks/useItemHeights.ts
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/index.tsx
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/sensors.ts
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/styles.tsx
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/treeUtils.test.ts
create mode 100644
superset-frontend/src/components/Datasource/FoldersEditor/treeUtils.ts
copy superset-frontend/src/{features/users =>
components/Datasource/FoldersEditor}/types.ts (72%)
create mode 100644
superset-frontend/src/features/datasets/DuplicateDatasetModal.test.tsx
create mode 100644
superset-frontend/src/pages/DatasetList/DatasetList.behavior.test.tsx
create mode 100644
superset-frontend/src/pages/DatasetList/DatasetList.integration.test.tsx
create mode 100644
superset-frontend/src/pages/DatasetList/DatasetList.listview.test.tsx
create mode 100644
superset-frontend/src/pages/DatasetList/DatasetList.permissions.test.tsx
create mode 100644 superset-frontend/src/pages/DatasetList/DatasetList.test.tsx
create mode 100644
superset-frontend/src/pages/DatasetList/DatasetList.testHelpers.tsx
create mode 100644 superset-frontend/src/pages/FileHandler/index.test.tsx
create mode 100644 superset-frontend/src/pages/FileHandler/index.tsx
create mode 100644 superset-frontend/src/pwa-manifest.json
copy
superset-frontend/{packages/superset-ui-core/src/components/Slider/Slider.test.tsx
=> src/service-worker.ts} (62%)
create mode 100644 superset/db_engine_specs/aws_iam.py
copy
superset-frontend/packages/superset-ui-core/src/components/EmptyState/Empty.test.tsx
=> superset/static/service-worker.js (78%)
create mode 100644 tests/unit_tests/db_engine_specs/test_aurora.py
create mode 100644 tests/unit_tests/db_engine_specs/test_aws_iam.py
create mode 100644 tests/unit_tests/db_engine_specs/test_mysql_iam.py
create mode 100644 tests/unit_tests/db_engine_specs/test_redshift_iam.py