Commit Graph

21109 Commits

Author SHA1 Message Date
Evan Rusackas
ece92c87e7 fix(frontend): restore antd5 Tag trailing margin for layout parity
antd 6 removed the Tag's default margin-inline-end: 8px in favor of
parents spacing tags via flex/Space gaps. App layouts predate that and
rely on the v5 default — most visibly the dashboard header, where the
Published tag sat flush against the metadata bar. Restore the margin in
GlobalStyles (to be removed once Tag-adjacent layouts declare their own
gaps) and pin it with a computed-style regression test that exercises
the provider -> GlobalStyles -> Tag chain.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 12:51:37 -07:00
Evan Rusackas
aaf62f8154 test: fix post-merge CI failures (prettier format + icons6 accessible name)
- Format ScheduleQueryButton.test.tsx (long import line).
- FiltersConfigModal restore/undo tests (new on master, first exercised
  against antd6 by the merge): query the filter delete button by its
  intended accessible name. @ant-design/icons 6 fixes label precedence —
  the developer-provided aria-label ('Remove filter') now correctly wins
  over the icon-name default ('delete') that the icons 5 render exposed
  and the tests had matched.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 11:33:02 -07:00
Evan Rusackas
e7b0de2c2a Merge remote-tracking branch 'origin/master' into feat/antd6-upgrade
# Conflicts:
#	UPDATING.md
#	superset-frontend/packages/superset-ui-core/src/components/Select/AsyncSelect.tsx
2026-07-03 11:07:33 -07:00
Evan Rusackas
e179383dff fix(frontend): address code-review findings on the antd6 migration
Deep review of the branch surfaced ten verified defects; fixes:

