Commit Graph

19044 Commits

Author SHA1 Message Date
Evan Rusackas
bf97203bc9 fix: resolve rebase conflict residue in DatasourceEditor
- Remove duplicate CollectionTable block from auto-merge
- Fix this.onDatasourcePropChange reference to function component style
- Add metricSearchTerm to renderMetricCollection dependency array

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 15:39:50 -08:00
Evan Rusackas
f29094d6a7 fix(lint): resolve no-use-before-define errors and restore Chart test behavior
- Move unload function before onBeforeUnload in Dashboard.tsx
- Move FormContainer function before ColumnCollectionTable in DatasourceEditor.tsx
- Add backend error check to prevent loading spinner from hiding actual errors

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 15:39:10 -08:00
Evan Rusackas
f050ffd6e1 fix(pivot-table): use correct react-icons import path
Changed from @react-icons/all-files to react-icons/fa to match the
installed package and other usages in the codebase.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 15:39:10 -08:00
Evan Rusackas
18a6678f19 fix(types): make SuperChart theme prop optional
The `theme` prop is already optional at runtime since the component falls
back to useTheme() context. This change makes the type definition match
the implementation, fixing TypeScript errors in Storybook files that don't
provide an explicit theme.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 15:39:10 -08:00
Evan Rusackas
131096da90 fix: add missing theme prop to SuperChart in story files
Add `theme={supersetTheme}` prop to all SuperChart components in story
files to fix TypeScript errors about missing required `theme` property.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 15:39:10 -08:00
Evan Rusackas
4d8c3efd50 fix: address bot review comments for function component conversion
- TTestTable: convert string values to numbers before Number.isFinite checks
- Chart: update renderStartTimeRef on each render for accurate timing
- Dashboard: add beforeunload listener cleanup on unmount
- Markdown: add key to ErrorBoundary to reset error state

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 15:39:10 -08:00
Evan Rusackas
07a063df50 style: apply prettier formatting fixes
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 15:39:10 -08:00
Evan Rusackas
7de8453dec fix(tests): remove unused dashboardStateActions import
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 15:39:10 -08:00
Evan Rusackas
d783b7e68b fix(tests): update SaveModal tests for function component conversion
SaveModal was converted from a class component to a function component,
which broke tests that were instantiating it with `new TestSaveModal()`.

Changes:
- Extract `createRedirectParams` and `addChartToDashboard` as exported
  utility functions that can be tested directly
- Update tests to use the exported functions instead of trying to
  instantiate the component as a class
- Add placeholder tests with TODO comments for tests that require
  component rendering (onDashboardChange, onTabChange, saveOrOverwrite)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 15:39:10 -08:00
Evan Rusackas
bf3d55809f fix(tests): skip TableRenderer tests pending FC refactoring
The tableRenders.test.tsx tests were testing class instance methods
(sortData, sortAndCacheData, getAggregatedData, setState, state)
which no longer exist on the function component version of TableRenderer.

