Skip to content

fix(reports): propagate PlaywrightTimeout so execution transitions to ERROR state#39176

Merged
eschutho merged 3 commits into
masterfrom
playwright-timeout
Apr 8, 2026
Merged

fix(reports): propagate PlaywrightTimeout so execution transitions to ERROR state#39176
eschutho merged 3 commits into
masterfrom
playwright-timeout

Conversation

@eschutho

@eschutho eschutho commented Apr 8, 2026

Copy link
Copy Markdown
Member

SUMMARY

When Playwright times out waiting for a chart to load, the execution should transition to a clean ERROR state. The previous code swallowed the exception with pass in the outer except PlaywrightTimeout block, causing get_screenshot() to return None silently. This took a late code path (if not imges) that could be bypassed when partial screenshots existed, lost the original error message, and left the execution in WORKING state — blocking all future runs of the same report until a manual DB reset.

Root cause (superset/utils/webdriver.py):

# Before (buggy)
except PlaywrightTimeout:
    # raise again for the finally block, but handled above
    pass  # swallows the exception; get_screenshot() returns None

# After (fixed)
except PlaywrightTimeout:
    raise  # propagates to _get_screenshots(), converted to ReportScheduleScreenshotFailedError

The finally: browser.close() block runs regardless of whether an exception is raised, so the comment was also incorrect.

Propagation chain after fix:

  1. PlaywrightTimeout raised in WebDriverPlaywright.get_screenshot()
  2. Caught by except Exception as ex in _get_screenshots() → re-raised as ReportScheduleScreenshotFailedError(f"Failed taking a screenshot {str(ex)}")
  3. Caught by state machine → update_report_schedule_and_log(ReportState.ERROR)

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

N/A — state machine behavior change, no UI change.

TESTING INSTRUCTIONS

  1. Run the updated unit test:
    pytest tests/unit_tests/utils/webdriver_test.py::TestWebDriverPlaywrightErrorHandling::test_get_screenshot_raises_on_element_wait_timeout
    
  2. To verify end-to-end: configure a report against a chart that never finishes loading (e.g. broken datasource), trigger the report, and confirm the execution log shows Error state rather than staying Working.

ADDITIONAL INFORMATION

  • Has associated issue:
  • Required feature flags:
  • Changes UI
  • Includes DB Migration
  • Introduces new feature or API
  • Removes existing feature or API

🤖 Generated with Claude Code

… ERROR state

When a chart-loading wait timed out, the outer except block swallowed
PlaywrightTimeout with `pass` instead of re-raising it. This caused
get_screenshot() to return None silently, which took a late code path
(if not imges) that is bypassed when partial screenshots exist and
loses the original error message. Replacing `pass` with `raise` ensures
PlaywrightTimeout propagates into _get_screenshots(), is converted to
ReportScheduleScreenshotFailedError with the timeout message, and the
state machine reliably transitions to ERROR instead of staying in WORKING.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@bito-code-review

bito-code-review Bot commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

Code Review Agent Run #31a07b

Actionable Suggestions - 0
Review Details
  • Files reviewed - 2 · Commit Range: 6f6dd0d..6f6dd0d
    • superset/utils/webdriver.py
    • tests/unit_tests/utils/webdriver_test.py
  • Files skipped - 0
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful
    • MyPy (Static Code Analysis) - ✔︎ Successful
    • Astral Ruff (Static Code Analysis) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Superset You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

@dosubot dosubot Bot added the alert-reports Namespace | Anything related to the Alert & Reports feature label Apr 8, 2026
Comment on lines 689 to 695
with pytest.raises(PlaywrightTimeout):
driver.get_screenshot(
"http://example.com", "test-element", mock_user
)

assert result is None
# Should log timeout for element wait
# Should log the timeout before re-raising
assert mock_logger.exception.call_count >= 1

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggestion: This test can produce false positives when Playwright is not installed because PlaywrightTimeout is aliased to Exception, so pytest.raises(PlaywrightTimeout) will also accept unrelated exceptions. Capture the raised exception and verify it is the exact timeout object injected via mock_element.wait_for.side_effect, and assert the specific timeout log call to ensure the failure came from the element-wait timeout path. [logic error]

Severity Level: Major ⚠️
- ⚠️ Unit test may pass for wrong exception type.
- ⚠️ Timeout path regressions may go undetected without Playwright.
- ⚠️ Weaker coverage for Playwright-based report screenshots.
Suggested change
with pytest.raises(PlaywrightTimeout):
driver.get_screenshot(
"http://example.com", "test-element", mock_user
)
assert result is None
# Should log timeout for element wait
# Should log the timeout before re-raising
assert mock_logger.exception.call_count >= 1
expected_timeout = mock_element.wait_for.side_effect
with pytest.raises(PlaywrightTimeout) as exc_info:
driver.get_screenshot(
"http://example.com", "test-element", mock_user
)
assert exc_info.value is expected_timeout
# Should log the timeout before re-raising
mock_logger.exception.assert_any_call(
"Timed out requesting url %s", "http://example.com"
)
Steps of Reproduction ✅
1. Open `superset/utils/webdriver.py` and verify that when Playwright cannot be imported,
`PlaywrightTimeout` is aliased to `Exception` at lines 72–76 (`PlaywrightTimeout =
Exception`).

2. Open `tests/unit_tests/utils/webdriver_test.py` and locate
`test_get_screenshot_raises_on_element_wait_timeout` at line 643, which uses `with
pytest.raises(PlaywrightTimeout): driver.get_screenshot(...)` around the call to
`WebDriverPlaywright.get_screenshot`.

