Joe Li
fdf8525c5d
fix(embedded-e2e): harden Playwright suite against flake
...
Replaces racy one-shot checks with auto-retrying assertions, asserts the
referrer-block test against the deterministic 403 response (not iframe
content), uses an OS-allocated port for the static test app with
connection-tracked teardown, caches the JWT access token across tests,
sends CSRF on the guest-token call (page.request always carries the
storageState cookie, so JWT-only doesn't actually skip CSRF), and waits
for a real viz element inside chart containers rather than a class that
doesn't exist. Verified with --repeat-each=5 (25/25 passing).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-11 16:11:17 -07:00
Joe Li
f7b5de25e9
fix(embedded-e2e): use route allowlist in static test server
...
The test app server only ever serves /, /index.html, and /sdk/index.js,
so replace dynamic path joining with a fixed allowlist. This eliminates
the data flow from req.url to readFileSync that CodeQL flagged as a
path-traversal sink — the previous resolve+startsWith containment check
was correct but not recognized as a sanitizer by the analyzer.
2026-05-11 16:11:17 -07:00
Joe Li
335a08a81b
feat(embedded-e2e): add Playwright E2E tests for embedded dashboards
...
Adds five tests covering the embedded dashboard flow against the
world_health example: render, hideTitle UI config, chart rendering,
allowed_domains referrer check, and guest-token data access. Includes:
- A chromium-embedded Playwright project, excluded from the main
project via testIgnore so it can be opted into separately.
- An EmbeddedPage page object and API helpers for embedding/guest
tokens plus dashboard lookup by slug.
- A static test app (embedded-app/index.html) loaded from a minimal
Node static server. Playwright bridges the guest-token fetch from
Node into the browser via page.exposeFunction.
- EMBEDDED timeout/config constants.
Workflow integration and test-environment configuration land in a
follow-up commit.
2026-05-11 16:11:17 -07:00
Evan Rusackas
cfb704dbeb
test(sqllab): stabilize SaveDatasetModal overwrite-flow test helper ( #40036 )
...
Co-authored-by: Superset Dev <dev@superset.apache.org >
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 15:48:10 -07:00
Evan Rusackas
785a08c7d5
chore(frontend): export typed useAppDispatch / useAppSelector hooks ( #40027 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-05-11 11:01:57 -07:00
Maxime Beauchemin
6ee4d694bc
fix(sqllab): include template_params when overwriting a dataset ( #39501 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-11 10:24:15 -07:00
Evan Rusackas
006a1800be
chore(lint): convert react-pivottable components to function components ( #39453 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-11 10:19:05 -07:00
Evan Rusackas
2fe6269c22
chore(lint): convert ChartDataProvider and StatefulChart to function components ( #39456 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-11 09:55:27 -07:00
Evan Rusackas
a7aa854968
fix(big-number): guard against null colorPicker in transformProps ( #39110 )
...
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-11 09:54:08 -07:00
Evan Rusackas
db0c5b32da
chore(lint): convert SuperChart and SuperChartCore to function components ( #39457 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-05-11 09:51:52 -07:00
Evan Rusackas
96ad20318d
chore(superset-core): forward-compat fixes for TypeScript 6.0 - Phase C ( #39537 )
...
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-11 09:50:07 -07:00
Evan Rusackas
516bb19e10
feat(frontend): enable React StrictMode at root ( #39893 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-05-11 09:48:54 -07:00
Evan Rusackas
2cc20d3284
perf(explore): use useDeferredValue for explore menu search and JS editor parse ( #39975 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-05-11 09:48:07 -07:00
Evan Rusackas
3e3c5c36c3
perf(explore): use useDeferredValue for datasource panel search ( #39970 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-05-11 09:47:50 -07:00
Evan Rusackas
eed7098093
perf(sql-lab): use useDeferredValue for schema browser search ( #39928 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
2026-05-11 09:47:24 -07:00
dependabot[bot]
494c29f5bf
chore(deps-dev): bump @typescript-eslint/eslint-plugin from 8.59.1 to 8.59.2 in /superset-frontend ( #39878 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-11 08:59:49 -07:00
dependabot[bot]
5a453fe95d
chore(deps-dev): bump wait-on from 9.0.5 to 9.0.6 in /superset-frontend ( #40014 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-11 08:54:26 -07:00
Mehmet Salih Yavuz
245fffca79
fix(dashboard): Clear All filters now stages changes until Apply ( #39778 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
Co-authored-by: Enzo Martellucci <52219496+EnxDev@users.noreply.github.com >
2026-05-11 17:15:35 +03:00
Mehmet Salih Yavuz
372b50e19d
fix(dashboard): row limit warning missing for non-table charts ( #39911 )
2026-05-11 17:14:55 +03:00
Oleg Ovcharuk
d83b0c5ce3
feat: support creating datasets for schema-less databases ( #39433 )
...
Co-authored-by: codeant-ai-for-open-source[bot] <244253245+codeant-ai-for-open-source[bot]@users.noreply.github.com>
2026-05-11 08:30:13 -04:00
dependabot[bot]
f67dd4a8f3
chore(deps): bump geostyler from 18.5.0 to 18.5.1 in /superset-frontend ( #39702 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-08 16:17:31 -07:00
Maxime Beauchemin
a60860c969
fix(table): fall back to datasource columns for conditional formatting when query results are empty ( #39345 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Joe Li <joe@preset.io >
2026-05-08 16:10:41 -07:00
Joe Li
e934f2af92
fix(tests): prevent jest hangs caused by MessageChannel-mocked React scheduler ( #39957 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-08 14:27:03 -07:00
Evan Rusackas
0250092378
chore(frontend): TypeScript 6.0 readiness — declaration emit fixes (Phase A) ( #39530 )
...
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-08 10:42:07 -07:00
Evan Rusackas
2f82236b29
feat(docs): expand docs:screenshots generator with manifest and tutorial captures ( #39444 )
...
Co-authored-by: Claude <claude@anthropic.com >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: Superset Dev <dev@superset.apache.org >
2026-05-08 10:02:19 -07:00
Mehmet Salih Yavuz
69fbbfd7ce
fix(table): consolidate visual column options under Visual formatting section ( #39856 )
2026-05-08 10:43:38 +03:00
Maxime Beauchemin
aa710672ed
fix(ui): remove makeUrl() double-prefix bugs under subdirectory deployment ( #39503 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Vitor Avila <96086495+Vitor-Avila@users.noreply.github.com >
2026-05-07 15:39:38 -03:00
Richard Fogaca Nienkotter
8c80caefa3
fix(explore): preserve preview chart name on save ( #39908 )
2026-05-07 13:08:28 -03:00
Richard Fogaca Nienkotter
8088c5d1de
fix(dashboard): match auto-refresh paused-dot outline to icon color ( #39909 )
2026-05-07 13:07:52 -03:00
Sebastian Mohr
e667ceb6cf
feat(themes): expose active theme mode via data-theme-mode attribute ( #39063 )
2026-05-06 18:17:54 +03:00
dependabot[bot]
d7beffcec1
chore(deps-dev): bump eslint-plugin-react-you-might-not-need-an-effect from 0.9.3 to 0.10.0 in /superset-frontend ( #39853 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-05 22:15:10 -07:00
dependabot[bot]
5e2c6d8c9e
chore(deps): bump nanoid from 5.1.9 to 5.1.11 in /superset-frontend ( #39820 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-05 22:13:52 -07:00
dependabot[bot]
d578fa1949
chore(deps): bump @deck.gl/mapbox from 9.3.1 to 9.3.2 in /superset-frontend ( #39814 )
...
Signed-off-by: dependabot[bot] <support@github.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 >
2026-05-05 22:09:33 -07:00
dependabot[bot]
c06aee8513
chore(deps-dev): bump jsdom from 29.1.0 to 29.1.1 in /superset-frontend ( #39815 )
...
Signed-off-by: dependabot[bot] <support@github.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 >
2026-05-05 22:04:47 -07:00
dependabot[bot]
d0ef19953a
chore(deps): bump memoize-one from 5.2.1 to 6.0.0 in /superset-frontend/plugins/plugin-chart-ag-grid-table ( #37910 )
...
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-05-05 21:38:49 -07:00
Joe Li
4b17ac2629
fix(explore): add matrixify_enable guard to prevent stale validators on pre-revamp charts ( #38765 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-05 16:45:38 -07:00
Beto Dealmeida
cb53745d43
feat: semantic layer extension ( #37815 )
2026-05-05 12:07:46 -04:00
jesperct
9e91ae8cff
fix(colors): reassign colliding series when dashboard locks shared dimension color ( #39297 )
...
Co-authored-by: codeant-ai-for-open-source[bot] <244253245+codeant-ai-for-open-source[bot]@users.noreply.github.com>
2026-05-05 08:38:19 -07:00
jesperct
5b5f23d127
test(plugin-chart-echarts): regression guards for temporal x-axis labels on timeseries charts ( #39208 )
2026-05-05 08:37:35 -07:00
Mehmet Salih Yavuz
8173cfe9e3
fix(CollectionControl): assign stable ids to keyless items ( #39862 )
2026-05-05 17:52:36 +03:00
Mehmet Salih Yavuz
586de12a05
fix(embedded): prevent duplicate React root on rehandshake ( #39860 )
2026-05-05 17:52:01 +03:00
dependabot[bot]
812f4ae080
chore(deps): update zod requirement from ^4.4.1 to ^4.4.3 in /superset-frontend/plugins/plugin-chart-echarts ( #39850 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-04 15:07:55 -07:00
dependabot[bot]
af8d15fdfc
chore(deps): bump yeoman-generator from 8.1.2 to 8.2.2 in /superset-frontend ( #39852 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-04 15:07:41 -07:00
Mehmet Salih Yavuz
41a22d7918
chore: Upgrade to React 18 ( #38563 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Evan Rusackas <evan@preset.io >
2026-05-04 19:19:36 +03:00
dependabot[bot]
6205afbaa0
chore(deps-dev): bump webpack-sources from 3.4.0 to 3.4.1 in /superset-frontend ( #39851 )
2026-05-04 22:25:31 +07:00
EMMANUELA OPURUM
dc1c0f6ba1
docs: add user-facing Handlebars chart page with full helpers reference ( #39591 )
...
Co-authored-by: Emmanuela Opurum <youremail@example.com >
2026-05-02 13:16:39 -04:00
dependabot[bot]
ad73395c89
chore(deps-dev): bump yeoman-test from 11.3.1 to 11.4.2 in /superset-frontend ( #39816 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-02 13:46:47 +07:00
Evan Rusackas
867e173427
chore(deps): drop stale legacy-plugin-chart-map-box lockfile entry ( #39825 )
...
Co-authored-by: Superset Dev <dev@superset.apache.org >
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com >
2026-05-02 13:35:25 +07:00
Abdul Rehman
b14cca15f6
fix(table): preserve decimals in totals row when Time Comparison is enabled ( #39747 )
2026-05-02 13:31:54 +07:00
dependabot[bot]
9d4384e49e
chore(deps-dev): bump @babel/preset-env from 7.29.2 to 7.29.3 in /superset-frontend ( #39822 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-02 12:38:54 +07:00