You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ha...@apache.org on 2026/06/10 15:52:09 UTC

(superset) branch feat/update-node-to-v24 updated (c7ba8c33107 -> 463d3c03791)

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

hainenber pushed a change to branch feat/update-node-to-v24
in repository https://gitbox.apache.org/repos/asf/superset.git


    from c7ba8c33107 chore: resolve lingering CI issues after upgrading Node to v24
     add 849f297e9d2 chore(deps-dev): update sqlalchemy-vertica-python requirement from <0.7,>=0.5.9 to >=0.6.3,<0.7 (#40826)
     add 138e405cb60 chore(deps): bump xlsxwriter from 3.0.9 to 3.2.9 (#40825)
     add c0a12f4cfb5 chore(deps-dev): update sqlalchemy-kusto requirement from <4,>=3.0.0 to >=3.1.2,<4 (#40828)
     add 9bb700ff0df chore(deps-dev): bump concurrently from 9.2.1 to 10.0.0 in /superset-frontend (#40798)
     add 5da63d716be fix(toasts): stop the toast overlay from covering controls behind it (#40805)
     add 06f95f53623 refactor(explore): migrate Explore Controls from react-dnd to @dnd-kit (#37880)
     add 21189ae130a fix(dashboard): update browser tab title when dashboard is renamed (#40730)
     add 7c7ab88a602 feat(ListView): expose expandable prop (#40765)
     add dc423b22b31 feat(embedded): support themeMode URL param for initial theme (#40760)
     add a5fe47ee715 docs(footer): render social icons as uniform white (#40854)
     add b4eda37fbf9 chore(deps-dev): bump baseline-browser-mapping from 2.10.32 to 2.10.33 in /superset-frontend (#40849)
     add 983f2818b0e chore(deps-dev): bump @swc/plugin-emotion from 14.10.0 to 14.12.0 in /superset-frontend (#40848)
     add c5d795c1f11 chore(deps): bump react-syntax-highlighter from 16.1.0 to 16.1.1 in /superset-frontend (#40847)
     add 709fd52b0b3 chore(deps-dev): bump tsx from 4.22.3 to 4.22.4 in /superset-frontend (#40845)
     add 534d2191ffe chore(deps): bump react-draggable from 4.5.0 to 4.6.0 in /superset-frontend (#40844)
     add c6ecaf9642b chore(deps): bump js-yaml from 4.1.1 to 4.2.0 in /docs (#40843)
     add 228ac0d5687 chore(deps): bump baseline-browser-mapping from 2.10.32 to 2.10.33 in /docs (#40842)
     add ba6e9cc90fa chore(deps-dev): bump eslint from 10.4.0 to 10.4.1 in /superset-websocket (#40840)
     add 507cf936877 test(dashboard): API-created dashboards should link charts from position_json (#32966) (#40816)
     add 911bb9dcdac fix: harden ZIP safety checks (total-size cap, zero-division guard) and extension path matching (#40664)
     add 580be2cf32d fix(extensions-cli): constrain backend include patterns to the backend directory (#40593)
     add e9e92451120 test(mixed-chart): dashboard filters should reach both Mixed chart queries (#29519) (#40818)
     add 8fdabc44f50 chore(deps): update react-draggable requirement from ^4.5.0 to ^4.6.0 in /superset-frontend/packages/superset-ui-core (#40841)
     add 1e8438a478f test(dashboard): migrate favorite toggle Cypress spec to RTL (#40872)
     add fe9818226d7 fix(viz): gate stacktrace behind SHOW_STACKTRACE and allowlist resample method (#40636)
     add 8eda626466d fix: raise random_key entropy and add expiry to async query tokens (#40638)
     add 837f41986d5 fix: reject default guest/async JWT secrets at startup (#40649)
     add 3afbb48188b fix(uploads,dao): add zip-safety check to columnar reader and cap DAO page size (#40637)
     add fb0e7fecafa ci: authenticate Docker Hub pulls for service containers (#40875)
     add 1188cfef1d4 ci: make Docker-build npm ci resilient to transient network blips (#40874)
     add c58408d76c4 fix(revert 40875): "ci: authenticate Docker Hub pulls for service containers" failed (#40879)
     add d7ddf2023da fix(theme): SDK theme config overrides dashboard-level theme in embedded mode (#40763)
     add 2f71771b561 fix(sqllab): prevent corrupted query state from blocking SQL Lab access (#40580)
     add 56c856e802d fix(explore): require Update Chart for Matrixify dimension changes (#40851)
     add 3259a4a781e fix(translation): update german translation for slider range (#40902)
     add 443fd7bcee5 fix(assets): Support uploading tags using the assets import endpoint (#38343)
     add 9105adc67b2 fix(mcp): return a generic message when a request is unauthenticated (#40861)
     add a32b7b15234 fix(migrations): replay user_favorite_tag migration for 3.0.x upgraders (#38157)
     add f70cd8b5b89 feat(embedded-sdk): add fetchGuestToken timeout and clean up refresh timer (#40870)
     add 62084f4015e feat(websocket): improve operational logging and crash safety (#40868)
     add 7b1e1e5668a fix(charts): route CSV result format through the escaping CSV writer (#40859)
     add 95d46073cbe feat(websocket): add backpressure handling for slow consumers (#40857)
     add b64dd4af4a1 fix(mcp): handle JWKS fetch network errors during token verification (#40869)
     add 0133ebc9f26 feat(mcp): log successful JWT authentication events (#40864)
     add 58d29e07797 chore(deps-dev): bump concurrently from 10.0.0 to 10.0.3 in /superset-frontend (#40897)
     add 6681ab571d8 perf(websocket): yield to the event loop while processing large event batches (#40866)
     add bf9ad4d2ba3 fix: set charset via content_type to avoid malformed Content-Type headers (#40658)
     add 17fb7a7c757 chore(helm): bump app version to 6.1.0 (#40862)
     add 7a3b8f49c7b chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#40892)
     add 6311e2c315e fix: use pd.to_numeric in df_metrics_to_num to handle string-encoded numerics from ClickHouse (#40190)
     add f51736437d0 chore(deps): bump shell-quote from 1.8.3 to 1.8.4 in /docs (#40910)
     add efa88b9b7f4 chore(deps-dev): bump eslint-import-resolver-typescript from 4.4.4 to 4.4.5 in /superset-frontend (#40899)
     add 39490894389 chore(deps-dev): bump oxlint from 1.67.0 to 1.68.0 in /superset-frontend (#40898)
     add 065578e48a5 fix(commands,api): enforce command validation, sanitize export filename/token, set cache TTLs (#40655)
     add 336384bc673 chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in /superset-frontend (#40896)
     add 8117488fd82 feat(websocket): add configurable per-channel and total connection limits (#40856)
     add f9ba11961ad chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.60.0 to 8.60.1 in /superset-frontend (#40895)
     add ff4783f1e43 chore(deps): bump github/codeql-action from 4.36.0 to 4.36.1 (#40894)
     add 2d1b17d1ca8 chore(deps-dev): bump @typescript-eslint/parser from 8.60.0 to 8.60.1 in /docs (#40893)
     add eeaa213475b chore(deps): update react requirement from ^19.2.6 to ^19.2.7 in /superset-frontend/plugins/legacy-plugin-chart-chord (#40890)
     add 9b4aaaa0808 chore(deps-dev): bump @typescript-eslint/parser from 8.60.0 to 8.60.1 in /superset-websocket (#40889)
     add ab0fa5c3c87 test(dashboard): add regression tests for certification field clearing (#40758)
     add 76f334f252e fix(i18n): stop fuzzy-matching new strings so adding one doesn't fail babel-extract (#40909)
     add c88438ad35d chore(deps-dev): bump typescript-eslint from 8.60.0 to 8.60.1 in /superset-websocket (#40887)
     add 88ea96d4172 chore(deps-dev): bump typescript-eslint from 8.60.0 to 8.60.1 in /docs (#40891)
     add a0cf7984098 fix(embedded): add Sec-Fetch-Dest defense-in-depth check on the embedded view (#40667)
     add 568f34d6d8b fix(mcp): enforce audience, algorithm, issuer binding, and token scopes (strict mode) (#40653)
     add 004101a7520 fix(rls): apply standard datasource access checks in RLS rule commands (#40650)
     add 00e3682aaf1 fix(dashboard): URL-encode native_filters in permalink redirect (#40660)
     add 543ad04ca05 chore(deps): bump pyarrow from 20.0.0 to 24.0.0 (#39756)
     add d51753dfdcf chore(lint): convert reactify.tsx to function component (#39458)
     add c0e78f39d7b fix: replace deprecated appbuilder.app with current_app (#40876)
     add 1bfdb19e889 test(dashboard): RTL coverage for native filter modal and sidebar (#40778)
     add 0a1e51f542a fix(schemas): tighten guest dataset fields, external_url protocols, ssh creds, prophet bounds (#40640)
     add 08b8bdecbd4 fix(charts): tighten chart schema input validation (query_context JSON, prophet/rolling bounds) (#40634)
     add 463d3c03791 Merge branch 'master' into feat/update-node-to-v24

No new revisions were added by this update.

Summary of changes:
 .github/workflows/bump-python-package.yml          |   3 +-
 .github/workflows/check-python-deps.yml            |   2 +-
 .github/workflows/check_db_migration_confict.yml   |   2 +-
 .github/workflows/claude.yml                       |  20 +-
 .github/workflows/codeql-analysis.yml              |   8 +-
 .github/workflows/dependency-review.yml            |   4 +-
 .github/workflows/docker.yml                       |   8 +-
 .github/workflows/embedded-sdk-release.yml         |   6 +-
 .github/workflows/embedded-sdk-test.yml            |   6 +-
 .github/workflows/generate-FOSSA-report.yml        |   2 +-
 .github/workflows/github-action-validator.yml      |   5 +-
 .github/workflows/issue_creation.yml               |   3 +-
 .github/workflows/latest-release-tag.yml           |  46 +-
 .github/workflows/license-check.yml                |   6 +-
 .github/workflows/pr-lint.yml                      |   5 +-
 .github/workflows/pre-commit.yml                   |   2 +-
 .github/workflows/release.yml                      |   4 +-
 .github/workflows/showtime-trigger.yml             |   6 +-
 .github/workflows/superset-app-cli.yml             |   2 +-
 .github/workflows/superset-docs-deploy.yml         |   8 +-
 .github/workflows/superset-docs-verify.yml         |  14 +-
 .github/workflows/superset-e2e.yml                 |  38 +-
 .github/workflows/superset-extensions-cli.yml      |   2 +-
 .github/workflows/superset-frontend.yml            |   4 +-
 .github/workflows/superset-helm-lint.yml           |   4 +-
 .github/workflows/superset-helm-release.yml        |   2 +-
 .github/workflows/superset-playwright.yml          |  22 +-
 .../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        |  10 +-
 .github/workflows/superset-websocket.yml           |   2 +-
 .github/workflows/supersetbot.yml                  |   4 +-
 .github/workflows/tag-release.yml                  |  15 +-
 .github/workflows/tech-debt.yml                    |   4 +-
 Dockerfile                                         |   7 +
 UPDATING.md                                        |  14 +
 docs/package.json                                  |   8 +-
 docs/src/styles/main.css                           |   6 +
 docs/yarn.lock                                     | 173 ++++----
 helm/superset/Chart.yaml                           |   4 +-
 helm/superset/README.md                            |   2 +-
 pyproject.toml                                     |   9 +-
 requirements/base.in                               |   2 +-
 requirements/base.txt                              |   4 +-
 requirements/development.txt                       |   4 +-
 scripts/translations/babel_update.sh               |  13 +-
 .../translations/check_translation_regression.py   |  29 +-
 superset-embedded-sdk/README.md                    | 116 ++++--
 .../src/guestTokenRefresh.test.ts                  |   8 +
 superset-embedded-sdk/src/guestTokenRefresh.ts     |   1 +
 superset-embedded-sdk/src/index.ts                 |  81 +++-
 .../src/withTimeout.test.ts                        |  28 +-
 .../src/withTimeout.ts                             |  37 +-
 .../src/superset_extensions_cli/cli.py             |  24 +-
 superset-extensions-cli/tests/test_cli_build.py    | 150 +++++++
 .../cypress/e2e/dashboard/actions.test.js          |  67 ---
 .../cypress-base/cypress/e2e/dashboard/utils.ts    |  12 -
 superset-frontend/package-lock.json                | 464 ++++++++++-----------
 superset-frontend/package.json                     |  16 +-
 .../packages/superset-core/src/theme/types.ts      |   6 +
 .../src/shared-controls/matrixifyControls.tsx      |   1 -
 .../packages/superset-ui-core/package.json         |   4 +-
 .../src/chart/components/reactify.tsx              | 147 ++++---
 .../src/components/Modal/Modal.tsx                 |  22 +-
 .../superset-ui-core/src/components/Modal/types.ts |   2 +-
 .../src/components/Table/index.tsx                 |   2 +
 .../src/components/TableCollection/index.tsx       |   5 +-
 .../test/chart/components/reactify.test.tsx        |  89 ++--
 ...ec.ts => mixed-chart-dashboard-filters.spec.ts} | 175 ++++----
 .../plugins/legacy-plugin-chart-chord/package.json |   2 +-
 .../plugin-chart-point-cluster-map/package.json    |   2 +-
 superset-frontend/spec/helpers/testing-library.tsx |   7 +
 .../SqlLab/components/TabbedSqlEditors/index.tsx   |  19 +-
 .../src/components/CrudThemeProvider.test.tsx      |  55 +++
 .../src/components/CrudThemeProvider.tsx           |  19 +-
 .../src/components/ListView/ListView.tsx           |   4 +
 .../MessageToasts/ToastPresenter.test.tsx          |  10 +
 .../components/MessageToasts/ToastPresenter.tsx    |   4 +-
 .../actions/dashboardState.certification.test.ts   | 127 ++++++
 .../DashboardBuilder/DashboardWrapper.test.tsx     |  53 +--
 .../dashboard/components/Header/Header.test.tsx    |  29 ++
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |  58 +++
 .../FiltersConfigModal/FiltersConfigModal.test.tsx | 149 ++++++-
 .../FiltersConfigModal/NativeFiltersModal.test.tsx |  28 +-
 .../dashboard/containers/DashboardPage.test.tsx    | 191 ++++++++-
 .../src/dashboard/containers/DashboardPage.tsx     |  24 +-
 .../src/embedded/EmbeddedContextProviders.tsx      |   5 +-
 .../src/embedded/getInitialThemeMode.test.ts       |  66 +++
 .../embedded/getInitialThemeMode.ts}               |  27 +-
 .../DatasourcePanelDragOption.test.tsx             |  16 +-
 .../DatasourcePanelDragOption/index.tsx            |  44 +-
 .../ExploreContainer/ExploreContainer.test.tsx     | 120 +++---
 .../ExploreContainer/ExploreDndContext.test.tsx    | 125 ++++++
 .../ExploreContainer/ExploreDndContext.tsx         | 244 +++++++++++
 .../explore/components/ExploreContainer/index.tsx  |  81 +---
 .../components/controls/ContourControl/index.tsx   |   2 +
 .../DndColumnMetricSelect.test.tsx                 | 273 ++++++------
 .../DndColumnSelect.test.tsx                       |  24 +-
 .../DndColumnSelectControl/DndColumnSelect.tsx     |   5 +
 .../DndFilterSelect.test.tsx                       | 329 +++++++--------
 .../DndColumnSelectControl/DndFilterSelect.tsx     |   2 +
 .../DndMetricSelect.test.tsx                       | 258 ++++++------
 .../DndColumnSelectControl/DndMetricSelect.tsx     |   5 +
 .../DndColumnSelectControl/DndSelectLabel.test.tsx |   9 +-
 .../DndColumnSelectControl/DndSelectLabel.tsx      |  83 +++-
 .../DndColumnSelectControl/OptionWrapper.test.tsx  |  55 ++-
 .../DndColumnSelectControl/OptionWrapper.tsx       |  90 ++--
 .../DndColumnSelectControl/dndTestUtils.ts         | 120 ++++++
 .../AdhocFilterOption/AdhocFilterOption.test.tsx   |   2 +-
 .../OptionControls/OptionControls.test.tsx         |  21 +-
 .../components/controls/OptionControls/index.tsx   | 109 ++---
 superset-frontend/src/pages/SqlLab/index.tsx       |  40 +-
 superset-frontend/src/theme/ThemeController.ts     |  15 +
 superset-frontend/src/theme/ThemeProvider.tsx      |   9 +-
 .../src/theme/tests/ThemeController.test.ts        |  18 +
 .../src/theme/tests/ThemeProvider.test.tsx         |   1 +
 superset-websocket/Dockerfile                      |  14 +-
 superset-websocket/package-lock.json               | 276 ++++++------
 superset-websocket/package.json                    |   6 +-
 superset-websocket/spec/index.test.ts              | 312 +++++++++++++-
 superset-websocket/src/config.ts                   |  41 ++
 superset-websocket/src/index.ts                    | 171 +++++++-
 superset-websocket/src/logger.ts                   |   1 +
 superset/async_events/async_query_manager.py       |  13 +-
 superset/charts/api.py                             |   3 +-
 superset/charts/client_processing.py               |  15 +-
 superset/charts/data/api.py                        |   9 +-
 superset/charts/schemas.py                         |  66 ++-
 .../chart/data/create_async_job_command.py         |   5 +
 superset/commands/dashboard/create.py              |  13 +-
 superset/commands/dashboard/filter_state/create.py |   9 +-
 .../commands/database/uploaders/columnar_reader.py |  45 ++
 superset/commands/explore/form_data/create.py      |  11 +-
 superset/commands/export/assets.py                 |  18 +-
 superset/commands/security/create.py               |   2 +
 superset/commands/security/delete.py               |   9 +-
 superset/commands/security/exceptions.py           |  10 +-
 superset/commands/security/update.py               |   2 +
 superset/commands/security/utils.py                |  42 ++
 superset/commands/temporary_cache/create.py        |   1 +
 superset/commands/temporary_cache/delete.py        |   1 +
 superset/commands/temporary_cache/update.py        |   1 +
 superset/common/utils/dataframe_utils.py           |  10 +-
 superset/config.py                                 |  38 +-
 superset/constants.py                              |   1 +
 superset/daos/base.py                              |  15 +-
 superset/dashboards/api.py                         |   6 +-
 superset/dashboards/schemas.py                     |  81 +++-
 superset/databases/api.py                          |   3 +-
 superset/databases/schemas.py                      |   9 +-
 superset/datasets/api.py                           |   4 +-
 superset/embedded/view.py                          |  14 +
 superset/extensions/utils.py                       |   6 +-
 superset/initialization/__init__.py                |  53 ++-
 superset/key_value/utils.py                        |  31 +-
 superset/mcp_service/auth.py                       | 178 +++++++-
 superset/mcp_service/jwt_verifier.py               | 135 +++++-
 ...ae2559c05_replay_user_favorite_tag_migration.py |  81 ++++
 superset/models/sql_lab.py                         |  17 +-
 superset/queries/saved_queries/api.py              |   3 +-
 superset/result_set.py                             |  34 +-
 superset/row_level_security/api.py                 |  21 +-
 superset/semantic_layers/mapper.py                 |   7 +-
 superset/sql_lab.py                                |  13 +
 superset/templates/superset/spa.html               |   2 +-
 superset/themes/api.py                             |   3 +-
 superset/translations/ar/LC_MESSAGES/messages.po   |   4 +
 superset/translations/ca/LC_MESSAGES/messages.po   |   4 +
 superset/translations/cs/LC_MESSAGES/messages.po   |   4 +
 superset/translations/de/LC_MESSAGES/messages.po   |   6 +-
 superset/translations/en/LC_MESSAGES/messages.po   |   4 +
 superset/translations/es/LC_MESSAGES/messages.po   |   4 +
 superset/translations/fa/LC_MESSAGES/messages.po   |   4 +
 superset/translations/fi/LC_MESSAGES/messages.po   |   4 +
 superset/translations/fr/LC_MESSAGES/messages.po   |   4 +
 superset/translations/it/LC_MESSAGES/messages.po   |   4 +
 superset/translations/ja/LC_MESSAGES/messages.po   |   4 +
 superset/translations/ko/LC_MESSAGES/messages.po   |   4 +
 superset/translations/lv/LC_MESSAGES/messages.po   |   4 +
 superset/translations/messages.pot                 |   4 +
 superset/translations/mi/LC_MESSAGES/messages.po   |   4 +
 superset/translations/nl/LC_MESSAGES/messages.po   |   4 +
 superset/translations/pl/LC_MESSAGES/messages.po   |   4 +
 superset/translations/pt/LC_MESSAGES/messages.po   |   4 +
 .../translations/pt_BR/LC_MESSAGES/messages.po     |   4 +
 superset/translations/ru/LC_MESSAGES/messages.po   |   4 +
 superset/translations/sk/LC_MESSAGES/messages.po   |   4 +
 superset/translations/sl/LC_MESSAGES/messages.po   |   4 +
 superset/translations/th/LC_MESSAGES/messages.po   |   4 +
 superset/translations/tr/LC_MESSAGES/messages.po   |   4 +
 superset/translations/uk/LC_MESSAGES/messages.po   |   4 +
 superset/translations/zh/LC_MESSAGES/messages.po   |   4 +
 .../translations/zh_TW/LC_MESSAGES/messages.po     |   4 +
 superset/utils/core.py                             |  38 +-
 superset/utils/csv.py                              |  15 +-
 superset/utils/schema.py                           |  34 +-
 superset/views/base.py                             |   6 +-
 superset/views/core.py                             |  11 +-
 superset/viz.py                                    |  62 ++-
 tests/integration_tests/charts/api_tests.py        |   2 +-
 tests/integration_tests/core_tests.py              |  30 +-
 tests/integration_tests/dashboards/api_tests.py    |  76 ++++
 tests/integration_tests/embedded/test_view.py      |  33 ++
 .../queries/saved_queries/api_tests.py             |  39 ++
 .../async_events/async_query_manager_tests.py      |  67 +++
 .../unit_tests/charts/data}/__init__.py            |   0
 .../charts/data/streaming_filename_test.py         |  59 +++
 tests/unit_tests/charts/test_client_processing.py  |  46 ++
 tests/unit_tests/charts/test_schemas.py            | 221 ++++++++++
 .../chart/create_async_job_command_test.py         |  51 +++
 .../commands/dashboard/filter_state_create_test.py |  72 ++++
 .../commands/databases/columnar_reader_test.py     |  85 +++-
 .../commands/explore/form_data/test_create.py      |  39 ++
 tests/unit_tests/commands/export_test.py           |   9 +
 .../commands/importers/v1/assets_test.py           |   6 +-
 .../unit_tests/commands/security}/__init__.py      |   0
 tests/unit_tests/commands/security/rls_test.py     | 196 +++++++++
 .../commands/temporary_cache_create_test.py        |  63 +++
 tests/unit_tests/common/test_dataframe_utils.py    |  25 ++
 tests/unit_tests/dao/base_dao_test.py              |  51 +++
 tests/unit_tests/dashboards/schema_tests.py        | 164 ++++++++
 tests/unit_tests/databases/schema_tests.py         |  31 ++
 tests/unit_tests/extension_tests.py                |   2 +-
 tests/unit_tests/fixtures/assets_configs.py        |   2 +
 .../unit_tests/initialization}/__init__.py         |   0
 .../check_async_query_secret_test.py               | 140 +++++++
 tests/unit_tests/key_value/utils_test.py           |  45 ++
 tests/unit_tests/mcp_service/test_auth_api_key.py  |  50 +++
 tests/unit_tests/mcp_service/test_auth_rbac.py     | 135 ++++++
 .../mcp_service/test_auth_user_resolution.py       |  92 ++++
 tests/unit_tests/mcp_service/test_jwt_verifier.py  | 302 ++++++++++++++
 tests/unit_tests/result_set_test.py                |  67 ++-
 tests/unit_tests/sql_lab_test.py                   |   3 +
 tests/unit_tests/test_viz_get_df_payload.py        | 133 ++++++
 tests/unit_tests/utils/csv_tests.py                |  23 +
 tests/unit_tests/utils/test_core.py                |  55 +++
 237 files changed, 7526 insertions(+), 2023 deletions(-)
 copy superset-frontend/src/explore/components/controls/ColumnConfigControl/ColumnConfigConstants.test.tsx => superset-embedded-sdk/src/withTimeout.test.ts (56%)
 copy superset-frontend/packages/superset-ui-core/test/currency-format/hasMixedCurrencies.test.ts => superset-embedded-sdk/src/withTimeout.ts (57%)
 delete mode 100644 superset-frontend/cypress-base/cypress/e2e/dashboard/actions.test.js
 copy superset-frontend/playwright/tests/dashboard/{clear-all-filters.spec.ts => mixed-chart-dashboard-filters.spec.ts} (55%)
 create mode 100644 superset-frontend/src/dashboard/actions/dashboardState.certification.test.ts
 create mode 100644 superset-frontend/src/embedded/getInitialThemeMode.test.ts
 copy superset-frontend/{packages/superset-ui-core/src/hooks/useChangeEffect/useChangeEffect.ts => src/embedded/getInitialThemeMode.ts} (55%)
 create mode 100644 superset-frontend/src/explore/components/ExploreContainer/ExploreDndContext.test.tsx
 create mode 100644 superset-frontend/src/explore/components/ExploreContainer/ExploreDndContext.tsx
 create mode 100644 superset-frontend/src/explore/components/controls/DndColumnSelectControl/dndTestUtils.ts
 create mode 100644 superset/commands/security/utils.py
 create mode 100644 superset/migrations/versions/2026-04-22_19-00_31dae2559c05_replay_user_favorite_tag_migration.py
 copy {superset-core/src/superset_core/common => tests/unit_tests/charts/data}/__init__.py (100%)
 create mode 100644 tests/unit_tests/charts/data/streaming_filename_test.py
 create mode 100644 tests/unit_tests/commands/chart/create_async_job_command_test.py
 create mode 100644 tests/unit_tests/commands/dashboard/filter_state_create_test.py
 copy {superset-core/src/superset_core/common => tests/unit_tests/commands/security}/__init__.py (100%)
 create mode 100644 tests/unit_tests/commands/security/rls_test.py
 create mode 100644 tests/unit_tests/commands/temporary_cache_create_test.py
 create mode 100644 tests/unit_tests/dashboards/schema_tests.py
 copy {superset-core/src/superset_core/common => tests/unit_tests/initialization}/__init__.py (100%)
 create mode 100644 tests/unit_tests/initialization/check_async_query_secret_test.py