3. Note that in an environment without `playwright.sync_api` installed,
`PlaywrightTimeout` imported in this test (`from superset.utils.webdriver import
PlaywrightTimeout` at line 647) is the same alias to `Exception`, so
`pytest.raises(PlaywrightTimeout)` is effectively `pytest.raises(Exception)` and will
succeed for any exception subclass, not just the timeout coming from
`mock_element.wait_for`.

4. Also observe that the test only asserts `mock_logger.exception.call_count >= 1` (line
695), while `WebDriverPlaywright.get_screenshot` logs multiple different exception paths
in `superset/utils/webdriver.py` (e.g. timeout-specific log at line 283 and generic error
log at lines 132–135), so any logged exception plus any raised `Exception` will make the
test pass, allowing regressions in the specific element-wait timeout path to go undetected
when Playwright is not installed.
Prompt for AI Agent 🤖
This is a comment left during a code review.

**Path:** tests/unit_tests/utils/webdriver_test.py
**Line:** 689:695
**Comment:**
	*Logic Error: This test can produce false positives when Playwright is not installed because `PlaywrightTimeout` is aliased to `Exception`, so `pytest.raises(PlaywrightTimeout)` will also accept unrelated exceptions. Capture the raised exception and verify it is the exact timeout object injected via `mock_element.wait_for.side_effect`, and assert the specific timeout log call to ensure the failure came from the element-wait timeout path.

Validate the correctness of the flagged issue. If correct, How can I resolve this? If you propose a fix, implement it and please make it concise.
👍 | 👎

@codecov

codecov Bot commented Apr 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 64.45%. Comparing base (5106afb) to head (be9e07c).
⚠️ Report is 4 commits behind head on master.

Files with missing lines Patch % Lines
superset/utils/webdriver.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##           master   #39176   +/-   ##
=======================================
  Coverage   64.45%   64.45%           
=======================================
  Files        2541     2541           
  Lines      131662   131662           
  Branches    30517    30517           
=======================================
  Hits        84863    84863           
  Misses      45333    45333           
  Partials     1466     1466           
Flag Coverage Δ
hive 40.08% <0.00%> (ø)
mysql 60.75% <0.00%> (ø)
postgres 60.83% <0.00%> (ø)
presto 40.09% <0.00%> (ø)
python 62.41% <0.00%> (ø)
sqlite 60.46% <0.00%> (ø)
unit 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

eschutho and others added 2 commits April 8, 2026 01:01
The test was missing SCREENSHOT_SELENIUM_ANIMATION_WAIT from its mock
config, causing a KeyError once execution continued past the element
waits. The assertion `result is None` was also wrong: page.goto()
timeout is a soft failure (caught without re-raise), so execution
continues to the element waits, which succeed in the mock, and a
screenshot is returned. Fix both issues.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
When playwright is not installed PlaywrightTimeout is aliased to
Exception, so pytest.raises(PlaywrightTimeout) would accept any
exception and mask unrelated failures. Hold a reference to the injected
instance and assert exc_info.value is timeout, and pin the log
assertion to the element-wait code path.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@pull-request-size pull-request-size Bot added size/M and removed size/S labels Apr 8, 2026
@bito-code-review

bito-code-review Bot commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

Code Review Agent Run #8d4c9a

Actionable Suggestions - 0
Review Details
  • Files reviewed - 1 · Commit Range: 6f6dd0d..be9e07c
    • tests/unit_tests/utils/webdriver_test.py
  • Files skipped - 0
  • Tools
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful
    • MyPy (Static Code Analysis) - ✔︎ Successful
    • Astral Ruff (Static Code Analysis) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Superset You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

