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

rusackas pushed a change to branch fix-oauth-followup
in repository https://gitbox.apache.org/repos/asf/superset.git


    omit 31675295755 fix(oauth2): drop duplicate act import
    omit 6537a5c8934 Address comments
    omit c89ee843cf4 Kick GithHub
    omit b9c46007385 Emit twice, process once
    omit 1d5103ec55d fix(oauth2): make OAuth2 completion idempotent and 
listener resilient
     add 47fd4f4cbfc fix(matrixify): lazy-load grid cells with dashboard 
virtualization (#43053)
     add 250a4797bf1 fix(plugin-chart-ag-grid-table): send export column 
filters as structured filters (#44308)
     add c6d0890f2e0 fix(api): restore three schema fields disabled by a stray 
trailing comma (#43225)
     add 61a5d0e3348 fix(csrf): recover from an expired CSRF token without a 
page reload (#43655)
     add d21aa9b4f46 chore(deps): bump yeoman-generator from 9.1.0 to 9.2.0 in 
/superset-frontend (#44522)
     add 2b5a929523d fix(chart-controls): type post-processing columns as a 
string-to-string mapping (#43589)
     add a3afedeaab4 fix(core): normalize bare date-only strings to UTC in 
normalizeTimestamp (#43807)
     add 107a61c4caf feat(databend): add a sqlglot dialect based on Postgres 
(#43964)
     add c163112f4e2 chore(deps): bump @googleapis/sheets from 17.0.0 to 18.0.0 
in /superset-frontend (#44523)
     add 5c1f617740c fix(echarts): apply the bar label legibility floor to 
manual label positions (#44469)
     add c4943a0ab34 feat(native-filters): add configurable display format for 
time filters (#44237)
     add cef83b3f8df fix(import): catch KeyError for missing uuid/ssh_tunnel in 
load_configs (#43305)
     add df6e0d08b35 fix(sqla): wrap TypeError from virtual dataset Jinja 
rendering as a validation error (#44312)
     add 1788486228c fix(datasets): soften render-time UndefinedError in 
get_virtual_table_metadata (#44316)
     add ee4b8ddff6e fix(ci): align superset-cache tag consumers with the 
Dockerfile PY_VER (#44534)
     add 43f0f8876ad chore(ci): make the DB migration conflict bot comment less 
emoji-heavy and more actionable (#44506)
     add 0fe0662b271 fix(i18n): regenerate messages.pot to match source (#44509)
     add 9f48d0eac9e fix(tests): await userEvent.click in CsrfErrorMessage 
compact-mode test (#44540)
     add 7024401aef2 fix(mcp): drop tiktoken, size-guard responses by exact 
byte length (#44508)
     add 9413294b2bd docs(pivot-table): document the "Show values as" 
percentage display option (#44127)
     add 48795f9a2d4 docs(explore): document show_download param for standalone 
chart embeds (#43906)
     add 7dd70eaf2d6 fix: tighten object-level and destination checks across 
four unrelated endpoints (#44036)
     add add97e5d190 fix(embedded): tighten guest-token scoping for 
annotations, result types, and channels (#43391)
     add ca7cdfcd0ff fix(pinot): require the SQLAlchemy 2 driver extra (#44287)
     add 0f229fda75f fix(security): exempt health blueprint from forced 
password changes (#44504)
     add 269b9f99fef fix(views): return 401 for NoAuthorizationError in 
handle_api_exception (SC-121647) (#44533)
     add 50bbcedf13b docs(mcp): document restore_chart and restore_dashboard 
tools (#44207)
     add ea1ffcf0adb fix: fixed inverseSelection (#40970)
     add 350dd0d60ec fix(security): delete deprecated permissions left over 
after upgrades (#44142)
     add 7a9fe06762b fix(mcp): stop data tool responses crashing on binary and 
NaT values (#44495)
     add 9612437a9c8 fix(extensions): preserve chat state across display modes 
(#44490)
     add 61fffbe0c08 chore(deps-dev): bump oxlint from 1.82.0 to 1.83.0 in 
/superset-frontend (#44525)
     add c14ac29f477 fix(mcp): complete Treemap round-trip and previews (#44152)
     add 3b4e5f5d0c6 chore(deps): bump markdown-to-jsx from 9.10.2 to 9.10.3 in 
/superset-frontend (#44570)
     add 7fe03a536b6 chore(deps-dev): bump @types/node from 26.5.1 to 26.6.1 in 
/superset-frontend (#44569)
     add 6403e16fe56 chore(deps-dev): bump vitest from 5.0.0 to 5.0.1 in 
/superset-embedded-sdk (#44568)
     add d1f395914f1 chore(deps-dev): bump @types/node from 26.5.1 to 26.6.1 in 
/superset-embedded-sdk (#44567)
     add 6c9138a6b7c chore(deps-dev): bump baseline-browser-mapping from 
2.11.23 to 2.11.24 in /superset-frontend (#44566)
     add 4b180bddad7 chore(deps): bump baseline-browser-mapping from 2.11.23 to 
2.11.24 in /docs (#44565)
     add 4290d94d6c9 chore(deps-dev): bump vitest from 5.0.0 to 5.0.1 in 
/superset-websocket (#44564)
     add 3e80a53e14f chore(deps-dev): bump @types/node from 26.5.1 to 26.6.1 in 
/superset-websocket (#44563)
     add f8f293d2666 chore(deps): bump benchmark-action/github-action-benchmark 
from 1.22.1 to 1.22.2 (#44520)
     add 689ab4a77af fix(translations): regenerate messages.pot after the 
connection-move reword (#44574)
     add 02dbfd2ab5b fix(dashboard): don't register an active tab for childless 
TABS components (#44345)
     add 838376dbc28 fix(mongodb): treat the Mongo database as the SQL Lab 
schema so Data Preview returns rows (#44141)
     add 6323b37f50a fix(dashboard): prevent and repair self-nested layout 
components (#44303)
     add 7c7b3adf745 fix(export): keep the acting user in streaming CSV exports 
(#44425)
     add c0c688d3e4b fix(mcp): return a specific error per failure class on 
tool calls (#44387)
     add a071d23b41f fix(dashboard): guest sessions, pluggable storage, and 
streamed downloads for the Excel export (#43805)
     add d7a918b814c fix(ci): make check_pot_drift extract from an isolated git 
snapshot (#44578)
     add 5ff572c7e68 fix(oauth2): make OAuth2 completion idempotent and 
listener resilient
     add 725079f33f1 Emit twice, process once
     add 9e6dac20ac8 Kick GithHub
     add 3a407b242c7 Address comments
     add acaec3d2aec fix(oauth2): drop duplicate act import

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   (31675295755)
            \
             N -- N -- N   refs/heads/fix-oauth-followup (acaec3d2aec)

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/workflows/check-db-migration-confict.yml   |   21 +-
 .github/workflows/frontend-bundle-size-nightly.yml |    4 +-
 .github/workflows/superset-frontend.yml            |    4 +-
 UPDATING.md                                        |   97 +-
 .../configuration/configuring-superset.mdx         |    7 +
 docs/admin_docs/configuration/mcp-server.mdx       |  106 +-
 .../extensions/extension-points/chat.md            |    4 +
 docs/docs/using-superset/embedding.mdx             |   21 +
 docs/docs/using-superset/exploring-data.mdx        |   14 +
 .../using-superset/exporting-dashboard-data.mdx    |  116 +-
 .../docs/using-superset/using-ai-with-superset.mdx |    2 +
 docs/package.json                                  |    2 +-
 docs/src/data/databases.json                       |    1 +
 docs/static/resources/openapi.json                 |  108 +-
 docs/yarn.lock                                     |    8 +-
 pyproject.toml                                     |   20 +-
 requirements/development.txt                       |    5 -
 scripts/translations/check_pot_drift.py            |   77 +-
 superset-embedded-sdk/package-lock.json            |  204 +--
 superset-embedded-sdk/package.json                 |    4 +-
 superset-frontend/package-lock.json                |  202 +--
 superset-frontend/package.json                     |   10 +-
 .../packages/generator-superset/package.json       |    2 +-
 .../packages/superset-ui-core/package.json         |    2 +-
 .../Matrixify/MatrixifyGridCell.test.tsx           |  273 +++-
 .../components/Matrixify/MatrixifyGridCell.tsx     |  127 +-
 .../components/Matrixify/virtualizationEvents.ts   |   82 ++
 .../src/connection/SupersetClientClass.ts          |   83 +-
 .../superset-ui-core/src/connection/constants.ts   |    3 +
 .../superset-ui-core/src/query/api/v1/types.ts     |    3 +
 .../src/query/types/PostProcessing.ts              |    6 +-
 .../superset-ui-core/src/query/types/Query.ts      |    1 +
 .../src/time-comparison/fetchTimeRange.ts          |   29 +-
 .../src/time-format/utils/normalizeTimestamp.ts    |   13 +
 .../superset-ui-core/src/ui-overrides/types.ts     |    1 +
 .../connection/SupersetClientCsrfRecovery.test.ts  |  191 +++
 .../test/query/types/PostProcessing.test.ts        |    6 +-
 .../test/time-comparison/fetchTimeRange.test.ts    |   60 +
 .../time-format/utils/normalizeTimestamp.test.ts   |    5 +
 .../plugin-chart-ag-grid-table/src/buildQuery.ts   |  125 +-
 .../plugin-chart-ag-grid-table/src/index.ts        |    1 -
 .../src/stateConversion.ts                         |  302 +---
 .../src/utils/agGridFilterConverter.ts             |   73 +-
 .../test/buildQuery.test.ts                        |  206 ++-
 .../test/stateConversion.test.ts                   |   77 +-
 .../test/utils/agGridFilterConverter.test.ts       |   55 +-
 .../test/utils/filterStateManager.test.ts          |    2 +-
 .../src/Timeseries/transformers.ts                 |   36 +-
 .../test/MixedTimeseries/transformProps.test.ts    |    4 +-
 .../test/Timeseries/Bar/transformProps.test.ts     |    6 +-
 .../test/Timeseries/transformers.test.ts           |  106 +-
 superset-frontend/spec/helpers/testing-library.tsx |    1 +
 ...rMessage.test.tsx => CsrfErrorMessage.test.tsx} |   42 +-
 ...etworkErrorMessage.tsx => CsrfErrorMessage.tsx} |   16 +-
 .../src/components/ErrorMessage/index.tsx          |    1 +
 superset-frontend/src/core/chat/ChatHost.tsx       |   20 +-
 .../src/dashboard/actions/hydrate.test.ts          |   85 +-
 superset-frontend/src/dashboard/actions/hydrate.ts |   28 +-
 .../components/gridComponents/Tabs/Tabs.test.tsx   |   95 ++
 .../components/gridComponents/Tabs/Tabs.tsx        |   22 +-
 .../gridComponents/TabsRenderer/TabsRenderer.tsx   |    2 +-
 .../DownloadMenuItems/DownloadMenuItems.test.tsx   |  616 +++++++-
 .../components/menu/DownloadMenuItems/index.tsx    |  210 ++-
 .../FiltersConfigForm/FiltersConfigForm.tsx        |   61 +-
 .../FiltersConfigForm/getControlItemsMap.test.tsx  |   14 +
 .../FiltersConfigForm/getControlItemsMap.tsx       |    3 +-
 .../components/nativeFilters/utils.test.ts         |   13 +
 .../src/dashboard/reducers/dashboardLayout.test.ts |   62 +
 .../src/dashboard/reducers/dashboardLayout.ts      |   26 +
 .../src/dashboard/reducers/dashboardState.test.ts  |   23 +
 .../src/dashboard/util/getDropPosition.test.ts     |   83 ++
 .../src/dashboard/util/getDropPosition.ts          |   13 +
 .../util/removeUnreachableComponents.test.ts       |  283 ++++
 .../dashboard/util/removeUnreachableComponents.ts  |  225 +++
 .../util/updateComponentParentsList.test.ts        |   17 +
 .../dashboard/util/updateComponentParentsList.ts   |    7 +-
 .../ExploreChartHeader/ExploreChartHeader.test.tsx |    8 +
 .../controls/DateFilterControl/DateFilterLabel.tsx |  116 +-
 .../tests/DateFilterLabel.test.tsx                 |  114 ++
 .../components/controls/DateFilterControl/types.ts |    1 +
 .../components/Select/SelectFilterPlugin.tsx       |   22 +-
 .../components/Time/TimeFilterPlugin.test.tsx      |   95 ++
 .../filters/components/Time/TimeFilterPlugin.tsx   |    1 +
 .../src/filters/components/Time/controlPanel.ts    |   17 +
 .../src/filters/components/Time/types.ts           |    1 +
 superset-frontend/src/setup/setupErrorMessages.ts  |    5 +
 superset-frontend/src/views/App.test.tsx           |  125 ++
 superset-frontend/src/views/App.tsx                |   28 +-
 superset-websocket/package-lock.json               |  204 +--
 superset-websocket/package.json                    |    4 +-
 superset/charts/schemas.py                         |   61 +-
 superset/commands/dashboard/update.py              |    7 +-
 superset/commands/database/exceptions.py           |    9 +-
 superset/commands/database/update.py               |   20 +-
 superset/commands/database/utils.py                |   47 +
 superset/commands/distributed_lock/acquire.py      |    9 +-
 superset/commands/importers/v1/utils.py            |   19 +
 superset/commands/semantic_layer/update.py         |   55 +-
 superset/commands/streaming_export/base.py         |   41 +-
 superset/config.py                                 |   68 +-
 superset/connectors/sqla/utils.py                  |   10 +
 superset/daos/dashboard.py                         |    5 +
 superset/dashboards/api.py                         |  264 +++-
 superset/dashboards/excel_export/download_link.py  |  160 ++
 superset/dashboards/excel_export/email.py          |   29 +-
 superset/dashboards/layout.py                      |  269 ++++
 superset/db_engine_specs/base.py                   |   82 +-
 superset/db_engine_specs/gsheets.py                |    1 +
 superset/db_engine_specs/mongodb.py                |   63 +-
 superset/db_engine_specs/pinot.py                  |    4 +
 superset/db_engine_specs/snowflake.py              |    1 +
 superset/embedded/view.py                          |    8 +-
 superset/errors.py                                 |    1 +
 superset/key_value/types.py                        |    1 +
 superset/mcp_service/SECURITY.md                   |    2 +-
 superset/mcp_service/__main__.py                   |    4 +-
 superset/mcp_service/chart/chart_helpers.py        |   35 +
 superset/mcp_service/chart/chart_utils.py          |  124 ++
 superset/mcp_service/chart/compile.py              |   50 +-
 superset/mcp_service/chart/plugins/treemap.py      |   10 +-
 superset/mcp_service/chart/preview_utils.py        |   14 +-
 superset/mcp_service/chart/query_result.py         |  113 +-
 superset/mcp_service/chart/schemas.py              |  390 +++--
 superset/mcp_service/chart/tool/get_chart_data.py  |   40 +-
 .../mcp_service/chart/tool/get_chart_preview.py    |   30 +-
 .../chart/tool/get_chart_type_schema.py            |   21 +-
 superset/mcp_service/chart/tool/update_chart.py    |   30 +-
 .../mcp_service/chart/tool/update_chart_preview.py |   51 +-
 superset/mcp_service/chart/treemap_preview.py      |  297 ++++
 superset/mcp_service/constants.py                  |   30 +-
 superset/mcp_service/dashboard/schemas.py          |   15 +-
 .../dashboard/tool/generate_dashboard.py           |    3 +-
 superset/mcp_service/dataset/schemas.py            |   13 +-
 .../explore/tool/generate_explore_link.py          |    3 +-
 superset/mcp_service/mcp_config.py                 |   23 +-
 superset/mcp_service/middleware.py                 |  495 +++++--
 superset/mcp_service/semantic_layer/schemas.py     |   29 +-
 superset/mcp_service/sql_lab/schemas.py            |   18 +-
 superset/mcp_service/sql_lab/tool/execute_sql.py   |   19 -
 .../{token_utils.py => response_size_utils.py}     |  319 ++--
 superset/mcp_service/utils/response_utils.py       |    8 +-
 superset/mcp_service/utils/serialization.py        |  225 +++
 superset/migrations/shared/security_converge.py    |   34 +
 ...4fb8bfc1_delete_deprecated_permissions_33272.py |  153 ++
 ...a4572f8a_rename_deprecated_permissions_33272.py |  193 +++
 ...e6_merge_deprecated_permissions_with_master.py} |   12 +-
 ...merge_deprecated_permissions_with_master_v2.py} |   12 +-
 ...merge_deprecated_permissions_with_master_v3.py} |   12 +-
 superset/models/helpers.py                         |   13 +
 superset/security/api.py                           |   13 +-
 superset/security/manager.py                       |  397 ++++-
 superset/security/password_change.py               |   11 +-
 superset/sql/dialects/__init__.py                  |    2 +
 superset/sql/dialects/databend.py                  |  604 ++++++++
 superset/sql/parse.py                              |    3 +-
 superset/tasks/export_dashboard_excel.py           |  272 +++-
 superset/translations/ar/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/ca/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/cs/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/de/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/en/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/es/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/fa/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/fi/LC_MESSAGES/messages.po   |   49 +-
 superset/translations/fr/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/it/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/ja/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/ko/LC_MESSAGES/messages.po   |   49 +-
 superset/translations/lv/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/messages.pot                 |   34 +-
 superset/translations/mi/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/nl/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/pl/LC_MESSAGES/messages.po   |   47 +-
 superset/translations/pt/LC_MESSAGES/messages.po   |   48 +-
 .../translations/pt_BR/LC_MESSAGES/messages.po     |   46 +-
 superset/translations/ro/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/ru/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/sk/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/sl/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/sr/LC_MESSAGES/messages.po   |   47 +-
 .../translations/sr_Latn/LC_MESSAGES/messages.po   |   47 +-
 superset/translations/ta/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/th/LC_MESSAGES/messages.po   |   49 +-
 superset/translations/tr/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/uk/LC_MESSAGES/messages.po   |   46 +-
 superset/translations/zh/LC_MESSAGES/messages.po   |   46 +-
 .../translations/zh_TW/LC_MESSAGES/messages.po     |   47 +-
 superset/utils/error_sanitization.py               |    1 +
 superset/utils/export_storage.py                   |   76 +
 superset/utils/gcs.py                              |  101 ++
 superset/utils/network.py                          |  115 ++
 superset/utils/s3.py                               |  124 +-
 superset/views/error_handling.py                   |   18 +-
 superset/views/utils.py                            |   12 +
 tests/integration_tests/dashboards/api_tests.py    |  435 +++++-
 tests/integration_tests/embedded/test_view.py      |   23 +
 tests/integration_tests/security/api_tests.py      |   28 +
 tests/integration_tests/security_tests.py          |    8 +
 tests/unit_tests/charts/test_schemas.py            |   92 +-
 .../chart/streaming_export_command_test.py         |   61 +
 tests/unit_tests/commands/dashboard/update_test.py |   46 +
 tests/unit_tests/commands/databases/utils_test.py  |   58 +
 .../unit_tests/commands/importers/v1/utils_test.py |   96 +-
 .../commands/semantic_layer/update_test.py         |   96 ++
 tests/unit_tests/connectors/sqla/models_test.py    |   19 +
 tests/unit_tests/connectors/sqla/utils_test.py     |   27 +-
 tests/unit_tests/dao/dashboard_test.py             |  139 ++
 tests/unit_tests/dashboards/api_test.py            |  116 ++
 tests/unit_tests/dashboards/layout_test.py         |  325 ++++
 .../dashboards/test_excel_export_download_link.py  |   65 +
 tests/unit_tests/db_engine_specs/test_base.py      |  243 ++-
 .../unit_tests/db_engine_specs/test_databricks.py  |   28 +-
 .../db_engine_specs/test_databricks_multi_cloud.py |    4 +
 tests/unit_tests/db_engine_specs/test_gsheets.py   |   27 +-
 tests/unit_tests/db_engine_specs/test_mongodb.py   |  205 ++-
 tests/unit_tests/db_engine_specs/test_pinot.py     |   41 +-
 tests/unit_tests/db_engine_specs/test_snowflake.py |    7 +-
 tests/unit_tests/db_engine_specs/test_trino.py     |    7 +-
 .../distributed_lock/distributed_lock_tests.py     |   22 +
 .../mcp_service/chart/test_treemap_completeness.py | 1373 +++++++++++++++++
 .../mcp_service/chart/tool/test_get_chart_data.py  |  180 ++-
 .../chart/tool/test_get_chart_type_schema.py       |   26 +
 .../dashboard/tool/test_dashboard_generation.py    |   63 +
 .../explore/tool/test_generate_explore_link.py     |   49 +
 .../semantic_layer/tool/test_list_metrics.py       |   62 +-
 .../mcp_service/sql_lab/tool/test_execute_sql.py   |  104 +-
 .../mcp_service/test_error_classification.py       |  679 +++++++++
 .../mcp_service/test_mcp_tool_registration.py      |    2 +-
 tests/unit_tests/mcp_service/test_middleware.py    |  227 +--
 .../mcp_service/test_response_serialization.py     |  321 ++++
 ..._token_utils.py => test_response_size_utils.py} |  265 ++--
 .../mcp_service/utils/test_serialization.py        |  294 ++++
 .../migrations/shared/security_converge_test.py    |  218 +++
 .../test_deprecated_permissions_33272.py           |  420 ++++++
 tests/unit_tests/security/manager_test.py          |  431 +++++-
 tests/unit_tests/security/test_password_change.py  |   68 +-
 .../sql/dialects/databend_function_catalogue.txt   |  741 ++++++++++
 tests/unit_tests/sql/dialects/databend_tests.py    | 1553 ++++++++++++++++++++
 .../tasks/test_export_dashboard_excel.py           |  681 ++++++++-
 tests/unit_tests/utils/gcs_tests.py                |  120 ++
 tests/unit_tests/utils/s3_tests.py                 |  102 +-
 tests/unit_tests/utils/test_network.py             |   81 +-
 tests/unit_tests/views/test_error_handling.py      |  136 +-
 tests/unit_tests/views/test_utils.py               |   69 +-
 244 files changed, 20548 insertions(+), 2813 deletions(-)
 create mode 100644 
superset-frontend/packages/superset-ui-core/src/chart/components/Matrixify/virtualizationEvents.ts
 create mode 100644 
superset-frontend/packages/superset-ui-core/test/connection/SupersetClientCsrfRecovery.test.ts
 copy 
superset-frontend/src/components/ErrorMessage/{FrontendNetworkErrorMessage.test.tsx
 => CsrfErrorMessage.test.tsx} (59%)
 copy 
superset-frontend/src/components/ErrorMessage/{FrontendNetworkErrorMessage.tsx 
=> CsrfErrorMessage.tsx} (68%)
 create mode 100644 
superset-frontend/src/dashboard/util/removeUnreachableComponents.test.ts
 create mode 100644 
superset-frontend/src/dashboard/util/removeUnreachableComponents.ts
 create mode 100644 
superset-frontend/src/filters/components/Time/TimeFilterPlugin.test.tsx
 create mode 100644 superset-frontend/src/views/App.test.tsx
 create mode 100644 superset/dashboards/excel_export/download_link.py
 create mode 100644 superset/dashboards/layout.py
 create mode 100644 superset/mcp_service/chart/treemap_preview.py
 rename superset/mcp_service/utils/{token_utils.py => response_size_utils.py} 
(81%)
 create mode 100644 superset/mcp_service/utils/serialization.py
 create mode 100644 
superset/migrations/versions/2026-09-10_00-00_1f5f4fb8bfc1_delete_deprecated_permissions_33272.py
 create mode 100644 
superset/migrations/versions/2026-09-10_00-01_3ce9a4572f8a_rename_deprecated_permissions_33272.py
 copy superset/migrations/versions/{2016-09-19_17-22_b347b202819b_.py => 
2026-09-16_00-01_2ce579e91ae6_merge_deprecated_permissions_with_master.py} (79%)
 copy superset/migrations/versions/{2016-09-19_17-22_b347b202819b_.py => 
2026-09-17_00-00_53a7abc31422_merge_deprecated_permissions_with_master_v2.py} 
(76%)
 copy superset/migrations/versions/{2016-09-19_17-22_b347b202819b_.py => 
2026-09-23_00-00_95d8a99c822e_merge_deprecated_permissions_with_master_v3.py} 
(76%)
 create mode 100644 superset/sql/dialects/databend.py
 create mode 100644 superset/utils/export_storage.py
 create mode 100644 superset/utils/gcs.py
 create mode 100644 tests/unit_tests/dashboards/layout_test.py
 create mode 100644 
tests/unit_tests/dashboards/test_excel_export_download_link.py
 create mode 100644 
tests/unit_tests/mcp_service/chart/test_treemap_completeness.py
 create mode 100644 tests/unit_tests/mcp_service/test_error_classification.py
 create mode 100644 tests/unit_tests/mcp_service/test_response_serialization.py
 rename tests/unit_tests/mcp_service/utils/{test_token_utils.py => 
test_response_size_utils.py} (87%)
 create mode 100644 tests/unit_tests/mcp_service/utils/test_serialization.py
 create mode 100644 tests/unit_tests/migrations/shared/security_converge_test.py
 create mode 100644 
tests/unit_tests/migrations/test_deprecated_permissions_33272.py
 create mode 100644 
tests/unit_tests/sql/dialects/databend_function_catalogue.txt
 create mode 100644 tests/unit_tests/sql/dialects/databend_tests.py
 create mode 100644 tests/unit_tests/utils/gcs_tests.py

Reply via email to