This is an automated email from the ASF dual-hosted git repository. enzomartellucci pushed a commit to branch enxdev/refactor/typescript-migration-ChartRenderer in repository https://gitbox.apache.org/repos/asf/superset.git
commit bec3d94a5bbee98a70f71e8aaa6e5cb9ab99150d Merge: c805c96f5a a49a15f990 Author: Enzo Martellucci <[email protected]> AuthorDate: Sat Mar 15 17:07:39 2025 +0100 Merge branch master into enxdev/refactor/typescript-migration-ChartRenderer .github/dependabot.yml | 16 +- .github/workflows/ephemeral-env.yml | 8 +- .github/workflows/pre-commit.yml | 22 +- .github/workflows/superset-applitool-cypress.yml | 2 +- .github/workflows/superset-cli.yml | 2 +- .github/workflows/superset-e2e.yml | 2 +- .../workflows/superset-python-integrationtest.yml | 2 +- .github/workflows/superset-python-presto-hive.yml | 4 +- .github/workflows/tech-debt.yml | 2 +- .pre-commit-config.yaml | 59 +- Dockerfile | 2 +- README.md | 2 +- RELEASING/README.md | 7 +- RESOURCES/FEATURE_FLAGS.md | 1 - RESOURCES/INTHEWILD.md | 21 +- UPDATING.md | 1 + docker-compose-image-tag.yml | 2 +- docker-compose-non-dev.yml | 2 +- docker-compose.yml | 4 +- docs/.nvmrc | 2 +- docs/docs/configuration/alerts-reports.mdx | 7 +- docs/docs/configuration/async-queries-celery.mdx | 8 +- docs/docs/configuration/cache.mdx | 4 +- docs/docs/configuration/configuring-superset.mdx | 27 +- docs/docs/configuration/databases.mdx | 157 +- .../importing-exporting-datasources.mdx | 22 +- docs/docs/configuration/networking-settings.mdx | 11 +- docs/docs/configuration/sql-templating.mdx | 21 +- docs/docs/configuration/timezones.mdx | 4 +- docs/docs/contributing/development.mdx | 23 +- docs/docs/contributing/howtos.mdx | 24 + docs/docs/contributing/resources.mdx | 2 +- docs/docs/faq.mdx | 20 +- docs/docs/installation/architecture.mdx | 4 + docs/docs/installation/docker-builds.mdx | 3 +- docs/docs/installation/kubernetes.mdx | 1 + docs/docs/quickstart.mdx | 4 +- docs/docs/security/security.mdx | 11 +- .../creating-your-first-dashboard.mdx | 6 +- docs/docs/using-superset/exploring-data.mdx | 2 +- docs/docusaurus.config.ts | 30 +- docs/package.json | 12 +- docs/src/components/SectionHeader.tsx | 2 +- docs/src/styles/main.less | 10 - docs/src/theme/DocItem/index.js | 61 - docs/src/theme/Root.js | 125 + docs/yarn.lock | 250 +- helm/superset/Chart.lock | 2 +- helm/superset/Chart.yaml | 2 +- helm/superset/README.md | 2 +- package-lock.json | 46 - package.json | 6 - pyproject.toml | 4 +- requirements/base.txt | 63 +- requirements/development.txt | 69 +- scripts/eslint.sh | 2 +- superset-embedded-sdk/.nvmrc | 2 +- superset-embedded-sdk/package-lock.json | 12 +- superset-frontend/.nvmrc | 2 +- .../dashboard/nativeFilters.noInitState.test.ts | 38 +- .../cypress/e2e/dashboard/nativeFilters.test.ts | 2 +- .../cypress-base/cypress/e2e/dashboard/utils.ts | 2 +- superset-frontend/cypress-base/package-lock.json | 152 +- superset-frontend/jest.config.js | 2 +- superset-frontend/package-lock.json | 1159 +- superset-frontend/package.json | 28 +- .../src/components/labelUtils.tsx | 15 +- .../packages/superset-ui-core/package.json | 6 +- .../src/connection/callApi/parseResponse.ts | 19 +- .../superset-ui-core/src/math-expression/index.ts | 4 +- .../superset-ui-core/src/query/types/Query.ts | 6 +- .../src/query/types/QueryResponse.ts | 2 +- .../formatters/finestTemporalGrain.test.ts | 8 + .../time-format/formatters/finestTemporalGrain.ts | 4 + .../superset-ui-core/src/utils/featureFlags.ts | 1 - .../superset-ui-core/src/utils/lruCache.ts | 4 + .../test/time-comparison/fetchTimeRange.test.ts | 2 +- .../superset-ui-core/test/utils/lruCache.test.ts | 4 + .../legacy-preset-chart-deckgl/package.json | 2 +- .../src/BigNumber/BigNumberViz.tsx | 1 + .../src/BoxPlot/controlPanel.ts | 2 + .../plugin-chart-echarts/src/BoxPlot/types.ts | 4 +- .../src/Heatmap/controlPanel.tsx | 25 + .../src/Heatmap/transformProps.ts | 21 +- .../plugin-chart-echarts/src/Heatmap/types.ts | 3 + .../src/Timeseries/transformers.ts | 11 +- .../plugins/plugin-chart-echarts/src/types.ts | 2 +- .../plugin-chart-echarts/src/utils/series.ts | 2 +- .../plugin-chart-echarts/test/index.test.ts | 2 +- .../plugins/plugin-chart-handlebars/package.json | 2 +- .../plugins/plugin-chart-pivot-table/package.json | 2 +- .../src/plugin/controlPanel.tsx | 2 +- .../plugin-chart-table/src/controlPanel.tsx | 2 +- .../src/SqlLab/actions/sqlLab.test.js | 4 +- .../SqlLab/components/ResultSet/ResultSet.test.tsx | 19 +- .../ShareSqlLabQuery/ShareSqlLabQuery.test.tsx | 2 +- .../components/TableElement/TableElement.test.tsx | 2 +- .../src/components/AsyncAceEditor/index.tsx | 2 +- .../src/components/AuditInfo/ModifiedInfo.test.tsx | 2 +- .../components/Chart/ChartErrorMessage.test.tsx | 84 + .../src/components/Chart/ChartErrorMessage.tsx | 10 +- .../Chart/DrillBy/DrillByMenuItems.test.tsx | 4 +- .../src/components/Chart/chartActions.test.js | 2 +- .../src/components/DatabaseSelector/index.tsx | 2 + .../src/components/Datasource/utils.js | 14 +- .../src/components/Datasource/utils.test.tsx | 202 + .../ErrorMessage/ErrorMessageWithStackTrace.tsx | 1 - .../FilterableTable/FilterableTable.test.tsx | 21 +- .../src/components/GridTable/GridTable.test.tsx | 5 + .../src/components/GridTable/Header.tsx | 11 +- .../src/components/GridTable/HeaderMenu.test.tsx | 4 +- .../src/components/GridTable/HeaderMenu.tsx | 97 +- .../src/components/GridTable/index.tsx | 47 +- .../src/components/ListView/Filters/Search.tsx | 8 +- superset-frontend/src/components/Menu/index.tsx | 3 + .../src/components/Metadata/index.tsx | 46 +- .../src/components/RefreshLabel/index.tsx | 9 +- superset-frontend/src/components/index.ts | 5 - superset-frontend/src/dashboard/actions/hydrate.js | 5 +- .../DashboardBuilder/DashboardBuilder.tsx | 7 +- .../SliceHeaderControls.test.tsx | 2 +- .../dashboard/components/gridComponents/Chart.jsx | 3 + .../components/gridComponents/Chart.test.jsx | 7 +- .../FilterBarSettings/FilterBarSettings.test.tsx | 31 +- .../FilterBar/FilterBarSettings/index.tsx | 19 +- .../FilterBar/FilterControls/FilterControls.tsx | 7 +- .../FilterBar/FilterControls/FilterValue.tsx | 2 +- .../components/nativeFilters/FilterBar/utils.ts | 8 + .../FiltersConfigForm/FiltersConfigForm.tsx | 2 +- .../FiltersConfigModal/FiltersConfigModal.test.tsx | 3 +- .../DataTablesPane/test/DataTablesPane.test.tsx | 3 +- .../PropertiesModal/PropertiesModal.test.tsx | 4 +- .../AnnotationLayer.test.tsx | 2 +- .../DndColumnSelect.test.tsx | 2 +- .../OptionControls/OptionControls.test.tsx | 2 +- .../DashboardsSubMenu.test.tsx | 2 +- .../alerts/components/NotificationMethod.test.tsx | 77 + .../alerts/components/NotificationMethod.tsx | 133 +- .../DatabaseConnectionForm/EncryptedField.tsx | 66 +- .../OAuth2ClientField.test.tsx | 11 +- .../DatabaseConnectionForm/OAuth2ClientField.tsx | 41 +- .../DatabaseConnectionForm/TableCatalog.tsx | 9 +- .../DatabaseConnectionForm/constants.ts | 6 +- .../src/features/databases/DatabaseModal/styles.ts | 25 +- .../UploadDataModel/UploadDataModal.test.tsx | 7 +- superset-frontend/src/features/databases/types.ts | 2 +- .../src/features/home/ActivityTable.tsx | 14 +- .../src/features/home/RightMenu.test.tsx | 4 +- superset-frontend/src/features/home/types.ts | 12 + .../features/rls/RowLevelSecurityModal.test.tsx | 6 +- .../components/Range/RangeFilterPlugin.test.tsx | 86 +- .../filters/components/Range/RangeFilterPlugin.tsx | 500 +- .../components/Select/SelectFilterPlugin.test.tsx | 21 + superset-frontend/src/filters/utils.ts | 3 + .../src/middleware/asyncEvent.test.ts | 2 +- .../src/pages/DatabaseList/DatabaseList.test.jsx | 8 +- superset-frontend/src/pages/DatabaseList/index.tsx | 61 + superset-frontend/src/pages/Home/Home.test.tsx | 46 +- superset-frontend/src/pages/Home/index.tsx | 2 +- .../pages/SavedQueryList/SavedQueryList.test.jsx | 5 +- superset-frontend/src/setup/setupAGGridModules.ts | 61 + superset-frontend/src/utils/getBootstrapData.ts | 15 +- superset-frontend/src/views/App.tsx | 2 + superset-frontend/src/views/CRUD/utils.tsx | 9 +- superset-websocket/.nvmrc | 2 +- superset-websocket/package-lock.json | 673 +- superset-websocket/package.json | 6 +- superset-websocket/utils/client-ws-app/.nvmrc | 2 +- superset/charts/api.py | 1 + superset/charts/client_processing.py | 22 +- superset/commands/chart/importers/v1/utils.py | 7 +- superset/commands/dashboard/importers/v1/utils.py | 7 +- superset/commands/database/exceptions.py | 10 + superset/commands/database/oauth2.py | 88 + superset/commands/database/ssh_tunnel/create.py | 5 +- superset/commands/database/ssh_tunnel/update.py | 5 +- superset/commands/database/sync_permissions.py | 344 + superset/commands/database/test_connection.py | 18 +- superset/commands/database/update.py | 211 +- superset/commands/database/utils.py | 92 + superset/commands/database/validate.py | 2 +- superset/commands/dataset/importers/v1/utils.py | 8 + superset/commands/logs/prune.py | 109 + superset/commands/report/execute.py | 78 +- superset/config.py | 29 +- superset/constants.py | 3 +- superset/daos/database.py | 11 + superset/dashboards/api.py | 1 + superset/databases/api.py | 105 +- superset/databases/schemas.py | 1 + superset/datasets/api.py | 1 + superset/db_engine_specs/base.py | 52 +- superset/db_engine_specs/bigquery.py | 3 +- superset/db_engine_specs/clickhouse.py | 6 +- superset/db_engine_specs/databricks.py | 14 +- superset/db_engine_specs/drill.py | 47 +- superset/db_engine_specs/druid.py | 6 +- superset/db_engine_specs/duckdb.py | 11 +- superset/db_engine_specs/gsheets.py | 64 +- superset/db_engine_specs/hive.py | 55 +- superset/db_engine_specs/kusto.py | 18 +- superset/db_engine_specs/lib.py | 1 + superset/db_engine_specs/parseable.py | 5 +- superset/db_engine_specs/pinot.py | 2 + superset/db_engine_specs/postgres.py | 6 +- superset/db_engine_specs/presto.py | 38 +- superset/db_engine_specs/snowflake.py | 12 +- superset/db_engine_specs/sqlite.py | 1 - superset/db_engine_specs/starrocks.py | 23 +- superset/db_engine_specs/trino.py | 72 +- .../configs/charts/Vehicle Sales/Items_Sold.yaml | 73 + .../Vehicle Sales/Items_by_Product_Line.yaml | 80 + .../Number_of_Deals_for_each_Combination.yaml | 9 +- .../Overall_Sales_By_Product_Line.yaml | 9 + .../Proportion_of_Revenue_by_Product_Line.yaml | 120 +- .../charts/Vehicle Sales/Quarterly_Sales.yaml | 133 +- .../Quarterly_Sales_By_Product_Line_113.yaml | 103 + .../charts/Vehicle Sales/Revenue_by_Deal_Size.yaml | 50 +- .../Seasonality_of_Revenue_per_Product_Line.yaml | 5 + .../charts/Vehicle Sales/Total_Revenue.yaml | 48 +- .../configs/dashboards/Sales_Dashboard.yaml | 650 +- .../datasets/examples/cleaned_sales_data.yaml | 106 +- superset/extensions/ssh.py | 5 +- superset/migrations/shared/utils.py | 18 +- ...9123a_update_charts_with_old_time_comparison.py | 2 +- ..._94e7a3499973_add_folders_column_to_dataset.py} | 28 +- superset/models/core.py | 72 +- superset/reports/api.py | 6 +- superset/reports/notifications/slack.py | 4 +- superset/reports/notifications/slackv2.py | 18 +- superset/reports/schemas.py | 16 +- superset/security/guest_token.py | 3 +- superset/security/manager.py | 32 +- superset/sqllab/sql_json_executer.py | 1 - superset/tasks/scheduler.py | 39 +- superset/translations/pl/LC_MESSAGES/messages.po | 14962 +++++++++++++++++++ superset/translations/requirements.txt | 2 +- superset/utils/core.py | 36 +- superset/utils/decorators.py | 7 + superset/utils/json.py | 3 + superset/utils/slack.py | 117 +- superset/utils/ssh_tunnel.py | 14 + superset/views/base.py | 1 + superset/views/utils.py | 4 +- superset/viz.py | 10 +- tests/conftest.py | 35 +- tests/integration_tests/base_api_tests.py | 2 +- tests/integration_tests/charts/commands_tests.py | 6 +- tests/integration_tests/conftest.py | 32 - tests/integration_tests/databases/api_tests.py | 417 +- .../integration_tests/databases/commands_tests.py | 10 +- tests/integration_tests/datasets/api_tests.py | 1 + tests/integration_tests/fixtures/users.py | 80 + ...update_charts_with_old_time_comparison__test.py | 28 + tests/integration_tests/reports/commands_tests.py | 140 +- tests/integration_tests/reports/utils.py | 6 +- tests/integration_tests/security/api_tests.py | 2 +- .../security/row_level_security_tests.py | 1 - tests/integration_tests/security_tests.py | 53 +- tests/integration_tests/superset_test_config.py | 1 - tests/integration_tests/users/api_tests.py | 3 +- tests/integration_tests/utils_tests.py | 555 +- tests/integration_tests/viz_tests.py | 21 + .../charts/commands/importers/v1/import_test.py | 51 +- tests/unit_tests/charts/test_client_processing.py | 65 +- tests/unit_tests/commands/databases/conftest.py | 90 + tests/unit_tests/commands/databases/oauth2_test.py | 168 + .../commands/databases/sync_permissions_test.py | 389 + tests/unit_tests/commands/databases/update_test.py | 415 +- tests/unit_tests/commands/databases/utils_test.py | 212 + .../unit_tests/commands/databases/validate_test.py | 1 + tests/unit_tests/commands/report/execute_test.py | 77 + .../commands/importers/v1/import_test.py | 53 +- tests/unit_tests/databases/api_test.py | 107 +- .../databases/ssh_tunnel/commands/create_test.py | 57 +- .../databases/ssh_tunnel/commands/update_test.py | 31 + .../datasets/commands/importers/v1/import_test.py | 52 + tests/unit_tests/db_engine_specs/test_base.py | 84 +- tests/unit_tests/db_engine_specs/test_drill.py | 57 +- tests/unit_tests/db_engine_specs/test_gsheets.py | 88 +- tests/unit_tests/db_engine_specs/test_kusto.py | 24 + tests/unit_tests/db_engine_specs/test_starrocks.py | 26 +- tests/unit_tests/db_engine_specs/test_trino.py | 7 +- .../unit_tests/migrations/shared/catalogs_test.py | 29 +- tests/unit_tests/utils/json_tests.py | 88 +- tests/unit_tests/utils/slack_test.py | 16 +- tests/unit_tests/utils/test_core.py | 519 + tests/unit_tests/utils/test_decorators.py | 53 + 288 files changed, 24562 insertions(+), 3371 deletions(-)