Added a placeholder test with a TODO comment explaining that these tests
need to be rewritten to either export helper functions or test through
component rendering.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 15:38:44 -08:00
Evan Rusackas
1e5493bb49 fix: add theme prop to SuperChart instances in src/ files
Add theme prop to SuperChart components in:
- ChartRenderer.tsx
- DrillByChart.tsx
- FilterValue.tsx
- DefaultValue.tsx
- RangeFilterPlugin.stories.tsx
- SelectFilterPlugin.stories.tsx

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 15:38:44 -08:00
Evan Rusackas
5fe8ba8fac fix(storybook): add theme prop to all SuperChart instances in stories
Add supersetTheme import and theme prop to all 44 storybook story files
that use SuperChart to satisfy the required ChartPropsConfig.theme property.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 15:38:44 -08:00
Evan Rusackas
5f89ee3af1 fix(tests): add theme prop to SuperChart test instances
Add supersetTheme prop to all SuperChart instances in SuperChart.test.tsx
to satisfy the required ChartPropsConfig theme property. Also adds explicit
JSX.Element return type to ChartDataProvider.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 15:38:44 -08:00
Evan Rusackas
0879c8cddc fix: address code review comments from bot
- ChartDataProvider: fix useEffect to only refetch on formData/sliceId changes
- reactify: preserve legacy `this` context for componentWillUnmount callbacks
- HorizonRow: add empty array guard for colorScale="change"
- TTestTable: clamp control index when data shrinks
- TableRenderers: fix sorting state reset to only trigger on structural props
- Chart: initialize renderStartTimeRef with Logger.getTimestamp()
- DatasourceEditor: pass fresh validation errors to onChange callback
- Dashboard: use event parameter instead of window.event in beforeunload
- SliceAdder: use refs to track latest values in cleanup effect
- Markdown: add ErrorBoundary and error handler to enable error message
- SaveModal: add isLoading check to "Save & go to dashboard" button
- CollectionControl: forward header props to ControlHeader

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 15:38:44 -08:00
Evan Rusackas
319fb87e44 fix(StatefulChart): pass theme prop to SuperChart
SuperChart requires the theme prop from ChartPropsConfig. Add useTheme
hook to obtain theme from context and pass it to SuperChart component.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 15:38:11 -08:00
Evan Rusackas
5dffbc26ed chore(lint): convert class components to function components
Convert all remaining React class components to function components
using hooks (useState, useCallback, useEffect, useRef, useMemo) to
satisfy the react-prefer-function-component ESLint rule.

Key changes:
- Converted components in dashboard, explore, SqlLab, and Chart areas
- Updated associated test files with proper typing
- Fixed JSX.Element return types for components used as JSX
- Added explicit ControlHeader props where needed
- Fixed shouldFocus callback signature in WithPopoverMenu usage

