Skip to content

Conversation

@richardfogaca
Copy link
Contributor

SUMMARY

Fixes cross-filter persistence bug where removing filters before charts finish loading leaves charts displaying stale
filtered data despite filters being cleared from the UI.

Root Cause: The CHART_UPDATE_STARTED reducer replaces the previous query's AbortController without calling
.abort(), allowing in-flight requests to complete with outdated filter values.

The Fix: Abort previous AbortController before replacing it (3-line change), matching the pattern already used
for annotation queries.

Impact:

  • Fixes data inconsistency where UI shows cleared filters but charts display filtered data
  • Prevents race conditions when filters change rapidly
  • Ensures latest filter state always wins

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

BEFORE:
In this case "Planes" was the cross-filter selected and then removed, but the charts did not rehydrate back:
Screenshot 2025-11-12 at 21 09 16

AFTER:
No filters are applied when cross-filter is cleared:
Screenshot 2025-11-12 at 21 22 31

TESTING INSTRUCTIONS

  1. Configure async mode
  2. Open Sales Dashboard (or any dashboard with cross-filtering enabled)
  3. Click a chart element (bar/segment) to create a cross-filter
  4. Immediately click the X icon to remove the cross-filter
  5. Expected: All charts reload without the cross-filter applied

ADDITIONAL INFORMATION

@bito-code-review
Copy link
Contributor

bito-code-review bot commented Nov 13, 2025

Code Review Agent Run #ffff65

Actionable Suggestions - 0
Review Details
  • Files reviewed - 1 · Commit Range: cdfb4e5..cdfb4e5
    • superset-frontend/src/components/Chart/chartReducer.ts
  • Files skipped - 0
  • Tools
    • Eslint (Linter) - ✔︎ Successful
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ 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 Default Agent 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 dashboard:cross-filters Related to the Dashboard cross filters label Nov 13, 2025
Copy link

@korbit-ai korbit-ai bot left a comment

Choose a reason for hiding this comment

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

Review by Korbit AI

Korbit automatically attempts to detect when you fix issues in new commits.
Category Issue Status
Performance State mutation in Redux reducer ▹ view
Functionality State mutation in Redux reducer ▹ view
Files scanned
File Path Reviewed
superset-frontend/src/components/Chart/chartReducer.ts

Explore our documentation to understand the languages and file types we support and the files we ignore.

Check out our docs on how you can make Korbit work best for you and your team.

Loving Korbit!? Share us on LinkedIn Reddit and X

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dashboard:cross-filters Related to the Dashboard cross filters size/XS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Cross-filter persists after removal, leaving dashboard in inconsistent filtered state (6.0.0rc2)

1 participant