You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by jl...@apache.org on 2026/08/14 14:05:31 UTC

(superset) branch showtime-master updated (e4bb1bc825c -> 74a364dc137)

This is an automated email from the ASF dual-hosted git repository.

sadpandajoe pushed a change to branch showtime-master
in repository https://gitbox.apache.org/repos/asf/superset.git


    from e4bb1bc825c Merge remote-tracking branch 'origin/master' into HEAD
     add 5554b892ffa fix(mcp): preserve table chart state during updates (#42655)
     add 762fdccfdef fix(oauth2): log database token failures (#42644)
     add e1777737a71 fix(docs): sync live component demos to the docs site's dark mode toggle (#42602)
     add c8305b0ba98 feat(ci): publish Python unit test results as PR check annotations (#42503)
     add fbeba10f750 fix(sqllab): make MenuDotsDropdown trigger focusable for tab rename (#43015)
     add d5ae93c9b8d test(echarts): pin Bar chart X Axis Title flows through untouched (#42560) (#42599)
     add 25c2ca11276 ci: run pre-commit checks via prek (#42500)
     add b8ca729f9fc fix(sql): only force a LIMIT onto query expressions (#43097)
     add d0658bacc89 fix(mcp): give concurrent tool calls isolated db sessions (#42629)
     add ec136f6d8df fix(charts): decode CSV bytes payload before feeding pandas StringIO (#32370) (#42735)
     add c8cb09d4589 fix(dev): stop the webpack dev-proxy from hanging on a mid-stream backend disconnect (#42811)
     add e1468a709c0 fix(sunburst): keep SQL null and literal string "null" as distinct groups (#43013)
     add 117b92a517a fix(mcp): expose table column formatting (#42658)
     add 5b281585194 fix(helm): stop shipping conflicting podDisruptionBudget defaults (#42995)
     add 6211f9936b3 feat(mobile): Add mobile-friendly dashboard consumption mode (#37141)
     add 67bbe0ac173 ci: speed up backend CI with astral-sh/setup-uv and apt package caching (#42498)
     add dc9547554b4 fix(echarts): normalize BigInt metric values before summing/dividing in stacked charts (#36401) (#42594)
     add f7a2f0ec501 feat(table): allow choosing Sum or Average for the "Show summary" totals row (#43027)
     add 3c7633f935f fix(encrypt): stop naive padding from truncating secrets ending in '*' (#43074)
     add 01d0772d4f3 fix(box-plot): distribute across field not marked as required for datasets without a temporal column (#43087)
     add a63483b9b1a fix(sql): rebase Dremio dialect on sqlglot's native dialect (#43099)
     add 3fb58900b9a chore(duckdb): remove cursor.description workaround, no longer reproducible (#43101)
     add 930ba64fdf3 fix(ci): format ErrorMessage tests (#43114)
     add 8f78f9eb9c7 chore: update CODEOWNERS for extension and config files (#43142)
     add 537f0fd2dbe fix(sqllab): use dialect-specific quote chars for autocomplete identifiers (#41492)
     add a188e9473ab feat(chart): let Drill By scope to the clicked x-axis value (#42296)
     add bacaf08a22f docs(perf): add Dashboard Performance guide covering virtualization, lazy tabs, and chart-count guidance (#40238)
     add aec567f7d6c chore(deps): bump antd from 6.5.3 to 6.5.4 in /superset-frontend (#43162)
     add a6db0d1cde2 chore(deps): bump query-string from 9.4.1 to 9.5.0 in /superset-frontend (#43161)
     add 9bc3173e3a3 chore(deps): bump antd from 6.5.3 to 6.5.4 in /docs (#43160)
     add 8523ea4d0a9 chore(deps): bump caniuse-lite from 1.0.30001806 to 1.0.30001807 in /docs (#43159)
     add acf39e3ef0c chore(deps): bump dompurify from 3.4.12 to 3.4.13 in /superset-frontend (#43158)
     add 3b99e092d08 chore(deps-dev): bump tsx from 4.23.9 to 4.23.10 in /superset-frontend (#43157)
     add 9c5bde94918 chore(deps): bump mapbox-gl from 3.28.0 to 3.28.1 in /superset-frontend (#43156)
     add 7c0c5283c3f chore(deps-dev): bump the storybook group in /superset-frontend with 5 updates (#43155)
     add a4c47359e61 chore(deps): bump the storybook group in /docs with 2 updates (#43154)
     add 84c371d56e1 chore: fix stale developer_portal paths (#43143)
     add 92728169de9 docs: document the zstd prerequisite for the frontend dev server (#43109)
     add 74a364dc137 Merge remote-tracking branch 'origin/master' into HEAD

No new revisions were added by this update.

Summary of changes:
 .github/CODEOWNERS                                 |  16 +-
 .github/actions/setup-backend/action.yml           |  28 +-
 .github/workflows/bump-python-package.yml          |   5 +-
 .github/workflows/pre-commit.yml                   |  31 +-
 .github/workflows/superset-docs-deploy.yml         |   6 +-
 .github/workflows/superset-playwright.yml          |  11 +
 .../workflows/superset-python-unittest-report.yml  |  70 +++
 .github/workflows/superset-python-unittest.yml     |  33 +-
 .github/workflows/superset-translations.yml        |   5 +-
 AGENTS.md                                          |   2 +-
 CONTRIBUTING.md                                    |   2 +-
 UPDATING.md                                        |   7 +
 docker/pythonpath_dev/superset_config.py           |   1 +
 .../configuration/dashboard-performance.mdx        | 184 ++++++++
 .../contributing/development-setup.md              |  24 ++
 .../frontend/component-style-guidelines.md         |   2 +-
 docs/docs/using-superset/mobile-experience.mdx     |  93 ++++
 docs/package.json                                  |   8 +-
 docs/src/components/StorybookWrapper.jsx           |  67 ++-
 docs/static/feature-flags.json                     |   6 +
 .../img/screenshots/mobile/mobile_dashboard.jpg    | Bin 0 -> 68479 bytes
 .../screenshots/mobile/mobile_dashboard_list.jpg   | Bin 0 -> 82502 bytes
 .../screenshots/mobile/mobile_filter_drawer.jpg    | Bin 0 -> 58074 bytes
 docs/static/img/screenshots/mobile/mobile_home.jpg | Bin 0 -> 35338 bytes
 .../img/screenshots/mobile/mobile_nav_drawer.jpg   | Bin 0 -> 35385 bytes
 .../img/screenshots/mobile/mobile_unsupported.jpg  | Bin 0 -> 42668 bytes
 docs/yarn.lock                                     |  52 +--
 helm/superset/Chart.yaml                           |   2 +-
 helm/superset/README.md                            |  28 +-
 helm/superset/templates/pdb-beat.yaml              |   2 +-
 helm/superset/templates/pdb-flower.yaml            |   2 +-
 helm/superset/templates/pdb-mcp.yaml               |   2 +-
 helm/superset/templates/pdb-worker.yaml            |   2 +-
 helm/superset/templates/pdb-ws.yaml                |   2 +-
 helm/superset/templates/pdb.yaml                   |   2 +-
 helm/superset/tests/pdb_test.yaml                  |  87 ++++
 helm/superset/values.yaml                          |  26 +-
 superset-frontend/package-lock.json                | 179 ++++----
 superset-frontend/package.json                     |  18 +-
 .../src/theme/SupersetThemeProvider.test.tsx       | 205 +++++++++
 .../superset-core/src/theme/Theme.test.tsx         |  41 ++
 .../packages/superset-core/src/theme/Theme.tsx     |  88 +++-
 .../src/utils/getTotalsMetrics.test.ts             |  79 ++++
 .../src/utils/getTotalsMetrics.ts                  |  43 ++
 .../superset-ui-chart-controls/src/utils/index.ts  |   1 +
 .../superset-ui-core/src/chart/types/Base.ts       |   7 +
 .../src/components/AsyncAceEditor/index.tsx        |   3 +
 .../src/components/AsyncAceEditor/types.ts         |   3 +
 .../src/components/Dropdown/Dropdown.test.tsx      |  35 +-
 .../src/components/Dropdown/index.tsx              |  28 +-
 .../src/components/DynamicEditableTitle/index.tsx  |  16 +
 .../src/components/PageHeaderWithActions/index.tsx |  18 +
 .../superset-ui-core/src/utils/featureFlags.ts     |   1 +
 superset-frontend/playwright.config.ts             |  18 +
 .../generators/docs/mobile-screenshots.spec.ts     | 173 ++++++++
 .../tests/mobile/mobile-dashboard.spec.ts          | 284 ++++++++++++
 .../tests/mobile/mobile-navigation.spec.ts         | 192 +++++++++
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |  24 +-
 .../src/controlPanel.tsx                           |  27 +-
 .../test/buildQuery.test.ts                        |  68 +++
 .../src/BoxPlot/controlPanel.ts                    |   5 +-
 .../src/Timeseries/EchartsTimeseries.test.tsx      |  99 ++++-
 .../src/Timeseries/EchartsTimeseries.tsx           |  57 ++-
 .../plugin-chart-echarts/src/utils/series.ts       |  43 +-
 .../plugin-chart-echarts/src/utils/treeBuilder.ts  | 125 ++++--
 .../src/utils/xAxisDrillByFilter.ts                | 164 +++++++
 .../test/BoxPlot/controlPanel.test.ts              |  57 +++
 .../test/Timeseries/Bar/transformProps.test.ts     |  90 ++++
 .../test/Timeseries/transformProps.test.ts         |  32 ++
 .../plugin-chart-echarts/test/utils/series.test.ts | 112 ++++-
 .../test/utils/treeBuilder.test.ts                 |  72 ++++
 .../test/utils/xAxisDrillByFilter.test.ts          | 238 +++++++++++
 .../plugin-chart-point-cluster-map/package.json    |   2 +-
 .../plugins/plugin-chart-table/src/buildQuery.ts   |   5 +
 .../plugin-chart-table/src/controlPanel.tsx        |  25 ++
 .../plugin-chart-table/test/buildQuery.test.ts     |  65 +++
 superset-frontend/spec/helpers/mobileTestUtils.ts  | 169 ++++++++
 .../components/EditorWrapper/useKeywords.test.ts   | 160 +++++++
 .../SqlLab/components/EditorWrapper/useKeywords.ts |  63 ++-
 .../SqlEditorTabHeader/SqlEditorTabHeader.test.tsx |   8 +-
 .../SqlLab/components/SqlEditorTabHeader/index.tsx |  15 +-
 .../TabbedSqlEditors/TabbedSqlEditors.test.tsx     |   6 +-
 .../ChartContextMenu/ChartContextMenu.test.tsx     |  70 ++-
 .../Chart/ChartContextMenu/ChartContextMenu.tsx    |  27 +-
 .../Chart/DrillBy/DrillBySubmenu.test.tsx          | 134 ++++++
 .../components/Chart/DrillBy/DrillBySubmenu.tsx    | 112 ++++-
 .../ErrorMessage/BasicErrorAlert.test.tsx          |   9 +-
 .../ErrorMessage/DatabaseErrorMessage.test.tsx     |   9 +-
 .../DatasetNotFoundErrorMessage.test.tsx           |   9 +-
 .../ErrorMessageWithStackTrace.test.tsx            |   9 +-
 .../FrontendNetworkErrorMessage.test.tsx           |   9 +-
 .../ErrorMessage/ParameterErrorMessage.test.tsx    |   9 +-
 .../ErrorMessage/TimeoutErrorMessage.test.tsx      |   9 +-
 .../src/components/ListView/CardCollection.tsx     |  13 +
 .../src/components/ListView/ListView.test.tsx      | 224 ++++++++++
 .../src/components/ListView/ListView.tsx           | 103 ++++-
 superset-frontend/src/components/ListView/utils.ts |  25 +-
 .../MobileRouteGuard/MobileRouteGuard.test.tsx     |  64 +++
 .../src/components/MobileRouteGuard/index.tsx      |  49 ++-
 .../src/core/editors/AceEditorProvider.tsx         |  14 +-
 .../DashboardBuilder/DashboardBuilder.test.tsx     |  49 +++
 .../DashboardBuilder/DashboardBuilder.tsx          |  87 +++-
 .../DashboardBuilder/DashboardWrapper.tsx          |  17 +
 .../dashboard/components/DashboardBuilder/state.ts |  15 +-
 .../dashboard/components/Header/Header.test.tsx    |   7 +
 .../src/dashboard/components/Header/index.tsx      |  48 ++-
 .../src/dashboard/components/Header/types.ts       |   4 +
 .../Header/useHeaderActionsDropdownMenu.tsx        |  81 +++-
 .../components/SliceHeader/SliceHeader.test.tsx    |  42 ++
 .../src/dashboard/components/SliceHeader/index.tsx |   7 +-
 .../ChartHolder/ChartHolder.test.tsx               | 147 ++++++-
 .../gridComponents/ChartHolder/ChartHolder.tsx     |  64 ++-
 .../components/gridComponents/Row/Row.tsx          |  22 +
 .../gridComponents/TabsRenderer/TabsRenderer.tsx   |  55 ++-
 .../nativeFilters/FilterBar/Vertical.tsx           |  74 ++--
 .../components/nativeFilters/FilterBar/index.tsx   |   1 +
 .../components/nativeFilters/FilterBar/types.ts    |   5 +
 .../components/resizable/ResizableContainer.tsx    |  16 +
 .../src/features/dashboards/DashboardCard.tsx      |  12 +-
 .../src/features/home/ActivityTable.tsx            |  28 +-
 .../src/features/home/EmptyState.test.tsx          |  39 ++
 superset-frontend/src/features/home/EmptyState.tsx |  10 +-
 superset-frontend/src/features/home/Menu.tsx       |  75 ++--
 .../src/features/home/RightMenu.test.tsx           | 127 ++++--
 superset-frontend/src/features/home/RightMenu.tsx  | 197 +++++++--
 .../src/features/home/SubMenu.test.tsx             |  32 ++
 superset-frontend/src/features/home/SubMenu.tsx    |  66 ++-
 superset-frontend/src/features/home/types.ts       |   1 +
 superset-frontend/src/hooks/useIsMobile.ts         |  88 ++++
 .../src/pages/DashboardList/DashboardList.test.tsx |   7 +
 .../src/pages/DashboardList/index.tsx              |  33 +-
 .../src/pages/Home/Home.mobile.test.tsx            | 183 ++++++++
 superset-frontend/src/pages/Home/Home.test.tsx     |   7 +
 superset-frontend/src/pages/Home/index.tsx         |  43 +-
 .../MobileUnsupported/MobileUnsupported.test.tsx   |  95 +++++
 .../src/pages/MobileUnsupported/index.tsx          | 141 ++++++
 superset-frontend/src/views/App.tsx                |  37 +-
 superset-frontend/src/views/CRUD/utils.tsx         |  12 +
 superset-frontend/src/views/routes.tsx             |  36 +-
 .../tools/webpack.proxy-config.test.js             | 272 ++++++++++++
 superset-frontend/webpack.proxy-config.js          | 102 ++++-
 superset/charts/client_processing.py               |  16 +-
 superset/commands/database/oauth2.py               |  23 +-
 superset/config.py                                 |   5 +
 superset/databases/api.py                          |   7 +-
 superset/databases/schemas.py                      |  24 ++
 superset/db_engine_specs/base.py                   |  21 +-
 superset/db_engine_specs/bigquery.py               |   7 +
 superset/db_engine_specs/databricks.py             |   5 +
 superset/db_engine_specs/duckdb.py                 |  35 +-
 superset/db_engine_specs/hive.py                   |   6 +
 superset/db_engine_specs/mssql.py                  |   5 +
 superset/db_engine_specs/mysql.py                  |   4 +
 superset/db_engine_specs/sybase.py                 |   5 +
 superset/exceptions.py                             |  13 +-
 superset/initialization/__init__.py                |  12 +-
 superset/mcp_service/app.py                        |  28 ++
 superset/mcp_service/auth.py                       |  71 ++-
 superset/mcp_service/chart/chart_utils.py          |  46 ++
 superset/mcp_service/chart/compile.py              |  28 +-
 superset/mcp_service/chart/plugins/table.py        |  19 +-
 superset/mcp_service/chart/schemas.py              |  64 +++
 superset/mcp_service/chart/tool/update_chart.py    | 212 ++++++++-
 .../mcp_service/chart/tool/update_chart_preview.py |   3 +
 superset/mcp_service/chart/validation/pipeline.py  |   2 +-
 superset/mcp_service/server.py                     |  10 +
 superset/mcp_service/session_scope.py              |  69 +++
 superset/sql/dialects/dremio.py                    |  28 +-
 superset/sql/parse.py                              |  29 +-
 superset/sqllab/schemas.py                         |  36 +-
 superset/sqllab/utils.py                           |   1 +
 superset/templates/superset/spa.html               |   7 +
 superset/utils/encrypt.py                          |  57 ++-
 superset/utils/log.py                              |  60 ++-
 superset/utils/oauth2.py                           |  36 +-
 superset/views/base_api.py                         |  75 +++-
 tests/integration_tests/databases/api_tests.py     |  40 ++
 .../integration_tests/non_additive_totals_tests.py |  42 ++
 tests/integration_tests/utils/encrypt_tests.py     |  12 +-
 tests/unit_tests/charts/test_client_processing.py  |  90 +++-
 tests/unit_tests/commands/databases/oauth2_test.py |  42 ++
 tests/unit_tests/databases/api_test.py             |  10 +
 tests/unit_tests/databases/oauth2_api_test.py      | 275 ++++++++++++
 tests/unit_tests/databases/test_schemas.py         |  54 +++
 tests/unit_tests/db_engine_specs/test_base.py      |  14 +-
 tests/unit_tests/db_engine_specs/test_bigquery.py  |  12 +
 .../unit_tests/db_engine_specs/test_databricks.py  |  17 +
 tests/unit_tests/db_engine_specs/test_duckdb.py    |  28 ++
 tests/unit_tests/db_engine_specs/test_hive.py      |  23 +
 tests/unit_tests/db_engine_specs/test_mssql.py     |  11 +
 tests/unit_tests/db_engine_specs/test_mysql.py     |  11 +
 .../unit_tests/db_engine_specs/test_sybase.py      |  21 +-
 .../mcp_service/chart/test_chart_utils.py          |  71 +++
 tests/unit_tests/mcp_service/chart/test_compile.py |  40 ++
 .../mcp_service/chart/test_new_chart_types.py      |  60 +++
 .../chart/tool/test_get_chart_type_schema.py       |   9 +-
 .../mcp_service/chart/tool/test_update_chart.py    | 474 +++++++++++++++++++++
 .../chart/tool/test_update_chart_preview.py        |  12 +-
 .../validation/test_column_name_normalization.py   |  68 +++
 .../mcp_service/test_auth_user_resolution.py       |   7 +-
 tests/unit_tests/mcp_service/test_session_scope.py | 233 ++++++++++
 tests/unit_tests/sql/dialects/dremio_tests.py      |  27 ++
 tests/unit_tests/sql/parse_tests.py                |  74 +++-
 tests/unit_tests/sqllab/test_schemas.py            |  54 +++
 tests/unit_tests/sqllab/test_utils.py              |  52 +++
 tests/unit_tests/utils/encrypt_test.py             |  61 +++
 tests/unit_tests/utils/oauth2_tests.py             | 104 ++++-
 .../unit_tests/utils/test_encrypt_cbc_iv_reuse.py  |  14 +-
 208 files changed, 9525 insertions(+), 859 deletions(-)
 create mode 100644 .github/workflows/superset-python-unittest-report.yml
 create mode 100644 docs/admin_docs/configuration/dashboard-performance.mdx
 create mode 100644 docs/docs/using-superset/mobile-experience.mdx
 create mode 100644 docs/static/img/screenshots/mobile/mobile_dashboard.jpg
 create mode 100644 docs/static/img/screenshots/mobile/mobile_dashboard_list.jpg
 create mode 100644 docs/static/img/screenshots/mobile/mobile_filter_drawer.jpg
 create mode 100644 docs/static/img/screenshots/mobile/mobile_home.jpg
 create mode 100644 docs/static/img/screenshots/mobile/mobile_nav_drawer.jpg
 create mode 100644 docs/static/img/screenshots/mobile/mobile_unsupported.jpg
 create mode 100644 helm/superset/tests/pdb_test.yaml
 create mode 100644 superset-frontend/packages/superset-core/src/theme/SupersetThemeProvider.test.tsx
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/utils/getTotalsMetrics.test.ts
 create mode 100644 superset-frontend/packages/superset-ui-chart-controls/src/utils/getTotalsMetrics.ts
 create mode 100644 superset-frontend/playwright/generators/docs/mobile-screenshots.spec.ts
 create mode 100644 superset-frontend/playwright/tests/mobile/mobile-dashboard.spec.ts
 create mode 100644 superset-frontend/playwright/tests/mobile/mobile-navigation.spec.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/utils/xAxisDrillByFilter.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/BoxPlot/controlPanel.test.ts
 create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/utils/xAxisDrillByFilter.test.ts
 create mode 100644 superset-frontend/spec/helpers/mobileTestUtils.ts
 create mode 100644 superset-frontend/src/components/MobileRouteGuard/MobileRouteGuard.test.tsx
 copy superset-embedded-sdk/src/withTimeout.ts => superset-frontend/src/components/MobileRouteGuard/index.tsx (50%)
 create mode 100644 superset-frontend/src/hooks/useIsMobile.ts
 create mode 100644 superset-frontend/src/pages/Home/Home.mobile.test.tsx
 create mode 100644 superset-frontend/src/pages/MobileUnsupported/MobileUnsupported.test.tsx
 create mode 100644 superset-frontend/src/pages/MobileUnsupported/index.tsx
 create mode 100644 superset-frontend/tools/webpack.proxy-config.test.js
 create mode 100644 superset/mcp_service/session_scope.py
 create mode 100644 tests/unit_tests/databases/oauth2_api_test.py
 copy superset-frontend/netlify.toml => tests/unit_tests/db_engine_specs/test_sybase.py (60%)
 create mode 100644 tests/unit_tests/mcp_service/test_session_scope.py
 create mode 100644 tests/unit_tests/sqllab/test_schemas.py
 create mode 100644 tests/unit_tests/sqllab/test_utils.py