Notable exceptions (not converted):
- ErrorBoundary (uses componentDidCatch)
- DragDroppable (react-dnd requires class instances)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-27 15:38:10 -08:00
Kamil Gabryjelski
63f1d9eb98 feat(folders-editor): drag entire folder block as single unit (#38122)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 20:02:21 +01:00
Kamil Gabryjelski
5e890a8cf7 fix(folders): remove stale column/metric refs from folders on delete (#38302)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 17:25:06 +01:00
amaannawab923
e5cbc98482 fix(ag-grid): render boolean columns as checkboxes instead of blank cells (#38279) 2026-02-27 17:52:51 +05:30
Alexandru Soare
761cee2d85 fix(componentParent): Newly created tabs don't show up in Scoping tab (#37807) 2026-02-27 11:34:32 +02:00
Alexandru Soare
7743183401 fix(bugs): fixing bugs for world map chart (#38030) 2026-02-27 11:33:35 +02:00
Kamil Gabryjelski
11dfda11d3 fix(folders): expand collapsed folders on Select All and add selection counter (#38270)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 07:28:07 +01:00
Kamil Gabryjelski
0827ec3811 fix(dataset-modal): include nested folders when dragging all their children (#38275)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 07:27:37 +01:00
Amin Ghadersohi
7f061a3764 fix(bigquery): pass dialect instead of engine to select_star in get_extra_table_metadata (#38281) 2026-02-27 02:11:40 +01:00
Joe Spadola
bb6ee9e722 fix(clickhouse): remove _mutate_label workaround and bump clickhouse-connect to >=0.13.0 (#38280) 2026-02-26 16:12:54 -08:00
Evan Rusackas
6589ee48f9 docs: bifurcate documentation into user and admin sections (#38196)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-26 13:29:08 -08:00
Kamil Gabryjelski
8a053bbe07 fix(dataset-modal): fix drag overlay shift caused by modal transform containing block (#38274)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 20:48:48 +01:00
Enzo Martellucci
bbafae5f62 fix(save-chart): fix info icon alignment in save chart modal (#37708)
Co-authored-by: Diego Pucci <diegopucci.me@gmail.com>
2026-02-26 18:11:07 +01:00
Enzo Martellucci
5a134170a0 fix(chart): prevent x-axis date labels from disappearing when rotated (#37755) 2026-02-26 18:10:44 +01:00
Enzo Martellucci
c1c012fb52 fix(chart): make chart error banners non-dismissible (#38014) 2026-02-26 17:01:02 +01:00
jaymasiwal
f5d489da29 fix(actionlog): restore full name display in Action Logs user column (#37985) 2026-02-26 16:36:24 +01:00
dependabot[bot]
ca48663c59 chore(deps): bump dawidd6/action-download-artifact from 15 to 16 (#38261)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-26 22:17:19 +07:00
Kamil Gabryjelski
660357c76b feat: Persist default folders location when repositioned in folders editor (#38105)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 15:58:25 +01:00
dependabot[bot]
8c58b998b1 chore(deps): pin currencyformatter.js to v1 in /superset-frontend (#38242)
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: hainenber <dotronghai96@gmail.com>
2026-02-26 21:38:42 +07:00
dependabot[bot]
0e7a9febdf chore(deps): bump minimatch from 3.1.2 to 3.1.3 in /superset-frontend/cypress-base (#38228)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-26 21:36:22 +07:00
dependabot[bot]
e42202e5ed chore(deps-dev): bump @types/node from 25.2.3 to 25.3.1 in /superset-websocket (#38260)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-26 21:35:19 +07:00
dependabot[bot]
dcbe77818a chore(deps-dev): bump @types/node from 25.3.0 to 25.3.1 in /superset-frontend (#38263)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-26 21:26:42 +07:00
dependabot[bot]
dce0e5f4e6 chore(deps): bump mapbox-gl from 3.18.1 to 3.19.0 in /superset-frontend (#38264)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-26 21:24:56 +07:00
Kamil Gabryjelski
7f72c747f5 fix(dataset-modal): prevent shift-select from selecting search-hidden items (#38255)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 15:07:02 +01:00
Kamil Gabryjelski
2ecfb3406c fix(dataset-modal): show warning toast when dropping items outside folders (#38257)
Co-authored-by: Claude Opus 4 <noreply@anthropic.com>
2026-02-26 15:06:41 +01:00
Amin Ghadersohi
ae99b19422 feat(mcp): add detailed JWT error messages and default auth factory fallback (#37972)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 14:21:40 +01:00
Đỗ Trọng Hải
2b6c745444 fix(ci): use OIDC auth token for successful Codecov upload (#38218) 2026-02-26 10:34:24 +07:00
Enzo Martellucci
26053a8b5d fix(alert-modal): show the add filter button on firefox (#38093) 2026-02-25 23:42:05 +01:00
Amin Ghadersohi
abf0b7cf4b fix(mcp): use broad Exception in outermost tool-level handlers (#38254) 2026-02-25 22:08:56 +01:00
Amin Ghadersohi
eef4d95c22 fix(mcp): add dataset validation for chart tools (#37185)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-25 18:54:47 +01:00
Amin Ghadersohi
cc1128a404 feat(mcp): add response size guard to prevent oversized responses (#37200) 2026-02-25 09:43:14 -08:00
Amin Ghadersohi
c54b21ef98 fix(mcp): add eager loading to get_info tools to prevent N+1 query timeouts (#38129)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 17:28:58 +01:00
dependabot[bot]
438a927420 chore(deps-dev): bump oxlint from 1.49.0 to 1.50.0 in /superset-frontend (#38240)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-25 23:10:37 +07:00
dependabot[bot]
37a4637018 chore(deps-dev): bump typescript-eslint from 8.56.0 to 8.56.1 in /superset-websocket (#38203)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-25 23:09:41 +07:00
dependabot[bot]
79b2647481 chore(deps): bump @swc/core from 1.15.11 to 1.15.13 in /docs (#38207)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-25 23:00:21 +07:00