This is an automated email from the ASF dual-hosted git repository.
jli pushed a change to branch fix-alert-report-tab-error
in repository https://gitbox.apache.org/repos/asf/superset.git
from 7f98456c93c fix(alerts): replace stale-anchor UI check with
payload-level assertion
add 868e719c60e chore(deps-dev): bump oxlint from 1.47.0 to 1.48.0 in
/superset-frontend (#38055)
add 65c460c9d26 chore(deps-dev): bump @swc/plugin-emotion from 14.5.0 to
14.6.0 in /superset-frontend (#38053)
add cd4cd537260 chore(deps-dev): bump css-loader from 7.1.3 to 7.1.4 in
/superset-frontend (#38050)
add 090eab099c0 chore(deps): bump storybook from 8.6.15 to 8.6.16 in /docs
(#38043)
add a30492f55e1 fix(plugin/cal-heatmap): properly color tooltip's text for
both dark/light theme (#38010)
add 9131739f98b fix(home): null check for possibly undefined filtered
other table data due to insufficient permission (#37983)
add 7b56fc1714c fix(docs): correct DB module filename for editing + update
DB metadata file (#37990)
add 0d2c8fd3737 chore(deps): bump @storybook/core from 8.6.15 to 8.6.16 in
/docs (#38046)
add 21481eef4fc chore(deps): bump the storybook group in /docs with 9
updates (#38067)
add 29f499528ff chore(deps-dev): bump eslint-plugin-testing-library from
7.15.4 to 7.16.0 in /superset-frontend (#38066)
add af3e0882331 build(deps): resolve GHSA-36jr-mh4h-2g58 by upgrading
d3-color to 3.1.0 (#37981)
add 11a36ff4887 chore(deps-dev): bump the storybook group across 1
directory with 11 updates (#38068)
add 9ec56f5f02b fix: Include app_root in next param (#37942)
add 33441ccf3db feat: add formatting column and formatting object to
conditional formating table (#35897)
add f54bbdc06b3 chore(deps): bump dawidd6/action-download-artifact from 14
to 15 (#38060)
add de079a7b199 feat(deps)!: bump postgresql from 16 to 17 (#37782)
add 6b80135aa28 chore(lint): enforce more strict eslint/oxlint rules
(batch 2) (#37884)
add c175346808a fix(table-charts): Prevent time grain from altering Raw
Records in Tables + Interactive Tables (#37561)
add 0b77ace1109 chore: fix lint issue with `no-unsafe-optional-chaining`
rule (#38103)
add f5a5a804e23 perf(dashboard): skip thumbnail_url computing on single
dashboard endpoint (#38015)
add b7a3224f040 feat: Larger folder drag area in folders editor (#38102)
add e12140beb65 fix: Warning toast copy in folders editor (#38099)
add 86c8fa5cd7b fix: Badge count in folders editor (#38100)
add f049d3e34aa fix: Search in folders editor with verbose names (#38101)
add 1f76944c2b1 fix: Add editors to ContributionConfig and additional
properties to EditorKeyword (#38098)
add 5cc8ae5427d chore(deps): bump ol from 7.5.2 to 10.8.0 in
/superset-frontend (#37961)
add 6a61baf5be8 fix(alerts): show friendly filter names in report edit
modal (#38054)
add 3868821dc81 fix(webpack): skip building service worker in dev (#38106)
add 5278deaf635 fix(metrics): normalize legacy currency strings (#37455)
add f4acce5727f fix(table): preserve time grain aggregation when temporal
column casing changes (#37893)
add 88f0e322e32 chore(deps): bump baseline-browser-mapping from 2.9.19 to
2.10.0 in /docs (#38113)
add 58d8aa01f82 chore(deps): bump react-intersection-observer from 10.0.2
to 10.0.3 in /superset-frontend (#38114)
add 69653dfd08b chore(deps-dev): bump baseline-browser-mapping from 2.9.19
to 2.10.0 in /superset-frontend (#38116)
add 1ecff6fe5c1 fix(thumbnails): stabilize digest by sorting datasources
and charts (#38079)
add 9f8b212ccc7 feat(mcp): add LIKE, ILIKE, IN, NOT IN filter operators to
MCP chart tools (#38071)
add 79372465757 fix(button): use colorLink token for link-style buttons
(#38121)
add e30a9caba51 fix(dataset-modal): fix folders tab scrollbar by
establishing proper flex chain (#38123)
add 6fdaa8e9b36 fix(crud): reorder table actions + improve react
memoization + improve hooks (#37897)
add 1a77e171799 fix(chart-customizations): support migration of dynamic
group by (#37176)
add 6f34ba7d4a9 fix(table-chart): support orderby adhoc columns with
server-side pagination (#37521)
add 2d44f52ad16 fix(encryption): resolve SECRET_KEY lazily to fix silent
re-encrypt-secrets failures (#37982)
add 44d6b6a5139 fix(table): preserve line breaks in cell content modal
(#37036)
add cff854b06e3 chore(deps-dev): bump oxlint from 1.48.0 to 1.49.0 in
/superset-frontend (#38115)
add b290f712452 fix(explore): prevent theme object from being passed to
ReactAce in TextAreaControl (#38117)
add b565128fe76 fix(charts): improve error display for failed charts in
dashboards (#37939)
add 577b965a601 chore(deps-dev): bump ajv from 6.12.6 to 6.14.0 in
/superset-frontend (#38132)
add 3d6644864d4 build(deps): migrate to lighter and modern `react-icons`
(#38125)
add 987b6a6f041 chore(deps): bump swagger-ui-react from 5.31.1 to 5.31.2
in /docs (#38140)
add 5e6524954c8 chore(deps): pin react-icons to 5.4.0 in
/superset-frontend (#38144)
add 82fce8d7de8 chore(deps-dev): bump @types/node from 25.2.3 to 25.3.0 in
/superset-frontend (#38143)
add 5bee32ea93d chore(deps): bump aquasecurity/trivy-action from 0.34.0 to
0.34.1 (#38138)
add 6424194c874 chore(deps): bump underscore from 1.13.7 to 1.13.8 in
/superset-frontend (#38142)
add 159fb5d6f4a chore(deps-dev): bump ajv from 6.12.6 to 6.14.0 in
/superset-frontend/cypress-base (#38131)
add a87a006aaeb ci: declare explicit permissions in maintenance workflows
(#38159)
add 672a3805876 chore(frontend): enable additional oxlint rules for better
code hygiene (#38145)
add 3f64ad3da5e fix(i18n): wrap untranslated frontend strings and add i18n
lint rule (#37776)
add 2a3567d2f11 fix(mcp): Remove unsupported thumbnail/preview URLs and
internal fields from MCP schemas (#38109)
add cbb80f04627 refactor(extensions): simplify registerEditorProvider API
(#38127)
add 6f3a200c190 chore(deps-dev): bump @types/lodash from 4.17.23 to
4.17.24 in /superset-websocket (#38179)
add 131a97b6579 fix(handlebars): add missing currencyformatter.js
dependency (#38173)
add 50cc1b93d22 fix(security): fix Guest Token API 422 error by disabling
JWT sub claim verification (#38177)
add 6e94a6c21af fix(mcp): fix dashboard chart placement with proper COLUMN
layout and tab support (#37970)
add 40f609fdce2 fix(extensions): enforce correct naming conventions
(#38167)
add 228b5984096 feat: Labels for encrypted fields (#38075)
add c4eb7de6de8 fix(excel): remove unwanted index column from Excel
exports (#38176)
add e06427d1efe feat(embedded): add feature flag to disable logout button
in embedded contexts (#37537)
add 08a10e79916 Merge remote-tracking branch 'origin/master' into
fix-alert-report-tab-error
No new revisions were added by this update.
Summary of changes:
.github/dependabot.yml | 24 +
.github/workflows/docker.yml | 2 +-
.github/workflows/no-hold-label.yml | 3 +
.github/workflows/pre-commit.yml | 3 +
.github/workflows/superset-app-cli.yml | 2 +-
.github/workflows/superset-docs-deploy.yml | 4 +-
.github/workflows/superset-docs-verify.yml | 2 +-
.github/workflows/superset-e2e.yml | 4 +-
.github/workflows/superset-playwright.yml | 2 +-
.../workflows/superset-python-integrationtest.yml | 2 +-
.github/workflows/superset-python-presto-hive.yml | 4 +-
.github/workflows/tech-debt.yml | 3 +
docker-compose-image-tag.yml | 2 +-
docker-compose-light.yml | 2 +-
docker-compose-non-dev.yml | 2 +-
docker-compose.yml | 2 +-
docs/developer_portal/extensions/development.md | 44 +-
.../extensions/extension-points/editors.md | 8 +-
docs/developer_portal/extensions/quick-start.md | 56 +-
docs/docs/configuration/configuring-superset.mdx | 8 +-
docs/docs/configuration/networking-settings.mdx | 18 +
docs/package.json | 22 +-
docs/src/components/databases/DatabasePage.tsx | 8 +-
docs/src/data/databases.json | 170 +-
docs/static/feature-flags.json | 8 +
docs/yarn.lock | 679 +--
helm/superset/Chart.lock | 6 +-
helm/superset/Chart.yaml | 4 +-
helm/superset/README.md | 4 +-
.../src/superset_core/extensions/types.py | 9 +
.../src/superset_extensions_cli/cli.py | 174 +-
.../src/superset_extensions_cli/exceptions.py | 6 +-
.../templates/backend/pyproject.toml.j2 | 2 +-
.../templates/backend/src/package/entrypoint.py.j2 | 2 +-
.../templates/extension.json.j2 | 5 +-
.../templates/frontend/webpack.config.js.j2 | 2 +-
.../src/superset_extensions_cli}/types.py | 33 +-
.../src/superset_extensions_cli/utils.py | 262 +
superset-extensions-cli/tests/conftest.py | 8 +-
superset-extensions-cli/tests/test_cli_init.py | 139 +-
.../tests/test_name_transformations.py | 400 ++
superset-extensions-cli/tests/test_templates.py | 73 +-
superset-frontend/.eslintrc.js | 18 +-
superset-frontend/.eslintrc.minimal.js | 5 +-
superset-frontend/.storybook/main.js | 2 +-
superset-frontend/cypress-base/package-lock.json | 112 +-
superset-frontend/jest.config.js | 2 +-
superset-frontend/oxlint.json | 29 +-
superset-frontend/package-lock.json | 2707 ++++-----
superset-frontend/package.json | 41 +-
.../plugin-chart/templates/package-lock.erb | 18 -
.../packages/superset-core/src/api/editors.ts | 18 +-
.../src/ui/components/Alert/index.tsx | 3 +-
.../packages/superset-core/src/ui/theme/types.ts | 1 +
.../superset-core/src/ui/theme/utils/themeUtils.ts | 18 +-
.../superset-ui-chart-controls/package.json | 1 -
.../src/shared-controls/mixins.tsx | 4 +-
.../src/shared-controls/sharedControls.tsx | 14 +-
.../superset-ui-chart-controls/src/types.ts | 11 +
.../src/utils/getColorFormatters.ts | 2 +
.../packages/superset-ui-core/package.json | 2 +-
.../components/Matrixify/MatrixifyGridCell.tsx | 3 +-
.../src/chart/components/StatefulChart.tsx | 3 +-
.../src/components/Button/Button.stories.tsx | 2 +-
.../src/components/Button/index.tsx | 42 +-
.../src/components/Layout/Layout.test.tsx | 8 +-
.../src/components/Loading/index.tsx | 9 +-
.../src/components/MetadataBar/ContentConfig.tsx | 2 +-
.../src/components/MetadataBar/MetadataBar.tsx | 4 +-
.../src/components/Modal/Modal.tsx | 2 +-
.../src/connection/callApi/callApi.ts | 10 +-
.../superset-ui-core/src/query/types/Dashboard.ts | 29 +
.../superset-ui-core/src/utils/featureFlags.ts | 1 +
.../test/connection/callApi/callApi.test.ts | 15 +
.../test/utils/getSelectedText.test.ts | 3 +-
.../src/ReactCalendar.tsx | 2 +-
.../legacy-plugin-chart-horizon/package.json | 2 +-
.../src/TTestTable.tsx | 2 +-
.../plugins/legacy-plugin-chart-rose/src/Rose.ts | 2 +-
.../legacy-preset-chart-deckgl/package.json | 6 +-
.../plugin-chart-ag-grid-table/package.json | 1 -
.../src/AgGridTable/components/CustomPopover.tsx | 20 +-
.../src/AgGridTable/index.tsx | 4 +-
.../src/AgGridTableChart.tsx | 18 +-
.../plugin-chart-ag-grid-table/src/buildQuery.ts | 2 +-
.../src/controlPanel.tsx | 48 +-
.../src/transformProps.ts | 175 +-
.../src/utils/agGridFilterConverter.ts | 82 +-
.../test/AgGridTableChart.test.tsx | 359 ++
.../plugins/plugin-chart-cartodiagram/package.json | 2 +-
.../test/BigNumber/transformProps.test.ts | 16 +-
.../test/MixedTimeseries/transformProps.test.ts | 2 +-
.../test/Timeseries/transformProps.test.ts | 30 +-
.../plugins/plugin-chart-handlebars/package.json | 1 +
.../src/components/Handlebars/HandlebarsViewer.tsx | 2 +-
.../plugins/plugin-chart-pivot-table/package.json | 2 +-
.../src/react-pivottable/TableRenderers.tsx | 6 +-
.../plugins/plugin-chart-table/package.json | 2 +-
.../plugin-chart-table/src/DataTable/DataTable.tsx | 4 +-
.../src/DataTable/components/GlobalFilter.tsx | 5 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 80 +-
.../plugins/plugin-chart-table/src/buildQuery.ts | 2 +-
.../plugin-chart-table/src/controlPanel.tsx | 85 +-
.../plugin-chart-table/src/transformProps.ts | 212 +-
.../plugin-chart-table/test/TableChart.test.tsx | 65 +-
.../test/controlPanel.test.ts | 0
.../plugins/plugin-chart-word-cloud/package.json | 2 +-
superset-frontend/scripts/check-custom-rules.js | 366 +-
.../components/EditorWrapper/useKeywords.test.ts | 4 +-
.../SqlLab/components/EditorWrapper/useKeywords.ts | 2 +-
.../src/SqlLab/components/TablePreview/index.tsx | 6 +-
.../src/SqlLab/reducers/getInitialState.ts | 3 +-
.../src/components/Chart/Chart.test.tsx | 88 +
superset-frontend/src/components/Chart/Chart.tsx | 16 +-
.../src/components/DatabaseSelector/index.tsx | 4 +-
.../Datasource/DatasourceModal/index.tsx | 17 +-
.../Datasource/FoldersEditor/TreeItem.styles.ts | 15 +-
.../Datasource/FoldersEditor/TreeItem.tsx | 5 +-
.../Datasource/FoldersEditor/constants.ts | 3 +
.../FoldersEditor/folderOperations.test.ts | 37 +
.../Datasource/FoldersEditor/folderOperations.ts | 8 +-
.../FoldersEditor/hooks/useDragHandlers.ts | 4 +-
.../components/Datasource/FoldersEditor/styles.tsx | 2 +-
.../Datasource/FoldersEditor/treeUtils.test.ts | 59 +
.../Datasource/FoldersEditor/treeUtils.ts | 19 +
.../components/CollectionTable/index.tsx | 2 +-
.../DatasourceEditor/DatasourceEditor.tsx | 56 +-
.../src/components/ErrorMessage/IssueCode.tsx | 3 +-
.../ErrorMessage/OAuth2RedirectMessage.tsx | 13 +-
.../src/components/GridTable/Header.tsx | 5 +-
.../src/components/JsonModal/index.tsx | 30 +-
superset-frontend/src/components/ListView/utils.ts | 5 +-
.../src/components/MessageToasts/Toast.tsx | 3 +-
.../src/components/MessageToasts/reducers.ts | 2 +-
.../src/core/editors/AceEditorProvider.tsx | 2 +
superset-frontend/src/core/editors/index.ts | 24 +-
superset-frontend/src/dashboard/actions/hydrate.ts | 8 +-
.../dashboard/components/EmbeddedModal/index.tsx | 2 +-
.../RefreshFrequency/RefreshFrequencySelect.tsx | 4 +-
.../components/SliceHeaderControls/index.tsx | 2 +-
.../components/URLShortLinkButton/index.tsx | 2 +-
.../FilterBarSettings/FilterBarSettings.test.tsx | 20 +-
.../FilterBar/FilterBarSettings/index.tsx | 4 +-
.../FilterBar/FilterControls/FilterControls.tsx | 6 +-
.../components/nativeFilters/FilterBar/state.ts | 14 +-
.../ConfigModalSidebar/ConfigModalSidebar.tsx | 4 +-
.../FiltersConfigModal/DraggableFilter.tsx | 3 +-
.../FiltersConfigModal/FilterConfigPane.test.tsx | 2 +-
.../FiltersConfigModal/FilterTitleContainer.tsx | 2 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 2 +-
.../nativeFilters/FiltersConfigModal/utils.ts | 7 +-
.../dashboard/components/nativeFilters/state.ts | 53 +-
.../src/dashboard/util/getOverwriteItems.ts | 2 +-
.../src/dashboard/util/isValidChild.test.ts | 2 +-
.../util/migrateChartCustomization.test.ts | 490 ++
.../dashboard/util/migrateChartCustomization.ts | 155 +
superset-frontend/src/dataMask/reducer.ts | 14 +-
.../src/explore/components/EmbedCodeContent.tsx | 2 +-
.../explore/components/PropertiesModal/index.tsx | 2 +-
.../src/explore/components/SaveModal.tsx | 4 +-
.../AnnotationLayerControl/AnnotationLayer.tsx | 4 +-
.../controls/AnnotationLayerControl/index.tsx | 2 +-
.../CollectionControl/CollectionControl.test.tsx | 2 +-
.../controls/CollectionControl/index.tsx | 2 +-
.../ConditionalFormattingControl.tsx | 5 +-
.../FormattingPopover.tsx | 4 +-
.../FormattingPopoverContent.test.tsx | 137 +-
.../FormattingPopoverContent.tsx | 264 +-
.../ConditionalFormattingControl/constants.ts | 72 +
.../controls/ConditionalFormattingControl/types.ts | 25 +-
.../CurrencyControl/CurrencyControl.test.tsx | 29 +-
.../controls/CurrencyControl/CurrencyControl.tsx | 39 +-
.../ColumnSelectPopover.test.tsx | 4 +-
.../ColumnSelectPopoverTrigger.tsx | 20 +-
.../DndColumnSelectControl/useResizeButton.tsx | 4 +-
.../FilterControl/AdhocFilterEditPopover/index.tsx | 2 +-
.../controls/MetricControl/AdhocMetric.ts | 54 +-
.../MetricControl/AdhocMetricEditPopover/index.tsx | 2 +-
.../controls/SelectAsyncControl/index.tsx | 2 +-
.../explore/components/controls/SelectControl.tsx | 2 +-
.../components/controls/TextAreaControl.tsx | 59 +-
.../controls/VizTypeControl/FastVizSwitcher.tsx | 3 +-
.../VizTypeControl/VizTypeControl.test.tsx | 4 +-
.../ZoomConfigControl/ZoomConfigControl.tsx | 4 +-
.../controlUtils/getColumnKeywords.test.tsx | 2 +-
.../src/explore/controlUtils/getColumnKeywords.tsx | 2 +-
.../src/extensions/ExtensionsManager.ts | 4 +-
.../src/features/alerts/AlertReportModal.test.tsx | 311 +-
.../src/features/alerts/AlertReportModal.tsx | 35 +-
.../DatabaseConnectionForm/CommonParameters.tsx | 8 +-
.../DatabaseConnectionForm/OAuth2ClientField.tsx | 13 +-
.../DatabaseConnectionForm/ValidatedInputField.tsx | 6 +-
.../databases/DatabaseModal/ExtraOptions.tsx | 2 +-
.../databases/DatabaseModal/SSHTunnelForm.tsx | 8 +-
.../src/features/databases/DatabaseModal/index.tsx | 25 +-
.../databases/UploadDataModel/ColumnsPreview.tsx | 2 +-
.../features/databases/UploadDataModel/index.tsx | 9 +-
.../datasets/AddDataset/RightPanel/index.tsx | 4 +-
.../src/features/home/DashboardTable.tsx | 4 +-
.../src/features/home/RightMenu.test.tsx | 83 +
superset-frontend/src/features/home/RightMenu.tsx | 33 +-
.../src/features/userInfo/UserInfoModal.tsx | 2 +-
.../src/features/users/UserListModal.tsx | 2 +-
.../src/hooks/apiResources/dashboards.test.ts | 23 +-
.../src/hooks/apiResources/dashboards.ts | 35 +-
.../pages/ChartList/ChartList.listview.test.tsx | 4 -
superset-frontend/src/pages/ChartList/index.tsx | 216 +-
.../src/pages/DashboardList/index.tsx | 135 +-
superset-frontend/src/pages/DatabaseList/index.tsx | 227 +-
superset-frontend/src/pages/DatasetList/index.tsx | 141 +-
superset-frontend/src/pages/Register/index.tsx | 8 +-
.../src/pages/RowLevelSecurityList/index.tsx | 80 +-
.../src/pages/SavedQueryList/index.tsx | 14 +-
superset-frontend/src/pages/ThemeList/index.tsx | 18 +-
superset-frontend/src/pages/UserInfo/index.tsx | 36 +-
superset-frontend/src/views/CRUD/hooks.test.tsx | 889 ++-
superset-frontend/src/views/CRUD/hooks.ts | 137 +-
superset-frontend/src/views/CRUD/types.ts | 2 +-
superset-frontend/src/views/CRUD/utils.tsx | 60 +-
superset-frontend/webpack.config.js | 16 +-
superset-websocket/package-lock.json | 14 +-
superset-websocket/package.json | 2 +-
superset/common/query_context_processor.py | 4 +-
superset/config.py | 12 +
superset/connectors/sqla/models.py | 3 +-
superset/dashboards/api.py | 28 +-
superset/datasets/schemas.py | 22 +-
superset/db_engine_specs/base.py | 29 +-
superset/db_engine_specs/bigquery.py | 4 +-
superset/db_engine_specs/gsheets.py | 11 +-
superset/db_engine_specs/mysql.py | 4 +-
superset/db_engine_specs/postgres.py | 4 +-
superset/db_engine_specs/redshift.py | 4 +-
superset/db_engine_specs/snowflake.py | 4 +-
superset/db_engine_specs/ydb.py | 5 +-
superset/extensions/utils.py | 29 +
superset/mcp_service/chart/chart_utils.py | 5 +
superset/mcp_service/chart/schemas.py | 58 +-
superset/mcp_service/chart/tool/get_chart_info.py | 3 +-
.../mcp_service/chart/tool/get_chart_preview.py | 7 +-
.../create_form_data.py => dashboard/constants.py} | 23 +-
superset/mcp_service/dashboard/schemas.py | 3 -
.../tool/add_chart_to_existing_dashboard.py | 162 +-
.../dashboard/tool/generate_dashboard.py | 42 +-
superset/models/helpers.py | 15 +
superset/models/sql_types/__init__.py | 7 +
superset/models/sql_types/base.py | 106 +
superset/thumbnails/digest.py | 4 +-
superset/translations/ar/LC_MESSAGES/messages.po | 3274 ++++++++--
superset/translations/ca/LC_MESSAGES/messages.po | 5178 ++++++++++++----
superset/translations/de/LC_MESSAGES/messages.po | 3272 ++++++++--
superset/translations/en/LC_MESSAGES/messages.po | 2621 ++++++--
superset/translations/es/LC_MESSAGES/messages.po | 5661 ++++++++++++++----
superset/translations/fa/LC_MESSAGES/messages.po | 3266 ++++++++--
superset/translations/fr/LC_MESSAGES/messages.po | 1540 ++++-
superset/translations/it/LC_MESSAGES/messages.po | 3155 ++++++++--
superset/translations/ja/LC_MESSAGES/messages.po | 3245 ++++++++--
superset/translations/ko/LC_MESSAGES/messages.po | 3105 ++++++++--
superset/translations/messages.pot | 2615 ++++++--
superset/translations/mi/LC_MESSAGES/messages.po | 6248 ++++++++++++++------
superset/translations/nl/LC_MESSAGES/messages.po | 3280 ++++++++--
superset/translations/pl/LC_MESSAGES/messages.po | 3303 +++++++++--
superset/translations/pt/LC_MESSAGES/messages.po | 3188 ++++++++--
.../translations/pt_BR/LC_MESSAGES/messages.po | 3291 +++++++++--
superset/translations/ru/LC_MESSAGES/messages.po | 4670 +++++++++------
superset/translations/sk/LC_MESSAGES/messages.po | 2829 +++++++--
superset/translations/sl/LC_MESSAGES/messages.po | 3254 ++++++++--
superset/translations/tr/LC_MESSAGES/messages.po | 3077 ++++++++--
superset/translations/uk/LC_MESSAGES/messages.po | 3296 +++++++++--
superset/translations/zh/LC_MESSAGES/messages.po | 3252 ++++++++--
.../translations/zh_TW/LC_MESSAGES/messages.po | 3255 ++++++++--
superset/utils/encrypt.py | 2 +-
superset/views/utils.py | 4 +-
tests/integration_tests/dashboards/api_tests.py | 81 +
tests/integration_tests/datasets/api_tests.py | 2 +-
.../test_subdirectory_deployments.py | 56 +
tests/integration_tests/utils/encrypt_tests.py | 76 +-
.../common/test_query_context_processor.py | 4 +-
tests/unit_tests/dashboards/api_test.py | 99 +
tests/unit_tests/datasets/schema_tests.py | 56 +
tests/unit_tests/db_engine_specs/test_base.py | 45 +
tests/unit_tests/db_engine_specs/test_gsheets.py | 20 +
.../mcp_service/chart/test_chart_utils.py | 167 +
.../chart/tool/test_get_chart_preview.py | 1 -
.../mcp_service/chart/tool/test_list_charts.py | 4 +-
.../dashboard/tool/test_dashboard_generation.py | 399 +-
tests/unit_tests/models/helpers_test.py | 40 +
.../unit_tests/models/sql_types}/__init__.py | 0
.../models/sql_types/currency_type_test.py | 129 +
tests/unit_tests/thumbnails/test_digest.py | 59 +
290 files changed, 74061 insertions(+), 19217 deletions(-)
copy superset/sql/execution/__init__.py =>
superset-extensions-cli/src/superset_extensions_cli/exceptions.py (88%)
copy {superset/extensions =>
superset-extensions-cli/src/superset_extensions_cli}/types.py (55%)
create mode 100644 superset-extensions-cli/tests/test_name_transformations.py
create mode 100644
superset-frontend/plugins/plugin-chart-ag-grid-table/test/AgGridTableChart.test.tsx
copy superset-frontend/plugins/{plugin-chart-ag-grid-table =>
plugin-chart-table}/test/controlPanel.test.ts (100%)
create mode 100644 superset-frontend/src/components/Chart/Chart.test.tsx
create mode 100644
superset-frontend/src/dashboard/util/migrateChartCustomization.test.ts
create mode 100644
superset-frontend/src/dashboard/util/migrateChartCustomization.ts
create mode 100644
superset-frontend/src/explore/components/controls/ConditionalFormattingControl/constants.ts
copy superset/mcp_service/{commands/create_form_data.py =>
dashboard/constants.py} (61%)
create mode 100644 superset/models/sql_types/base.py
create mode 100644 tests/unit_tests/dashboards/api_test.py
copy {superset-core/src/superset_core/api =>
tests/unit_tests/models/sql_types}/__init__.py (100%)
create mode 100644 tests/unit_tests/models/sql_types/currency_type_test.py