This is an automated email from the ASF dual-hosted git repository.
msyavuz pushed a change to branch msyavuz/chore/react-18.3-bump
in repository https://gitbox.apache.org/repos/asf/superset.git
from beda35f63bb fix(react18): make logging.test a module to avoid
global-scope collision
add f7f6c29adf0 chore(deps-dev): bump webpack from 5.106.2 to 5.107.1 in
/superset-frontend (#40370)
add 8e98ca65691 docs: expand out-of-scope vulnerability definitions
(#40332)
add 31087177ab3 chore(deps-dev): bump webpack from 5.107.0 to 5.107.1 in
/docs (#40364)
add f4af6a2caf0 fix(docker): add missing `service-worker.js` into built
container image (#39596)
add 64f0e88de79 chore(backend/build): upgrade Gunicorn from v22 to v25
(#38788)
add df8222ffcd2 chore(deps-dev): bump ts-jest from 29.4.10 to 29.4.11 in
/superset-frontend (#40369)
add b0d26196fc5 chore(deps-dev): bump @swc/plugin-emotion from 14.9.0 to
14.10.0 in /superset-frontend (#40368)
add 8ab4695ba34 fix(mcp): use `name` URL param so AI-generated SQL Lab
titles render (#40288)
add 21059b54f06 feat(semantic layers): form for SL with a single SV
(#40280)
add c945ef67639 chore(oxlint): enable import/newline-after-import +
react/no-unstable-nested-components (#40319)
add 42149f6a78f fix(chart): fix label and description translation on UI
and enhance french translations (#40229)
add 91d96419fe0 feat(sec): delays version-bumping PR to avoid prematurely
usage of compromised packages (#39783)
add 3b4892c48cd fix(select): replace cached options with search results in
AsyncSelect (#40039)
add 869ab37f590 chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in
/superset-frontend (#40366)
add d97b5d6509c chore(deps): bump react-syntax-highlighter from 16.1.0 to
16.1.1 in /superset-frontend (#40372)
add 3599c78a034 chore(deps): bump react-arborist from 3.6.1 to 3.7.0 in
/superset-frontend (#40371)
add 5af8fe77fab chore(deps): bump zod from 4.4.1 to 4.4.3 in
/superset-frontend (#40367)
add 6e23e4541d3 chore(deps): bump yeoman-generator from 8.1.2 to 8.2.2 in
/superset-frontend (#40365)
add 2a0ebd7055a chore(deps-dev): bump ts-jest from 29.4.10 to 29.4.11 in
/superset-websocket (#40363)
add 0febe32dc9c chore(deps): bump geostyler from 18.5.1 to 18.6.0 in
/superset-frontend (#40323)
add c728b4a11f5 chore(deps): bump sqlglot from 28.10.0 to 30.8.0 (#40186)
add e40648dfcbd chore(deps-dev): bump typescript from 5.9.3 to 6.0.3 in
/superset-websocket (#39425)
add 5cdd542ae50 fix(i18n): translate DateFilter tooltip for time range
values (#40286)
add f8e13770fcf fix(dashboard): add top padding to "Create new chart"
button in builder pane (#40033)
add af6ac4d09cb feat(i18n): AI-assisted translation backfill tooling +
Spanish translations (#39448)
add e57387098b4 fix(bigquery): limit result set size to prevent browser
memory crashes (#38588)
add 8d985d223bc ci(e2e): run backend under gunicorn instead of flask dev
server (#40234)
add 42668cf6341 ci(docker): pin QEMU binfmt image to stabilize arm64
builds (#40235)
add 838ac8f553c fix(ci): stop cancelling Hold Label Check runs (#40380)
add 168b49bf34f chore(cypress): remove dead _skip spec files and skipped
inline tests (#40384)
add 2fa3bbd91cf chore(ci): limit /app/prefix matrix variant to master
merges (#40385)
add 55203bbc748 chore(deps): bump qs from 6.14.2 to 6.15.2 in /docs
(#40383)
add 841871f1e78 chore(deps): bump qs from 6.14.2 to 6.15.2 in
/superset-websocket/utils/client-ws-app (#40382)
add 816794b1985 fix(frontend): handle null/undefined path in ensureAppRoot
(#39940)
add 5003ee1499a docs: remove out-of-place phrase (#40226)
add b21450681dc feat(i18n): add Thai (th) translations (AI-generated,
needs review) (#40391)
add 965ec472965 fix(explore): hide value input for unary filter operators
(#39924)
add 2fef4e41f20 feat(i18n): add Finnish (fi) translations (AI-generated,
needs review) (#40390)
add 9c90a6854c5 ci(translations): hard-block translation regressions in CI
(#39443)
add 8caa74354f6 chore(deps): bump markdown from 3.8.1 to 3.10.2 (#40389)
add fe484f6bb28 fix(UserListModal): Success notification mentions user and
not group (#40284)
add b64561f3a37 chore(mcp): Simplify chart preview response (#40020)
add 33585b0480c feat(mcp): make form_data_key optional in
update_chart_preview (#39680)
add 09572cd5efb chore(deps): bump tabulate from 0.9.0 to 0.10.0 (#40315)
add c381677dfdf chore(deps): bump click from 8.2.1 to 8.4.0 (#40312)
add bbe2f207d2d chore(deps): bump fs-extra from 11.3.2 to 11.3.5 in
/superset-frontend (#40418)
add 03d25277ba7 chore(deps): bump actions/upload-artifact from 7.0.0 to
7.0.1 (#40417)
add 9cc2deb9036 chore(deps): update zod requirement from ^4.4.1 to ^4.4.3
in /superset-frontend/plugins/plugin-chart-echarts (#40416)
add e9d46d843fa chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in
/superset-frontend (#40415)
add 709ef9b6155 chore(deps): bump d3-cloud from 1.2.8 to 1.2.9 in
/superset-frontend (#40321)
add 8b551d3f742 chore(deps-dev): bump duckdb from 1.4.2 to 1.5.2 (#40381)
add 952a6f3a239 fix(mcp): prevent encoding error on tools/list when
middleware raises (#40446)
add b6f545e61e1 feat(mcp): resolve call_tool proxy name and capture
error_type in logging (#38915)
add 7e088792b95 test(model): roll back uncommitted ds_col mutations in
timestamp-expression tests (#40451)
add 09a94fa26b4 feat(mcp): return browser-friendly hello page for GET /mcp
from browsers (#40309)
add 207a7bf7f9b fix: preserve dashboard certification when saving layout
changes (#40193)
add 4cf0fbb05a4 Merge remote-tracking branch 'origin/master' into
msyavuz/chore/react-18.3-bump
No new revisions were added by this update.
Summary of changes:
.github/SECURITY.md | 16 +-
.github/actions/setup-docker/action.yml | 9 +
.github/dependabot.yml | 61 +-
.github/workflows/bashlib.sh | 125 +-
.github/workflows/no-hold-label.yml | 7 +-
.github/workflows/superset-e2e.yml | 4 +-
.../workflows/superset-translations-comment.yml | 87 +
.github/workflows/superset-translations.yml | 90 +-
.gitignore | 2 +
.pre-commit-config.yaml | 2 +-
Dockerfile | 2 +
MANIFEST.in | 1 +
.../contributing/development-setup.md | 1 -
docs/developer_docs/contributing/howtos.md | 86 +
docs/package.json | 2 +-
docs/yarn.lock | 17 +-
pyproject.toml | 13 +-
requirements/base.txt | 10 +-
requirements/development.txt | 14 +-
scripts/change_detector.py | 1 +
scripts/translations/backfill_po.py | 653 +
scripts/translations/build_translation_index.py | 153 +
.../translations/check_translation_regression.py | 250 +
superset-core/pyproject.toml | 2 +-
.../cypress/e2e/dashboard/_skip.controls.test.ts | 100 -
.../dashboard/_skip.horizontalFilterBar.test.ts | 292 -
.../cypress/e2e/dashboard/_skip.key_value.test.ts | 53 -
.../cypress/e2e/dashboard/_skip.load.test.ts | 51 -
.../_skip.nativeFilters.noInitState.test.ts | 385 -
.../e2e/dashboard/_skip.nativeFilters.test.ts | 431 -
.../cypress/e2e/dashboard/_skip.tabs.test.ts | 194 -
.../cypress/e2e/dashboard/_skip.url_params.test.ts | 45 -
.../cypress/e2e/dashboard/editmode.test.ts | 1110 +-
.../cypress/e2e/explore/_skip.AdhocFilters.test.ts | 109 -
.../cypress/e2e/explore/_skip.AdhocMetrics.test.ts | 123 -
.../e2e/explore/_skip.advanced_analytics.test.ts | 65 -
.../cypress/e2e/explore/_skip.annotations.test.ts | 48 -
.../cypress/e2e/explore/_skip.link.test.ts | 192 -
.../visualizations/_skip.big_number.test.js | 80 -
.../visualizations/_skip.big_number_total.test.js | 79 -
.../explore/visualizations/_skip.box_plot.test.js | 65 -
.../explore/visualizations/_skip.bubble.test.js | 108 -
.../explore/visualizations/_skip.compare.test.js | 100 -
.../visualizations/_skip.download_chart.test.js | 54 -
.../e2e/explore/visualizations/_skip.gauge.test.js | 75 -
.../e2e/explore/visualizations/_skip.graph.test.ts | 91 -
.../e2e/explore/visualizations/_skip.pie.test.js | 82 -
.../visualizations/_skip.pivot_table.test.js | 106 -
.../explore/visualizations/_skip.sunburst.test.js | 97 -
.../e2e/explore/visualizations/_skip.table.test.ts | 474 -
.../e2e/explore/visualizations/_skip.time_table.js | 130 -
.../explore/visualizations/_skip.world_map.test.js | 95 -
superset-frontend/oxlint.json | 13 +-
superset-frontend/package-lock.json | 90 +-
superset-frontend/package.json | 12 +-
.../packages/generator-superset/package.json | 2 +-
.../packages/superset-ui-core/package.json | 2 +-
.../src/chart/components/SuperChart.tsx | 1 +
.../src/components/Select/AsyncSelect.test.tsx | 470 +
.../src/components/Select/AsyncSelect.tsx | 117 +-
.../src/components/Select/utils.tsx | 4 +
.../src/query/types/QueryResponse.ts | 1 +
.../plugins/plugin-chart-word-cloud/package.json | 2 +-
.../components/DynamicGroupBy/controlPanel.test.ts | 53 +
.../components/DynamicGroupBy/controlPanel.ts | 13 +-
.../components/TimeColumn/controlPanel.test.ts | 53 +
.../components/TimeColumn/controlPanel.ts | 7 +-
.../components/TimeGrain/controlPanel.test.ts | 53 +
.../components/TimeGrain/controlPanel.ts | 7 +-
.../src/components/Chart/chartAction.ts | 10 +-
.../src/components/Chart/chartActions.test.ts | 51 +
.../src/dashboard/actions/dashboardLayout.ts | 1 +
.../src/dashboard/actions/dashboardState.ts | 9 +-
.../src/dashboard/components/SliceAdder.tsx | 2 +-
.../components/ControlPanelsContainer.test.tsx | 20 +
.../explore/components/ControlPanelsContainer.tsx | 11 +-
.../controls/DateFilterControl/DateFilterLabel.tsx | 6 +-
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 64 +
.../index.tsx | 91 +-
.../semanticLayers/MultiEnumControl.test.tsx | 96 +
.../semanticLayers/jsonFormsHelpers.test.ts | 45 +-
.../features/semanticLayers/jsonFormsHelpers.tsx | 91 +-
.../semanticViews/AddSemanticViewModal.tsx | 38 +-
.../src/features/users/UserListModal.tsx | 2 +-
.../filters/components/Range/controlPanel.test.ts | 53 +
.../src/filters/components/Range/controlPanel.ts | 11 +-
.../filters/components/Select/controlPanel.test.ts | 34 +-
.../src/filters/components/Select/controlPanel.ts | 56 +-
.../src/filters/components/Time/controlPanel.ts | 7 +-
.../filters/components/TimeColumn/controlPanel.ts | 7 +-
.../filters/components/TimeGrain/controlPanel.ts | 7 +-
superset-frontend/src/utils/pathUtils.test.ts | 14 +
superset-frontend/src/utils/pathUtils.ts | 11 +-
superset-frontend/webpack.proxy-config.js | 1 +
superset-websocket/package-lock.json | 28 +-
superset-websocket/package.json | 4 +-
superset-websocket/src/index.ts | 6 +-
superset-websocket/tsconfig.json | 1 +
.../utils/client-ws-app/package-lock.json | 12 +-
superset/charts/schemas.py | 4 +
superset/common/query_context_processor.py | 13 +
superset/common/utils/query_cache_manager.py | 21 +-
superset/config.py | 3 +
superset/db_engine_specs/base.py | 10 +-
superset/db_engine_specs/bigquery.py | 109 +-
superset/mcp_service/chart/schemas.py | 25 +-
.../mcp_service/chart/tool/get_chart_preview.py | 20 +-
.../mcp_service/chart/tool/update_chart_preview.py | 47 +-
superset/mcp_service/hello.html | 115 +
superset/mcp_service/jwt_verifier.py | 78 +-
superset/mcp_service/mcp_config.py | 6 +-
superset/mcp_service/middleware.py | 94 +-
superset/mcp_service/sql_lab/schemas.py | 21 +-
.../sql_lab/tool/open_sql_lab_with_context.py | 7 +-
superset/sql/dialects/db2.py | 6 +
superset/sql/dialects/dremio.py | 6 +-
superset/sql/dialects/firebolt.py | 11 +-
superset/sql/parse.py | 37 +-
superset/translations/es/LC_MESSAGES/messages.po | 4264 +--
superset/translations/fi/LC_MESSAGES/messages.po | 30258 +++++++++++++++++++
superset/translations/fr/LC_MESSAGES/messages.po | 1774 +-
superset/translations/requirements.txt | 1 +
superset/translations/th/LC_MESSAGES/messages.po | 29937 ++++++++++++++++++
tests/integration_tests/model_tests.py | 89 +-
tests/unit_tests/charts/test_client_processing.py | 34 +-
.../common/test_query_context_processor.py | 120 +
tests/unit_tests/db_engine_specs/test_bigquery.py | 132 +-
.../chart/tool/test_get_chart_preview.py | 17 +-
.../chart/tool/test_update_chart_preview.py | 72 +-
.../sql_lab/tool/test_open_sql_lab_with_context.py | 43 +-
tests/unit_tests/mcp_service/test_jwt_verifier.py | 6 +-
.../mcp_service/test_jwt_verifier_browser_hello.py | 126 +
.../mcp_service/test_middleware_logging.py | 181 +-
.../unit_tests/scripts/translations}/__init__.py | 0
.../scripts/translations/backfill_po_test.py | 312 +
.../translations/build_translation_index_test.py | 256 +
136 files changed, 67808 insertions(+), 8578 deletions(-)
create mode 100644 .github/workflows/superset-translations-comment.yml
create mode 100644 scripts/translations/backfill_po.py
create mode 100644 scripts/translations/build_translation_index.py
create mode 100755 scripts/translations/check_translation_regression.py
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.controls.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.horizontalFilterBar.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.key_value.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.load.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.nativeFilters.noInitState.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.nativeFilters.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.tabs.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/dashboard/_skip.url_params.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/_skip.AdhocFilters.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/_skip.AdhocMetrics.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/_skip.advanced_analytics.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/_skip.annotations.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/_skip.link.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.big_number.test.js
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.big_number_total.test.js
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.box_plot.test.js
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.bubble.test.js
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.compare.test.js
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.download_chart.test.js
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.gauge.test.js
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.graph.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.pie.test.js
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.pivot_table.test.js
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.sunburst.test.js
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.table.test.ts
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.time_table.js
delete mode 100644
superset-frontend/cypress-base/cypress/e2e/explore/visualizations/_skip.world_map.test.js
create mode 100644
superset-frontend/src/chartCustomizations/components/DynamicGroupBy/controlPanel.test.ts
create mode 100644
superset-frontend/src/chartCustomizations/components/TimeColumn/controlPanel.test.ts
create mode 100644
superset-frontend/src/chartCustomizations/components/TimeGrain/controlPanel.test.ts
create mode 100644
superset-frontend/src/features/semanticLayers/MultiEnumControl.test.tsx
create mode 100644
superset-frontend/src/filters/components/Range/controlPanel.test.ts
create mode 100644 superset/mcp_service/hello.html
create mode 100644 superset/translations/fi/LC_MESSAGES/messages.po
create mode 100644 superset/translations/th/LC_MESSAGES/messages.po
create mode 100644
tests/unit_tests/mcp_service/test_jwt_verifier_browser_hello.py
copy {superset-core/src/superset_core/common =>
tests/unit_tests/scripts/translations}/__init__.py (100%)
create mode 100644 tests/unit_tests/scripts/translations/backfill_po_test.py
create mode 100644
tests/unit_tests/scripts/translations/build_translation_index_test.py