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

rusackas pushed a change to branch feat/granular-theming-v2
in repository https://gitbox.apache.org/repos/asf/superset.git


    omit 4865d5c5b09 chore(i18n): regenerate messages.pot for component theming 
strings
    omit f6f2a7c6211 test(dashboard): wrap TabsRenderer drag test in a Redux 
provider
    omit 030ac7cc6c3 style(theming): apply oxfmt formatting to TabsRenderer test
    omit 662e95d165a chore: untrack session lock (again)
    omit 5928cf7d3dc fix(theming): make ComponentThemeProvider tolerate 
isolated component tests
    omit 929529e6ef3 chore: untrack accidentally-committed session lock
    omit 27cf0b70834 style(theming): apply pre-commit auto-formats (prettier + 
oxlint)
    omit 74e294d86df fix(sip): add Apache license header to SIP.md (RAT)
    omit 880efbe7624 fix(dashboard): TS errors on theme provider + 
setComponentThemeId
    omit 2d12daa4380 feat(dashboard): live theme preview in ThemeSelectorModal
    omit 1ed0d6d748e feat(dashboard): component theming for Tabs, Row, Column, 
Markdown — Phase 4b-4e
    omit 9af9c42635c feat(dashboard): end-to-end component theming on Chart — 
Phase 4a
    omit 859a0081421 feat(dashboard): ThemeSelectorModal + setComponentThemeId 
action — Phase 3
    omit 863d6f0d4a1 feat(dashboard): ComponentHeaderControls — Phase 2
    omit 2461ec4c9c8 feat(dashboard): per-component theme provider — Phase 1 
