sadpandajoe
2e3ae7a061
feat: add embedded dashboard E2E tests to Playwright CI
...
Add end-to-end tests for the embedded dashboard flow, validating the
complete path from external app through the @superset-ui/embedded-sdk
to dashboard rendering in an iframe with guest token authentication.
New test infrastructure:
- Minimal static HTML test app served by Node.js http server in fixture
- EmbeddedPage page object for iframe interaction
- API helpers for embedded config and guest token management
- chromium-embedded Playwright project with dedicated test matching
Tests cover:
- Dashboard rendering in embedded iframe via SDK
- UI config options (hideTitle, hideTab, hideChartControls)
- Native filter functionality in embedded mode
- allowed_domains referrer validation (403 for unauthorized origins)
- Guest token authentication and data access
Config changes:
- Enable EMBEDDED_SUPERSET feature flag in test config
- Add CORS config for embedded test app origin (localhost:9000)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-16 08:56:55 -07:00
Luiz Otavio
0b419a07f5
fix: add comments to SQL clause validation ( #39167 )
2026-04-16 09:19:39 -03:00
JUST.in DO IT
0b51e9cd5e
fix(sqllab): format_sql to apply db dialect by database_id ( #39393 )
2026-04-16 08:27:51 -03:00
Amin Ghadersohi
e7b9fb277e
fix(mcp): always push fresh app context per tool call to prevent g.user race ( #39385 )
2026-04-15 20:48:21 -04:00
Gabriel Torres Ruiz
18d6feb499
feat(mcp): add create_virtual_dataset tool to save SQL queries as datasets ( #39279 )
2026-04-15 13:04:32 -03:00
Beto Dealmeida
84f7b4a973
fix: do_ping takes a connection, not engine ( #39013 )
2026-04-15 11:10:24 -04:00
Hugh A. Miles II
b76080e291
feat(security): add granular export controls - Phase 2 + 3 ( #38581 )
...
Co-authored-by: Claude Haiku 4.5 <noreply@anthropic.com >
Co-authored-by: codeant-ai-for-open-source[bot] <244253245+codeant-ai-for-open-source[bot]@users.noreply.github.com>
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net >
Co-authored-by: Daniel Vaz Gaspar <danielvazgaspar@gmail.com >
2026-04-15 10:24:59 -04:00
Alexandru Soare
ffcc6e8b63
fix(MCP): fix MCP logs ( #39159 )
2026-04-15 15:57:04 +03:00
Maxime Beauchemin
fa1f12a0b5
fix(explore): replace TableView with virtualized GridTable, add row limit controls, restore sample filters ( #39212 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-13 08:19:49 -07:00
Amin Ghadersohi
680cef0ee0
fix(mcp): strip json_metadata and position_json from get_dashboard_info response ( #39101 )
2026-04-09 17:30:57 -04:00
Amin Ghadersohi
e17cf3c808
fix(mcp): wire up compact schema serialization for search_tools results ( #39229 )
2026-04-09 17:25:46 -04:00
Shaitan
f49310b8ff
fix(sql-lab): apply access check in SqlExecutionResultsCommand ( #38952 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-09 16:47:15 -04:00
Vitor Avila
c7955a38ef
fix: Drill to Detail for Embedded ( #39214 )
...
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-09 17:01:48 -03:00
Amin Ghadersohi
68067d7f44
fix(mcp): handle OAuth-authenticated databases in execute_sql ( #39166 )
2026-04-09 15:47:00 -04:00
Daniel Vaz Gaspar
5815665cc6
feat: role/user CRUD events and login/logout tracking in the action log ( #39121 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-09 15:55:25 +01:00
Enzo Martellucci
6649f35a0d
fix(reports): escape SQL LIKE wildcards in find_by_extra_metadata ( #38738 )
...
Co-authored-by: Mehmet Salih Yavuz <salih.yavuz@proton.me >
2026-04-09 12:58:06 +03:00
Mehmet Salih Yavuz
5263abdc60
fix(AlertsReports): untie filters from alerts reports tabs flag ( #38722 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 11:11:43 +03:00
Birk Skyum
c49641538d
feat: modernize deck.gl and map plugins with MapLibre/Mapbox dual renderer ( #38035 )
...
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net >
2026-04-08 20:14:59 -04:00
Amin Ghadersohi
1bde6f3bfd
fix(mcp): resolve null fields in list_datasets, list_databases, and save_sql_query ( #39206 )
2026-04-08 18:39:56 -04:00
Deadman
4e0890ee1f
feat(api): Add filter_dashboard_id parameter to apply dashboard filters to chart/data endpoint ( #38638 )
...
Co-authored-by: Matthew Deadman <matthewdeadman@Matthews-MacBook-Pro-2.local >
Co-authored-by: Matthew Deadman <matthewdeadman@matthews-mbp-2.lan >
Co-authored-by: codeant-ai-for-open-source[bot] <244253245+codeant-ai-for-open-source[bot]@users.noreply.github.com>
2026-04-08 15:32:46 -07:00
Elizabeth Thompson
587fe4af63
fix(reports): propagate PlaywrightTimeout so execution transitions to ERROR state ( #39176 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-08 11:00:03 -07:00
Alexandru Soare
4f695e1b4d
fix(filterReports): _generate_native_filter() crashes on null/empty filterValues ( #38954 )
2026-04-08 13:53:18 +03:00
Amin Ghadersohi
5f9fc31ae2
feat(mcp): add get_chart_type_schema tool for on-demand schema discovery ( #39142 )
2026-04-07 12:07:45 -04:00
Amin Ghadersohi
bf9aff19b5
fix(mcp): compress chart config schemas to reduce search_tools token usage ( #39018 )
2026-04-06 19:52:03 -04:00
Amin Ghadersohi
7be2acb2f3
fix(mcp): add description and certification fields to default list tool columns ( #39017 )
2026-04-06 13:37:52 -04:00
Amin Ghadersohi
83ad1eca26
fix(mcp): add dynamic response truncation for oversized info tool responses ( #39107 )
2026-04-06 12:36:03 -04:00
Amin Ghadersohi
92747246fc
fix(mcp): remove JWT ValueError g.user fallback in auth layer ( #39106 )
2026-04-06 12:35:46 -04:00
Amin Ghadersohi
7380a59ab8
fix(mcp): fix form_data null, dataset URL, ASCII preview, and chart rename ( #39109 )
2026-04-06 12:34:26 -04:00
Maxime Beauchemin
a62be684a0
feat(mcp): add database connection listing and info tools ( #39111 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com >
2026-04-06 11:34:10 -04:00
Sam Firke
12eb40db01
fix(SQL Lab): handle columns without names ( #38986 )
2026-04-06 10:09:16 -04:00
Amin Ghadersohi
851bbeea48
fix(mcp): improve execute_sql response-too-large error to suggest limit parameter ( #39003 )
2026-04-03 10:57:31 -04:00
Joe Li
9e27d682f6
test(alerts/reports): close backend and frontend test coverage gaps ( #38591 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-02 11:55:24 -07:00
Kamil Gabryjelski
135e0f8099
fix(mcp): Created dashboard should be in draft state by default ( #39011 )
2026-04-02 19:28:51 +02:00
Michael S. Molina
94d8735d4b
fix(query): pass datasource table to template processor for schema-aware Jinja rendering ( #38984 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-01 13:08:12 -03:00
Rui Zhao
53b1d1097c
fix(presto): Fix presto timestamp ( #26467 )
...
Co-authored-by: Claude Code <noreply@anthropic.com >
Co-authored-by: Rui Zhao <zhaorui@dropbox.com >
Co-authored-by: Joe Li <joe@preset.io >
2026-03-31 10:28:06 -07:00
Amin Ghadersohi
daefedebcd
fix(mcp): batch fix for execute_sql crashes, null timestamps, and deck.gl errors ( #38977 )
2026-03-31 12:50:20 -04:00
Amin Ghadersohi
c37a3ec292
fix(mcp): add TEMPORAL_RANGE filter for temporal x-axis in generate_chart ( #38978 )
2026-03-31 12:39:08 -04:00
Amin Ghadersohi
4245720851
feat(mcp): add Big Number chart type support to MCP service ( #38403 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-31 11:53:53 -04:00
Amin Ghadersohi
2c9cf0bd55
fix(mcp): enforce MAX_PAGE_SIZE limit on list tools to prevent oversized responses ( #38959 )
2026-03-30 16:48:03 -04:00
Amin Ghadersohi
38fdfb4ca2
fix(mcp): prevent stale g.user from causing user impersonation across tool calls ( #38747 )
2026-03-30 14:23:46 -04:00
Kamil Gabryjelski
15bab227bb
feat(mcp): support saved metrics from datasets in chart generation ( #38955 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-30 16:38:31 +02:00
Amin Ghadersohi
d331a043a3
fix(mcp): prevent PendingRollbackError from poisoned sessions after SSL drops ( #38934 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-30 10:30:15 -04:00
Amin Ghadersohi
89f7e5e7ba
fix(mcp): validate dataset exists in generate_explore_link before generating URL ( #38951 )
2026-03-30 09:29:29 -04:00
Amin Ghadersohi
aa1a69555b
fix(mcp): prevent GRID_ID injection into ROOT_ID on tabbed dashboards ( #38890 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-30 11:26:58 +02:00
Amin Ghadersohi
d1903afc69
fix(mcp): remove @parse_request decorator for cleaner tool schemas ( #38918 )
2026-03-29 16:09:51 -04:00
Krishna Chaitanya
ac96f46c76
fix(dataset): add email field to owners_data for Chart Explore path ( #38836 )
2026-03-27 09:44:11 -03:00
Alexandru Soare
5c782397bb
refactor(passwords): accept passwords via YAML file ( #38059 )
...
Co-authored-by: Mehmet Salih Yavuz <salih.yavuz@proton.me >
2026-03-27 14:37:34 +02:00
Enzo Martellucci
40387d5daa
fix(reports): PUT with empty recipients list does not persist the change ( #38711 )
2026-03-27 12:54:13 +01:00
Richard Fogaca Nienkotter
9c288d66b5
fix(dataset): add missing currency_code_column to DatasetPostSchema ( #38853 )
2026-03-26 16:58:04 -03:00
Beto Dealmeida
8983edea66
fix: type probing ( #38889 )
2026-03-26 13:06:49 -04:00