You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by jl...@apache.org on 2026/09/28 18:34:01 UTC
(superset) branch test/dashboard-header-controls updated (49a9d414ff3 -> fdaf6deb1ee)
This is an automated email from the ASF dual-hosted git repository.
sadpandajoe pushed a change to branch test/dashboard-header-controls
in repository https://gitbox.apache.org/repos/asf/superset.git
from 49a9d414ff3 test(dashboard): cover header refresh controls while charts load
add 5aec4342bb5 fix(database): catch JSONDecodeError in get_oauth2_config (#44658)
add 10ca640e97e fix(import): downgrade expected validation-failure logs from error to warning (#44655)
add 181422fc604 fix(mcp): return safe argument validation details (#44591)
add 05017968378 chore(ci): collapse Playwright experimental workflow into E2E playwright-tests (#44659)
add a33154a4c49 chore(deps-dev): bump hdbcli from 2.29.27 to 2.30.27 (#44687)
add 60a0b45b06f chore(deps-dev): bump mysqlclient from 2.2.8 to 2.3.0 (#44689)
add 1aaa1e6ad1a chore(deps): bump greenlet from 3.5.5 to 3.5.6 (#44691)
add 1a65f0ec9be chore(deps-dev): bump google-cloud-bigquery from 3.45.0 to 3.45.2 (#44692)
add b4db7baaff5 chore(deps-dev): bump python-ldap from 3.4.7 to 3.4.8 (#44690)
add 6e2e7c6c84f chore(deps-dev): update playwright requirement from <2,>=1.62.0 to >=1.63.0,<2 (#44688)
add 5b9733fd60f fix(versioning): resolve nightly pre-commit (next) failures — mypy UUID-annotation regression and oxfmt version-drift formatting (#44648)
add eb2ffa28ccf chore(docker): quiet scanner self-match noise, keep OS packages current (#44124)
add 2e13cfa3e48 fix(charts): stream large CSV exports without executing the query first (#44624)
add 25e63b54fd8 feat(mcp): add create_dataset_metric and delete_dataset_metric tools (#44580)
add c54a3315e86 feat(plugin-chart-echarts): add Candlestick Chart (#43863)
add 891c2ede0b6 feat(dashboard): download the Excel export directly when no export storage is configured (#44082)
add 35e58506061 fix(charts): guard Slice.form_data against non-dict params JSON (#44731)
add 8a3b86dccd3 fix: guard the isdigit()-then-int() pattern against non-decimal digits (#44620)
add 1436035b091 fix(bar-chart): show correct value labels per stack group with stackDimension (#43238)
add ad24cb86342 fix(embedded): initialize feature flags in embedded dashboard entry point (#37367)
add 8c4b5ae2085 chore(deps): bump codecov/codecov-action from 7.1.0 to 7.1.1 (#44571)
add b6be1dd5548 build(dev-deps): use `@hainenber/po2json` as modernized `po2json` fork (#44457)
add ffe9a00fc42 fix(reports): export full paginated table results (#44218)
add f3e3c3fefdd fix(security): apply global guest RLS rules to sub-queries in virtual datasets (#44650)
add 049c9777f03 fix(dashboard): load chart editors and viewers up front (#43990)
add 5ba3b8d4fc7 fix(security): keep guest RLS on sub-queries beside an unaliased source (#44768)
add d1307422f17 fix(reports): require a Slack channel id in report recipients (#42850)
add 4977a2a5347 chore(deps-dev): bump the babel group in /superset-embedded-sdk with 3 updates (#44747)
add ba6268bddf6 chore(deps-dev): bump jest-environment-jsdom from 30.5.1 to 30.5.2 in /superset-frontend (#44764)
add a5ae32d3911 chore(deps-dev): bump tsx from 4.23.13 to 4.23.15 in /superset-frontend (#44757)
add d9df1b3b83d chore(deps): bump astral-sh/setup-uv from 10.1.0 to 10.2.0 (#44750)
add 1ad6c118003 chore(deps-dev): bump minimizer-webpack-plugin from 5.10.1 to 5.11.0 in /superset-frontend (#44755)
add ca6fc26fa4a fix(deps): resolve npm security alerts for fflate, image-size, js-yaml and smol-toml (#44740)
add f6d9b7b94cd fix(mcp): use chart metrics for the preview y axis (#44684)
add b2d54504537 chore(deps): bump antd from 6.6.4 to 6.6.5 in /superset-frontend (#44766)
add c217fe4d1e7 chore(deps-dev): bump jest from 30.5.1 to 30.5.2 in /superset-frontend (#44763)
add 0085640384d chore(deps-dev): bump babel-jest from 30.5.1 to 30.5.2 in /superset-frontend (#44762)
add e8539f9aff8 chore(deps-dev): bump @types/node from 26.6.1 to 26.6.2 in /superset-frontend (#44761)
add 7c1979ec542 chore(deps): bump react-error-boundary from 6.1.5 to 6.1.6 in /superset-frontend (#44760)
add 21ed6880d5e chore(deps-dev): bump webpack from 5.111.0 to 5.111.1 in /superset-frontend (#44756)
add 6ae6e7b2874 chore(deps-dev): bump webpack from 5.111.0 to 5.111.1 in /docs (#44753)
add 6de85946c40 chore(deps-dev): bump @babel/eslint-parser from 7.29.7 to 7.29.9 in /superset-frontend in the babel group (#44752)
add 565f49d9343 chore(deps): bump antd from 6.6.4 to 6.6.5 in /docs (#44751)
add 1c2e7c2988f chore(deps-dev): bump webpack from 5.111.0 to 5.111.1 in /superset-embedded-sdk (#44749)
add feb4c4f6227 chore(deps-dev): bump @types/node from 26.6.1 to 26.6.2 in /superset-embedded-sdk (#44748)
add 60fc9966025 chore(deps-dev): bump @types/node from 26.6.1 to 26.6.2 in /superset-websocket (#44745)
add 68ccc99e950 fix(dataset): hide Normalize column names for virtual datasets (#44579)
add 766f46b6e99 fix(deps): pin qs 6.16.0 in docs to resolve Dependabot alerts (#44741)
add 5af034ff6f8 fix(translations): capture stderr and harden check_pot_drift.py follow-ups from #44578 (#44582)
add c9455b2c4cc fix(i18n): correct Slovak SQL Lab progress message placeholders (#44587)
add a629c91929d test(explore): migrate remaining explore e2e coverage to Playwright (#44621)
add 891dbc424b1 fix(deps): bump anyio to 4.15.1 (CVE-2026-63374) (#44735)
add 74d9d94aed1 test(dashboard): cover native filter dependency cycles and config modal save gating (#44669)
add 169514aebd7 test(dashboard): cover dashboard load modes and URL param hydration (#44672)
add 3667f5bcaa6 test(dashboard): cover color scheme precedence and label color map helpers (#44677)
add 89bf40ee04e fix(calendar): position Month/Week cells within their own month block (#44601)
add 0e688a534b6 fix(ci): retry databend testcontainers bring-up past the image's metasrv race (#44729)
add ff55a99ab73 test(dashboard): cover filter plugin data masks and horizontal overflow (#44676)
add 78fdd0dafa9 test(dashboard): cover native filter bar key persistence and state hooks (#44675)
add e5100cd9986 test(dashboard): cover tab switching visibility and hidden chart updates (#44674)
add 3ae8e2f9bc4 test(dashboard): cover save and refresh interval modals (#44671)
add 98c74d8d8bf test(dashboard): cover drill to detail payloads and page reset (#44673)
add 6cad838c823 chore(dev-deps): drop po2json entirely, build .po->Jed JSON on gettext-parser (#44742)
add fdaf6deb1ee Merge remote-tracking branch 'origin/master' into pr-44670
No new revisions were added by this update.
Summary of changes:
.github/workflows/bashlib.sh | 6 +-
.github/workflows/bump-python-package.yml | 2 +-
.github/workflows/superset-e2e.yml | 22 +-
.github/workflows/superset-extensions-cli.yml | 2 +-
.github/workflows/superset-frontend.yml | 2 +-
.github/workflows/superset-playwright.yml | 222 ----
.../workflows/superset-python-integrationtest.yml | 6 +-
.github/workflows/superset-python-presto-hive.yml | 4 +-
.github/workflows/superset-python-unittest.yml | 2 +-
.grype.yaml | 39 +
UPDATING.md | 85 +-
docker/apt-install.sh | 8 +
docs/admin_docs/configuration/mcp-server.mdx | 9 +
docs/developer_docs/contributing/howtos.md | 5 +-
docs/developer_docs/extensions/mcp.md | 17 +
.../using-superset/exporting-dashboard-data.mdx | 112 +-
.../docs/using-superset/using-ai-with-superset.mdx | 19 +
docs/package.json | 5 +-
docs/static/resources/openapi.json | 16 +-
docs/yarn.lock | 24 +-
pyproject.toml | 12 +-
requirements/base.txt | 2 +-
requirements/development.txt | 12 +-
scripts/change_detector.py | 1 +
scripts/translations/check_pot_drift.py | 52 +-
superset-embedded-sdk/package-lock.json | 168 +--
superset-embedded-sdk/package.json | 10 +-
.../cypress-base/cypress/e2e/explore/chart.test.js | 157 ---
.../cypress-base/cypress/e2e/explore/utils.ts | 78 --
.../e2e/explore/visualizations/shared.helper.js | 139 ---
superset-frontend/cypress-base/package-lock.json | 16 +-
superset-frontend/cypress-base/package.json | 2 +-
superset-frontend/jest.config.js | 6 +-
superset-frontend/package-lock.json | 846 +++++++------
superset-frontend/package.json | 35 +-
.../packages/generator-superset/package.json | 2 +-
.../packages/superset-ui-core/package.json | 4 +-
.../superset-ui-core/src/chart/types/VizType.ts | 1 +
.../src/query/extractQueryFields.ts | 4 +
.../test/query/extractQueryFields.test.ts | 12 +
superset-frontend/playwright.config.ts | 9 -
.../playwright/components/core/Menu.ts | 7 +
.../playwright/components/core/Radio.ts | 69 ++
.../playwright/components/core/index.ts | 1 +
.../playwright/components/modals/SaveChartModal.ts | 105 ++
.../playwright/components/modals/index.ts | 1 +
superset-frontend/playwright/helpers/api/chart.ts | 44 +
.../playwright/helpers/api/dashboard.ts | 37 +
superset-frontend/playwright/pages/ExplorePage.ts | 95 ++
.../playwright/tests/chart/chart-test-helpers.ts | 24 +-
.../tests/chart/handlebars-format-date.spec.ts | 2 +-
.../tests/dashboard/gauge-interval-colors.spec.ts | 2 +-
.../mixed-chart-dashboard-filters.spec.ts | 2 +-
.../tests/embedded/pivot-collapse-state.spec.ts | 2 +-
.../playwright/tests/experimental/README.md | 123 --
.../explore/cross-referenced-dashboards.spec.ts | 173 +++
.../tests/explore/explore-no-results.spec.ts | 59 +
.../playwright/tests/explore/explore-save.spec.ts | 131 ++
.../tests/explore/explore-test-helpers.ts | 50 +
.../explore/results-tab-reuse.spec.ts | 16 +-
.../src/vendor/cal-heatmap.ts | 60 +-
.../plugin-chart-calendar/test/cal-heatmap.test.ts | 40 +
.../src/BigNumber/BigNumberViz.test.tsx | 131 +-
.../src/Candlestick/EchartsCandlestick.tsx | 174 +++
.../src/{Bubble => Candlestick}/buildQuery.ts | 19 +-
.../src/Candlestick/constants.ts | 61 +
.../src/Candlestick/controlPanel.tsx | 417 +++++++
.../src/Candlestick/images/example1-dark.png | Bin 0 -> 55933 bytes
.../src/Candlestick/images/example1.png | Bin 0 -> 56139 bytes
.../src/Candlestick/images/thumbnail-dark.png | Bin 0 -> 31389 bytes
.../src/Candlestick/images/thumbnail.png | Bin 0 -> 31318 bytes
.../src/{Tree => Candlestick}/index.ts | 32 +-
.../src/Candlestick/transformProps.ts | 770 ++++++++++++
.../plugin-chart-echarts/src/Candlestick/types.ts | 84 ++
.../plugin-chart-echarts/src/Candlestick/utils.ts | 91 ++
.../src/Timeseries/transformProps.ts | 67 +-
.../src/Timeseries/transformers.ts | 45 +-
.../src/components/Echart.test.tsx | 1 +
.../plugin-chart-echarts/src/components/Echart.tsx | 2 +
.../plugins/plugin-chart-echarts/src/index.ts | 2 +
.../plugin-chart-echarts/src/utils/series.ts | 76 +-
.../test/Candlestick/EchartsCandlestick.test.tsx | 325 +++++
.../test/Candlestick}/buildQuery.test.ts | 48 +-
.../test/Candlestick/controlPanel.test.ts | 257 ++++
.../test/Candlestick/transformProps.test.ts | 1271 ++++++++++++++++++++
.../test/Candlestick/utils.test.ts | 53 +
.../test/Timeseries/Bar/transformProps.test.ts | 101 +-
.../test/Timeseries/transformProps.test.ts | 228 ++++
.../test/Treemap/EchartsTreemap.test.tsx | 123 ++
.../test/utils/eventHandlers.test.ts | 74 ++
.../plugin-chart-echarts/test/utils/series.test.ts | 96 +-
.../plugins/plugin-chart-handlebars/package.json | 2 +-
.../plugins/plugin-chart-pivot-table/package.json | 2 +-
.../scripts/{commitlint.js => po2json-cli.js} | 37 +-
superset-frontend/scripts/po2json.js | 96 ++
superset-frontend/scripts/po2json.sh | 6 +-
superset-frontend/spec/scripts/po2json.test.ts | 130 ++
.../Chart/DrillDetail/DrillDetailPane.test.tsx | 74 +-
.../useDrillDetailMenuItems.test.tsx | 26 +
.../DatasourceEditor/DatasourceEditor.tsx | 22 +-
.../tests/DatasourceEditor.test.tsx | 31 +
.../src/dashboard/actions/hydrate.test.ts | 137 ++-
.../src/dashboard/components/Dashboard.test.tsx | 13 +
.../dashboard/components/Header/Header.test.tsx | 35 +-
.../components/RefreshIntervalModal.test.tsx | 114 ++
.../src/dashboard/components/SaveModal.test.tsx | 178 +++
.../components/gridComponents/Chart/Chart.test.tsx | 16 +
.../components/gridComponents/Tabs/Tabs.test.tsx | 52 +
.../DownloadMenuItems/DownloadMenuItems.test.tsx | 320 ++++-
.../components/menu/DownloadMenuItems/index.tsx | 126 +-
.../nativeFilters/FilterBar/FilterBar.test.tsx | 169 +++
.../FilterControls.overflow.test.tsx | 93 +-
.../nativeFilters/FilterBar/keyValue.test.ts | 147 +++
.../nativeFilters/FilterBar/state.test.ts | 220 ++++
.../hooks/useFilterOperations.test.ts | 171 ++-
.../hooks/useModalSaveLogic.test.ts | 118 ++
.../nativeFilters/FiltersConfigModal/utils.test.ts | 42 +
.../controlUtils/standardizedFormData.test.ts | 29 +
.../explore/controlUtils/standardizedFormData.ts | 4 +
superset-frontend/src/features/home/Menu.test.tsx | 19 +
.../versionHistory/VersionHistoryPanel.tsx | 16 +-
.../components/Select/SelectFilterPlugin.test.tsx | 41 +
.../components/Time/TimeFilterPlugin.test.tsx | 40 +-
.../TimeColumnFilterPlugin.test.tsx} | 67 +-
superset-frontend/src/preamble.test.ts | 29 +-
superset-frontend/src/preamble.ts | 10 +-
superset-frontend/src/setup/setupApp.ts | 16 +-
superset-frontend/src/utils/colorScheme.test.ts | 230 ++++
.../src/visualizations/presets/MainPreset.ts | 4 +
superset-websocket/package-lock.json | 8 +-
superset-websocket/package.json | 2 +-
superset/charts/data/api.py | 63 +-
superset/commands/dataset/update.py | 19 +-
superset/commands/importers/v1/__init__.py | 6 +-
superset/commands/importers/v1/utils.py | 6 +-
superset/config.py | 34 +-
superset/daos/base.py | 2 +-
superset/daos/dashboard.py | 51 +-
superset/daos/dataset.py | 28 +-
superset/daos/datasource.py | 2 +-
superset/dashboards/api.py | 257 +++-
superset/dashboards/excel_export/email.py | 17 +-
superset/dashboards/excel_export/storage.py | 81 ++
superset/dashboards/excel_export/sync_budget.py | 272 +++++
superset/dashboards/excel_export/workbook.py | 324 +++++
superset/mcp_service/app.py | 7 +-
superset/mcp_service/chart/chart_helpers.py | 4 +-
superset/mcp_service/chart/chart_utils.py | 2 +-
superset/mcp_service/chart/preview_utils.py | 44 +-
superset/mcp_service/chart/tool/generate_chart.py | 7 +-
superset/mcp_service/chart/tool/get_chart_sql.py | 4 +-
.../mcp_service/chart/tool/update_chart_preview.py | 4 +-
.../chart/validation/dataset_validator.py | 2 +-
.../mcp_service/dashboard/tool/delete_dashboard.py | 2 +-
superset/mcp_service/dataset/schemas.py | 81 +-
superset/mcp_service/dataset/tool/__init__.py | 4 +
.../dataset/tool/create_dataset_metric.py | 172 +++
.../dataset/tool/delete_dataset_metric.py | 246 ++++
.../explore/tool/generate_explore_link.py | 2 +-
superset/mcp_service/mcp_config.py | 2 +
superset/mcp_service/middleware.py | 24 +-
superset/mcp_service/utils/response_size_utils.py | 2 +
superset/mcp_service/utils/validation.py | 218 ++++
superset/models/core.py | 7 +-
superset/models/helpers.py | 9 +-
superset/models/slice.py | 7 +-
superset/reports/schemas.py | 41 +
superset/sql/parse.py | 145 ++-
superset/tasks/export_dashboard_excel.py | 384 +-----
superset/translations/ar/LC_MESSAGES/messages.po | 136 ++-
superset/translations/ca/LC_MESSAGES/messages.po | 140 ++-
superset/translations/cs/LC_MESSAGES/messages.po | 137 ++-
superset/translations/de/LC_MESSAGES/messages.po | 141 ++-
superset/translations/en/LC_MESSAGES/messages.po | 126 +-
superset/translations/es/LC_MESSAGES/messages.po | 138 ++-
superset/translations/fa/LC_MESSAGES/messages.po | 138 ++-
superset/translations/fi/LC_MESSAGES/messages.po | 138 ++-
superset/translations/fr/LC_MESSAGES/messages.po | 145 ++-
superset/translations/it/LC_MESSAGES/messages.po | 144 ++-
superset/translations/ja/LC_MESSAGES/messages.po | 126 +-
superset/translations/ko/LC_MESSAGES/messages.po | 127 +-
superset/translations/lv/LC_MESSAGES/messages.po | 140 ++-
superset/translations/messages.pot | 148 ++-
superset/translations/mi/LC_MESSAGES/messages.po | 139 ++-
superset/translations/nl/LC_MESSAGES/messages.po | 141 ++-
superset/translations/pl/LC_MESSAGES/messages.po | 139 ++-
superset/translations/pt/LC_MESSAGES/messages.po | 138 ++-
.../translations/pt_BR/LC_MESSAGES/messages.po | 141 ++-
superset/translations/ro/LC_MESSAGES/messages.po | 143 ++-
superset/translations/ru/LC_MESSAGES/messages.po | 140 ++-
superset/translations/sk/LC_MESSAGES/messages.po | 142 ++-
superset/translations/sl/LC_MESSAGES/messages.po | 138 ++-
superset/translations/sr/LC_MESSAGES/messages.po | 138 ++-
.../translations/sr_Latn/LC_MESSAGES/messages.po | 139 ++-
superset/translations/ta/LC_MESSAGES/messages.po | 142 ++-
superset/translations/th/LC_MESSAGES/messages.po | 133 +-
superset/translations/tr/LC_MESSAGES/messages.po | 138 ++-
superset/translations/uk/LC_MESSAGES/messages.po | 137 ++-
superset/translations/zh/LC_MESSAGES/messages.po | 128 +-
.../translations/zh_TW/LC_MESSAGES/messages.po | 126 +-
superset/utils/date_parser.py | 2 +-
superset/utils/rls.py | 86 +-
superset/views/base.py | 4 +
tests/integration_tests/dashboards/api_tests.py | 572 ++++++++-
tests/integration_tests/reports/api_tests.py | 75 ++
.../versioning/activity_write_after_read_tests.py | 3 +-
.../versioning/conditional_token_lock_tests.py | 10 +-
.../versioning/creation_row_tests.py | 17 +-
.../versioning/restore_fails_closed_tests.py | 12 +-
.../db_engine_specs/test_databend.py | 43 +-
tests/unit_tests/charts/test_chart_data_api.py | 197 +++
.../commands/importers/v1/import_models_test.py | 93 ++
.../unit_tests/commands/importers/v1/utils_test.py | 100 +-
tests/unit_tests/dao/base_dao_test.py | 29 +-
tests/unit_tests/dao/dashboard_test.py | 224 +++-
.../dashboards/test_excel_export_email.py | 19 +
.../dashboards/test_excel_export_storage.py | 178 +++
.../dashboards/test_excel_export_sync_budget.py | 563 +++++++++
.../dashboards/test_excel_export_workbook.py | 146 +++
tests/unit_tests/datasource/dao_tests.py | 16 +
.../mcp_service/chart/test_preview_utils.py | 125 ++
.../mcp_service/chart/tool/test_generate_chart.py | 57 +
.../chart/tool/test_update_chart_preview.py | 31 +
.../dataset/tool/test_dataset_metric_mutations.py | 529 ++++++++
.../explore/tool/test_generate_explore_link.py | 25 +
.../mcp_service/test_error_classification.py | 11 +-
.../test_isdigit_isdecimal_regression.py | 149 +++
.../mcp_service/test_mcp_tool_registration.py | 5 +
tests/unit_tests/mcp_service/test_middleware.py | 4 +-
.../mcp_service/test_rbac_tool_enforcement.py | 12 +
.../unit_tests/mcp_service/test_tool_inventory.py | 2 +
.../mcp_service/test_validation_contract.py | 511 ++++++++
tests/unit_tests/models/core_test.py | 21 +-
tests/unit_tests/models/slice_test.py | 28 +
.../models/test_virtual_dataset_format.py | 62 +-
tests/unit_tests/reports/schemas_test.py | 83 ++
tests/unit_tests/scripts/change_detector_test.py | 10 +
.../scripts/translations/check_pot_drift_test.py | 82 ++
tests/unit_tests/security/guest_rls_test.py | 228 +++-
tests/unit_tests/sql/parse_tests.py | 286 +++++
.../tasks/test_export_dashboard_excel.py | 128 +-
.../sk_sql_lab_progress_message_test.py | 64 +
tests/unit_tests/views/test_bootstrap_auth.py | 20 +
243 files changed, 19939 insertions(+), 2429 deletions(-)
delete mode 100644 .github/workflows/superset-playwright.yml
create mode 100644 .grype.yaml
delete mode 100644 superset-frontend/cypress-base/cypress/e2e/explore/chart.test.js
delete mode 100644 superset-frontend/cypress-base/cypress/e2e/explore/utils.ts
delete mode 100644 superset-frontend/cypress-base/cypress/e2e/explore/visualizations/shared.helper.js
create mode 100644 superset-frontend/playwright/components/core/Radio.ts
create mode 100644 superset-frontend/playwright/components/modals/SaveChartModal.ts
delete mode 100644 superset-frontend/playwright/tests/experimental/README.md
create mode 100644 superset-frontend/playwright/tests/explore/cross-referenced-dashboards.spec.ts
create mode 100644 superset-frontend/playwright/tests/explore/explore-no-results.spec.ts
create mode 100644 superset-frontend/playwright/tests/explore/explore-save.spec.ts
create mode 100644 superset-frontend/playwright/tests/explore/explore-test-helpers.ts
rename superset-frontend/playwright/tests/{experimental => }/explore/results-tab-reuse.spec.ts (87%)
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/EchartsCandlestick.tsx
copy superset-frontend/plugins/plugin-chart-echarts/src/{Bubble => Candlestick}/buildQuery.ts (71%)
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/constants.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/controlPanel.tsx
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/images/example1-dark.png
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/images/example1.png
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/images/thumbnail-dark.png
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/images/thumbnail.png
copy superset-frontend/plugins/plugin-chart-echarts/src/{Tree => Candlestick}/index.ts (66%)
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/transformProps.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/types.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/src/Candlestick/utils.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Candlestick/EchartsCandlestick.test.tsx
copy superset-frontend/plugins/{plugin-chart-calendar/test => plugin-chart-echarts/test/Candlestick}/buildQuery.test.ts (51%)
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Candlestick/controlPanel.test.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Candlestick/transformProps.test.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Candlestick/utils.test.ts
create mode 100644 superset-frontend/plugins/plugin-chart-echarts/test/Treemap/EchartsTreemap.test.tsx
copy superset-frontend/scripts/{commitlint.js => po2json-cli.js} (56%)
mode change 100755 => 100644
create mode 100644 superset-frontend/scripts/po2json.js
create mode 100644 superset-frontend/spec/scripts/po2json.test.ts
create mode 100644 superset-frontend/src/dashboard/components/RefreshIntervalModal.test.tsx
create mode 100644 superset-frontend/src/dashboard/components/SaveModal.test.tsx
create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/keyValue.test.ts
create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/state.test.ts
create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/hooks/useModalSaveLogic.test.ts
copy superset-frontend/src/filters/components/{Time/TimeFilterPlugin.test.tsx => TimeColumn/TimeColumnFilterPlugin.test.tsx} (56%)
create mode 100644 superset-frontend/src/utils/colorScheme.test.ts
create mode 100644 superset/dashboards/excel_export/storage.py
create mode 100644 superset/dashboards/excel_export/sync_budget.py
create mode 100644 superset/dashboards/excel_export/workbook.py
create mode 100644 superset/mcp_service/dataset/tool/create_dataset_metric.py
create mode 100644 superset/mcp_service/dataset/tool/delete_dataset_metric.py
create mode 100644 superset/mcp_service/utils/validation.py
create mode 100644 tests/unit_tests/commands/importers/v1/import_models_test.py
create mode 100644 tests/unit_tests/dashboards/test_excel_export_storage.py
create mode 100644 tests/unit_tests/dashboards/test_excel_export_sync_budget.py
create mode 100644 tests/unit_tests/dashboards/test_excel_export_workbook.py
create mode 100644 tests/unit_tests/mcp_service/dataset/tool/test_dataset_metric_mutations.py
create mode 100644 tests/unit_tests/mcp_service/test_isdigit_isdecimal_regression.py
create mode 100644 tests/unit_tests/mcp_service/test_validation_contract.py
create mode 100644 tests/unit_tests/translations/sk_sql_lab_progress_message_test.py