This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch
dependabot/npm_and_yarn/superset-frontend/multi-a28ee524ce
in repository https://gitbox.apache.org/repos/asf/superset.git
discard aac39b3abb chore(deps-dev): bump jest and @types/jest in
/superset-frontend
add 64ca080bb8 feat(playwright): Remove Cypress auth tests in favor of
Playwright auth tests (#35938)
add 0a5144fc1d fix(tests): fix flakey tests with PropertiesModal.test.tsx,
FiltersConfigModal.test.tsx and ChartList.listview.test.tsx (#36037)
add 21d585d586 fix(explore): show validation errors in View Query modal
(#35969)
add e2e831e322 fix(permalink): exclude edit mode from dashboard permalink
(#35889)
add 9be61a1245 fix(dashboard): prevent validation error in properties
modal when ope⦠(#36045)
add 4376476ec4 fix: saved query preview modal not highlighting active rows
(#35866)
add d123249bd2 fix(dashboard): align filter bar elements vertically in
horizontal mode (#36036)
add 9fbfcf0ccd fix(sqllab): prevent unwanted tab switching when
autocompleting table names on SQL Lab (#35992)
add 0b535b792e feat(frontend): add dataset cache clearing utilities and
integration (#35264)
add a45c0528da fix(dashboard): dashboard filter was incorrectly showing as
out of scope (#35886)
add bb2e2a5ed6 fix: fix tabs overflow in dashboards (#35984)
add c244e7f847 fix(mcp): simplify health_check tool and refactor system
utils (#36063)
add 008c7c6517 fix(table-chart): fix missing table header IDs (#35968)
add 310dcd7b94 chore: :globe_with_meridians: Translations added to ES .po
file (#30759)
add 306f4c14cf fix(sql): quote column names with spaces to prevent SQLGlot
parsing errors (#35553)
add 60f29ba6fb chore(logs): Add is_cached in sync AND async results
(#36102)
add 4515d18ddd fix(navbar): Minor fixes in navbar spacings (#36091)
add 6701d0ae0c fix: Use singlestoredb dialect for sqlglot (#36096)
add 467b008f36 fix: save button was enabled even no changes were made to
the dashboard (#35817)
add 4a04d46118 fix(explore): re-apply filters when 'Group remaining as
Others' is enabled (#35937)
add 74a590cb76 fix(dashboard): refresh tabs as they load when dashboard is
refreshed (#35265)
add 78f9debdd4 fix(dashboard): prevent tab content cutoff and excessive
whitespace in empty tabs (#35834)
add 37d58a476c fix(chart): align legend with chart grid in List mode for
Top/Bottom orientations (#36077)
add b051f779e6 chore: bump FAB to 5.0.2 (#36086)
add f8933c2743 style(database-modal): vertically align the button and the
InfoTooltip icon (#36087)
add 9ef87e75d5 fix(ace-editor-popover): main AntD popover closes when
clicking autocomplete suggestions in Ace Editor (#35986)
add f3e620cd0f fix: RLS in virtual datasets (#36061)
add 001b6cb801 feat: Floating Point Formatting for Scatter Point Chart
(#35915)
add e6a5616543 fix: opacity color formating (#36101)
add c955a5dc08 fix(histogram): add NULL handling for histogram (#35693)
add c2baba50f9 chore: abstract models and daos into superset-core (#35259)
add 9605a4a9cb fix(mcp-service): ensure Flask app context in auth hook and
resolve Pydantic warnings (#36013)
add 85413f2a65 fix: fix crossfilter persisting after removal (#35998)
add dad469297c feat(mcp): add configurable branding for MCP service
(#36033)
add 962faa2196 fix: Use total count to filter datasets (#36135)
add fb8eb2a5c3 fix(dashboard): ensure world map chart uses correct country
code format in crossfilter (#35919)
add 519990e2fb fix: pin setuptools <81 to prevent pkg_resources removal
(#36104)
add 6723a58780 perf: Fix dashboard performance issues (#36119)
add 9bff64824b fix(navbar): some styling + components inconsistencies
(#36120)
add 282f4e5de2 feat(embedded): add setThemeMode API for dynamic theme
switching (#36125)
add fb7d0e0e3d chore: annotate important types (#36034)
add 9d06a5888f fix(csv-upload): log detailed errors during chunk
concatenation for debugging (#36108)
add 3b226038ba fix(datasets): prevent double time filter application in
virtual datasets (#35890)
add 6fc7af5ba8 build: update Dockerfile to 3.11.14-slim-trixie (#36047)
add 28bdec2c79 fix(tags): ensure tag creation is compatible with MySQL by
avoiding Markup objects (#36075)
add f8943c17c2 chore(deps): bump js-yaml in /superset-websocket (#36142)
add fb325a8f24 fix(translations): Fix Russian translations for EmptyState
(#34055)
add b9ffde719e chore(deps-dev): bump jest and @types/jest in
/superset-frontend
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (aac39b3abb)
\
N -- N -- N
refs/heads/dependabot/npm_and_yarn/superset-frontend/multi-a28ee524ce
(b9ffde719e)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.asf.yaml | 1 +
.github/workflows/bashlib.sh | 23 +-
.github/workflows/superset-e2e.yml | 115 ++
.github/workflows/superset-playwright.yml | 13 +-
.gitignore | 1 +
Dockerfile | 2 +-
.../extensions/interacting-with-host.md | 41 +-
docs/developer_portal/extensions/quick-start.md | 2 +-
docs/docs/contributing/pkg-resources-migration.md | 101 ++
pyproject.toml | 2 +-
requirements/base.in | 6 +
requirements/base.txt | 5 +-
requirements/development.txt | 8 +-
superset-core/README.md | 2 +-
superset-core/pyproject.toml | 6 +-
superset-core/src/superset_core/__init__.py | 4 +
superset-core/src/superset_core/api/__init__.py | 8 -
superset-core/src/superset_core/api/daos.py | 262 ++++
superset-core/src/superset_core/api/models.py | 295 ++++
superset-core/src/superset_core/api/query.py | 51 +
superset-core/src/superset_core/api/rest_api.py | 72 +
.../src/superset_core/api/types/models.py | 90 --
superset-core/src/superset_core/api/types/query.py | 41 -
.../src/superset_core/api/types/rest_api.py | 64 -
superset-embedded-sdk/src/index.ts | 18 +-
.../cypress-base/cypress/e2e/auth/login.test.ts | 49 -
.../src/shared-controls/sharedControls.tsx | 26 +
.../src/utils/getColorFormatters.ts | 20 +-
.../test/utils/getColorFormatters.test.ts | 967 ++++++-------
.../AsyncAceEditor/AsyncAceEditor.test.tsx | 252 ++++
.../src/components/AsyncAceEditor/index.tsx | 81 +-
.../src/components/Loading/index.tsx | 4 +-
.../src/components/TableCollection/index.tsx | 13 +
.../src/components/Tabs/Tabs.test.tsx | 107 +-
.../superset-ui-core/src/components/Tabs/Tabs.tsx | 10 +
.../src/query/normalizeTimeColumn.ts | 1 +
.../superset-ui-core/src/query/types/Column.ts | 5 +
.../test/query/normalizeTimeColumn.test.ts | 1 +
superset-frontend/playwright.config.ts | 7 +
.../playwright/tests/experimental/README.md | 70 +
.../legacy-plugin-chart-world-map/src/WorldMap.js | 5 +-
.../Timeseries/Regular/Scatter/controlPanel.tsx | 47 +
.../src/Timeseries/constants.ts | 1 +
.../src/Timeseries/transformProps.ts | 5 +-
.../plugin-chart-echarts/src/Timeseries/types.ts | 1 +
.../plugins/plugin-chart-echarts/src/controls.tsx | 2 +-
.../plugin-chart-echarts/src/utils/series.ts | 9 +
.../test/Timeseries/Scatter/controlPanel.test.ts | 156 ++
.../test/Timeseries/Scatter/transformProps.test.ts | 183 +++
.../test/Timeseries/buildQuery.test.ts | 59 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 32 +-
.../plugin-chart-table/test/TableChart.test.tsx | 282 +++-
superset-frontend/src/SqlLab/actions/sqlLab.js | 10 +-
.../components/AceEditorWrapper/useKeywords.ts | 1 +
.../SaveDatasetModal/SaveDatasetModal.test.tsx | 42 +
.../SqlLab/components/SaveDatasetModal/index.tsx | 14 +-
superset-frontend/src/SqlLab/reducers/sqlLab.js | 6 +-
.../src/SqlLab/reducers/sqlLab.test.js | 87 ++
.../src/components/Chart/chartAction.js | 12 +-
.../src/components/Chart/chartActions.test.js | 64 +
.../Datasource/DatasourceModal/index.tsx | 1 +
.../DatasourceEditor/DatasourceEditor.jsx | 4 +
superset-frontend/src/constants.ts | 5 +
.../DashboardBuilder/DashboardBuilder.test.tsx | 215 ++-
.../DashboardBuilder/DashboardBuilder.tsx | 52 +-
.../DashboardBuilder/DashboardContainer.test.tsx | 389 +++++
.../DashboardBuilder/DashboardContainer.tsx | 12 +-
.../src/dashboard/components/DashboardGrid.jsx | 3 +
.../dashboard/components/DashboardGrid.test.jsx | 80 +-
.../dashboard/components/GroupByBadge/index.tsx | 50 +-
.../dashboard/components/Header/Header.test.tsx | 131 ++
.../src/dashboard/components/Header/index.jsx | 18 +-
.../PropertiesModal/PropertiesModal.test.tsx | 111 ++
.../dashboard/components/PropertiesModal/index.tsx | 30 +-
.../components/gridComponents/Chart/Chart.jsx | 55 +-
.../components/gridComponents/Tab/Tab.jsx | 46 +-
.../components/gridComponents/Tab/Tab.test.tsx | 97 +-
.../gridComponents/TabsRenderer/TabsRenderer.tsx | 1 +
.../nativeFilters/ChartCustomization/selectors.ts | 42 +-
.../FilterBar/ActionButtons/index.tsx | 1 -
.../FilterBar/FilterControls/FilterControl.tsx | 4 +-
.../FilterBar/FilterControls/FilterControls.tsx | 6 +-
.../FilterBar/FilterControls/FilterValue.tsx | 16 +-
.../nativeFilters/FilterBar/Horizontal.tsx | 2 +-
.../nativeFilters/FilterBar/Vertical.tsx | 2 +-
.../FilterCard/useFilterDependencies.ts | 33 +-
.../FiltersConfigForm/DatasetSelect.test.tsx | 66 +-
.../FiltersConfigForm/DatasetSelect.tsx | 109 +-
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 146 +-
.../FiltersConfigModal/FiltersConfigModal.tsx | 57 +-
.../components/nativeFilters/state.test.ts | 294 +++-
.../dashboard/components/nativeFilters/state.ts | 27 +-
.../src/dashboard/hooks/useDownloadScreenshot.ts | 2 +-
.../src/dashboard/reducers/dashboardState.js | 20 +-
.../src/dashboard/reducers/nativeFilters.test.ts | 162 +++
.../src/dashboard/reducers/nativeFilters.ts | 11 +-
.../util/charts/getFormDataWithExtraFilters.ts | 15 +-
.../charts/{useChartIds.ts => useAllChartIds.ts} | 10 +-
...dsFromLayout.ts => getChartIdsFromComponent.ts} | 35 +-
superset-frontend/src/embedded/index.tsx | 35 +-
.../PropertiesModal/PropertiesModal.test.tsx | 100 +-
.../components/controls/ViewQueryModal.test.tsx | 108 ++
.../explore/components/controls/ViewQueryModal.tsx | 35 +-
.../databases/DatabaseModal/SqlAlchemyForm.tsx | 4 +-
.../src/features/databases/DatabaseModal/styles.ts | 4 +-
superset-frontend/src/features/home/EmptyState.tsx | 24 +-
superset-frontend/src/features/home/Menu.tsx | 148 +-
superset-frontend/src/features/home/RightMenu.tsx | 9 +
.../src/features/home/commonMenuData.ts | 5 +
superset-frontend/src/hooks/useThemeMenuItems.tsx | 2 +
.../pages/ChartList/ChartList.listview.test.tsx | 1503 ++++++++++----------
.../src/utils/cachedSupersetGet.test.ts | 190 +++
superset-frontend/src/utils/cachedSupersetGet.ts | 56 +
superset-frontend/src/utils/urlUtils.test.ts | 52 +-
superset-websocket/package-lock.json | 25 +-
superset/charts/data/api.py | 39 +-
superset/charts/schemas.py | 9 +-
superset/commands/chart/data/get_data_command.py | 8 +-
superset/commands/database/uploaders/csv_reader.py | 12 +-
superset/commands/explore/get.py | 6 +-
superset/commands/security/create.py | 2 +-
superset/commands/security/update.py | 2 +-
superset/common/query_actions.py | 10 +-
superset/common/query_object.py | 9 +-
superset/connectors/sqla/models.py | 74 +-
superset/core/api/core_api_injection.py | 180 +++
superset/core/api/types/__init__.py | 16 -
superset/core/api/types/models.py | 72 -
superset/core/api/types/query.py | 29 -
superset/core/api/types/rest_api.py | 35 -
superset/daos/base.py | 25 +-
superset/initialization/__init__.py | 17 +-
superset/jinja_context.py | 5 +-
superset/key_value/models.py | 4 +-
superset/mcp_service/app.py | 60 +-
superset/mcp_service/auth.py | 161 ++-
superset/mcp_service/common/error_schemas.py | 9 +-
superset/mcp_service/mcp_config.py | 5 +-
superset/mcp_service/server.py | 21 +-
.../mcp_service/{explore => system}/__init__.py | 2 +-
.../system/resources/instance_metadata.py | 2 +-
superset/mcp_service/system/schemas.py | 1 -
.../{tool/get_instance_info.py => system_utils.py} | 80 +-
.../mcp_service/system/tool/get_instance_info.py | 176 +--
superset/mcp_service/system/tool/health_check.py | 45 +-
superset/migrations/shared/utils.py | 4 +-
...8ocx6rto6_expand_username_field_to_128_chars.py | 97 ++
superset/models/core.py | 3 +-
superset/models/dashboard.py | 3 +-
superset/models/helpers.py | 173 ++-
superset/models/slice.py | 5 +-
superset/models/sql_lab.py | 11 +-
superset/security/manager.py | 19 +-
superset/sql/parse.py | 27 +-
superset/superset_typing.py | 321 ++++-
superset/tags/filters.py | 4 +-
superset/tags/models.py | 6 +-
superset/translations/es/LC_MESSAGES/messages.po | 204 ++-
superset/translations/ru/LC_MESSAGES/messages.po | 12 +-
superset/utils/core.py | 4 +-
superset/utils/pandas_postprocessing/histogram.py | 5 +
superset/utils/rls.py | 53 +-
superset/views/core.py | 14 +-
superset/views/utils.py | 18 +-
superset/viz.py | 5 +-
tests/integration_tests/charts/data/api_tests.py | 18 +-
.../security/row_level_security_tests.py | 99 ++
tests/integration_tests/sqla_models_tests.py | 16 +-
tests/integration_tests/tags/api_tests.py | 45 +
.../tags/mysql_compatibility_test.py | 285 ++++
.../unit_tests/charts/commands/data}/__init__.py | 0
.../charts/commands/data/test_get_data_command.py | 325 +++++
.../commands/databases/csv_reader_test.py | 65 +
tests/unit_tests/dao/base_dao_test.py | 5 +-
tests/unit_tests/dao/key_value_test.py | 1 +
.../mcp_service/system/tool/test_health_check.py | 55 +
tests/unit_tests/mcp_service/test_mcp_config.py | 137 ++
tests/unit_tests/models/helpers_test.py | 297 ++++
.../models/test_time_filter_double_application.py | 369 +++++
.../pandas_postprocessing/test_histogram.py | 67 +
tests/unit_tests/sql/parse_tests.py | 88 ++
tests/unit_tests/tags/models_test.py | 263 ++++
182 files changed, 9765 insertions(+), 2998 deletions(-)
create mode 100644 docs/docs/contributing/pkg-resources-migration.md
create mode 100644 superset-core/src/superset_core/api/daos.py
create mode 100644 superset-core/src/superset_core/api/models.py
create mode 100644 superset-core/src/superset_core/api/query.py
create mode 100644 superset-core/src/superset_core/api/rest_api.py
delete mode 100644 superset-core/src/superset_core/api/types/models.py
delete mode 100644 superset-core/src/superset_core/api/types/query.py
delete mode 100644 superset-core/src/superset_core/api/types/rest_api.py
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/auth/login.test.ts
create mode 100644 superset-frontend/playwright/tests/experimental/README.md
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/Scatter/controlPanel.test.ts
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/test/Timeseries/Scatter/transformProps.test.ts
create mode 100644
superset-frontend/src/dashboard/components/DashboardBuilder/DashboardContainer.test.tsx
create mode 100644
superset-frontend/src/dashboard/reducers/nativeFilters.test.ts
copy superset-frontend/src/dashboard/util/charts/{useChartIds.ts =>
useAllChartIds.ts} (75%)
copy superset-frontend/src/dashboard/util/{getChartIdsFromLayout.ts =>
getChartIdsFromComponent.ts} (63%)
create mode 100644
superset-frontend/src/explore/components/controls/ViewQueryModal.test.tsx
create mode 100644 superset-frontend/src/utils/cachedSupersetGet.test.ts
create mode 100644 superset/core/api/core_api_injection.py
delete mode 100644 superset/core/api/types/__init__.py
delete mode 100644 superset/core/api/types/models.py
delete mode 100644 superset/core/api/types/query.py
delete mode 100644 superset/core/api/types/rest_api.py
copy superset/mcp_service/{explore => system}/__init__.py (93%)
copy superset/mcp_service/system/{tool/get_instance_info.py =>
system_utils.py} (72%)
create mode 100644
superset/migrations/versions/2025-11-12_12-54_x2s8ocx6rto6_expand_username_field_to_128_chars.py
create mode 100644 tests/integration_tests/tags/mysql_compatibility_test.py
rename {superset-core/src/superset_core/api/types =>
tests/unit_tests/charts/commands/data}/__init__.py (100%)
create mode 100644
tests/unit_tests/charts/commands/data/test_get_data_command.py
create mode 100644
tests/unit_tests/mcp_service/system/tool/test_health_check.py
create mode 100644 tests/unit_tests/mcp_service/test_mcp_config.py
create mode 100644
tests/unit_tests/models/test_time_filter_double_application.py
create mode 100644 tests/unit_tests/tags/models_test.py