(Chart PoC)
    omit e98d3389fc5 docs(sip): draft granular component theming SIP
     add 8ab7a85a3d7 chore(e2e): remove Cypress infrastructure (#44829)
     add ee39954adb6 fix(oauth2): refresh a token rejected when a connection 
opens (#44765)
     add e5ec22ab3e9 feat(table): add multi-level column header groups (#43938)
     add a12d1b8e127 fix(mcp): enforce tool deadlines without blocking the 
server (#44581)
     add 0a0a1974c50 test(playwright): select existing dashboards without 
creating duplicates (#44856)
     add 33292f249da feat(mcp): support tab-scoped dashboard layouts (#44797)
     add 4ae8fe71225 fix: size 'Drill to detail' table header correctly (#44807)
     add 2c72d4d4fee fix(mcp): use DEFAULT_PAGE_SIZE constant in list_charts 
test (#44786)
     add 446853004a4 fix(mcp): keep a bubble chart's colors and row limit 
across updates (#44618)
     add 217e4c0223f fix(frontend): use html2canvas for chart image export on 
Safari (#44529)
     add c82f97b69d6 chore(deps): bump deck.gl and luma.gl from 9.2.5 to 9.4.0 
in /superset-frontend (#42608)
     add abdf2e6c702 fix(home): redirect users without an ID before rendering 
(#44456)
     add 3f6d4cd6896 chore(deps-dev): update google-cloud-storage requirement 
from >=1.37 to >=3.14.1 (#44693)
     add 6a832cb2102 fix(mcp): enforce dashboard filter scope on dataset, SQL 
and chart tool calls (#44800)
     add e7702020344 fix(postprocessing): preserve NULL index values through 
pivot() (#43547) (#43693)
     add f7badeb095b fix(mcp): execute_sql request limit caps, never raises, an 
explicit SQL LIMIT (#44604)
     add db56168a861 ci: require babel-extract to pass before merging master 
(#44543)
     add 342a8f1e4e0 fix(mcp): report a chart's live dataset id and name 
(#44681)
     add 21b937b59d7 fix(retention): skip models without purge policies before 
scanning (#44874)
     add 6d97cde59a6 fix(semantic-layers): export/import semantic-view charts 
by typed reference (#44396)
     add b94f88ffbb4 fix(semantic-layer): require explicit member identity 
reselection (#44370)
     add 9c7c96fe057 fix(logging): register LogRestApi only once (#44732)
     add 85f6299140f docs(sip): draft granular component theming SIP
     add db32b0909a3 feat(dashboard): per-component theme provider — Phase 1 
(Chart PoC)
     add aa2db00761a feat(dashboard): ComponentHeaderControls — Phase 2
     add b2aecec8afa feat(dashboard): ThemeSelectorModal + setComponentThemeId 
action — Phase 3
     add e198b211e6a feat(dashboard): end-to-end component theming on Chart — 
Phase 4a
     add 6f4253aff9f feat(dashboard): component theming for Tabs, Row, Column, 
Markdown — Phase 4b-4e
     add 884fed0ca19 feat(dashboard): live theme preview in ThemeSelectorModal
     add f9f6b5eedcd fix(dashboard): TS errors on theme provider + 
setComponentThemeId
     add c375b71b65b fix(sip): add Apache license header to SIP.md (RAT)
     add 685b930f705 style(theming): apply pre-commit auto-formats (prettier + 
oxlint)
     add 074f7f4de6c chore: untrack accidentally-committed session lock
     add 574aa630c54 fix(theming): make ComponentThemeProvider tolerate 
isolated component tests
     add 373fccd3029 chore: untrack session lock (again)
     add ddda1149500 style(theming): apply oxfmt formatting to TabsRenderer test
     add 03f0ae4d854 test(dashboard): wrap TabsRenderer drag test in a Redux 
provider
     add e04d1337058 chore(i18n): regenerate messages.pot for component theming 
strings

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   (4865d5c5b09)
            \
             N -- N -- N   refs/heads/feat/granular-theming-v2 (e04d1337058)

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 +
 .cursor/rules/dev-standard.mdc                     |     4 +-
 .dockerignore                                      |     1 -
 .envrc.example                                     |     1 -
 .github/labeler.yml                                |     2 -
 .github/workflows/bashlib.sh                       |   130 +-
 .github/workflows/caches.js                        |     6 -
 .github/workflows/superset-e2e.yml                 |   203 +-
 .github/workflows/superset-translations.yml        |     2 +
 .pre-commit-config.yaml                            |     3 +-
 AGENTS.md                                          |    10 +-
 Makefile                                           |     8 -
 UPDATING.md                                        |    94 +
 docker-compose.yml                                 |     2 -
 docker/.env                                        |     2 -
 docker/.env-local.example                          |     1 -
 docker/docker-bootstrap.sh                         |     7 -
 docker/docker-entrypoint-initdb.d/cypress-init.sh  |    28 -
 docker/docker-init.sh                              |    31 +-
 docker/pythonpath_dev/superset_config.py           |    13 -
 .../importing-exporting-datasources.mdx            |    32 +
 docs/admin_docs/configuration/mcp-server.mdx       |   238 +
 docs/developer_docs/api.mdx                        |     5 +
 .../contributing/development-setup.md              |     8 +-
 docs/developer_docs/contributing/howtos.md         |    30 +-
 .../guidelines/frontend-style-guidelines.md        |     2 +-
 docs/developer_docs/testing/e2e-testing.md         |    28 +-
 docs/developer_docs/testing/overview.md            |     2 +-
 docs/developer_docs/testing/testing-guidelines.md  |    31 +-
 docs/docs/quickstart.mdx                           |     3 +
 .../creating-your-first-dashboard.mdx              |    20 +
 docs/docs/using-superset/recently-archived.mdx     |    10 +
 .../using-superset/semantic-member-selections.mdx  |    62 +
 docs/static/resources/openapi.json                 |    23 +-
 pyproject.toml                                     |     2 +-
 scripts/cypress_run.py                             |   167 -
 scripts/docker-compose-up.sh                       |     4 -
 superset-core/src/superset_core/queries/types.py   |     3 +
 .../src/superset_core/semantic_layers/types.py     |     1 +
 .../src/superset_core/semantic_layers/view.py      |    14 +
 superset-frontend/.gitignore                       |     2 -
 superset-frontend/babel.config.js                  |     2 +-
 superset-frontend/cypress-base/.eslintrc           |    41 -
 superset-frontend/cypress-base/.gitignore          |     4 -
 superset-frontend/cypress-base/cypress.config.ts   |    84 -
 .../cypress-base/cypress/fixtures/charts.json      |    38 -
 .../cypress-base/cypress/fixtures/dashboards.json  |    46 -
 .../cypress-base/cypress/support/e2e.ts            |   455 -
 .../cypress-base/cypress/support/index.d.ts        |    92 -
 .../cypress-base/cypress/utils/index.ts            |   121 -
 .../cypress-base/cypress/utils/parsePostForm.ts    |    60 -
 .../cypress-base/cypress/utils/urls.ts             |    24 -
 .../cypress-base/cypress/utils/vizPlugins.ts       |   104 -
 superset-frontend/cypress-base/package-lock.json   | 15006 -------------------
 superset-frontend/cypress-base/package.json        |    57 -
 superset-frontend/cypress-base/tsconfig.json       |    16 -
 superset-frontend/cypress_build.sh                 |    46 -
 superset-frontend/eslint.config.minimal.js         |     1 -
 superset-frontend/jest.config.js                   |    12 +-
 superset-frontend/oxlint.json                      |     1 -
 superset-frontend/package-lock.json                |   902 +-
 superset-frontend/package.json                     |    57 +-
 .../src/sections/sections.tsx                      |     7 +
 .../superset-ui-chart-controls/src/types.ts        |     2 +
 .../src/utils/headerGroups.test.ts                 |  1065 ++
 .../src/utils/headerGroups.ts                      |   903 ++
 .../superset-ui-chart-controls/src/utils/index.ts  |     1 +
 .../src/components/Table/VirtualTable.test.tsx     |    83 +
 .../src/components/Table/VirtualTable.tsx          |    20 +-
 .../superset-ui-core/src/query/extractExtras.ts    |    22 +
 .../packages/superset-ui-core/src/query/index.ts   |     2 +
 .../src/query/semanticSelection.ts}                |    35 +-
 .../superset-ui-core/src/query/types/Dashboard.ts  |     1 +
 .../superset-ui-core/src/query/types/Query.ts      |     1 +
 .../src/query/types/QueryFormData.ts               |    12 +-
 .../test/query/extractExtras.test.ts               |    62 +
 .../playwright/components/core/Select.ts           |     8 +-
 .../playwright/components/modals/SaveChartModal.ts |    33 +-
 .../explore/cross-referenced-dashboards.spec.ts    |    29 +-
 .../playwright/tests/explore/explore-save.spec.ts  |     8 +-
 .../tests/mobile/mobile-dashboard.spec.ts          |    65 +-
 .../src/AgGridTable/components/CustomHeader.tsx    |     3 +-
 .../src/AgGridTable/index.tsx                      |   118 +-
 .../src/AgGridTableChart.tsx                       |     7 +-
 .../src/controlPanel.tsx                           |    33 +-
 .../src/styles/index.tsx                           |    28 +
 .../src/transformProps.ts                          |    24 +-
 .../plugin-chart-ag-grid-table/src/types.ts        |     3 +
 .../src/utils/formatValue.ts                       |     3 +-
 .../src/utils/getCellStyle.ts                      |     8 +-
 .../src/utils/mainComparison.ts}                   |    33 +-
 .../src/utils/useColDefs.ts                        |    23 +-
 .../test/AgGridTableChart.test.tsx                 |   175 +
 .../test/controlPanel.test.ts                      |   107 +-
 .../test/controlPanel.test.tsx                     |    32 +-
 .../test/transformProps.test.ts                    |   198 +-
 .../test/utils/getCellStyle.test.ts                |    15 +
 .../test/utils/mainComparison.test.ts              |    43 +
 .../test/utils/useColDefs.test.ts                  |    40 +
 .../src/MapLibre.tsx                               |    62 +-
 .../test/MapLibre.test.tsx                         |    31 +
 .../plugin-chart-table/src/DataTable/DataTable.tsx |    11 +-
 .../plugins/plugin-chart-table/src/Styles.tsx      |     5 +
 .../plugins/plugin-chart-table/src/TableChart.tsx  |   210 +-
 .../plugin-chart-table/src/controlPanel.tsx        |    38 +-
 .../plugin-chart-table/src/transformProps.ts       |    41 +-
 .../plugins/plugin-chart-table/src/types.ts        |     5 +
 .../plugin-chart-table/src/utils/headerGroups.ts}  |    20 +-
 .../test/DataTable/DataTable.test.tsx              |    64 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |   326 +
 .../plugin-chart-table/test/controlPanel.test.ts   |   144 +-
 .../plugin-chart-table/test/controlPanel.test.tsx  |    32 +-
 .../plugin-chart-table/test/headerGroups.test.ts   |   301 +
 .../plugins/preset-chart-deckgl/package.json       |    25 +-
 .../src/DeckGLContainer.test.tsx                   |    95 +-
 .../preset-chart-deckgl/src/DeckGLContainer.tsx    |    17 +-
 .../src/components/DeckGLOverlayMapLibre.test.tsx  |    80 +
 .../src/components/DeckGLOverlayMapLibre.tsx       |     8 +-
 .../src/layers/Contour/Contour.tsx                 |     2 +-
 superset-frontend/scripts/check-custom-rules.js    |     4 -
 .../spec/helpers/sourceTreeScanner.ts              |     1 -
 .../src/components/Chart/ChartRenderer.test.tsx    |    52 +-
 .../src/components/Chart/ChartRenderer.tsx         |    23 +-
 .../DashboardBuilder/DashboardContainer.tsx        |     7 +-
 .../FilterBar/FilterControls/FilterValue.test.tsx  |    42 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |    70 +-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |   147 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |   103 +-
 .../transformers/buildTarget.test.ts               |    44 +-
 .../FiltersConfigModal/transformers/buildTarget.ts |    37 +-
 .../transformers/customizationTransformer.ts       |    10 +-
 .../transformers/filterTransformer.ts              |    10 +-
 .../nativeFilters/FiltersConfigModal/types.ts      |     2 +
 .../components/nativeFilters/utils.test.ts         |    27 +
 .../dashboard/components/nativeFilters/utils.ts    |    13 +
 .../util/charts/getFormDataWithExtraFilters.ts     |   163 +-
 .../util/getFormDataWithExtraFilters.test.ts       |   412 +-
 superset-frontend/src/dataMask/reducer.test.ts     |    58 +
 superset-frontend/src/dataMask/reducer.ts          |    18 +
 .../src/explore/actions/exploreActions.ts          |    10 +
 .../src/explore/components/Control.test.tsx        |    36 +-
 .../src/explore/components/Control.tsx             |     3 +-
 .../components/ControlPanelsContainer.test.tsx     |   274 +-
 .../explore/components/ControlPanelsContainer.tsx  |   112 +-
 .../ColumnConfigControl.test.tsx                   |    86 +
 .../ColumnConfigControl/ColumnConfigControl.tsx    |    24 +-
 .../controls/ColumnConfigControl/constants.tsx     |     3 +-
 ...AdhocFilterEditPopoverSimpleTabContent.test.tsx |    17 +
 .../index.tsx                                      |    27 +-
 .../HeaderGroupsControl/HeaderGroupEditor.tsx      |   567 +
 .../HeaderGroupsControl.test.tsx                   |   906 ++
 .../HeaderGroupsControl/HeaderGroupsControl.tsx    |   289 +
 .../controls/HeaderGroupsControl/index.ts}         |    12 +-
 .../controls/HeaderGroupsControl/types.ts}         |    42 +-
 .../controls/HeaderGroupsControl/utils.test.ts     |   388 +
 .../controls/HeaderGroupsControl/utils.ts          |   215 +
 .../controls/MatrixifyDimensionControl.test.tsx    |   139 +-
 .../controls/MatrixifyDimensionControl.tsx         |    26 +-
 .../src/explore/components/controls/index.ts       |     2 +
 .../src/explore/controlPanels/sections.tsx         |     7 +
 .../src/explore/reducers/exploreReducer.test.ts    |    66 +-
 .../src/explore/reducers/exploreReducer.ts         |    29 +-
 superset-frontend/src/pages/Home/Home.test.tsx     |    45 +-
 superset-frontend/src/pages/Home/index.tsx         |    20 +-
 .../src/utils/downloadAsImage.test.ts              |   276 +
 superset-frontend/src/utils/downloadAsImage.tsx    |   113 +-
 .../src/utils/semanticViewStructure.test.ts        |    13 +
 .../src/utils/semanticViewStructure.ts             |    15 +-
 superset-frontend/webpack.config.js                |     1 -
 superset/charts/api.py                             |     3 +
 superset/charts/schemas.py                         |    21 +-
 superset/commands/chart/export.py                  |     6 +-
 superset/commands/chart/importers/v1/__init__.py   |    29 +-
 superset/commands/dashboard/export.py              |     3 +
 superset/commands/dashboard/export_example.py      |    31 +
 .../commands/dashboard/importers/v1/__init__.py    |    26 +-
 superset/commands/importers/v1/assets.py           |    32 +-
 superset/commands/importers/v1/examples.py         |    19 +
 superset/common/query_object.py                    |    37 +-
 superset/common/tabular_query.py                   |     8 +-
 superset/core/mcp/core_mcp_injection.py            |    24 +-
 superset/dashboards/api.py                         |    13 +-
 superset/datasource/api.py                         |    52 +-
 superset/datasource/schemas.py                     |     9 +
 superset/db_engine_specs/base.py                   |     6 +
 superset/db_engine_specs/bigquery.py               |    35 +-
 superset/db_engine_specs/trino.py                  |    18 +
 superset/initialization/__init__.py                |     1 -
 superset/mcp_service/app.py                        |     2 +
 superset/mcp_service/auth.py                       |   105 +-
 superset/mcp_service/caching.py                    |    37 +-
 superset/mcp_service/chart/plugins/bubble.py       |     2 +-
 superset/mcp_service/chart/schemas.py              |    61 +-
 superset/mcp_service/chart/tool/get_chart_info.py  |    18 +-
 superset/mcp_service/chart/tool/get_chart_sql.py   |     5 +-
 superset/mcp_service/chart/tool/list_charts.py     |   118 +-
 superset/mcp_service/common/schema_discovery.py    |     2 +-
 superset/mcp_service/composite_token_verifier.py   |    26 +-
 superset/mcp_service/dashboard/schemas.py          |   132 +-
 .../dashboard/tool/get_dashboard_layout.py         |   161 +-
 superset/mcp_service/dashboard_scope.py            |  1365 ++
 superset/mcp_service/dashboard_scope_sql.py        |   516 +
 superset/mcp_service/mcp_config.py                 |    25 +
 superset/mcp_service/middleware.py                 |   180 +-
 superset/mcp_service/privacy.py                    |     1 +
 superset/mcp_service/semantic_layer/schemas.py     |     9 +
 .../semantic_layer/tool/get_compatible_metrics.py  |     3 +
 .../mcp_service/semantic_layer/tool/get_table.py   |    51 +-
 .../semantic_layer/tool/list_metrics.py            |     3 +
 superset/mcp_service/server.py                     |    36 +-
 superset/mcp_service/sql_lab/schemas.py            |    10 +-
 superset/mcp_service/sql_lab/tool/execute_sql.py   |     1 +
 superset/mcp_service/utils/response_size_utils.py  |   176 +
 superset/mcp_service/worker.py                     |   897 ++
 .../migrations/shared/migrate_viz/processors.py    |     6 +-
 superset/models/core.py                            |   220 +-
 superset/result_set.py                             |     3 +
 superset/semantic_layers/api.py                    |     3 +
 .../semantic_layers/bundle_schemas.py              |    24 +-
 superset/semantic_layers/import_export.py          |   240 +
 superset/semantic_layers/mapper.py                 |     6 +
 superset/semantic_layers/models.py                 |     3 +
 superset/sql/execution/cancellation.py             |   170 +
 superset/sql/execution/celery_task.py              |     1 +
 superset/sql/execution/executor.py                 |   134 +-
 superset/sql/parse.py                              |   101 +-
 superset/superset_typing.py                        |    11 +
 superset/tasks/deletion_retention.py               |    55 +-
 superset/tasks/query_cancel.py                     |     9 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |    66 +-
 superset/translations/ca/LC_MESSAGES/messages.po   |    66 +-
 superset/translations/cs/LC_MESSAGES/messages.po   |    66 +-
 superset/translations/de/LC_MESSAGES/messages.po   |    65 +-
 superset/translations/en/LC_MESSAGES/messages.po   |    65 +-
 superset/translations/es/LC_MESSAGES/messages.po   |    66 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |    66 +-
 superset/translations/fi/LC_MESSAGES/messages.po   |    68 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |    65 +-
 superset/translations/it/LC_MESSAGES/messages.po   |    67 +-
 superset/translations/ja/LC_MESSAGES/messages.po   |    65 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |    68 +-
 superset/translations/lv/LC_MESSAGES/messages.po   |    65 +-
 superset/translations/messages.pot                 |   123 +-
 superset/translations/mi/LC_MESSAGES/messages.po   |    66 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |    66 +-
 superset/translations/pl/LC_MESSAGES/messages.po   |    66 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |    67 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |    66 +-
 superset/translations/ro/LC_MESSAGES/messages.po   |    65 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |    65 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |    66 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |    65 +-
 superset/translations/sr/LC_MESSAGES/messages.po   |    66 +-
 .../translations/sr_Latn/LC_MESSAGES/messages.po   |    66 +-
 superset/translations/ta/LC_MESSAGES/messages.po   |    65 +-
 superset/translations/th/LC_MESSAGES/messages.po   |    68 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |    65 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |    65 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |    66 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |    66 +-
 superset/utils/oauth2.py                           |   136 +-
 superset/utils/pandas_postprocessing/pivot.py      |    51 +-
 superset/utils/rls.py                              |     4 +-
 .../commands/chart/semantic_export_test.py         |   127 +
 .../dashboard/export_example_semantic_test.py      |   175 +
 tests/unit_tests/conftest.py                       |    13 +-
 tests/unit_tests/connectors/sqla/utils_test.py     |    34 +
 tests/unit_tests/db_engine_specs/test_bigquery.py  |    87 +-
 tests/unit_tests/db_engine_specs/test_trino.py     |    17 +
 tests/unit_tests/initialization/init_views_test.py |   113 +
 .../mcp_service/catalog/tool/test_get_catalog.py   |    13 +
 .../mcp_service/chart/test_chart_examples.py       |     3 +-
 .../mcp_service/chart/test_chart_utils.py          |    55 +
 .../mcp_service/chart/test_gantt_chart.py          |    21 +-
 .../mcp_service/chart/test_gauge_chart.py          |     3 +-
 .../chart/test_live_chart_datasource.py            |   709 +
 .../mcp_service/chart/tool/test_list_charts.py     |     4 +-
 .../chart/tool/test_update_chart_preview.py        |    21 +-
 .../dashboard/test_dashboard_schemas.py            |    18 +
 .../dashboard/tool/test_get_dashboard_datasets.py  |    13 +-
 .../dashboard/tool/test_get_dashboard_layout.py    |   744 +-
 .../dataset/tool/test_dataset_metric_mutations.py  |    13 +
 .../mcp_service/dataset/tool/test_query_dataset.py |    12 +-
 .../dataset/tool/test_update_dataset_metric.py     |    13 +
 .../tool/test_get_compatible_metrics.py            |    14 +-
 .../semantic_layer/tool/test_get_table.py          |    39 +
 .../semantic_layer/tool/test_list_metrics.py       |    10 +-
 .../mcp_service/sql_lab/tool/test_execute_sql.py   |    22 +-
 .../mcp_service/test_auth_user_resolution.py       |    48 +-
 .../mcp_service/test_composite_token_verifier.py   |   105 +-
 .../unit_tests/mcp_service/test_dashboard_scope.py |  1502 ++
 .../mcp_service/test_dashboard_scope_sql.py        |   674 +
 tests/unit_tests/mcp_service/test_middleware.py    |    21 +
 .../unit_tests/mcp_service/test_tool_inventory.py  |     4 +-
 tests/unit_tests/mcp_service/test_worker.py        |   878 ++
 .../mcp_service/test_worker_metadata_pool.py       |  1000 ++
 .../unit_tests/migrations/viz/table_v1_v2_test.py  |    42 +
 tests/unit_tests/models/core_test.py               |   414 +
 .../unit_tests/pandas_postprocessing/test_pivot.py |   339 +
 tests/unit_tests/semantic_layers/api_test.py       |    10 +-
 .../semantic_layers/import_export_test.py          |   915 ++
 tests/unit_tests/semantic_layers/mapper_test.py    |     5 +
 tests/unit_tests/semantic_layers/models_test.py    |     2 +
 .../semantic_layers/selection_identity_test.py     |   293 +
 .../semantic_layers/values_endpoint_test.py        |    21 +-
 tests/unit_tests/sql/execution/conftest.py         |     3 +
 .../unit_tests/sql/execution/test_cancellation.py  |   165 +
 tests/unit_tests/sql/execution/test_celery_task.py |     2 +
 tests/unit_tests/sql/execution/test_executor.py    |   850 +-
 tests/unit_tests/sql/parse_tests.py                |   107 +
 tests/unit_tests/tasks/test_deletion_retention.py  |   171 +-
 tests/unit_tests/utils/oauth2_tests.py             |   190 +
 312 files changed, 27597 insertions(+), 18229 deletions(-)
 delete mode 100755 docker/docker-entrypoint-initdb.d/cypress-init.sh
 create mode 100644 docs/docs/using-superset/semantic-member-selections.mdx
 delete mode 100644 scripts/cypress_run.py
 delete mode 100644 superset-frontend/cypress-base/.eslintrc
 delete mode 100644 superset-frontend/cypress-base/.gitignore
 delete mode 100644 superset-frontend/cypress-base/cypress.config.ts
 delete mode 100644 superset-frontend/cypress-base/cypress/fixtures/charts.json
 delete mode 100644 
superset-frontend/cypress-base/cypress/fixtures/dashboards.json
 delete mode 100644 superset-frontend/cypress-base/cypress/support/e2e.ts
 delete mode 100644 superset-frontend/cypress-base/cypress/support/index.d.ts
 delete mode 100644 superset-frontend/cypress-base/cypress/utils/index.ts
 delete mode 100644 
superset-frontend/cypress-base/cypress/utils/parsePostForm.ts
 delete mode 100644 superset-frontend/cypress-base/cypress/utils/urls.ts
 delete mode 100644 superset-frontend/cypress-base/cypress/utils/vizPlugins.ts
 delete mode 100644 superset-frontend/cypress-base/package-lock.json
 delete mode 100644 superset-frontend/cypress-base/package.json
 delete mode 100644 superset-frontend/cypress-base/tsconfig.json
 delete mode 100755 superset-frontend/cypress_build.sh
 create mode 100644 
superset-frontend/packages/superset-ui-chart-controls/src/utils/headerGroups.test.ts
 create mode 100644 
superset-frontend/packages/superset-ui-chart-controls/src/utils/headerGroups.ts
 copy superset-frontend/{src/views/ScrollToTop.tsx => 
packages/superset-ui-core/src/query/semanticSelection.ts} (50%)
 copy 
superset-frontend/{packages/superset-ui-core/src/validator/legacyValidateInteger.ts
 => plugins/plugin-chart-ag-grid-table/src/utils/mainComparison.ts} (56%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-ag-grid-table/test/utils/mainComparison.test.ts
 copy 
superset-frontend/{packages/superset-ui-core/src/components/Input/index.tsx => 
plugins/plugin-chart-table/src/utils/headerGroups.ts} (71%)
 create mode 100644 
superset-frontend/plugins/plugin-chart-table/test/headerGroups.test.ts
 create mode 100644 
superset-frontend/plugins/preset-chart-deckgl/src/components/DeckGLOverlayMapLibre.test.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/ColumnConfigControl/ColumnConfigControl.test.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/HeaderGroupsControl/HeaderGroupEditor.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/HeaderGroupsControl/HeaderGroupsControl.test.tsx
 create mode 100644 
superset-frontend/src/explore/components/controls/HeaderGroupsControl/HeaderGroupsControl.tsx
 copy 
superset-frontend/{packages/superset-ui-core/src/components/Input/index.tsx => 
src/explore/components/controls/HeaderGroupsControl/index.ts} (82%)
 copy 
superset-frontend/{plugins/preset-chart-deckgl/src/layers/Arc/buildQuery.test.ts
 => src/explore/components/controls/HeaderGroupsControl/types.ts} (57%)
 create mode 100644 
superset-frontend/src/explore/components/controls/HeaderGroupsControl/utils.test.ts
 create mode 100644 
superset-frontend/src/explore/components/controls/HeaderGroupsControl/utils.ts
 create mode 100644 superset/mcp_service/dashboard_scope.py
 create mode 100644 superset/mcp_service/dashboard_scope_sql.py
 create mode 100644 superset/mcp_service/worker.py
 copy tests/unit_tests/utils/db.py => 
superset/semantic_layers/bundle_schemas.py (56%)
 create mode 100644 superset/semantic_layers/import_export.py
 create mode 100644 superset/sql/execution/cancellation.py
 create mode 100644 tests/unit_tests/commands/chart/semantic_export_test.py
 create mode 100644 
tests/unit_tests/commands/dashboard/export_example_semantic_test.py
 create mode 100644 tests/unit_tests/initialization/init_views_test.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_live_chart_datasource.py
 create mode 100644 tests/unit_tests/mcp_service/test_dashboard_scope.py
 create mode 100644 tests/unit_tests/mcp_service/test_dashboard_scope_sql.py
 create mode 100644 tests/unit_tests/mcp_service/test_worker.py
 create mode 100644 tests/unit_tests/mcp_service/test_worker_metadata_pool.py
 create mode 100644 tests/unit_tests/semantic_layers/import_export_test.py
 create mode 100644 tests/unit_tests/semantic_layers/selection_identity_test.py
 create mode 100644 tests/unit_tests/sql/execution/test_cancellation.py

Reply via email to