This is an automated email from the ASF dual-hosted git repository.
hainenber pushed a change to branch
dependabot/npm_and_yarn/superset-frontend/cypress-base/multi-e38a2e8021
in repository https://gitbox.apache.org/repos/asf/superset.git
from f31cf128c50 fix: pin @cypress/code-coverage to compatible major version
add 759df36db61 chore: resolve npm audit issues
add ab8e23d8749 chore(deps-dev): bump svgo from 3.3.3 to 3.3.4 in
/superset-frontend (#42285)
add 15d7d365804 chore: remove deprecated from_dttm and to_dttm jinja vars
(#42279)
add 2ddea33bb68 fix(models): inline calculated column expression in
raw-records queries (#34784) (#42040)
add d62dbdb6940 fix(chat): prevent main content reload when toggling chat
panel (#42143)
add 8b1ef3a4cba feat(helm): Add annotations to secrets manifests (#40803)
add 072ff014062 fix: disable recaptcha for LDAP authentication (#36857)
add 9c08240fdc8 chore(deps): bump dompurify from 3.4.11 to 3.4.12 in /docs
(#42287)
add cae61b51e12 fix(cache): QueryCacheManager.get() should fail open on
cache backend errors (#42252)
add 37ef2f381ec chore(deps): bump fast-uri from 3.1.3 to 3.1.4 in /docs
(#42294)
add 936b8a84ae7 chore(deps): bump fast-uri from 3.1.3 to 3.1.4 in
/superset-frontend (#42293)
add db1959b9b61 chore(deps): bump fast-uri from 3.1.2 to 3.1.4 in
/superset-frontend/cypress-base (#42292)
add 60a7c18204b chore(deps): bump svgo from 3.3.3 to 3.3.4 in /docs
(#42286)
add 788165b5bbb fix(frontend): jest testRegex matches Windows path
separators (#41863)
add a086b2eae9b fix(clickhouse): retry adhoc column type probe with
comment-safe SQL (#42298)
add 1392fbc9b24 fix(sql): validate Custom SQL metric has an aggregate
under GROUP BY (#42199)
add b71b58e8214 fix(explore): render stopped state when a chart query is
cancelled (#42270)
add 46c5e30533d chore(deps-dev): bump oxlint from 1.73.0 to 1.74.0 in
/superset-frontend (#42304)
add 248f6e10640 chore(deps): bump zizmorcore/zizmor-action from 0.5.7 to
0.6.0 (#42302)
add 6e1954fd51c chore(deps): bump ws from 8.21.0 to 8.21.1 in
/superset-websocket (#42301)
add b8f3b768d4f fix(sqllab): Fall back to empty editor tab when linked
query no longer exists (#42241)
add 1c0f259e380 refactor(mcp): dedupe list-tool schemas and delete dead
middleware (#41923)
add 10ff4707021 fix(ag-grid-table): respect row limit with server
pagination (#41346)
add c5935b6904d feat(table/pivot-table): correct non-additive
totals/subtotals via DB rollup [SIP-216] (#41184)
add 8c5d465a658 feat(datasets): add RLS filter indicator badge to dataset
list and explore view (#38807)
add be5744c4317 fix(chart): updates counties of kenya map (#38019)
add f50b7b71542 chore(deps): bump actions/setup-go from 6.5.0 to 7.0.0
(#42303)
add ac41f61d4ab chore(deps): bump nanoid from 5.0.9 to 6.0.0 in
/superset-frontend (#42230)
add 49b42431292 test(dashboard): migrate dashboard load smoke test to
Playwright (#41432)
add 894c0191d64 fix(superset_app_root): when used with oauth (#38033)
add 19159d58c80 refactor: engine enforce SQLAlchemy 2.0 (#42277)
add 40d9e7d0485 fix(ag-grid-table): avoid ambiguous build query import
(#42313)
add 641713f6237 fix: Revert "chore(deps): bump echarts from 5.6.0 to 6.1.0
in /superset-frontend" (#42314)
add 8d034ef65ca fix(plugin-chart-echarts): import the -obj locale build so
time axes render (#42317)
add e075133a833 fix(pandas_postprocessing): avoid FutureWarning for
max/min in boxplot MINMAX (#42272)
add 32937f24d25 fix(heatmap): correct tooltip axis value lookup and
percentage calculations and add tests (#41864)
add 17bd286ae9b fix(forecast): resolve time grain robustly for Prophet
forecasting (#42145)
add 3ed8889a010 fix: Added PostgreSQL 17.X to the supported database
versions table in (#42280)
add ef459c21e82 fix(helm): add MCP HTTPRoute configuration (#42219)
add 67924ad35e1 fix(dashboard): offer Exit edit mode when there is nothing
to discard (#42208)
add 2926d6f6a9b chore(deps): bump actions/labeler from 6.2.0 to 7.0.0
(#42332)
add 1dd3103c246 chore(deps): bump github/codeql-action/analyze from 4.37.0
to 4.37.1 (#42331)
add 873da606ddf chore(deps): bump github/codeql-action/init from 4.37.0 to
4.37.1 (#42334)
add ab553c37ab9 chore(deps-dev): bump @formatjs/intl-durationformat from
0.10.17 to 0.10.18 in /superset-frontend (#42337)
add 66543184913 chore(deps): bump caniuse-lite from 1.0.30001805 to
1.0.30001806 in /docs (#42333)
add 2e72080a163 chore(deps): bump echarts to 6.1.0 with locale and
containLabel guards (#42315) (#42321)
add c5f6d33d211 docs: add pattern to the list of organisations using
superset (#42341)
add cc8edd22318 chore(deps): bump ag-grid from 36.0.0 to 36.0.1 in
/superset-frontend (#42338)
add cb319c9b817 fix(mcp): trust dataset is_dttm flag when applying
time_grain to VARCHAR temporal columns (#42288)
add f2848d951c4 chore(deps-dev): update taos-ws-py requirement from
>=0.6.9 to >=0.7.0 (#42344)
add 6b02a423ef8 chore(deps-dev): bump the storybook group in
/superset-frontend with 5 updates (#42355)
add df8bbb548a3 fix(native-filters): keep filter value input caret at
inline start (#42323)
add 2317d9cf918 fix(mcp): truncate query-tool responses instead of
hard-failing (#42244)
add fdb9c152f06 chore(deps): bump nh3 from 0.3.5 to 0.3.6 (#42349)
add 6317113ee85 chore(deps): bump pydantic from 2.11.7 to 2.13.4 (#42350)
add 1049826bc15 chore(deps): bump sqlalchemy-continuum from 1.6.0 to 1.7.0
(#42351)
add 206fe7ab120 fix(embedded): stop rejecting guest chart data built from
control-specific params keys (#42295)
add c43effa4a32 fix(explore): show the beginning date on time-series
x-axis line charts (#42046)
add d41f0febaee fix(api): add example to get_export_ids_schema so Swagger
"Try it out" pre-fills a valid array (#42265)
add 14c96761e55 chore: SQLAlchemy User cascade backref warnings are
irrelevant (#42360)
add 5776aff50ac fix(charts): handle async (202) chart-data responses in
StatefulChart (#42157)
add bcf0361a919 feat(KustoKQL): Add support for NULL / IS NOT NULL
operator (#37890)
add 921f75d5444 chore(deps): bump pillow from 12.2.0 to 12.3.0 (#42348)
add 49f4e84b486 chore(deps): bump flask-compress from 1.17 to 1.24 (#42346)
add cfb04a6e79e chore(deps-dev): bump databricks-sql-connector from 4.2.6
to 4.3.0 (#42347)
add 3ff5dbfe81e fix(native-filters): use FILTER_STATE_CACHE_CONFIG timeout
for dynamic filter option queries (#38910)
add 4ee500e47bf fix(explore): render Jinja before validating legacy chart
filters (#41996)
add a1142b0f915 fix(dataset): disable duplicate button when name is empty
(#42217)
add 4f017de5326 docs(gunicorn): correct dead links in values.yaml (#42385)
add 542416ac6e7 chore(deps): bump @deck.gl/mapbox from 9.3.6 to 9.3.7 in
/superset-frontend in the deckgl group (#42377)
add 5b5e5cf82da chore(deps): bump actions/checkout from 7.0.0 to 7.0.1
(#42376)
add 16de95f0246 chore(deps): bump immer from 11.1.11 to 11.1.15 in
/superset-frontend (#42378)
add 0b9a9c5d038 chore(deps): bump body-parser from 1.20.5 to 1.20.6 in
/docs (#42370)
add d2ea5e9a1a5 chore(deps-dev): bump brace-expansion from 1.1.15 to
1.1.16 in /superset-embedded-sdk (#42369)
add 67c3fea0ce7 fix(security): bump pyasn1 from 0.6.3 to 0.6.4 (#42363)
add 0792f98910d fix(security): bump pillow from 12.2.0 to 12.3.0 (#42362)
add 65528a5b761 docs(map-tiles): add Yandex Maps Tiles API configuration
(#42375)
add 5ffc337bf34 Merge branch 'master' into
dependabot/npm_and_yarn/superset-frontend/cypress-base/multi-e38a2e8021
No new revisions were added by this update.
Summary of changes:
.github/dependabot.yml | 4 +
.github/workflows/bump-python-package.yml | 2 +-
.github/workflows/check-python-deps.yml | 2 +-
.github/workflows/check_db_migration_confict.yml | 2 +-
.github/workflows/codeql-analysis.yml | 8 +-
.github/workflows/dependency-review.yml | 4 +-
.github/workflows/docker.yml | 6 +-
.github/workflows/embedded-sdk-release.yml | 2 +-
.github/workflows/embedded-sdk-test.yml | 2 +-
.github/workflows/generate-FOSSA-report.yml | 2 +-
.github/workflows/github-action-validator.yml | 4 +-
.github/workflows/issue_creation.yml | 2 +-
.github/workflows/labeler.yml | 2 +-
.github/workflows/latest-release-tag.yml | 2 +-
.github/workflows/license-check.yml | 2 +-
.github/workflows/pr-lint.yml | 2 +-
.github/workflows/pre-commit.yml | 4 +-
.github/workflows/release.yml | 2 +-
.../workflows/scheduled-docker-image-refresh.yml | 2 +-
.github/workflows/showtime-trigger.yml | 2 +-
.github/workflows/superset-app-cli.yml | 2 +-
.github/workflows/superset-docs-deploy.yml | 2 +-
.github/workflows/superset-docs-verify.yml | 6 +-
.github/workflows/superset-e2e.yml | 14 +-
.github/workflows/superset-extensions-cli.yml | 2 +-
.github/workflows/superset-frontend.yml | 4 +-
.github/workflows/superset-helm-lint-test.yml | 2 +-
.github/workflows/superset-helm-release.yml | 2 +-
.github/workflows/superset-playwright.yml | 8 +-
.../workflows/superset-python-integrationtest.yml | 8 +-
.github/workflows/superset-python-presto-hive.yml | 6 +-
.github/workflows/superset-python-unittest.yml | 4 +-
.github/workflows/superset-translations.yml | 4 +-
.github/workflows/superset-websocket.yml | 2 +-
.github/workflows/supersetbot.yml | 2 +-
...sync-requirements-for-python-dep-upgrade-pr.yml | 2 +-
.github/workflows/tag-release.yml | 4 +-
.github/workflows/tech-debt.yml | 2 +-
RESOURCES/INTHEWILD.yaml | 5 +
UPDATING.md | 42 ++
.../configuration/configuring-superset.mdx | 8 +-
docs/admin_docs/configuration/map-tiles.mdx | 29 +
docs/admin_docs/configuration/sql-templating.mdx | 80 +-
docs/docs/using-superset/sql-templating.mdx | 18 +-
docs/package.json | 2 +-
docs/static/img/logos/pattern_logo.png | Bin 0 -> 7067 bytes
docs/yarn.lock | 32 +-
helm/superset/Chart.yaml | 2 +-
helm/superset/README.md | 12 +-
helm/superset/templates/httproute.yaml | 12 +
helm/superset/templates/secret-env.yaml | 3 +
.../superset/templates/secret-superset-config.yaml | 3 +
helm/superset/templates/secret-ws.yaml | 3 +
helm/superset/tests/httproute_test.yaml | 92 +++
helm/superset/values.yaml | 24 +-
pyproject.toml | 4 +-
pytest.ini | 4 +-
requirements/base.txt | 20 +-
requirements/development.txt | 25 +-
scripts/benchmark_migration.py | 2 +-
superset-embedded-sdk/package-lock.json | 6 +-
superset-frontend/cypress-base/package-lock.json | 29 +-
superset-frontend/cypress-base/package.json | 2 +-
superset-frontend/jest.config.js | 4 +-
superset-frontend/package-lock.json | 813 +++++++++++----------
superset-frontend/package.json | 24 +-
.../packages/superset-core/package.json | 2 +-
.../src/operators/prophetOperator.ts | 31 +-
.../test/operators/prophetOperator.test.ts | 105 +++
.../packages/superset-ui-core/package.json | 6 +-
.../src/chart/components/StatefulChart.test.tsx | 491 ++++++++++++-
.../src/chart/components/StatefulChart.tsx | 187 ++++-
.../src/chart/models/ChartProps.ts | 12 +
.../src/components/RlsBadge/RlsBadge.test.tsx | 121 +++
.../src/components/RlsBadge/index.tsx | 108 +++
.../superset-ui-core/src/components/index.ts | 5 +
.../playwright/helpers/api/dashboard.ts | 85 +++
.../playwright/pages/DashboardPage.ts | 9 +
.../tests/dashboard/clear-all-filters.spec.ts | 41 +-
.../tests/dashboard/dashboard-load.spec.ts | 257 +++++++
.../tests/dashboard/delete-display-control.spec.ts | 41 +-
.../tests/dashboard/gauge-interval-colors.spec.ts | 38 +-
.../mixed-chart-dashboard-filters.spec.ts | 41 +-
.../tests/embedded/pivot-collapse-state.spec.ts | 37 +-
.../scripts/Country Map GeoJSON Generator.ipynb | Bin 11681332 -> 11683742
bytes
.../src/countries/kenya.geojson | Bin 190196 -> 160739 bytes
.../plugin-chart-ag-grid-table/src/buildQuery.ts | 68 +-
.../test/buildQuery.test.ts | 250 ++++++-
.../src/Heatmap/transformProps.ts | 11 +-
.../src/MixedTimeseries/transformProps.ts | 17 +
.../src/Timeseries/transformProps.ts | 25 +-
.../plugin-chart-echarts/src/components/Echart.tsx | 64 +-
.../src/components/echartsLocale.ts | 108 +++
.../test/Heatmap/transformProps.test.ts | 165 +++++
.../test/MixedTimeseries/transformProps.test.ts | 55 ++
.../test/Timeseries/transformProps.test.ts | 69 ++
.../test/components/Echart.test.tsx | 17 +
.../test/components/echartsLocale.test.ts | 82 +++
.../src/PivotTableChart.tsx | 109 ++-
.../src/plugin/buildQuery.ts | 68 +-
.../src/plugin/controlPanel.tsx | 45 +-
.../src/plugin/transformProps.ts | 74 +-
.../src/plugin/utilities.ts | 242 ++++++
.../src/react-pivottable/TableRenderers.tsx | 20 +-
.../src/react-pivottable/utilities.ts | 194 +++--
.../plugins/plugin-chart-pivot-table/src/types.ts | 22 +-
.../test/PivotTableChart.test.tsx | 50 +-
.../test/plugin/buildQuery.test.ts | 60 +-
.../test/plugin/transformProps.test.ts | 153 +++-
.../test/plugin/utilities.test.ts | 466 ++++++++++++
.../react-pivottable/nonAdditiveTotals.test.ts | 69 ++
.../test/react-pivottable/tableRenders.test.tsx | 138 +++-
.../plugin-chart-table/test/buildQuery.test.ts | 17 +
.../plugins/preset-chart-deckgl/package.json | 2 +-
.../src/SqlLab/actions/sqlLab.test.ts | 60 +-
.../components/PopEditorTab/PopEditorTab.test.tsx | 23 +-
.../src/SqlLab/components/PopEditorTab/index.tsx | 46 +-
.../src/chartCustomizations/components/common.ts | 7 +
.../src/components/Chart/Chart.test.tsx | 21 +-
superset-frontend/src/components/Chart/Chart.tsx | 24 +
.../src/components/Chart/ChartRenderer.tsx | 14 +
.../src/components/Chart/chartAction.ts | 47 +-
.../src/components/Chart/chartActions.test.ts | 107 +++
.../dashboard/components/Header/Header.test.tsx | 12 +-
.../src/dashboard/components/Header/index.tsx | 7 +-
.../controls/DatasourceControl/index.tsx | 6 +
.../datasets/DuplicateDatasetModal.test.tsx | 28 +
.../features/datasets/DuplicateDatasetModal.tsx | 6 +-
superset-frontend/src/features/home/RightMenu.tsx | 4 +-
.../components/common.test.tsx} | 20 +-
superset-frontend/src/filters/components/common.ts | 7 +
.../src/middleware/asyncEvent.test.ts | 61 +-
superset-frontend/src/middleware/asyncEvent.ts | 51 +-
.../src/pages/DatasetList/DatasetList.test.tsx | 34 +
.../pages/DatasetList/DatasetList.testHelpers.tsx | 31 +
superset-frontend/src/pages/DatasetList/index.tsx | 7 +
superset-frontend/src/pages/Login/Login.test.tsx | 281 +++++--
superset-frontend/src/pages/Login/index.tsx | 5 +-
.../src/pages/Register/Register.test.tsx | 105 ++-
superset-frontend/src/utils/pathUtils.test.ts | 18 +
superset-frontend/src/views/App.tsx | 57 +-
superset-websocket/package-lock.json | 8 +-
superset-websocket/package.json | 2 +-
superset/annotation_layers/annotations/schemas.py | 6 +-
superset/annotation_layers/schemas.py | 6 +-
superset/app.py | 8 +
superset/charts/schemas.py | 29 +-
superset/cli/test_db.py | 3 +
superset/commands/datasource/list.py | 23 +
superset/commands/explore/get.py | 21 +
superset/common/grouping_sets.py | 117 +++
superset/common/query_context_processor.py | 151 +++-
superset/common/query_object.py | 4 +
superset/common/utils/query_cache_manager.py | 11 +-
superset/config.py | 13 +
superset/connectors/sqla/utils.py | 15 +
superset/css_templates/schemas.py | 6 +-
superset/daos/dataset.py | 358 ++++++++-
superset/dashboards/schemas.py | 18 +-
superset/databases/schemas.py | 6 +-
superset/datasets/api.py | 60 ++
superset/datasets/schemas.py | 12 +-
superset/db_engine_specs/base.py | 36 +
superset/db_engine_specs/bigquery.py | 1 +
superset/db_engine_specs/clickhouse.py | 12 +
superset/db_engine_specs/gsheets.py | 1 +
superset/db_engine_specs/hive.py | 5 +
superset/db_engine_specs/kusto.py | 111 ++-
superset/db_engine_specs/postgres.py | 1 +
superset/db_engine_specs/presto.py | 6 +
superset/db_engine_specs/snowflake.py | 1 +
superset/db_engine_specs/trino.py | 1 +
superset/explore/schemas.py | 35 +
superset/jinja_context.py | 43 +-
superset/mcp_service/annotation_layer/schemas.py | 167 +----
superset/mcp_service/chart/chart_utils.py | 87 ++-
superset/mcp_service/chart/schemas.py | 133 +---
superset/mcp_service/chart/tool/generate_chart.py | 11 +-
superset/mcp_service/chart/tool/list_charts.py | 9 -
superset/mcp_service/common/pagination_schemas.py | 182 +++++
superset/mcp_service/dashboard/schemas.py | 133 +---
superset/mcp_service/database/schemas.py | 126 +---
superset/mcp_service/dataset/schemas.py | 122 +---
superset/mcp_service/middleware.py | 676 ++++-------------
superset/mcp_service/query/schemas.py | 109 +--
superset/mcp_service/report/schemas.py | 122 +---
superset/mcp_service/rls/schemas.py | 89 +--
superset/mcp_service/role/schemas.py | 109 +--
superset/mcp_service/saved_query/schemas.py | 131 +---
superset/mcp_service/tag/schemas.py | 103 +--
superset/mcp_service/task/schemas.py | 103 +--
superset/mcp_service/theme/schemas.py | 100 +--
superset/mcp_service/user/schemas.py | 109 +--
superset/mcp_service/utils/permissions_utils.py | 289 +-------
superset/mcp_service/utils/token_utils.py | 244 +++++++
...13_10-20_4451805bbaa1_remove_double_percents.py | 58 +-
superset/models/core.py | 2 +
superset/models/helpers.py | 120 ++-
superset/queries/saved_queries/schemas.py | 12 +-
superset/reports/schemas.py | 6 +-
superset/row_level_security/schemas.py | 6 +-
superset/security/manager.py | 74 +-
superset/sql/parse.py | 25 +
superset/superset_typing.py | 2 +
superset/tasks/schemas.py | 6 +-
superset/themes/schemas.py | 12 +-
superset/utils/core.py | 10 +-
superset/utils/pandas_postprocessing/boxplot.py | 10 +-
superset/utils/pandas_postprocessing/prophet.py | 2 +-
superset/views/base.py | 4 +-
superset/viz.py | 10 -
tests/integration_tests/charts/data/api_tests.py | 167 ++++-
tests/integration_tests/dao/conftest.py | 1 +
tests/integration_tests/datasets/api_tests.py | 2 +
tests/integration_tests/fixtures/datasource.py | 4 +-
.../composite_pk_association_tables__tests.py | 4 +-
.../migrations/composite_pk_round_trip__tests.py | 6 +-
.../integration_tests/non_additive_totals_tests.py | 315 ++++++++
tests/unit_tests/charts/test_filters.py | 3 +-
.../unit_tests/charts/test_non_additive_totals.py | 136 ++++
tests/unit_tests/commands/datasource/list_test.py | 60 +-
.../commands/explore/test_get_explore_rls.py | 123 ++++
tests/unit_tests/common/test_grouping_sets.py | 112 +++
.../unit_tests/common/test_query_cache_manager.py | 57 ++
.../common/test_query_context_processor.py | 105 +++
tests/unit_tests/conftest.py | 2 +-
tests/unit_tests/connectors/sqla/models_test.py | 10 +-
tests/unit_tests/connectors/sqla/utils_test.py | 103 ++-
tests/unit_tests/core_tests.py | 63 ++
tests/unit_tests/dao/dataset_rls_test.py | 496 +++++++++++++
tests/unit_tests/databases/filters_test.py | 4 +-
.../unit_tests/db_engine_specs/test_clickhouse.py | 50 ++
.../test_grouping_sets_capability.py | 59 ++
tests/unit_tests/db_engine_specs/test_gsheets.py | 2 +
tests/unit_tests/db_engine_specs/test_kusto.py | 85 +++
tests/unit_tests/db_engine_specs/test_sqlite.py | 2 +-
tests/unit_tests/extensions/test_sqlalchemy.py | 12 +-
.../mcp_service/chart/test_chart_utils.py | 83 +++
.../mcp_service/dataset/test_dataset_schemas.py | 15 +
tests/unit_tests/mcp_service/test_middleware.py | 295 ++++++++
.../mcp_service/utils/test_permissions_utils.py | 107 ---
.../mcp_service/utils/test_token_utils.py | 103 +++
.../composite_pk_association_tables_test.py | 2 +-
.../test_add_deleted_at_to_dashboards.py | 2 +-
.../migrations/test_add_deleted_at_to_slices.py | 2 +-
.../migrations/test_add_deleted_at_to_tables.py | 2 +-
...rip_metricsqlexpressions_from_ag_grid_params.py | 2 +-
tests/unit_tests/models/core_test.py | 6 +-
tests/unit_tests/models/helpers_test.py | 512 +++++++++++++
.../models/owner_association_tables_test.py | 2 +-
.../pandas_postprocessing/test_boxplot.py | 22 +
.../pandas_postprocessing/test_prophet.py | 34 +
tests/unit_tests/queries/query_object_test.py | 1 +
.../security/exclude_users_filter_test.py | 2 +-
tests/unit_tests/security/manager_test.py | 93 +++
tests/unit_tests/sql/parse_tests.py | 295 ++++++++
tests/unit_tests/test_viz_query_obj.py | 57 ++
tests/unit_tests/utils/filters_test.py | 9 +-
.../utils/pandas_sqlalchemy_compat_test.py | 2 +-
tests/unit_tests/versioning/test_listener.py | 2 +-
tests/unit_tests/views/test_bootstrap_auth.py | 49 +-
261 files changed, 11102 insertions(+), 4023 deletions(-)
create mode 100644 docs/static/img/logos/pattern_logo.png
create mode 100644 helm/superset/tests/httproute_test.yaml
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/RlsBadge/RlsBadge.test.tsx
create mode 100644
superset-frontend/packages/superset-ui-core/src/components/RlsBadge/index.tsx
create mode 100644
superset-frontend/playwright/tests/dashboard/dashboard-load.spec.ts
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/src/components/echartsLocale.ts
create mode 100644
superset-frontend/plugins/plugin-chart-echarts/test/components/echartsLocale.test.ts
create mode 100644
superset-frontend/plugins/plugin-chart-pivot-table/src/plugin/utilities.ts
create mode 100644
superset-frontend/plugins/plugin-chart-pivot-table/test/plugin/utilities.test.ts
create mode 100644
superset-frontend/plugins/plugin-chart-pivot-table/test/react-pivottable/nonAdditiveTotals.test.ts
copy
superset-frontend/src/{explore/components/controls/DateFilterControl/tests/CurrentCalendarFrame.test.tsx
=> filters/components/common.test.tsx} (50%)
create mode 100644 superset/common/grouping_sets.py
create mode 100644 superset/mcp_service/common/pagination_schemas.py
create mode 100644 tests/integration_tests/non_additive_totals_tests.py
create mode 100644 tests/unit_tests/charts/test_non_additive_totals.py
create mode 100644 tests/unit_tests/commands/explore/test_get_explore_rls.py
create mode 100644 tests/unit_tests/common/test_grouping_sets.py
create mode 100644 tests/unit_tests/common/test_query_cache_manager.py
create mode 100644 tests/unit_tests/dao/dataset_rls_test.py
create mode 100644
tests/unit_tests/db_engine_specs/test_grouping_sets_capability.py
delete mode 100644 tests/unit_tests/mcp_service/utils/test_permissions_utils.py
create mode 100644 tests/unit_tests/test_viz_query_obj.py