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

rusackas pushed a change to branch mobile-dashboard-support
in repository https://gitbox.apache.org/repos/asf/superset.git


    omit 6ca976871f3 fix: address mobile playwright test review feedback
    omit f043c493b39 fix(frontend): fix jest antd-mock hoist order and address 
mobile review feedback
    omit d943f9ba740 chore(mobile): address bot review nits
    omit a256eb04cdd feat(mobile): consumption-only mobile experience behind 
MOBILE_CONSUMPTION_MODE
     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 3bdf134aaa2 fix(logging): stop noisy LocalProxy-not-mapped warning for 
guest users (#42306)
     add 7eceebce1ce feat(dbspec): Support apache datafusion dbspec (#42374)
     add f7d0ec3a2c4 chore: add @rusackas to migration code owners (#42398)
     add 3a53c4ebc3b chore(deps): raise SQLAlchemy lower bound to >=1.4.43 
(#41123)
     add 99841fb504b fix(async): include datasets and rev claims in guest 
channel HMAC (#41487)
     add f3fa1c7d4f6 fix(reports): write a single execution log row per report 
run (#29857) (#41966)
     add 134cae07ae1 fix(ui): update stale Ant Design v6 internal class 
selectors (#42146)
     add 52552c8278e test(dashboard): migrate dashboard force-refresh control 
to Playwright (#41433)
     add 5ffdac1871d fix(mcp): align pooled screenshot override signature 
(#42384)
     add 857a194c667 chore(deps): bump postcss from 8.5.16 to 8.5.23 in /docs 
(#42397)
     add e9f61c1e662 chore(deps): bump postcss from 8.5.15 to 8.5.23 in 
/superset-frontend (#42396)
     add 83ea9a10253 chore(deps): bump js-yaml from 5.2.1 to 5.2.2 in /docs 
(#42395)
     add b82ff27f9cc fix(sqllab): render each query error once on async 
fallback (#42318)
     add 2a07f7967d4 chore(deps): bump brace-expansion, @cypress/code-coverage 
and eslint in /superset-frontend/cypress-base (#42275)
     add c65bedf2d76 fix(extensions): make LOCAL_EXTENSIONS hot reload reliable 
in Docker (#40084)
     add 5775bdbe5ec chore(deps-dev): bump postcss from 8.5.15 to 8.5.23 in 
/superset-embedded-sdk (#42394)
     add 8c37d627aa9 fix: allow clearing database/schema in DatasourceModal 
(#39918)
     add d4652460eed chore(deps-dev): bump google-cloud-bigquery from 3.42.1 to 
3.42.2 (#42422)
     add 8864b7a0a31 chore(deps-dev): update oracledb requirement from 
<5,>=2.0.0 to >=4.0.2,<5 (#42421)
     add 9d6fbdceff8 chore(deps-dev): update ibm-db-sa requirement from 
<=0.4.4,>0.3.8 to <=0.4.4,>=0.4.4 (#42419)
     add 4f3a1a50582 chore(deps-dev): update snowflake-sqlalchemy requirement 
from <2,>=1.10.2 to >=1.11.0,<2 (#42418)
     add dd08c4f36c1 chore(deps-dev): update flightsql-dbapi requirement from 
<0.3,>=0.2.0 to >=0.2.2,<0.3 (#42416)
     add 4443357f334 chore(deps): bump flask-caching from 2.3.1 to 2.4.1 
(#42413)
     add e1ffa53d9b4 chore(deps): bump pyparsing from 3.2.3 to 3.3.2 (#42420)
     add 6c2ccc44bdc chore(table): drop dead th.ant-column-cell selector 
(#42407)
     add e3d3262e977 chore(deps-dev): bump grpcio from 1.81.1 to 1.83.0 (#42414)
     add 9a025267bdf fix(reports): positive readiness check for non-tiled 
screenshots (#42253)
     add ba0900d2b32 fix(semantic-layers): show a friendly warning when schema 
enrichment falls back (#42400)
     add 90040fc1f6a fix(mcp_service): downgrade client-disconnect transport 
noise to WARNING (SC-115264) (#42441)
     add 710037d3d2f chore(importers): log field names instead of full config 
on validation failure (#42399)
     add e54eccd5fb8 chore(a11y): enable jsx-a11y/prefer-tag-over-role as error 
(#42078)
     add 8f8331f656e chore: session enforce sqlalchemy 2.0 (#42365)
     add 6856d0fc671 fix(select): rank case-insensitive matches consistently in 
dropdown search (#42408)
     add f113cfdd5b0 feat(mobile): consumption-only mobile experience behind 
MOBILE_CONSUMPTION_MODE
     add 99d3e2c1d3f chore(mobile): address bot review nits
     add 4ada14aaa11 fix(frontend): fix jest antd-mock hoist order and address 
mobile review feedback
     add fcfe3553a37 fix: address mobile playwright test review feedback

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   (6ca976871f3)
            \
             N -- N -- N   refs/heads/mobile-dashboard-support (fcfe3553a37)

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:
 .github/CODEOWNERS                                 |    2 +-
 .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      |    2 +-
 .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                   |    2 +-
 .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 +-
 .gitignore                                         |    1 +
 .pre-commit-config.yaml                            |    2 +-
 RESOURCES/INTHEWILD.yaml                           |    5 +
 docker-compose.yml                                 |    1 +
 docker/docker-bootstrap.sh                         |    4 +-
 docs/admin_docs/configuration/map-tiles.mdx        |   29 +
 docs/package.json                                  |    4 +-
 docs/src/data/databases.json                       |  108 +-
 docs/static/img/databases/datafusion.png           |  Bin 0 -> 14784 bytes
 docs/static/img/logos/pattern_logo.png             |  Bin 0 -> 7067 bytes
 docs/yarn.lock                                     |   38 +-
 helm/superset/Chart.yaml                           |    2 +-
 helm/superset/README.md                            |    2 +-
 helm/superset/values.yaml                          |    6 +-
 pyproject.toml                                     |   21 +-
 pytest.ini                                         |    4 +-
 requirements/base.txt                              |   24 +-
 requirements/development.txt                       |   35 +-
 superset-embedded-sdk/package-lock.json            |   20 +-
 .../cypress-base/cypress/support/directories.ts    |   14 +-
 superset-frontend/cypress-base/package-lock.json   | 6203 +++++++++-----------
 superset-frontend/oxlint.json                      |    1 +
 superset-frontend/package-lock.json                |  633 +-
 superset-frontend/package.json                     |   20 +-
 .../packages/superset-ui-core/package.json         |    4 +-
 .../src/chart/components/StatefulChart.test.tsx    |  491 +-
 .../src/chart/components/StatefulChart.tsx         |  187 +-
 .../src/chart/models/ChartProps.ts                 |   12 +
 .../components/ActionButton/ActionButton.test.tsx  |   18 +-
 .../src/components/ActionButton/index.tsx          |   38 +-
 .../src/components/ButtonGroup/index.tsx           |    4 +
 .../src/components/EmptyState/index.tsx            |    4 +
 .../src/components/FaveStar/index.tsx              |   10 +-
 .../src/components/Form/LabeledErrorBoundInput.tsx |    4 +
 .../src/components/IconButton/index.tsx            |    4 +
 .../src/components/Loading/index.tsx               |    4 +
 .../src/components/Modal/Modal.tsx                 |    4 +-
 .../src/components/ModalTrigger/index.tsx          |    5 +
 .../src/components/PopoverDropdown/index.tsx       |   15 +-
 .../PopoverSection/PopoverSection.test.tsx         |    8 +-
 .../src/components/PopoverSection/index.tsx        |   27 +-
 .../components/ProgressBar/ProgressBar.test.tsx    |   22 +-
 .../src/components/ProgressBar/index.tsx           |    4 +-
 .../src/components/RefreshLabel/index.tsx          |    3 +-
 .../src/components/Select/AsyncSelect.test.tsx     |    4 +-
 .../src/components/Select/AsyncSelect.tsx          |    2 +-
 .../src/components/Select/Select.test.tsx          |    4 +-
 .../src/components/Select/Select.tsx               |    2 +-
 .../src/components/Table/VirtualTable.tsx          |    2 +-
 .../src/components/Table/index.tsx                 |    2 +-
 .../src/components/TableCollection/index.tsx       |    6 -
 .../superset-ui-core/src/components/Tabs/Tabs.tsx  |    4 +-
 .../src/components/antdDomContract.test.tsx        |  145 +-
 .../src/utils/rankedSearchCompare.test.ts          |   27 +
 .../src/utils/rankedSearchCompare.ts               |    3 +-
 .../chart/components/ChartDataProvider.test.tsx    |    3 +-
 .../playwright/components/core/Menu.ts             |   20 +
 .../generators/docs/docs-screenshots.spec.ts       |    2 +-
 .../generators/docs/screenshot-manifest.yaml       |   16 +-
 .../playwright/pages/DashboardPage.ts              |   22 +-
 .../tests/dashboard/dashboard-controls.spec.ts     |  152 +
 .../tests/dashboard/dashboard-load.spec.ts         |  113 +-
 .../tests/dashboard/dashboard-test-helpers.ts      |  121 +-
 .../tests/dashboard/gauge-interval-colors.spec.ts  |    3 +-
 superset-frontend/playwright/utils/constants.ts    |   11 +-
 .../src/AgGridTable/components/CustomHeader.tsx    |   42 +-
 .../src/styles/index.tsx                           |   10 +
 .../src/MixedTimeseries/transformProps.ts          |   17 +
 .../src/Timeseries/transformProps.ts               |   25 +-
 .../plugin-chart-echarts/src/components/Echart.tsx |   79 +-
 .../src/components/echartsLocale.ts                |  108 +
 .../test/MixedTimeseries/transformProps.test.ts    |   55 +
 .../test/Timeseries/transformProps.test.ts         |   69 +
 .../test/components/echartsLocale.test.ts          |   82 +
 .../src/react-pivottable/Styles.ts                 |   16 +
 .../src/react-pivottable/TableRenderers.tsx        |   30 +-
 .../src/DataTable/components/Pagination.tsx        |   13 +-
 .../src/DataTable/hooks/useSticky.tsx              |    4 +
 .../plugins/plugin-chart-table/src/Styles.tsx      |   11 +-
 .../plugin-chart-table/test/TableChart.test.tsx    |   11 +-
 .../plugins/preset-chart-deckgl/package.json       |    2 +-
 .../src/components/Legend.test.tsx                 |   18 +-
 .../preset-chart-deckgl/src/components/Legend.tsx  |   27 +-
 .../components/ExploreResultsButton/index.tsx      |    1 -
 .../SqlLab/components/ResultSet/ResultSet.test.tsx |   29 +
 .../src/SqlLab/components/ResultSet/index.tsx      |   21 +-
 .../src/SqlLab/components/SqlEditor/index.tsx      |    2 +-
 .../components/TemplateParamsEditor/index.tsx      |    4 +-
 .../src/chartCustomizations/components/common.ts   |    7 +
 .../src/components/Chart/Chart.test.tsx            |    4 +-
 superset-frontend/src/components/Chart/Chart.tsx   |   37 +-
 .../src/components/Chart/ChartRenderer.tsx         |   14 +
 .../components/Chart/DrillBy/DrillByModal.test.tsx |    2 +-
 .../src/components/Chart/DrillBy/DrillByModal.tsx  |   31 +-
 .../components/Chart/DrillBy/DrillBySubmenu.tsx    |   21 +-
 .../Chart/DrillDetail/DownloadDropdown.tsx         |   16 +-
 .../Chart/DrillDetail/DrillDetailTableControls.tsx |    3 +-
 .../src/components/Chart/chartAction.ts            |   47 +-
 .../src/components/Chart/chartActions.test.ts      |  107 +
 .../CopyToClipboard/CopyToClipboard.stories.tsx    |    2 +-
 .../src/components/CopyToClipboard/index.tsx       |   15 +-
 .../Datasource/ChangeDatasourceModal/index.tsx     |   10 +-
 .../Datasource/DatasourceModal/index.tsx           |    9 +-
 .../components/CollectionTable/index.tsx           |    3 +-
 .../DatasourceEditor/DatasourceEditor.tsx          |   14 +-
 .../ErrorMessage/BasicErrorAlert.test.tsx          |    1 +
 .../ErrorMessage/DatabaseErrorMessage.test.tsx     |    1 +
 .../DatasetNotFoundErrorMessage.test.tsx           |    1 +
 .../src/components/ErrorMessage/ErrorAlert.tsx     |   34 +-
 .../ErrorMessageWithStackTrace.test.tsx            |    1 +
 .../FrontendNetworkErrorMessage.test.tsx           |    1 +
 .../ErrorMessage/ParameterErrorMessage.test.tsx    |    1 +
 .../ErrorMessage/TimeoutErrorMessage.test.tsx      |    1 +
 .../src/components/ImportModal/styles.ts           |    2 +-
 .../ListView/Filters/CompactSelectPanel.tsx        |    7 +
 .../src/components/ListView/ListView.test.tsx      |   14 +-
 .../src/components/ListView/ListView.tsx           |   61 +-
 .../src/components/MessageToasts/Toast.tsx         |    3 +-
 .../AutoRefreshStatus/StatusIndicatorDot.tsx       |    4 +
 .../components/CustomizationsBadge/index.tsx       |    4 +
 .../dashboard/components/DeleteComponentButton.tsx |    2 +-
 .../DetailsPanel/DetailsPanel.test.tsx             |    2 +-
 .../components/FiltersBadge/DetailsPanel/index.tsx |    2 +-
 .../dashboard/components/FiltersBadge/index.tsx    |   12 +-
 .../dashboard/components/Header/Header.test.tsx    |   12 +-
 .../src/dashboard/components/Header/index.tsx      |    7 +-
 .../src/dashboard/components/IconButton.tsx        |   19 +-
 .../components/gridComponents/Chart/Chart.tsx      |    5 +-
 .../components/gridComponents/Tab/Tab.tsx          |   22 +-
 .../components/gridComponents/Tabs/Tabs.tsx        |    6 +-
 .../nativeFilters/ConfigModal/ModalFooter.tsx      |    2 +-
 .../nativeFilters/ConfigModal/SharedStyles.tsx     |    2 +-
 .../FilterBar/CrossFilters/CrossFilterTitle.tsx    |    3 +-
 .../ScopingModal/ChartsScopingListPanel.test.tsx   |    7 +-
 .../ScopingModal/ChartsScopingListPanel.tsx        |   12 +-
 .../FilterBar/CrossFilters/VerticalCollapse.tsx    |   21 +-
 .../FilterBar/FilterConfigurationLink/index.tsx    |   17 +-
 .../FilterControls/FilterControlShared.tsx         |    8 +
 .../FilterBar/FilterControls/FilterControls.tsx    |   28 +-
 .../FilterBar/FilterControls/GroupByFilterCard.tsx |    5 +
 .../FilterBar/UrlFilters/VerticalCollapse.tsx      |   20 +-
 .../nativeFilters/FilterBar/Vertical.tsx           |    9 +-
 .../nativeFilters/FilterCard/DependenciesRow.tsx   |    2 +-
 .../components/nativeFilters/FilterCard/Styles.ts  |    7 +-
 .../FiltersConfigModal/FilterTitleContainer.tsx    |   21 +-
 .../FiltersConfigForm/DependencyList.tsx           |    9 +-
 .../Footer/CancelConfirmationAlert.tsx             |    2 +-
 .../FiltersConfigModal/ItemTitleContainer.tsx      |   21 +-
 .../src/explore/components/ControlHeader.tsx       |    5 +
 .../explore/components/DataTableControl/index.tsx  |   15 +-
 .../components/DataTablesPane/DataTablesPane.tsx   |   37 +-
 .../components/DataTableControls.tsx               |    3 +-
 .../explore/components/DatasourcePanel/index.tsx   |   25 +-
 .../src/explore/components/EmbedCodeContent.tsx    |   14 +-
 .../explore/components/ExploreChartPanel/index.tsx |   39 +-
 .../components/ExploreViewContainer/index.tsx      |   49 +-
 .../ColorBreakpointPopoverControl.tsx              |    4 +
 .../ColumnConfigControl/ColumnConfigControl.tsx    |   16 +-
 .../DateFilterControl/components/DateLabel.tsx     |    7 +-
 .../DndColumnSelectControl/ColumnSelectPopover.tsx |   44 +-
 .../DndColumnSelectPopoverTitle.tsx                |   18 +-
 .../controls/DndColumnSelectControl/Option.tsx     |    3 +-
 .../DndColumnSelectControl/useResizeButton.tsx     |    5 +
 .../FilterControl/AdhocFilterControl/index.tsx     |   13 +-
 .../FilterControl/AdhocFilterEditPopover/index.tsx |    5 +
 .../FixedOrMetricControl.test.tsx                  |    1 +
 .../controls/LayerConfigsControl/LayerTreeItem.tsx |   29 +-
 .../MetricControl/AdhocMetricEditPopover/index.tsx |   34 +-
 .../MetricControl/AdhocMetricEditPopoverTitle.tsx  |   19 +-
 .../components/controls/OptionControls/index.tsx   |   10 +-
 .../controls/VizTypeControl/VizTypeGallery.tsx     |   21 +-
 .../components/controls/VizTypeControl/index.tsx   |   22 +-
 .../alerts/components/NotificationMethod.test.tsx  |   23 +
 .../alerts/components/NotificationMethod.tsx       |   43 +-
 .../src/features/charts/ChartCard.tsx              |   56 +-
 .../src/features/dashboards/DashboardCard.tsx      |   58 +-
 .../databases/DatabaseModal/SSHTunnelForm.tsx      |    2 -
 .../src/features/databases/DatabaseModal/styles.ts |    4 +-
 .../AddDataset/DatasetPanel/DatasetPanel.test.tsx  |    3 +-
 .../AddDataset/DatasetPanel/DatasetPanel.tsx       |   68 +-
 .../DatasetPanel/DatasetPanelWrapper.test.tsx      |    1 +
 .../AddDataset/DatasetPanel/MessageContent.tsx     |    6 +-
 .../datasets/DuplicateDatasetModal.test.tsx        |   28 +
 .../features/datasets/DuplicateDatasetModal.tsx    |    6 +-
 .../src/features/groups/GroupListModal.tsx         |    2 +-
 superset-frontend/src/features/home/Menu.tsx       |    8 +-
 .../src/features/home/SavedQueries.tsx             |    4 +
 superset-frontend/src/features/home/SubMenu.tsx    |  218 +-
 .../src/features/queries/QueryPreviewModal.tsx     |   13 +-
 .../src/features/queries/SyntaxHighlighterCopy.tsx |    3 +-
 .../src/features/roles/RoleFormItems.tsx           |    2 +-
 .../src/features/users/UserListModal.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/ChartCreation/index.tsx              |    9 +-
 .../pages/ChartList/ChartList.cardview.test.tsx    |    6 +-
 .../pages/ChartList/ChartList.listview.test.tsx    |    2 +-
 .../pages/ChartList/ChartList.permissions.test.tsx |   16 +-
 .../src/pages/ChartList/ChartList.test.tsx         |    2 +-
 superset-frontend/src/pages/ChartList/index.tsx    |   65 +-
 .../DashboardList/DashboardList.cardview.test.tsx  |    4 +-
 .../DashboardList.permissions.test.tsx             |   10 +-
 .../src/pages/DashboardList/DashboardList.test.tsx |    4 +-
 .../src/pages/DashboardList/index.tsx              |   75 +-
 superset-frontend/src/pages/DatabaseList/index.tsx |  117 +-
 .../DatasetList/DatasetList.behavior.test.tsx      |    4 +-
 .../DatasetList/DatasetList.listview.test.tsx      |   25 +-
 superset-frontend/src/pages/DatasetList/index.tsx  |  127 +-
 .../src/pages/QueryHistoryList/index.tsx           |   26 +-
 .../src/pages/RowLevelSecurityList/index.tsx       |   47 +-
 superset-frontend/src/pages/Tags/index.tsx         |   48 +-
 .../src/pages/TaskList/TaskList.test.tsx           |    6 +-
 superset-frontend/src/pages/TaskList/index.tsx     |   31 +-
 superset/annotation_layers/annotations/schemas.py  |    6 +-
 superset/annotation_layers/schemas.py              |    6 +-
 superset/async_events/async_query_manager.py       |    5 +
 superset/charts/schemas.py                         |   18 +-
 superset/commands/importers/v1/utils.py            |   16 +-
 superset/commands/report/execute.py                |   47 +-
 superset/commands/streaming_export/base.py         |    2 +-
 superset/common/query_context_processor.py         |   70 +-
 superset/config.py                                 |   16 +-
 superset/css_templates/schemas.py                  |    6 +-
 superset/dashboards/schemas.py                     |   18 +-
 superset/databases/schemas.py                      |    6 +-
 superset/datasets/schemas.py                       |   12 +-
 superset/db_engine_specs/datafusion.py             |   92 +
 superset/db_engine_specs/kusto.py                  |  111 +-
 superset/extensions/api.py                         |    2 +-
 superset/extensions/cache_middleware.py            |    6 +-
 superset/extensions/local_extensions_watcher.py    |  211 +-
 superset/extensions/utils.py                       |    9 +-
 superset/mcp_service/chart/chart_utils.py          |   87 +-
 superset/mcp_service/middleware.py                 |  181 +-
 .../mcp_service/screenshot/pooled_screenshot.py    |    8 +-
 superset/mcp_service/server.py                     |   65 +-
 superset/mcp_service/utils/token_utils.py          |  244 +
 superset/migrations/shared/catalogs.py             |    4 +-
 ..._08-54_c3a8f8611885_materializing_permission.py |    2 +-
 ...d8bc074f7aad_add_new_field_is_restricted_to_.py |    2 +-
 ...06-27_08-43_27ae655e4247_make_creator_owners.py |    2 +-
 ...-09-07_23-50_33d996bcc382_update_slice_model.py |    4 +-
 ...2_11-31_eca4694defa7_sqllab_setting_defaults.py |    2 +-
 ...4_12-31_db0c65b146bd_update_slice_model_json.py |    2 +-
 ...7c195a_rewriting_url_from_shortner_with_new_.py |    2 +-
 ...-08_08-19_67a6ac9b727b_update_spatial_params.py |    2 +-
 ...2-17_11-06_21e88bc06c02_annotation_migration.py |    4 +-
 .../2018-02-13_08-07_e866bd2d4976_smaller_grid.py  |    4 +-
 ...-04-03_08-19_130915240929_is_sqllab_viz_flow.py |    2 +-
 ...9_bf706ae5eb46_cal_heatmap_metric_to_metrics.py |    2 +-
 ...018-06-04_11-12_c5756bec8b47_time_grain_sqla.py |    4 +-
 ...6-07_09-52_afb7730f6a9c_remove_empty_filters.py |    2 +-
 ...13_10-20_4451805bbaa1_remove_double_percents.py |    2 +-
 .../2018-06-13_14-54_bddc498dd179_adhoc_filters.py |    4 +-
 ...4_14-31_80a67c5192fa_single_pie_chart_metric.py |    4 +-
 ...1c4c6_migrate_num_period_compare_and_period_.py |    4 +-
 .../2018-07-19_23-41_c617da68de7d_form_nullable.py |    2 +-
 ...07-20_15-31_7f2635b51f5d_update_base_columns.py |    2 +-
 ...07-20_15-57_e9df189e5c7e_update_base_metrics.py |    2 +-
 ..._bebcf3fed1fe_convert_dashboard_v1_positions.py |    2 +-
 .../versions/2018-08-01_11-47_7fcdcde0761c_.py     |    2 +-
 ...08545_migrate_time_range_for_default_filters.py |    2 +-
 ...2018-12-11_22-03_fb13d49b72f9_better_filters.py |    4 +-
 ...e1b21cd94a4_change_owner_to_m2m_relation_on_.py |    2 +-
 .../2019-03-21_10-22_d94d33dbe938_form_strip.py    |    2 +-
 ...a3f04bc82_add_parent_ids_in_dashboard_layout.py |    4 +-
 .../2019-06-28_13-17_ab8c66efdd01_resample.py      |    4 +-
 ...ng_unique_constraint_on_dashboard_slices_tbl.py |    2 +-
 ...5afa9079866a_serialize_schema_permissions_py.py |    2 +-
 ...e_form_strip_leading_and_trailing_whitespace.py |    2 +-
 .../2019-10-10_13-52_1495eb914ad3_time_range.py    |    4 +-
 ...127d0d1d_reconvert_legacy_filters_into_adhoc.py |    2 +-
 ..._14-13_3325d4caccc8_dashboard_scoped_filters.py |    2 +-
 ...10-42_f9a30386bd74_cleanup_time_grainularity.py |    2 +-
 ...29_09-24_620241d1153f_update_time_grain_sqla.py |    2 +-
 ...978245563a02_migrate_iframe_to_dash_markdown.py |    2 +-
 ...654_fix_data_access_permissions_for_virtual_.py |    2 +-
 ...b56500de1855_add_uuid_column_to_import_mixin.py |    4 +-
 ...208f_collapse_alerting_models_into_a_single_.py |    4 +-
 ...6e99fb176a0_add_import_mixing_to_saved_query.py |    4 +-
 ...e38177dbf641_security_converge_saved_queries.py |    4 +-
 ...15-25_40f16acf1ba7_security_converge_reports.py |    4 +-
 ...8ee129739cf9_security_converge_css_templates.py |    4 +-
 ..._14-13_ccb74baaa89b_security_converge_charts.py |    4 +-
 ...5-05_45731db65d9c_security_converge_datasets.py |    4 +-
 ...45_1f6dca87d1a2_security_converge_dashboards.py |    4 +-
 ...2_c25cb2c78727_security_converge_annotations.py |    4 +-
 ...-49_42b4c9e01447_security_converge_databases.py |    4 +-
 ...14_13-40_4b84f97828aa_security_converge_logs.py |    4 +-
 ...12-15_e37912a26567_security_converge_queries.py |    4 +-
 ...60bf0649a77_migrate_x_dateunit_in_time_range.py |    2 +-
 ...2fdb_add_granularity_to_charts_where_missing.py |    2 +-
 ...-10_12-32_41ce8799acc3_rename_pie_label_type.py |    4 +-
 ...1412ec1e5a7b_legacy_force_directed_to_echart.py |    4 +-
 ...8_09-13_c501b7c653a3_add_missing_uuid_column.py |    2 +-
 ...989bbe479899_rename_filter_configuration_in_.py |    4 +-
 ...ea61c5e7_remove_dataset_health_check_message.py |    2 +-
 ...88938_country_map_use_lowercase_country_name.py |    4 +-
 ...3a3a8ff221_migrate_filter_sets_to_new_format.py |    4 +-
 ...ed7ec95_migrate_native_filters_to_new_schema.py |    4 +-
 ...3605f370a_fix_schemas_allowed_for_csv_upload.py |    2 +-
 ...15da_migrate_pivot_table_v2_heatmaps_to_new_.py |    2 +-
 ..._17-16_f6196627326f_update_chart_permissions.py |    4 +-
 ...13dd52_change_fetch_values_predicate_to_text.py |    2 +-
 ...4fbb_add_type_to_native_filter_configuration.py |    4 +-
 ...453f4e2e_migrate_timeseries_limit_metric_to_.py |    2 +-
 ...12_11-15_32646df09c64_update_time_grain_sqla.py |    2 +-
 ...e5f1dacd_rename_to_schemas_allowed_for_file_.py |    4 +-
 ...aa3ff_add_force_screenshot_to_alerts_reports.py |    2 +-
 ...5b9441_rename_big_viz_total_form_data_fields.py |    4 +-
 ...d1d2_move_pivot_table_v2_legacy_order_by_to_.py |    4 +-
 ...d8e252_fix_query_and_saved_query_null_schema.py |    2 +-
 ...b0ca7944_change_adhoc_filter_b_from_none_to_.py |    4 +-
 ...14-38_a9422eeaae74_new_dataset_models_take_2.py |    2 +-
 ...d0249074e4_deprecate_time_range_endpoints_v2.py |    2 +-
 ...07e4fdbaba_rm_time_range_endpoints_from_qc_3.py |    2 +-
 ...-39_cbe71abde154_fix_report_schedule_and_log.py |    2 +-
 ...8_16-07_e786798587de_delete_none_permissions.py |    2 +-
 ..._16-17_f3afaf1f11f0_add_unique_name_desc_rls.py |    2 +-
 ...59_7fb8bca906d2_permalink_rename_filterstate.py |    4 +-
 ...5-48_409c7b420ab0_add_created_by_fk_as_owner.py |    2 +-
 ..._13-00_c747c78868b6_migrating_legacy_treemap.py |    4 +-
 ...-07_14-00_06e1e70058c7_migrating_legacy_area.py |    4 +-
 ...665d_fix_table_chart_conditional_formatting_.py |    2 +-
 ...1_4ce1d9b25135_remove_filter_bar_orientation.py |    2 +-
 ...4-46_c0a3ea245b61_remove_show_native_filters.py |    2 +-
 ...ac08bb5b83_invert_horizontal_bar_chart_order.py |    4 +-
 ...7_13-24_b5ea9d343307_bar_chart_stack_options.py |    4 +-
 ...03-27_12-30_7e67aecbf3f1_chart_ds_constraint.py |    2 +-
 ...2a5681ddfd_convert_key_value_entries_to_json.py |    4 +-
 ...-41_4ea966691069_cross_filter_global_scoping.py |    4 +-
 ...02_9ba2ce3086e5_migrate_pivot_table_v1_to_v2.py |    4 +-
 ...-08_10-22_4c5da39be729_migrate_treemap_chart.py |    4 +-
 ...e58e1e58e5c_migrate_dual_line_to_mixed_chart.py |    4 +-
 ...delete_obsolete_druid_nosql_slice_parameters.py |    2 +-
 ...6f8b1280_cleanup_erroneous_parent_filter_ids.py |    2 +-
 ...9_17-54_ee179a490af9_deckgl_path_width_units.py |    2 +-
 ...23_0769ef90fddd_fix_schema_perm_for_datasets.py |    2 +-
 ...086c2676_add_normalize_columns_to_sqla_model.py |    2 +-
 ...317970b4400c_added_time_secondary_column_to_.py |    2 +-
 ...ff00fe8_add_percent_calculation_type_funnel_.py |    4 +-
 ...18_14-41_a32e0c4d8646_migrate_sunburst_chart.py |    4 +-
 ...d09c9_migrate_filter_boxes_to_native_filters.py |    2 +-
 ...d83218_migrate_can_view_and_drill_permission.py |    4 +-
 ...47_be1b217cd8cd_big_number_kpi_single_metric.py |    4 +-
 ...8_15-43_5ad7321c2169_mig_new_csv_upload_perm.py |    4 +-
 ...14-04_d60591c5515f_mig_new_excel_upload_perm.py |    4 +-
 ...36_4a33124c18ad_mig_new_columnar_upload_perm.py |    4 +-
 ...9123a_update_charts_with_old_time_comparison.py |    4 +-
 ...09-34_d482d51c15ca_remove_legacy_plugins_5_0.py |    4 +-
 ...-34_74ad1125881c_converge_upload_permissions.py |    4 +-
 ...fdba9f_merge_x_axis_sort_series_with_x_axis_.py |    4 +-
 ...2_convert_metric_currencies_from_str_to_json.py |    2 +-
 ...8d8526_fix_form_data_string_in_query_context.py |    2 +-
 ...00-00_ce6bd21901ab_migrate_deckgl_and_mapbox.py |    4 +-
 ...a1b2c3d4e5f6_add_granular_export_permissions.py |    4 +-
 ...-00_b4a3f2e1d0c9_fix_security_view_menu_case.py |    2 +-
 ...23_a7d3f1b9c2e4_cleanup_stale_can_import_pvm.py |    4 +-
 ...rip_metricsqlexpressions_from_ag_grid_params.py |    2 +-
 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/semantic_layers/api.py                    |   11 +-
 superset/tags/models.py                            |    2 +-
 superset/tasks/schemas.py                          |    6 +-
 superset/themes/schemas.py                         |   12 +-
 superset/utils/core.py                             |   10 +-
 superset/utils/log.py                              |    8 +-
 superset/utils/screenshot_utils.py                 |  214 +-
 superset/utils/webdriver.py                        |  219 +-
 superset/viz.py                                    |   10 -
 superset_text.yml                                  |    1 +
 tests/integration_tests/charts/data/api_tests.py   |  167 +-
 tests/integration_tests/dao/conftest.py            |    2 +-
 tests/integration_tests/event_logger_tests.py      |   85 +-
 tests/integration_tests/reports/commands_tests.py  |   64 +-
 .../async_events/async_query_manager_tests.py      |   38 +
 tests/unit_tests/commands/report/execute_test.py   |    3 +
 tests/unit_tests/conftest.py                       |    2 +-
 tests/unit_tests/core_tests.py                     |   63 +
 tests/unit_tests/databases/filters_test.py         |    2 +-
 .../unit_tests/db_engine_specs/test_datafusion.py  |  101 +
 tests/unit_tests/db_engine_specs/test_kusto.py     |   85 +
 .../distributed_lock/distributed_lock_tests.py     |    2 +-
 .../unit_tests/extensions/test_cache_middleware.py |   15 +
 .../extensions/test_local_extensions_watcher.py    |   59 +
 .../mcp_service/chart/test_chart_utils.py          |   83 +
 .../unit_tests/mcp_service/test_logging_filters.py |  168 +
 tests/unit_tests/mcp_service/test_middleware.py    |  295 +
 .../mcp_service/test_pooled_screenshot.py          |   34 +-
 .../mcp_service/utils/test_token_utils.py          |  103 +
 ...rip_metricsqlexpressions_from_ag_grid_params.py |    6 +-
 .../security/exclude_users_filter_test.py          |    8 +-
 tests/unit_tests/security/manager_test.py          |   93 +
 tests/unit_tests/semantic_layers/api_test.py       |    7 +-
 tests/unit_tests/sql/parse_tests.py                |  268 +
 tests/unit_tests/test_viz_query_obj.py             |   57 +
 tests/unit_tests/utils/test_screenshot_utils.py    |   86 +-
 tests/unit_tests/utils/webdriver_test.py           |  400 +-
 tests/unit_tests/versioning/test_listener.py       |    2 +-
 tests/unit_tests/views/test_soft_delete_filter.py  |    2 +-
 443 files changed, 10798 insertions(+), 5736 deletions(-)
 create mode 100644 docs/static/img/databases/datafusion.png
 create mode 100644 docs/static/img/logos/pattern_logo.png
 create mode 100644 
superset-frontend/playwright/tests/dashboard/dashboard-controls.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
 copy 
superset-frontend/src/{explore/components/controls/DateFilterControl/tests/CurrentCalendarFrame.test.tsx
 => filters/components/common.test.tsx} (50%)
 create mode 100644 superset/db_engine_specs/datafusion.py
 create mode 100644 tests/unit_tests/db_engine_specs/test_datafusion.py
 create mode 100644 tests/unit_tests/extensions/test_local_extensions_watcher.py
 create mode 100644 tests/unit_tests/mcp_service/test_logging_filters.py
 copy superset/migrations/versions/2016-11-23_10-27_f1f2d4af5b90_.py => 
tests/unit_tests/mcp_service/test_pooled_screenshot.py (55%)
 create mode 100644 tests/unit_tests/test_viz_query_obj.py


Reply via email to