- Restore the #36963 dropdown-positioning fix: antd 6 removed Select's
  `dropdownAlign`, and the migration deleted DROPDOWN_ALIGN_BOTTOM without
  a replacement. Re-expressed via the supported `builtinPlacements` prop
  (antd 6's own defaults with adjustX disabled).
- Bump react-js-cron 5.2 -> 6.0.2 (antd >=6 peer): its vendor stylesheet
  was written against antd 5 Select classes, silently killing the cron
  error styling and layout. v6 ships antd6-native selectors.
- Migrate the Collapse content family (.ant-collapse-content -> -panel,
  .ant-collapse-content-box -> -body) across Collapse.tsx, VizTypeGallery,
  ControlPanelsContainer, StandardModal, config-modal styles, and the
  Cypress selectors — same silent-override breakage as the Tabs chain.
- DateFunctionTooltip: rules were nested inside a stale .ant-tooltip-content
  ancestor antd 6 never renders; apply them to .ant-tooltip-container.
- Cypress advanced-time-range helper: .ant-popover-inner-content ->
  .ant-popover-content (v6 body element).
- Narrow the Select wrapper's `showSearch` to boolean and
  `tokenSeparators` to string[]: antd 6 widened both (SearchConfig object,
  function form) but the wrapper silently discards those forms — make the
  unsupported forms a compile error instead.
- AsyncSelect: suffix icon now reflects the effective searchability
  (allowNewOptions || showSearch), matching Select and the actual antd prop.
- Add an rjsf v6 smoke test for ScheduleQueryButton (sole @rjsf consumer;
  form is config-driven so a breaking rjsf change is invisible to tsc).
- Expand the antd DOM contract test: select input/suffix-item, tabs
  content-active, popover container>title+content structure, and the
  Collapse panel/body family.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 10:58:46 -07:00
Elizabeth Thompson
2702113d99 fix(a11y): add aria-label to VizTypeGallery search clear icon (#41681) 2026-07-03 10:39:20 -07:00
Elizabeth Thompson
0b14f1c226 fix(a11y): use aria-label instead of non-functional alt prop on filter icons (#41742) 2026-07-03 10:39:04 -07:00
Evan Rusackas
4db056edee docs: add antd v5→v6 breaking changes to UPDATING.md
An antd major bump is breaking for downstream plugin/extension authors:
renamed .ant-* internal DOM classes (custom CSS silently stops matching),
changed/removed component props, and CSS variables on by default. Log the
notable renames and point at the upstream migration guide.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 10:18:09 -07:00
dependabot[bot]
114c258145 chore(deps-dev): bump webpack from 5.107.2 to 5.108.0 in /superset-frontend (#41733)
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: hainenber <dotronghai96@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Đỗ Trọng Hải <41283691+hainenber@users.noreply.github.com>
Co-authored-by: hainenber <dotronghai96@gmail.com>
2026-07-03 23:58:39 +07:00
dependabot[bot]
9f8ff1e87f chore(deps): bump @deck.gl/mapbox from 9.3.4 to 9.3.5 in /superset-frontend (#41735)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-03 21:15:13 +07:00
dependabot[bot]
2b30605e3c chore(deps): bump baseline-browser-mapping from 2.10.38 to 2.10.40 in /docs (#41736)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-03 21:14:41 +07:00
dependabot[bot]
d93098f853 chore(deps-dev): bump baseline-browser-mapping from 2.10.38 to 2.10.40 in /superset-frontend (#41737)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-03 21:14:06 +07:00
dependabot[bot]
eaf6daa7eb chore(deps-dev): bump webpack from 5.107.2 to 5.108.0 in /docs (#41734)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-03 21:11:57 +07:00
Evan Rusackas
0e6c5838e4 fix(deck.gl): apply categorical scatterplot colors in Multiple Layers chart (#41490)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Enzo Martellucci <enzomartellucci@gmail.com>
2026-07-03 14:23:29 +02:00
Maxime Beauchemin
4f37e955b5 fix(plugin-chart-echarts): prevent trendline stroke clipping at chart edges (#37918)
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Enzo Martellucci <enzomartellucci@gmail.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Enzo Martellucci <52219496+EnxDev@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>
2026-07-03 10:59:13 +02:00
Evan Rusackas
46a153d17e feat(i18n): backfill Persian (Farsi) (fa) translations (AI-generated, needs review) (#41701)
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 17:58:21 -07:00
anamitraadhikari
6d22697cba feat(theming): make core components fully configurable via theme tokens (#40985)
Co-authored-by: aadhikari <aadhikari@apple.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Enzo Martellucci <52219496+EnxDev@users.noreply.github.com>
2026-07-02 17:55:48 -07:00
dependabot[bot]
7cbdc726e3 chore(deps-dev): bump @storybook/addon-links from 10.4.4 to 10.4.6 in /superset-frontend (#41366)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-02 17:54:54 -07:00
Evan Rusackas
087ab1507e fix(frontend): fix remaining stale antd5 selectors + expand DOM contract test
Test-driven audit (rendering each antd6 component and dumping its real
classes) surfaced more silently-broken overrides the earlier passes missed:

- ChartCreation: `.ant-steps-item-tail` -> `.ant-steps-item-rail` (antd6 renamed
  the Steps connector line; the 'hide connector' rule had stopped matching).
- DropdownContainer + plugin-chart-ag-grid-table: `.ant-popover-inner` ->
  `.ant-popover-container` (two sites missed when GlobalStyles was fixed).

Verified via real v6 DOM that `.ant-modal-close-x`, `.ant-steps`/`-item-icon`/
`-item-title`/`-item-content` are NOT renamed and were correctly left alone.

Extended antdDomContract.test.tsx with Steps (incl. the tail->rail rename that
SQL Lab loading detection also depends on via `.ant-steps`) and the Select
suffix/arrow class, so this whole class of silent breakage is guarded.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 17:42:28 -07:00
dependabot[bot]
ceadce234b chore(deps-dev): bump @storybook/react-webpack5 from 10.4.4 to 10.4.6 in /superset-frontend (#41371)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-02 17:34:53 -07:00
Evan Rusackas
5bd008b756 fix(frontend): migrate antd6 Tabs content DOM chain (fixes 0-height SQL Lab editor)
antd 6 restructured the Tabs content DOM, breaking the fullHeight height
chain that SQL Lab, Explore, and several modals rely on. The Ace editor
rendered into a 0-height container and never became visible — every
chromium-sqllab Playwright test timed out at 60s (vs ~8s on master), and
the editor was effectively unusable.

antd 5 -> 6 positional rename (verified against real v6 rendered DOM):
  .ant-tabs-content-holder      -> .ant-tabs-body-holder
  .ant-tabs-content (wrapper)   -> .ant-tabs-body   (new intermediate level)
  .ant-tabs-tabpane   (panel)   -> .ant-tabs-content (now the [role=tabpanel])

The new .ant-tabs-body level had no height rule, collapsing the chain.
Applied the rename across the core Tabs wrapper and all app overrides that
walk this DOM (SQL Lab App/SouthPane/SqlEditor, Explore ControlPanels/
DataTablesPane, DatabaseModal, DatasourceEditor, dashboard). Extended the
antd DOM contract test to pin the body-holder -> body -> content chain so a
future antd bump fails loudly instead of silently collapsing it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 17:31:52 -07:00
Evan Rusackas
47bc3e2dc1 fix: correct Security menu case for MySQL deployments (#40527)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Joe Li <joe@preset.io>
2026-07-02 17:23:31 -07:00
Evan
e2727ad6e2 style: prettier format antdDomContract test
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 17:22:12 -07:00
Evan Rusackas
49fcaf2420 feat(i18n): backfill Turkish (tr) translations (AI-generated, needs review) (#41702)
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 17:21:17 -07:00
Enzo Martellucci
55088e10da feat(database-modal): add validation loading state and duplicate name check (#36880)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-07-02 16:52:13 -07:00
Mike Bridge
bdc610c572 fix(db): use a private engine for prequery connections to avoid listener race (#41642)
Co-authored-by: Mike Bridge <michael.bridge@ext.preset.io>
2026-07-02 16:30:09 -07:00
Evan Rusackas
a151edeff3 feat(i18n): backfill Dutch (nl) translations (AI-generated, needs review) (#41704)
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 16:27:24 -07:00
Elizabeth Thompson
d8832c382d fix(views): emit deprecated-endpoint log warning once per endpoint per process (#41286) 2026-07-02 16:10:37 -07:00
Elizabeth Thompson
5bbab86a07 fix(schemas): rename deprecated query fields regardless of falsy values (#41263) 2026-07-02 16:10:10 -07:00
Yuriy Krasilnikov
ab0e77c1cb fix(embedded): allow guest users to sort by visible columns (#37371)
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 15:50:56 -07:00
Evan Rusackas
0a945abbc1 test(frontend): pin antd6 DOM-class contract for styled overrides
The antd 5->6 DOM class renames broke several CSS overrides silently — no
test failed when a selector stopped matching. Add a contract test asserting
the antd6 classes our overrides depend on still exist (select value/overflow/
placeholder containers, popover-container, tooltip-container, modal-body), so a
future antd bump that renames one fails loudly here instead of shipping a
visual regression.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 15:47:28 -07:00
Evan Rusackas
58bc1c1e1d fix(frontend): update stale antd5 CSS selectors in styled overrides for v6
antd 6 renamed several internal DOM classes; these styled-component and
GlobalStyles overrides silently stopped matching (broken visual overrides
no test catches). Verified each replacement against real antd 6 rendered DOM:

- Popover: .ant-popover-inner -> .ant-popover-container (explore-popover padding)
- Select value container: .ant-select-selector/.ant-select-selection-overflow
  -> .ant-select-content; overflow items .ant-select-selection-overflow-item[-rest|-suffix]
  -> .ant-select-content-item[-rest|-suffix]; placeholder
  .ant-select-selection-placeholder -> .ant-select-placeholder; search wrapper
  .ant-select-selection-search -> .ant-select-input. Multiple-mode tag
  .ant-select-selection-item is unchanged in v6 and kept as-is.

The ColorPicker alpha overrides (#34721) are intentionally left untouched: the
geostyler CSS they counteracted no longer hides those controls, and antd 6
removed the alpha-specific slider class — re-pointing them would wrongly restyle
sliders. Flagged for visual QA instead.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 15:35:15 -07:00
Joe Li
a30846881b test(ci): stabilize master checks (#41650) 2026-07-02 15:32:06 -07:00
Evan Rusackas
d5523547d4 test(e2e): add welcome/Home content smoke test
The auth suite only waits for the welcome URL + session cookie, so a
welcome page that routes correctly but renders a blank shell (only the
top nav) would still pass CI. Assert a Home content section ('Recents',
a Collapse panel absent from the nav) is visible, so a blank landing
page fails loudly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 15:03:36 -07:00
Elizabeth Thompson
22c3f56d0a fix(redshift): suppress unavoidable pkg_resources deprecation warning (#41691) 2026-07-02 15:01:23 -07:00
Evan Rusackas
66bf81b997 feat(i18n): backfill Russian (ru) translations (AI-generated, needs review) (#41649)
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 14:59:15 -07:00
Evan Rusackas
03703843b7 feat(i18n): backfill French (fr) translations (AI-generated, needs review) (#41655)
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 14:57:58 -07:00
Evan Rusackas
f61d6d8b84 feat(i18n): backfill Māori (mi) translations (AI-generated, needs review) (#41656)
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 14:57:32 -07:00
Evan Rusackas
7eb93c60a3 feat(i18n): backfill Catalan (ca) translations (AI-generated, needs review) (#41657)
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 14:57:19 -07:00
Evan Rusackas
9e08770291 feat(i18n): backfill Slovenian (sl) translations (AI-generated, needs review) (#41658)
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 14:57:05 -07:00
Evan Rusackas
358493a2c5 feat(i18n): backfill Brazilian Portuguese (pt_BR) translations (AI-generated, needs review) (#41659)
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 14:56:31 -07:00
Evan Rusackas
83965b4be8 chore(ci): correct codeql-action version pin comment to v4.36.2 (#41693)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 14:56:00 -07:00
Evan Rusackas
f9bcf189c9 chore(ci): suppress zizmor adhoc-packages on GHA validator install (#41694)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 14:55:49 -07:00
Evan Rusackas
1c74185a71 chore(ci): correct codeql-action version comment to match pinned SHA (#41695)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 14:55:40 -07:00
Mehmet Salih Yavuz
8bf3933972 fix(dashboard): show a not-found state for a deleted dashboard (#41686) 2026-07-02 22:15:25 +03:00
yousoph
19e94855a1 fix(explore): prevent Results FilterInput from stealing focus during remount (#41100)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-02 11:33:17 -07:00
Brian Maina
139df20cde fix(i18n): update German security menu translations (#41587) 2026-07-03 01:13:14 +07:00
Imad Helal
4c193d4dbc feat(i18n): wrap description strings in translation function (#41626) 2026-07-03 00:44:25 +07:00
Evan Rusackas
aa40934e7f fix(i18n): compile fuzzy translations into the backend .mo files (#41648)
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 10:43:13 -07:00
jack
6c2c814b5c fix(dashboard): not filterable column now not emitting cross-filters in table charts (#30827)
Co-authored-by: Evan Rusackas <evan@preset.io>
2026-07-02 10:42:53 -07:00
Evan Rusackas
9769380d6d feat(i18n): backfill Polish (pl) translations (AI-generated, needs review) (#41660) 2026-07-03 00:40:28 +07:00