Comment on lines 391 to 394
except PlaywrightError:
logger.exception(
"Encountered an unexpected error when requesting url %s", url
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to also raise on this PlaywrightError block?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it's required because _get_screenshots() will raise it.

@Vitor-Avila Vitor-Avila left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

left a non-blocking comment checking if we need a similar change in the other except block

@eschutho eschutho merged commit 587fe4a into master Apr 8, 2026
67 of 69 checks passed
@eschutho eschutho deleted the playwright-timeout branch April 8, 2026 18:00
michael-s-molina pushed a commit that referenced this pull request Apr 13, 2026
… ERROR state (#39176)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 587fe4a)
qfcwell pushed a commit to qfcwell/superset that referenced this pull request May 12, 2026
… ERROR state (apache#39176)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot added 🍒 6.1.0 Cherry-picked to 6.1.0 🏷️ bot A label used by `supersetbot` to keep track of which PR where auto-tagged with release labels labels May 13, 2026
hassan-webgains added a commit to Webgains/superset that referenced this pull request Jun 23, 2026
* fix: SQL Lab tab content padding (apache#38561)

(cherry picked from commit bde48e5)

* chore: CHANGELOG.md and UPDATING.md for 6.1.0 RC1

* fix(i18n): correct variable name for translated SQL Lab query message (apache#38494)

Signed-off-by: hainenber <dotronghai96@gmail.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
(cherry picked from commit 31754a3)

* fix(mcp): wrap LoggingMiddleware.on_message event_logger in try/except (apache#38560)

(cherry picked from commit 6d7cfac)

* fix(mcp): honor target_tab parameter when adding charts to tabbed dashboards (apache#38409)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 3bb9704)

* fix(charts): set reasonable default y-axis title margin to prevent label overlap (apache#38389)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit fe7f220)

* fix(ag-grid): persist AG Grid column filters in explore permalinks (apache#38393)

(cherry picked from commit 9215eb5)

* fix(matrixify): Matrixify to not override slice id (apache#38515)

Co-authored-by: Evan Rusackas <evan@preset.io>
(cherry picked from commit 27197fa)

* fix: support nested function calls in cache_key_wrapper (apache#38569)

(cherry picked from commit a9def2f)

* fix(embedded): prevent double RLS application in virtual datasets (apache#37395)

(cherry picked from commit 09e9c6a)

* fix: add embedded box sizing rule for layout (apache#38351)

Co-authored-by: Joe Li <joe@preset.io>
(cherry picked from commit 7f476a7)

* fix: add parent_slice_id for multilayer charts to embed (apache#38243)

(cherry picked from commit 95f61bd)

* fix(mcp): replace uuid with url and changed_on_humanized in default list columns (apache#38566)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit fc156d0)

* fix(mcp): Improve validation errors and field aliases to reduce failed LLM tool calls (apache#38625)

(cherry picked from commit d91b968)

* fix(explore/dashboard): fix CSV/Excel downloads for legacy chart types (apache#38513)

Co-authored-by: Diego Pucci <diegopucci.me@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: codeant-ai-for-open-source[bot] <244253245+codeant-ai-for-open-source[bot]@users.noreply.github.com>
(cherry picked from commit 9516d1a)

* fix(deckgl): polygon chart not rendering when boundary column contains nested geometry JSON (apache#38595)

(cherry picked from commit 32a64d0)

* fix(mcp): Support form_data_key without chart identifier for unsaved charts (apache#38628)

(cherry picked from commit af5e05d)

* fix(mcp): fix crashes in list tools, dataset info, chart preview, and add owner/favorite filters (apache#38277)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit d5cf77c)

* fix(extensions): fix gitignore template and bump version (apache#38614)

(cherry picked from commit f538326)

* fix(editor): implement missing methods, fix cursor position clearing (apache#38603)

(cherry picked from commit 1867336)

* fix(timeshiftcolor): Time shift color to match the original color (apache#38473)

(cherry picked from commit f6106cd)

* fix(ag-grid-table): fix AND filter conditions not applied (apache#38369)

(cherry picked from commit ca2d26a)

* fix(world-map): add fallback fill color when colorFn returns null (apache#38602)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit ba7271b)

* fix(mcp): return all statement results for multi-statement SQL queries (apache#38388)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit b6c3b3e)

* style(metadata-bar): use bold font weight for metadata bar     title       (apache#38608)

(cherry picked from commit e8061a9)

* fix(ag-grid-table): fix failing buildQuery test expectation (apache#38636)

(cherry picked from commit 6e7d6a8)

* fix(docs): use absolute API doc links in developer docs (apache#38649)

(cherry picked from commit cc066b3)

* fix(FilterBar): reduce padded space between filter header and first filter (apache#38646)

Signed-off-by: hainenber <dotronghai96@gmail.com>
(cherry picked from commit afe093f)

* fix(embedded): default to light theme instead of system preference (apache#38644)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit aa5adb0)

* fix(map-box): make opacity, lon, lat, and zoom controls functional (apache#38374)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: codeant-ai-for-open-source[bot] <244253245+codeant-ai-for-open-source[bot]@users.noreply.github.com>
(cherry picked from commit 96705c1)

* fix(ci): allow docs testing to run despite absence of db diagnostics data (apache#38655)

Signed-off-by: hainenber <dotronghai96@gmail.com>
(cherry picked from commit ca403dc)

* feat(mcp): auto-generate dashboard title from chart names when omitted (apache#38410)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* feat(mcp): implement RBAC permission checking for MCP tools (apache#38407)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* docs: move MCP deployment guide to admin docs, add user-facing AI guide (apache#38585)

* fix(mcp): extract role names as strings in UserInfo serialization (apache#38612)

* refactor(mcp): use serialize_user_object in get_instance_info (apache#38613)

* feat(mcp): add extra_form_data param to get_chart_data for dashboard filters (apache#38531)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* feat(mcp): add BM25 tool search transform to reduce initial context size (apache#38562)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* feat(mcp): add save_sql_query tool for SQL Lab saved queries (apache#38414)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* feat(mcp): Add tool annotations for MCP directory compliance (apache#38641)

* feat: apply RLS conservatively (apache#38683)

* fix(dashboard): overload issue in dashboard export to excel (apache#29418)

Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Claude <claude@anthropic.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: Simplify extension folder name (apache#38690)

* fix(map-box): prevent clusters from being smaller than individual points (apache#38458)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* fix(tests): restore 100% TypeScript coverage for core packages (apache#38682)

Co-authored-by: Claude Code <noreply@anthropic.com>
Co-authored-by: Joe Li <joe@preset.io>

* fix(mcp): expose individual tool parameters when MCP_PARSE_REQUEST_ENABLED=False (apache#38714)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* fix: Row limit support for chart mcp tools (apache#38717)

* fix(chart): prevent chart list from failing when a datasource lacks explore_url (apache#38721)

* fix(dashboard): use inline theme data to prevent 403 for non-admin users (apache#38384)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* fix(sql): remove WHERE 1 = 1 when temporal filter has "No filter" selected (apache#38704)

* fix: Add aliases and groupby list to chart schemas (apache#38740)

* fix(mcp): Chart schema followups - DRY extraction, template fix, alias and test gaps (apache#38746)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(firebolt): Firebolt SQL entered with EXCLUDE is rewritten to EXCEPT (apache#38742)

* fix(theme): ensure colorLink follows colorPrimary when not explicitly set (apache#38517)

* fix(dashboard): correct tab underline width for newly added dashboard tabs. (apache#38524)

* fix(theme): persist local theme id so "Local" tag remains after navigation (apache#38527)

* fix(timeseries-table): enable proper column sorting in timeseries-table chart (apache#38579)

* fix(button): Theming configurations for button elements is not consistent (apache#38604)

* fix(mcp): fix dashboard slug null and execute_sql encoding error (apache#38710)

* fix(mcp): use correct permission class for save_sql_query tool (apache#38764)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(reports): validate nativeFilters on report create/update and deactivate on dashboard filter deletion (apache#38715)

* fix(mcp): fix detached Slice instance error in chart/dashboard serialization (apache#38767)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* feat(mcp): add horizontal bar chart orientation support to generate_chart (apache#38390)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* fix(mcp): normalize call_tool proxy arguments to prevent encoding TypeError (apache#38775)

(cherry picked from commit 0d57219)

* fix(mcp): convert adhoc filters to QueryObject format before query compilation (apache#38774)

(cherry picked from commit 44c2c76)

* fix(sec): remove compromised Trivy actions (apache#38780)

Signed-off-by: hainenber <dotronghai96@gmail.com>
(cherry picked from commit 7004369)

* feat(sec): harden GHA ref by using its SHA ID to prevent accidental usage of compromised actions (apache#38782)

Signed-off-by: hainenber <dotronghai96@gmail.com>
(cherry picked from commit 8382391)

* fix(table): improve conditional formatting text contrast (apache#38705)

(cherry picked from commit 02ffb52)

* fix(DropdownContainer): add fresh to avoid stale data (apache#38702)

(cherry picked from commit cc34d19)

* feat(matrixify): Revamp control panel (apache#38519)

* fix(AlertsReports): validate anchor_list is a list (apache#38723)

(cherry picked from commit 100ad7d)

* fix(MainNav): display all menu items on smaller screens (apache#38732)

(cherry picked from commit fdcb942)

* fix(explore): display actual data type instead of "column" in column tooltip (apache#38554)

(cherry picked from commit e67bc5b)

* fix(Matrixify): readd matrixify_enable guard missing (apache#38759)

(cherry picked from commit 7222327)

* fix(mcp): prevent encoding errors and fix tool bugs on MCP client transports (apache#38786)

(cherry picked from commit ed3c528)

* fix(sqllab): add authorization check to query cost estimation (apache#38648)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 962abf6)

* fix(keys): Unsafe dict access in get_native_filters_params() crashes execution (apache#38272)

(cherry picked from commit 89d1b80)

* fix(mcp): fix generate_dashboard cross-session SQLAlchemy error (apache#38827)

(cherry picked from commit 09594b3)

* fix(sqllab): FilterText does not apply accordingly (apache#38813)

(cherry picked from commit 7c9d75b)

* fix(extensions-cli): remove publisher prefix from bundle filename (apache#38823)

(cherry picked from commit 6852349)

* feat(mcp): add Handlebars chart type support to MCP service (apache#38402)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit c596df9)

* fix(report): raise warning when filter type not recognized (apache#38676)

(cherry picked from commit 37c4a36)

* fix(models): correct TabState.latest_query_id column type to match FK target (apache#38837)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 4b26f8c)

* fix(embedded-sdk): wire `hideTab` to actually hide the dashboard tab (apache#38846)

(cherry picked from commit 3fb903f)

* fix(echarts): prevent plain legend clipping in dashboards (apache#38675)

(cherry picked from commit 12aca72)

* fix(datasource): align access validation in legacy views (apache#38647)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Daniel Vaz Gaspar <danielvazgaspar@gmail.com>
(cherry picked from commit a93e319)

* fix(dashboard): larger JSON metadata editor for better editing UX (apache#38728) (apache#38745)

(cherry picked from commit 403f4ad)

* fix(ci): install missing `msgcat` used for Babel translation update (apache#38830)

Signed-off-by: hainenber <dotronghai96@gmail.com>
(cherry picked from commit 3506773)

* fix(mcp): detect unknown chart config fields and suggest correct ones (apache#38848)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
(cherry picked from commit 16f5a2a)

* fix(mcp): add permission checks to generate_dashboard and update_chart tools (apache#38845)

(cherry picked from commit 23a5e95)

* fix(echart): multiple time shift line pattern (apache#38866)

(cherry picked from commit e045f49)

* fix(sqllab): inactive leftbar selector on empty state (apache#38833)

(cherry picked from commit cfa1aba)

* fix(mcp): add try/except around DAO re-fetch to handle session errors in multi-tenant (apache#38859)

(cherry picked from commit 6dc3d7a)

* fix: type probing (apache#38889)

(cherry picked from commit 8983ede)

* fix(dataset): add missing currency_code_column to DatasetPostSchema (apache#38853)

(cherry picked from commit 9c288d6)

* fix(reports): PUT with empty recipients list does not persist the change (apache#38711)

(cherry picked from commit 40387d5)

* fix(dataset): add email field to owners_data for Chart Explore path (apache#38836)

(cherry picked from commit ac96f46)

* fix(sqllab): long cell content overflooding (apache#38855)

(cherry picked from commit 65eae02)

* fix(explore): migrate from window.history to React Router history API (apache#38887)

(cherry picked from commit fc705d9)

* fix(Timeseries): dedup x axis labels (apache#38733)

(cherry picked from commit f832f9b)

* fix(sqllab): invalid treeview folder expansion (apache#38897)

(cherry picked from commit a5d2324)

* fix(mcp): remove @parse_request decorator for cleaner tool schemas (apache#38918)

(cherry picked from commit d1903af)

* fix(mcp): prevent GRID_ID injection into ROOT_ID on tabbed dashboards (apache#38890)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit aa1a695)

* fix(mcp): validate dataset exists in generate_explore_link before generating URL (apache#38951)

(cherry picked from commit 89f7e5e)

* fix(select): ensure filter dropdown matches input field width (apache#38886)

(cherry picked from commit 41d401a)

* fix(mcp): prevent PendingRollbackError from poisoned sessions after SSL drops (apache#38934)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit d331a04)

* feat(mcp): support saved metrics from datasets in chart generation (apache#38955)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
(cherry picked from commit 15bab22)

* fix(mcp): enforce MAX_PAGE_SIZE limit on list tools to prevent oversized responses (apache#38959)

(cherry picked from commit 2c9cf0b)

* fix(charts): add X Axis Number Format control for numeric X-axis columns (apache#38809)

Co-authored-by: codeant-ai-for-open-source[bot] <244253245+codeant-ai-for-open-source[bot]@users.noreply.github.com>
(cherry picked from commit e0a0a22)

* fix(pivot-table): safely cast numeric strings to numbers for date formatting (apache#38953)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit f1cd1ae)

* fix(AlteredSliceTag): not display undefined filter value for chart change record (apache#38883)

Signed-off-by: hainenber <dotronghai96@gmail.com>
(cherry picked from commit 11f2140)

* fix(echarts): adapt y-axis ticks and padding for compact timeseries charts (apache#38673)

(cherry picked from commit f0b20dc)

* feat(mcp): add Big Number chart type support to MCP service (apache#38403)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 4245720)

* fix(mcp): add TEMPORAL_RANGE filter for temporal x-axis in generate_chart (apache#38978)

(cherry picked from commit c37a3ec)

* fix(mcp): batch fix for execute_sql crashes, null timestamps, and deck.gl errors (apache#38977)

(cherry picked from commit daefede)

* fix(bubble): Fix Bubble chart axis label rotation (apache#38917)

(cherry picked from commit f6cd806)

* fix(presto): Fix presto timestamp (apache#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>
(cherry picked from commit 53b1d10)

* fix(dashboard): live CSS preview in PropertiesModal (apache#38960)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit d4d2290)

* fix(mixed-timeseries): apply same axis formatting options as timeseries charts (apache#38979)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 8559786)

* fix(dashboard): dashboard filters not inherited in charts in Safari sometimes due to race condition (apache#38851)

Co-authored-by: madhushree agarwal <madhushree_agarwal@apple.com>
(cherry picked from commit 1e2d0fa)

* fix(query): pass datasource table to template processor for schema-aware Jinja rendering (apache#38984)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 94d8735)

* fix(mcp): fix dashboard owners Pydantic crash and preserve chart preview filters (apache#38987)

(cherry picked from commit 190f1a5)

* fix(mcp): handle table chart raw mode in query builders and sanitize dashboard titles (apache#38990)

(cherry picked from commit 0bae05d)

* fix(dataset-editor): improve modal layout and fix Settings tab horizontal scroll (apache#39009)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: codeant-ai-for-open-source[bot] <244253245+codeant-ai-for-open-source[bot]@users.noreply.github.com>
(cherry picked from commit 38f0dc7)

* fix(echarts): fix stacked horizontal bar chart clipping and duplicate x-axis labels (apache#39012)

(cherry picked from commit 0223428)

* fix(ace-editor): fix cursor misalignment in markdown editor (apache#38928)

(cherry picked from commit ff3b8d8)

* fix(reports): log exception traceback in _get_csv_data (apache#39069)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 25eea29)

* fix(mcp): Created dashboard should be in draft state by default (apache#39011)

(cherry picked from commit 135e0f8)

* fix(mcp): improve execute_sql response-too-large error to suggest limit parameter (apache#39003)

(cherry picked from commit 851bbee)

* fix(dashboard): remove opacity on filter dropdown (apache#39074)

(cherry picked from commit c7d175b)

* fix(mcp): handle stale SSL connections, heatmap duplicate labels, and session rollback (apache#39015)

(cherry picked from commit b3a402d)

* fix(SQL Lab): handle columns without names (apache#38986)

(cherry picked from commit 12eb40d)

* feat(mcp): add database connection listing and info tools (apache#39111)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
(cherry picked from commit a62be68)

* fix(migrations): check pre-existing foreign keys on create util (apache#39099)

(cherry picked from commit 7c79b9a)

* fix(security_manager): custom auth_view issue (apache#39098)

(cherry picked from commit e56f8cc)

* fix(mcp): fix form_data null, dataset URL, ASCII preview, and chart rename (apache#39109)

(cherry picked from commit 7380a59)

* fix(mcp): remove JWT ValueError g.user fallback in auth layer (apache#39106)

(cherry picked from commit 9274724)

* fix(mcp): add dynamic response truncation for oversized info tool responses (apache#39107)

(cherry picked from commit 83ad1ec)

* fix(mcp): add description and certification fields to default list tool columns (apache#39017)

(cherry picked from commit 7be2acb)

* fix(mcp): compress chart config schemas to reduce search_tools token usage (apache#39018)

(cherry picked from commit bf9aff1)

* feat(mcp): add get_chart_type_schema tool for on-demand schema discovery (apache#39142)

(cherry picked from commit 5f9fc31)

* fix(explore): handle boolean false values correctly in control rendering (apache#39172)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 6ba9096)

* fix(filterReports): _generate_native_filter() crashes on null/empty filterValues (apache#38954)

(cherry picked from commit 4f695e1)

* fix(explore): Unnecessary scroll bars appearing on charts in Explore (apache#39160)

Co-authored-by: Đỗ Trọng Hải <41283691+hainenber@users.noreply.github.com>
(cherry picked from commit 3a3a653)

* fix(reports): propagate PlaywrightTimeout so execution transitions to ERROR state (apache#39176)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 587fe4a)

* fix(sqllab): demote "Save as new" button from primary to secondary (apache#39179)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 140f000)

* fix(explore): add left-indentation to control panel hierarchy (apache#39177)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit a64609f)

* fix(plugin-chart-handlebars): improve CSS sanitization tooltip and hide when not needed (apache#39180)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 36de05f)

* fix(sqllab): use monospace font for SQL in database error messages (apache#39181)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit ed65995)

* fix(sqllab): Update style for code viewer container (apache#39075)

(cherry picked from commit 4c2dd63)

* fix: add template_processor so Jinja gets rendered before SQLGlot parse (apache#39207)

(cherry picked from commit 2e80f2a)

* fix(sqllab): fix table navigator schema list, pin/unpin UX, copy actions, icons, and toolbar colors (apache#39173)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit d5017e6)

* fix(ace-editor): style bracket matching to blend with theme (apache#39182)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit b8b2bde)

* fix(frontend): fix loading spinner positioning in Save modal and filters panel (apache#39205)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: yousoph <sophieyou12@gmail.com>
(cherry picked from commit d63308c)

* fix(mcp): resolve null fields in list_datasets, list_databases, and save_sql_query (apache#39206)

(cherry picked from commit 1bde6f3)

* fix(explore): constrain Edit Dataset modal height to prevent footer cutoff (apache#39211)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit bad5a35)

* fix(tags): fix Bulk tag modal dropdown clipping and stale tag cache (apache#39210)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit d915e4f)

* fix(AlertsReports): untie filters from alerts reports tabs flag (apache#38722)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
(cherry picked from commit 5263abd)

* fix(reports): escape SQL LIKE wildcards in find_by_extra_metadata (apache#38738)

Co-authored-by: Mehmet Salih Yavuz <salih.yavuz@proton.me>
(cherry picked from commit 6649f35)

* fix(mcp): handle OAuth-authenticated databases in execute_sql (apache#39166)

(cherry picked from commit 68067d7)

* fix: Drill to Detail for Embedded (apache#39214)

Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit c7955a3)

* fix(sql-lab): apply access check in SqlExecutionResultsCommand (apache#38952)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit f49310b)

* fix(mcp): wire up compact schema serialization for search_tools results (apache#39229)

(cherry picked from commit e17cf3c)

* fix(mcp): strip json_metadata and position_json from get_dashboard_info response (apache#39101)

(cherry picked from commit 680cef0)

* fix: implement native browser fullscreen for dashboard charts (apache#38819)

Signed-off-by: Venkateshwaran Shanmugham <venkateshwaracholan@gmail.com>
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
Co-authored-by: Mehmet Salih Yavuz <salih.yavuz@proton.me>
Co-authored-by: Richard Fogaça <richardfogaca@gmail.com>
Co-authored-by: Richard Fogaca Nienkotter <63572350+richardfogaca@users.noreply.github.com>
(cherry picked from commit e39dd1a)

* fix(dashboard): Vertical filter bar gradient is extending past the filter bar area (apache#39204)

Co-authored-by: Mike Bridge <michael.bridge@ext.preset.io>
(cherry picked from commit 8bcc90c)

* fix(table): cross-filtering breaks after renaming column labels via Custom SQL (apache#38858)

(cherry picked from commit aba7e6d)

* fix(ag-grid): jpeg export of ag-grid tables (apache#38781)

(cherry picked from commit 69c8eef)

* fix(echarts): prevent tooltip crash during dashboard auto-refresh (apache#39277)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
(cherry picked from commit e9911fb)

* fix(SqlLab): improve SQL diff modal — responsive width, padding, tabs, and copy button (apache#39246)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 450701e)

* fix(dataset-editor): fix SQL expression editor extra spaces and height expansion (apache#39248)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 0aa8cac)

* fix(tests): improve ShareMenuItems test isolation to fix intermittent suite failure (apache#39280)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 9814625)

* fix(dashboard): allow filter list to scroll in filter config modal sidebar (apache#39203)

Co-authored-by: Mike Bridge <michael.bridge@ext.preset.io>
(cherry picked from commit 7a243d3)

* fix(dashboard): hide "Filters out of scope" section when empty (apache#39201)

Co-authored-by: Mike Bridge <michael.bridge@ext.preset.io>
(cherry picked from commit eea3557)

* fix(tests): fix async teardown leak in FiltersConfigModal.test.tsx (apache#39281)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit de40b58)

* fix(explore): replace TableView with virtualized GridTable, add row limit controls, restore sample filters (apache#39212)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit fa1f12a)

* fix(dashboard): Ensure screenshot downloads always generate fresh images/pdfs (apache#38880)

(cherry picked from commit 1462ac9)

* fix(dashboard): preserve dynamic group by column order (apache#39333)

(cherry picked from commit 0f417f0)

* fix(explore): Prevent error toast when navigating away from Explore page (apache#39065)

(cherry picked from commit 66a9e2e)

* fix(select): select all button cutoff (apache#39005)

(cherry picked from commit 5138aa2)

* fix(popup): Dropdown popup width doesn't match input width when tags collapse in oneLine mode (apache#39136)

(cherry picked from commit c2a35e2)

* fix(native-filter): infinite filter loading by deps (apache#39175)

(cherry picked from commit 499e27e)

* fix(native-filters): prevent infinite recursion in filter scope tree traversal (apache#39355)

(cherry picked from commit 86575e1)

* fix(MCP): fix MCP logs (apache#39159)

(cherry picked from commit ffcc6e8)

* fix(sqllab): show schema refresh icon only on hover (apache#39367)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit ddcb9be)

* fix: `do_ping` takes a connection, not engine (apache#39013)

(cherry picked from commit 84f7b4a)

* feat(mcp): add create_virtual_dataset tool to save SQL queries as datasets (apache#39279)

(cherry picked from commit 18d6feb)

* fix(explore): dispatch onChange immediately on NumberControl stepper arrow clicks (apache#39220)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
(cherry picked from commit 44e77fd)

* fix(table): fix cross-filter not clearing on second click in Interactive Table (apache#39253)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit c2d96e0)

* fix(dashboard): apply dynamic groupby display controls to scoped charts (apache#39356)

(cherry picked from commit c3a0f27)

* fix(css-templates): add missing height to CSS editor in CssTemplateModal (apache#39221)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
(cherry picked from commit 8471e82)

* fix(table): use column label instead of SQL expression for orderby in downloads (apache#39332)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit b3e88db)

* fix(ListView): empty state not filling available width (apache#39387)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 998b9e3)

* fix(i18n): typo in fr language (apache#36982)

Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
(cherry picked from commit b11d4f3)

* fix(EmptyState): prevent SVG cropping in empty state images (apache#37287)

Co-authored-by: Joe Li <joe@preset.io>
(cherry picked from commit eaccb2e)

* fix(mcp): update instructions to use correct request wrapper and identifier params (apache#39392)

(cherry picked from commit 838ee87)

* fix(mcp): always push fresh app context per tool call to prevent g.user race (apache#39385)

(cherry picked from commit e7b9fb2)

* fix(sqllab): format_sql to apply db dialect by database_id (apache#39393)

(cherry picked from commit 0b51e9c)

* fix: add comments to SQL clause validation (apache#39167)

(cherry picked from commit 0b419a0)

* fix(SelectFilter): auto clear search input (apache#39157)

(cherry picked from commit 7c76fd3)

* feat(mcp): add a preview flow to mcp chart updates (apache#39383)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
(cherry picked from commit 69f062b)

* chore: Bump core packages to 0.1.0 RC2 (apache#39406)

(cherry picked from commit e5820b6)

* fix(parallel-coordinates): improve dark mode visibility for labels, axis text, and data lines (apache#39415)

(cherry picked from commit f850c6b)

* fix(mcp): prevent LLM from creating new dashboard instead of adding chart to existing one (apache#39353)

(cherry picked from commit c289731)

* fix(mcp): replace inputSchema with parameters_hint in search_tools results by default (apache#39411)

(cherry picked from commit e5b3a9c)

* fix(mcp): support explicit query_mode in TableChartConfig (apache#39412)

(cherry picked from commit 2e0d482)

* fix(sqllab): Relocate schema display on table preview (apache#39420)

(cherry picked from commit 4bdc8d4)

* Revert "fix(embedded-sdk): wire `hideTab` to actually hide the dashboard tab (apache#38846)"

This reverts commit 9619fa2.

* fix(sqllab): enhance table explore tree with schema pinning, column sorting, and table schema refresh (apache#39396)

Co-authored-by: Michael S. Molina <michael.s.molina@gmail.com>
(cherry picked from commit be68040)

* chore: CHANGELOG.md for 6.1.0 RC2

* perf(sql-lab): debounce schema browser search (apache#39489)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 9fe3f63)

* fix(table): ensure dimensions appear before metrics in column order (apache#39346)

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit 4f19bc4)

* docs: Superset 6.1 documentation catch-up — batch 5 (apache#39454)

Co-authored-by: Superset Dev <dev@superset.apache.org>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit e1ed500)

* fix(sql-lab): show table expand/collapse arrow only on hover (apache#39627)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit d6bbe6d)

* fix(sqllab): explore to chart is disabled (apache#39630)

(cherry picked from commit 78950fc)

* fix(explore): ensure unsaved-changes dialog renders above View SQL modal (apache#39569)

Co-authored-by: yousoph <sophieyou12@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 7c4b2b1)

* fix(table chart): fix rerender bug that continuously cleared search box (apache#39707)

(cherry picked from commit 3395620)

* fix(query-history): enable sorting by Duration column (apache#39637)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit c4a8b34)

* fix(theme): set color-scheme on html to fix dark mode scrollbars (apache#39704)

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 7bee2af)

* fix(dashboard): apply full transitive ancestor chain for dependent filters (apache#39504)

(cherry picked from commit 18d89f2)

* fix(chart): use categorical axis for bar charts with numeric x-axis (apache#39141)

Co-authored-by: Enzo Martellucci <52219496+EnxDev@users.noreply.github.com>
(cherry picked from commit 171414f)

* fix(dashboard): escape emoji in position_json before saving to prevent truncation (apache#39737)

Co-authored-by: Michael S. Molina <michael.s.molina@gmail.com>
(cherry picked from commit 54f1e32)

* docs(mcp): update MCP server docs for 6.1 (apache#39422)

Co-authored-by: Superset Dev <dev@superset.apache.org>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit fe074c0)

* docs: Superset 6.1 documentation catch-up — batch 2 (apache#39441)

Co-authored-by: Superset Dev <dev@superset.apache.org>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
(cherry picked from commit 2b623fd)

* docs: Superset 6.1 documentation catch-up — batch 3 (apache#39445)

Co-authored-by: Superset Dev <dev@superset.apache.org>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
(cherry picked from commit b4f5959)

* chore(build): remove thread-loader from webpack build (apache#39763)

(cherry picked from commit 6ce3885)

* docs: Superset 6.1 documentation catch-up — batch 4 (apache#39446)

Co-authored-by: Superset Dev <dev@superset.apache.org>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
(cherry picked from commit 979f60a)

* fix(drill-to-detail): drill to detail by correctly filtering by metric (apache#39766)

Co-authored-by: Michael S. Molina <michael.s.molina@gmail.com>
(cherry picked from commit df396aa)

* chore: Bump core packages to 0.1.0 RC3 (apache#39823)

(cherry picked from commit d23b0ca)

* chore: CHANGELOG.md for 6.1.0 RC3

* SUP-176 : feat - fixes

* SUP-176 : feat - fixes

* fix(ci): grant actions:read for private deploy action resolution

The feature environment deploy job failed to resolve
webgains/action-generate-dotenv because GITHUB_TOKEN lacked
actions:read and packages:read permissions required for private
org actions.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ci): vendor generate-dotenv action for feature deploys

Webgains/superset cannot resolve the private webgains/action-generate-dotenv
action even with actions:read. Vendor the composite action locally so PR
feature environment deploys do not depend on cross-repo action access.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ci): checkout vendored dotenv action before CDK repo

The deploy job checks out superset-service into the workspace, which
removed the local generate-dotenv action. Check out the action via
sparse-checkout first and place CDK code under cdk/.

Co-authored-by: Cursor <cursoragent@cursor.com>

* SUP-176 : feat - fix filter & builder

* SUP-176 : feat - server error fix

* SUP-176 : feat - cursor comments

* SUP-176 : feat - cursor comments

* SUP-176 : feat - checks

* SUP-176 : precomit fixes

* SUP-176 : feat - fixed complexity

* SUP-176 : feat - cursor comments fixes

* SUP-176 : feat - translations fix

* SUP-176 : feat - translations fix

* SUP-176 : feat - filters fix

* SUP-176 : feat - filters fix

* SUP-176 : feat - pr comments

---------

Signed-off-by: hainenber <dotronghai96@gmail.com>
Signed-off-by: Venkateshwaran Shanmugham <venkateshwaracholan@gmail.com>
Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
Co-authored-by: Michael S. Molina <michael.s.molina@gmail.com>
Co-authored-by: Đỗ Trọng Hải <41283691+hainenber@users.noreply.github.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: amaannawab923 <amaannawab923@gmail.com>
Co-authored-by: Alexandru Soare <37236580+alexandrusoare@users.noreply.github.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
Co-authored-by: Yuriy Krasilnikov <30294585+YuriyKrasilnikov@users.noreply.github.com>
Co-authored-by: Mehmet Salih Yavuz <salih.yavuz@proton.me>
Co-authored-by: Joe Li <joe@preset.io>
Co-authored-by: Kamil Gabryjelski <kamil.gabryjelski@gmail.com>
Co-authored-by: Enzo Martellucci <52219496+EnxDev@users.noreply.github.com>
Co-authored-by: Diego Pucci <diegopucci.me@gmail.com>
Co-authored-by: codeant-ai-for-open-source[bot] <244253245+codeant-ai-for-open-source[bot]@users.noreply.github.com>
Co-authored-by: Rafael Benitez <rebenitez1802@gmail.com>
Co-authored-by: Luiz Otavio <45200344+luizotavio32@users.noreply.github.com>
Co-authored-by: Mayank Aggarwal <aggarwalmayank184@gmail.com>
Co-authored-by: João Pedro Alves Barbosa <93401463+joaopedroab@users.noreply.github.com>
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
Co-authored-by: mcdogg17 <63260972+mcdogg17@users.noreply.github.com>
Co-authored-by: Claude <claude@anthropic.com>
Co-authored-by: Levis Mbote <111055098+LevisNgigi@users.noreply.github.com>
Co-authored-by: Shaitan <105581038+sha174n@users.noreply.github.com>
Co-authored-by: JUST.in DO IT <justin.park@airbnb.com>
Co-authored-by: Richard Fogaca Nienkotter <63572350+richardfogaca@users.noreply.github.com>
Co-authored-by: Daniel Vaz Gaspar <danielvazgaspar@gmail.com>
Co-authored-by: Krishna Chaitanya <krishnabkc15@gmail.com>
Co-authored-by: Jessica Morris <jessica.morris@cyber.gc.ca>
Co-authored-by: Rui Zhao <105950525+zhaorui2022@users.noreply.github.com>
Co-authored-by: Rui Zhao <zhaorui@dropbox.com>
Co-authored-by: madhushreeag <madhushreeag@gmail.com>
Co-authored-by: madhushree agarwal <madhushree_agarwal@apple.com>
Co-authored-by: Rayan Salhab <r.salhab@aiyexpertsolutions.com>
Co-authored-by: Geidō <60598000+geido@users.noreply.github.com>
Co-authored-by: Sam Firke <sfirke@users.noreply.github.com>
Co-authored-by: Maxime Beauchemin <maximebeauchemin@gmail.com>
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
Co-authored-by: yousoph <sophieyou12@gmail.com>
Co-authored-by: Vitor Avila <96086495+Vitor-Avila@users.noreply.github.com>
Co-authored-by: venkateshwaran shanmugham <venkateshwaracholan@gmail.com>
Co-authored-by: Richard Fogaça <richardfogaca@gmail.com>
Co-authored-by: Mike Bridge <mike@bridgecanada.com>
Co-authored-by: Mike Bridge <michael.bridge@ext.preset.io>
Co-authored-by: Gabriel Torres Ruiz <gabo2595@gmail.com>
Co-authored-by: Abdul Rehman <76230556+Abdulrehman-PIAIC80387@users.noreply.github.com>
Co-authored-by: Grégoire Gailly <59643626+greggailly@users.noreply.github.com>
Co-authored-by: innovark <eric.graham@mailfence.com>
Co-authored-by: Superset Dev <dev@superset.apache.org>
Co-authored-by: Jean Massucatto <massucattoj@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

alert-reports Namespace | Anything related to the Alert & Reports feature 🏷️ bot A label used by `supersetbot` to keep track of which PR where auto-tagged with release labels size/M 🍒 6.1.0 Cherry-picked to 6.1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants