Evan Rusackas
7784933404
fix(SaveModal): widen onDashboardChange param to antd SelectValue
...
The function-component SaveModal typed onDashboardChange as taking
`{ label; value } | null`, which TS2322-rejected against AsyncSelect's
onChange signature — the antd callback supplies the broader
`SelectValue` (which includes `undefined`).
Widen the parameter to `SelectValue` and narrow to the expected
labeled-value shape inside the body; runtime behavior is unchanged
(single-mode AsyncSelect always emits a labeled option or
null/undefined).
2026-04-25 17:29:17 -07:00
Evan Rusackas
0732dfb5b3
test(DatasourceControl): await userEvent.click to deflake Edit dataset test
...
userEvent.click is asynchronous in @testing-library/user-event v14+;
unawaited calls left the downstream getByTestId assertion to race the
modal render. Awaits both clicks in the Edit-dataset test so the modal
is guaranteed open before the assertion runs.
Addresses codeant-ai review on PR #39461 .
2026-04-25 17:29:17 -07:00
Evan Rusackas
fa37cfde2d
fix(AdhocFilterControl): reset partitionColumn on datasource change
...
partitionColumn was only set when table metadata returned exactly one
partition key, but never reset when switching to a datasource with zero
or 2+ partition keys. Stale state leaked across datasource changes and
the 'latest partition' operator appeared incorrectly. Reset to null at
the top of the effect so only single-partition-key datasources end up
with a value.
Addresses codeant-ai review on PR #39461 .
2026-04-25 17:29:17 -07:00
Evan Rusackas
1f27ae2c3b
fix(SaveModal): guard cleared dashboard selection and strip OUT_OF_TAB hash
...
Two codeant-ai findings on the function-component SaveModal:
1. onDashboardChange was typed as receiving a non-null option, but the
Select allows clearing. Clearing sent null and crashed on
newDashboard.value access. Widens the type to `... | null`, sets
dashboard to undefined on clear, and guards the numeric-value branch.
2. The redirect-to-dashboard URL appended `#${selectedTab.value}` for
any truthy value, including the synthetic OUT_OF_TAB sentinel used to
represent "no tab". Skip appending the hash for OUT_OF_TAB, matching
the existing guard used when building selectedTabId.
Addresses codeant-ai review on PR #39461 .
2026-04-25 17:29:17 -07:00
Evan Rusackas
f455e90a20
fix(SqlLab): retry fetchQueryResults when resultsKey changes
...
Replaces the one-shot hasRunInitialEffect mount guard in TabbedSqlEditors
with a fetchedResultsKeyRef that records the last persisted resultsKey
fetched. The old guard permanently blocked the effect once it ran, so when
activeQueryEditor was unavailable on first render (common when tabHistory
hydrates asynchronously), persisted results were never fetched. Tracking
resultsKey lets the effect retry when it resolves and dedupes repeats.
Addresses codeant-ai review on PR #39461 .
2026-04-25 17:29:17 -07:00
Evan Rusackas
46c39601b3
fix(CopyToClipboard): guard cloneElement for non-element copyNode
...
copyNode is typed ReactNode but was passed unconditionally to
cloneElement. Non-element values (strings, numbers) would crash at
runtime. Guard with isValidElement and wrap non-elements in a styled
span.
2026-04-25 17:29:17 -07:00
Evan Rusackas
6ddded98fc
fix(SaveModal): restore saveAction history state dropped in function component conversion
...
The class component passed { saveAction: this.state.action } as the
second arg to history.replace after save. The function component
conversion dropped that argument. ExploreViewContainer reads
history.location.state.saveAction to trigger chart reload, which
puts the chart in 'loading' status and disables query-save-button.
Restores the argument to fix the `Cross-referenced dashboards` cypress
test which asserts the button becomes disabled after save.
2026-04-25 17:29:17 -07:00
Evan Rusackas
83b0b0fde2
fix(imports): rewrite stale @apache-superset/core bare and api/core imports to correct subpaths
2026-04-25 17:29:17 -07:00
Evan Rusackas
8963498813
style: apply prettier formatting
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-25 17:29:17 -07:00
Evan Rusackas
e1fb8b2d23
fix(imports): rewrite stale @apache-superset/core/ui to current subpaths
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-25 17:29:17 -07:00
Evan Rusackas
8f6a03050a
chore(lint): convert explore controls, SqlLab, and misc components to function components
...
Converts explore control components (AnnotationLayer, CheckboxControl,
CollectionControl, DatasourceControl, AdhocFilter*, FixedOrMetricControl,
AdhocMetric*, SelectControl, SpatialControl, TextAreaControl, TextControl,
TimeSeriesColumnControl, ViewportControl, SaveModal), SqlLab (App,
TabbedSqlEditors), Datasource (CollectionTable, DatasourceEditor),
and misc (CopyToClipboard, ErrorBoundary, RightMenu, ChartCreation)
from class to function components.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-25 17:29:17 -07:00
Haoqian Zhang
30bd490b84
fix: delete Chart under "All" in home page doesn't refresh after dele… ( #39471 )
2026-04-26 00:21:12 +02:00
dependabot[bot]
f255f63953
chore(deps): bump react-diff-viewer-continued from 4.2.0 to 4.2.2 in /superset-frontend ( #39613 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-25 02:03:35 -04:00
dependabot[bot]
2c7d25f829
chore(deps-dev): bump html-webpack-plugin from 5.6.6 to 5.6.7 in /superset-frontend ( #39609 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-25 02:03:28 -04:00
dependabot[bot]
96595965b8
chore(deps): bump maplibre-gl from 5.23.0 to 5.24.0 in /superset-frontend ( #39619 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-25 02:03:18 -04:00
dependabot[bot]
3da51ac3eb
chore(deps): bump d3-cloud from 1.2.8 to 1.2.9 in /superset-frontend ( #39617 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-25 02:03:12 -04:00
dependabot[bot]
9d480bc79d
chore(deps-dev): bump terser-webpack-plugin from 5.4.0 to 5.5.0 in /superset-frontend ( #39615 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-25 02:03:05 -04:00
dependabot[bot]
e709c191db
chore(deps-dev): bump webpack-sources from 3.3.4 to 3.4.0 in /superset-frontend ( #39611 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-25 02:02:49 -04:00
Evan Rusackas
2026a1de6a
fix(i18n): Fix menu bar translations not updating on language change ( #34565 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
Co-authored-by: Claude <claude@anthropic.com >
2026-04-24 22:49:03 -07:00
Evan Rusackas
abd93444d0
fix(frontend): clean up console warnings and deprecations ( #37881 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-04-24 22:48:29 -07:00
Daniel Vaz Gaspar
eb2645affe
chore(deps): bump pillow from 12.1.1 to 12.2.0 ( #39590 )
2026-04-25 10:11:33 +07:00
Amin Ghadersohi
ad20285dd6
fix(mcp): sanitize chart config errors and accept field name aliases ( #39606 )
2026-04-24 21:30:43 -04:00
dependabot[bot]
6a89955217
chore(deps): bump postcss from 8.5.6 to 8.5.10 in /docs ( #39639 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-24 19:50:52 -04:00
dependabot[bot]
579fe23a5e
chore(deps): bump ol from 10.8.0 to 10.9.0 in /superset-frontend ( #39616 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-24 19:48:51 -04:00
dependabot[bot]
66fce58697
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.58.2 to 8.59.0 in /superset-frontend ( #39612 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-24 18:32:11 -04:00
dependabot[bot]
ac44902145
chore(deps): bump match-sorter from 8.2.0 to 8.3.0 in /superset-frontend ( #39610 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-24 17:36:46 -04:00
dependabot[bot]
1b3d070997
chore(deps): bump react-map-gl from 8.1.0 to 8.1.1 in /superset-frontend ( #39607 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-24 17:35:11 -04:00
Richard Fogaca Nienkotter
57e563b177
fix(mcp): redact dashboard data model metadata ( #39632 )
2026-04-24 17:37:15 -03:00
Beto Dealmeida
edf4d03218
chore: bump rison to 2.0.0 ( #39529 )
2026-04-24 15:52:42 -04:00
JUST.in DO IT
78950fc18e
fix(sqllab): explore to chart is disabled ( #39630 )
2026-04-24 15:43:13 -03:00
Michael S. Molina
d6bbe6da9b
fix(sql-lab): show table expand/collapse arrow only on hover ( #39627 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-24 15:32:55 -03:00
Enzo Martellucci
d7941ccfec
fix(mcp): surface XSS sanitization in chart/dashboard names instead of silently stripping ( #39491 )
2026-04-24 14:59:20 +02:00
Richard Fogaca Nienkotter
d79eb5842a
fix(mcp): protect data-model metadata from dashboard viewers ( #39599 )
...
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-24 09:40:39 -03:00
Luiz Otavio
970b5bcf75
fix(cross-filter): correctly cast adhoc column types when cross filtering ( #39577 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-24 08:26:46 -03:00
Amin Ghadersohi
7c4f87615b
fix(mcp): correct method name in API key auth (extract_api_key_from_request) ( #39437 )
2026-04-23 23:33:23 -04:00
Elizabeth Thompson
f0d521dfc2
fix(reports): poll for spinner absence instead of snapshotting loading elements ( #39579 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 22:03:43 -03:00
Joe Li
39f12786a2
refactor(chart): replace word cloud sort_by_series migration with code defaults ( #39575 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-23 15:38:36 -07:00
Amin Ghadersohi
012bf52c8c
fix(mcp): resolve $ref by inlining definitions in compact schema ( #39562 )
2026-04-23 17:58:06 -04:00
Richard Fogaca Nienkotter
0d50fd676b
fix(mcp): hide user directory metadata from responses ( #39576 )
...
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 17:35:08 -03:00
Nitish Agarwal
acdf70176a
fix(dashboard): prevent label overlap in non-English locales ( #36669 )
2026-04-23 16:26:59 -04:00
Enzo Martellucci
dae79a6cba
fix(mcp): surface validation errors in generate_chart instead of empty response ( #39522 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-04-23 21:50:02 +02:00
Michael S. Molina
362e5bf45e
fix(jinja): drill-to-detail respects remove_filter=True in Jinja templates ( #39594 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-23 16:11:13 -03:00
Amin Ghadersohi
b1b6a057d8
fix(mcp): unwrap ToolResult payload before truncation in ResponseSizeGuardMiddleware ( #39578 )
...
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com >
2026-04-23 12:35:13 -04:00
dependabot[bot]
9b52110ab1
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 7.18.0 to 8.58.2 in /superset-frontend ( #39380 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com >
Co-authored-by: Evan Rusackas <evan@preset.io >
2026-04-23 22:04:54 +07:00
Andrii Protas
fc84d5d959
fix(i18n): correct Ukrainian locale flag code and language name typo ( #39593 )
2026-04-23 21:35:40 +07:00
dependabot[bot]
d62f1546aa
chore(deps): bump content-disposition from 1.0.1 to 1.1.0 in /superset-frontend ( #39581 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-23 04:14:24 -04:00
dependabot[bot]
b6ac1ef63c
chore(deps): bump baseline-browser-mapping from 2.10.20 to 2.10.21 in /docs ( #39584 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-23 03:31:02 -04:00
dependabot[bot]
59bc895f3f
chore(deps): bump aws-actions/amazon-ecr-login from 2.1.3 to 2.1.4 ( #39583 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-23 03:30:52 -04:00
dependabot[bot]
bc2ffc66e5
chore(deps): update dompurify requirement from ^3.4.0 to ^3.4.1 in /superset-frontend/packages/superset-ui-core ( #39543 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@rusackas.com >
2026-04-22 19:18:56 -04:00
Joao Amaral
e10918307c
fix(db): Add MariaDB DDL fix for NOCYCLE syntax ( #37582 )
2026-04-22 19:01:20 -04:00