This is an automated email from the ASF dual-hosted git repository.
asoare pushed a change to branch alexandrusoare/fix/world-map
in repository https://gitbox.apache.org/repos/asf/superset.git
from 2f74e7b3234 fix(tooltip): fixing tooltip issue
add b8459c15b86 chore(deps-dev): bump @typescript-eslint/parser from
8.56.0 to 8.56.1 in /docs (#38211)
add f60432e34cf fix: Allow non-owners to fave/unfave charts (#38095)
add fca8a495611 feat: auto refresh dashboard (#37459)
add 974bee14c3e fix(extensions): make LOCAL_EXTENSIONS loading resilient
to individual failures (#38217)
add 7b04d251d60 fix(build): restore automatic .d.ts generation in dev mode
(#38202)
add 35c135852e8 feat(extensions): add mandatory publisher field to
extension metadata (#38200)
add 0d66accc377 chore(build): prevent opening Dependabot PRs for `@rjsf/*`
deps due to React 18 constraint (#37976)
add 97b8585fe5d chore(deps-dev): bump typescript-eslint from 8.56.0 to
8.56.1 in /docs (#38209)
add aa475734ef9 chore(deps-dev): bump eslint from 9.39.2 to 10.0.2 in
/superset-websocket (#38204)
add e4a7cd30c34 fix(GAQ): don't use async queries when cache timeout is -1
(#38089)
add 76a2559b2b8 fix(ci): revert "chore(deps): bump
JustinBeckwith/linkinator-action from 2.3 to 2.4" (#38164)
add 4809903bb80 chore(deps): bump markdown-to-jsx from 9.7.4 to 9.7.6 in
/superset-frontend (#38225)
add 9e4a88dfa2b chore(deps): bump antd from 6.3.0 to 6.3.1 in /docs
(#38221)
add 01c1b2eb8f0 chore(deps-dev): bump @types/lodash from 4.17.23 to
4.17.24 in /superset-frontend (#38224)
add 5eb35a47957 fix(reports): validate database field on PUT report
schedule (#38084)
add 1cd35bb1029 feat(mcp): dynamic feature availability via menus and
feature flags (#37964)
add 30849079318 feat(mcp): support unsaved state in Explore and Dashboard
tools (#37183)
add a1312a86e88 fix(mcp): normalize column names to fix time series filter
prompt issue (#37187)
add b543358d2f5 chore(deps-dev): bump @swc/core from 1.15.11 to 1.15.13 in
/superset-frontend (#38237)
add 1b605c4ddad chore(deps): bump fs-extra from 11.3.2 to 11.3.3 in
/superset-frontend (#38234)
add 79b2647481b chore(deps): bump @swc/core from 1.15.11 to 1.15.13 in
/docs (#38207)
add 37a46370181 chore(deps-dev): bump typescript-eslint from 8.56.0 to
8.56.1 in /superset-websocket (#38203)
add 438a9274206 chore(deps-dev): bump oxlint from 1.49.0 to 1.50.0 in
/superset-frontend (#38240)
add c54b21ef988 fix(mcp): add eager loading to get_info tools to prevent
N+1 query timeouts (#38129)
add cc1128a404a feat(mcp): add response size guard to prevent oversized
responses (#37200)
add eef4d95c229 fix(mcp): add dataset validation for chart tools (#37185)
add abf0b7cf4b8 fix(mcp): use broad Exception in outermost tool-level
handlers (#38254)
add 26053a8b5d3 fix(alert-modal): show the add filter button on firefox
(#38093)
add 2b6c745444b fix(ci): use OIDC auth token for successful Codecov upload
(#38218)
add 2db22a42fca Merge branch 'master' of
https://github.com/apache/superset into alexandrusoare/fix/world-map
No new revisions were added by this update.
Summary of changes:
.github/dependabot.yml | 1 +
.github/workflows/superset-docs-verify.yml | 2 +-
.github/workflows/superset-frontend.yml | 23 +-
docs/developer_portal/extensions/quick-start.md | 73 +-
docs/package.json | 8 +-
docs/yarn.lock | 309 ++++---
.../src/superset_core/extensions}/constants.py | 27 +-
.../src/superset_core/extensions/types.py | 26 +-
.../src/superset_extensions_cli/cli.py | 197 +++--
.../templates/extension.json.j2 | 8 +-
.../templates/frontend/package.json.j2 | 2 +-
.../templates/frontend/webpack.config.js.j2 | 2 +-
.../src/superset_extensions_cli/types.py | 25 +-
.../src/superset_extensions_cli/utils.py | 226 ++++--
superset-extensions-cli/tests/conftest.py | 39 +-
superset-extensions-cli/tests/test_cli_build.py | 85 +-
superset-extensions-cli/tests/test_cli_bundle.py | 19 +-
superset-extensions-cli/tests/test_cli_dev.py | 29 +-
superset-extensions-cli/tests/test_cli_init.py | 158 ++--
.../tests/test_name_transformations.py | 834 ++++++++++---------
superset-extensions-cli/tests/test_templates.py | 138 ++--
superset-frontend/package-lock.json | 268 +++----
superset-frontend/package.json | 6 +-
.../packages/superset-core/package.json | 2 +-
.../packages/superset-ui-core/package.json | 2 +-
.../src/components/Icons/AntdEnhanced.tsx | 10 +-
.../plugin-chart-echarts/src/BigNumber/types.ts | 1 +
.../plugin-chart-echarts/src/Graph/buildQuery.ts | 21 +-
.../plugin-chart-echarts/src/Heatmap/Heatmap.tsx | 3 +-
.../plugin-chart-echarts/src/Sankey/buildQuery.ts | 19 +-
.../plugin-chart-echarts/src/Timeseries/types.ts | 1 +
.../plugin-chart-echarts/src/Tree/buildQuery.ts | 15 +-
.../src/Tree/transformProps.ts | 10 +-
.../src/Treemap/EchartsTreemap.tsx | 2 +-
.../plugin-chart-echarts/src/Treemap/buildQuery.ts | 16 +-
.../plugin-chart-echarts/src/components/Echart.tsx | 30 +-
.../plugins/plugin-chart-echarts/src/types.ts | 1 +
.../src/utils/orderby.test.ts} | 19 +-
.../plugin-chart-echarts/src/utils/orderby.ts | 51 ++
.../plugin-chart-echarts/src/utils/series.ts | 6 +-
.../test/Graph/buildQuery.test.ts | 2 +
.../test/Timeseries/transformProps.test.ts | 2 +-
.../test/Tree/buildQuery.test.ts | 33 +-
.../plugin-chart-echarts/test/utils/series.test.ts | 2 +-
.../plugins/plugin-chart-handlebars/package.json | 2 +-
.../src/plugin/buildQuery.ts | 17 +-
superset-frontend/src/components/Chart/Chart.tsx | 6 +-
.../src/components/Chart/ChartRenderer.test.tsx | 70 +-
.../src/components/Chart/ChartRenderer.tsx | 18 +-
.../src/components/Chart/chartAction.ts | 24 +-
.../src/components/Chart/chartReducer.ts | 8 +
.../src/components/Chart/chartReducers.test.ts | 30 +-
.../src/dashboard/actions/autoRefresh.ts | 124 +++
.../src/dashboard/actions/dashboardState.test.ts | 164 ++++
.../src/dashboard/actions/dashboardState.ts | 63 +-
superset-frontend/src/dashboard/actions/hydrate.ts | 2 +
.../components/AutoRefreshIndicator/index.tsx | 169 ++++
.../AutoRefreshStatus/StatusIndicatorDot.test.tsx | 114 +++
.../AutoRefreshStatus/StatusIndicatorDot.tsx | 168 ++++
.../StatusTooltipContent.test.tsx | 180 +++++
.../AutoRefreshStatus/StatusTooltipContent.tsx | 178 +++++
.../components/FiltersBadge/FiltersBadge.test.tsx | 251 ++++--
.../dashboard/components/FiltersBadge/index.tsx | 27 +-
.../dashboard/components/Header/Header.test.tsx | 128 ++-
.../src/dashboard/components/Header/index.tsx | 383 ++++-----
.../src/dashboard/components/Header/types.ts | 26 +-
.../Header/useHeaderActionsDropdownMenu.tsx | 13 +-
.../components/Header/useHeaderAutoRefresh.ts | 410 ++++++++++
.../dashboard/components/PropertiesModal/index.tsx | 18 +-
.../PropertiesModal/sections/RefreshSection.tsx | 2 +-
.../dashboard/components/RefreshButton/index.tsx | 81 ++
.../{index.ts => RefreshFrequencySelect.test.tsx} | 25 +-
.../RefreshFrequency/RefreshFrequencySelect.tsx | 67 +-
.../dashboard/components/RefreshIntervalModal.tsx | 81 +-
.../components/gridComponents/Chart/Chart.tsx | 5 +-
.../components/gridComponents/Tab/Tab.test.tsx | 2 +
.../components/gridComponents/Tab/Tab.tsx | 17 +-
.../src/dashboard/containers/DashboardPage.tsx | 15 +-
.../dashboard/contexts/AutoRefreshContext.test.tsx | 137 ++++
.../src/dashboard/contexts/AutoRefreshContext.tsx | 101 +++
.../hooks/useAutoRefreshTabPause.test.tsx | 378 +++++++++
.../src/dashboard/hooks/useAutoRefreshTabPause.ts | 146 ++++
.../src/dashboard/hooks/useCurrentTime.test.ts | 182 +++++
.../src/dashboard/hooks/useCurrentTime.ts | 67 ++
.../dashboard/hooks/useRealTimeDashboard.test.ts | 175 ++++
.../src/dashboard/hooks/useRealTimeDashboard.ts | 245 ++++++
.../src/dashboard/hooks/useTabVisibility.test.ts | 175 ++++
.../src/dashboard/hooks/useTabVisibility.ts | 102 +++
.../dashboard/reducers/autoRefreshReducer.test.ts | 246 ++++++
.../src/dashboard/reducers/dashboardState.ts | 81 ++
superset-frontend/src/dashboard/types.ts | 16 +-
.../src/dashboard/types/autoRefresh.ts | 64 ++
.../src/features/alerts/AlertReportModal.tsx | 43 +-
superset-frontend/webpack.config.js | 21 +-
superset-websocket/package-lock.json | 888 ++++++++++-----------
superset-websocket/package.json | 4 +-
superset/charts/data/api.py | 19 +-
superset/commands/chart/fave.py | 8 -
superset/commands/chart/unfave.py | 8 -
superset/commands/report/exceptions.py | 12 +
superset/commands/report/update.py | 18 +-
superset/daos/base.py | 11 +-
superset/daos/database.py | 6 +-
superset/extensions/api.py | 35 +-
superset/extensions/utils.py | 36 +-
superset/mcp_service/CLAUDE.md | 37 +
superset/mcp_service/app.py | 4 +
superset/mcp_service/chart/chart_utils.py | 120 ++-
superset/mcp_service/chart/schemas.py | 68 +-
superset/mcp_service/chart/tool/generate_chart.py | 33 +-
superset/mcp_service/chart/tool/get_chart_data.py | 146 +++-
superset/mcp_service/chart/tool/get_chart_info.py | 96 ++-
.../mcp_service/chart/tool/get_chart_preview.py | 73 +-
.../chart/validation/dataset_validator.py | 153 +++-
superset/mcp_service/chart/validation/pipeline.py | 86 +-
.../mcp_service}/constants.py | 6 +-
superset/mcp_service/dashboard/schemas.py | 43 +-
.../dashboard/tool/get_dashboard_info.py | 114 ++-
.../mcp_service/dataset/tool/get_dataset_info.py | 12 +
.../explore/tool/generate_explore_link.py | 15 +-
superset/mcp_service/mcp_config.py | 49 ++
superset/mcp_service/mcp_core.py | 24 +-
superset/mcp_service/middleware.py | 170 ++++
superset/mcp_service/server.py | 12 +-
superset/mcp_service/system/schemas.py | 22 +
superset/mcp_service/system/system_utils.py | 29 +
.../mcp_service/system/tool/get_instance_info.py | 2 +
superset/mcp_service/utils/token_utils.py | 424 ++++++++++
superset/reports/schemas.py | 2 +-
tests/integration_tests/charts/commands_tests.py | 17 +-
tests/integration_tests/reports/api_tests.py | 294 ++++++-
.../unit_tests/commands/report}/__init__.py | 0
tests/unit_tests/commands/report/update_test.py | 254 ++++++
tests/unit_tests/extensions/test_types.py | 108 ++-
.../mcp_service/chart/test_chart_utils.py | 101 ++-
.../validation/test_column_name_normalization.py | 681 ++++++++++++++++
.../explore/tool/test_generate_explore_link.py | 149 ++++
.../mcp_service/system/test_system_utils.py | 60 ++
.../system/tool/test_get_current_user.py | 2 +
.../mcp_service/system/tool/test_mcp_core.py | 4 +-
tests/unit_tests/mcp_service/test_mcp_config.py | 9 +
tests/unit_tests/mcp_service/test_middleware.py | 343 ++++++++
.../mcp_service/utils/test_token_utils.py | 358 +++++++++
143 files changed, 10786 insertions(+), 2199 deletions(-)
copy {superset/mcp_service/dashboard =>
superset-core/src/superset_core/extensions}/constants.py (53%)
copy superset-frontend/{src/explore/exploreUtils/getLegacyEndpointType.test.ts
=> plugins/plugin-chart-echarts/src/utils/orderby.test.ts} (65%)
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/src/utils/orderby.ts
create mode 100644 superset-frontend/src/dashboard/actions/autoRefresh.ts
create mode 100644
superset-frontend/src/dashboard/components/AutoRefreshIndicator/index.tsx
create mode 100644
superset-frontend/src/dashboard/components/AutoRefreshStatus/StatusIndicatorDot.test.tsx
create mode 100644
superset-frontend/src/dashboard/components/AutoRefreshStatus/StatusIndicatorDot.tsx
create mode 100644
superset-frontend/src/dashboard/components/AutoRefreshStatus/StatusTooltipContent.test.tsx
create mode 100644
superset-frontend/src/dashboard/components/AutoRefreshStatus/StatusTooltipContent.tsx
create mode 100644
superset-frontend/src/dashboard/components/Header/useHeaderAutoRefresh.ts
create mode 100644
superset-frontend/src/dashboard/components/RefreshButton/index.tsx
copy superset-frontend/src/dashboard/components/RefreshFrequency/{index.ts =>
RefreshFrequencySelect.test.tsx} (58%)
create mode 100644
superset-frontend/src/dashboard/contexts/AutoRefreshContext.test.tsx
create mode 100644
superset-frontend/src/dashboard/contexts/AutoRefreshContext.tsx
create mode 100644
superset-frontend/src/dashboard/hooks/useAutoRefreshTabPause.test.tsx
create mode 100644
superset-frontend/src/dashboard/hooks/useAutoRefreshTabPause.ts
create mode 100644 superset-frontend/src/dashboard/hooks/useCurrentTime.test.ts
create mode 100644 superset-frontend/src/dashboard/hooks/useCurrentTime.ts
create mode 100644
superset-frontend/src/dashboard/hooks/useRealTimeDashboard.test.ts
create mode 100644
superset-frontend/src/dashboard/hooks/useRealTimeDashboard.ts
create mode 100644
superset-frontend/src/dashboard/hooks/useTabVisibility.test.ts
create mode 100644 superset-frontend/src/dashboard/hooks/useTabVisibility.ts
create mode 100644
superset-frontend/src/dashboard/reducers/autoRefreshReducer.test.ts
create mode 100644 superset-frontend/src/dashboard/types/autoRefresh.ts
copy {superset-extensions-cli/src/superset_extensions_cli =>
superset/mcp_service}/constants.py (78%)
create mode 100644 superset/mcp_service/utils/token_utils.py
copy {superset-core/src/superset_core/api =>
tests/unit_tests/commands/report}/__init__.py (100%)
create mode 100644 tests/unit_tests/commands/report/update_test.py
create mode 100644
tests/unit_tests/mcp_service/chart/validation/test_column_name_normalization.py
create mode 100644 tests/unit_tests/mcp_service/system/test_system_utils.py
create mode 100644 tests/unit_tests/mcp_service/test_middleware.py
create mode 100644 tests/unit_tests/mcp_service/utils/test_token_utils.py