Bug description

There is a bug that causes the filters can not be applied! If the theme of the dashboard is customized, then filters cannot be applied. But if instead of setting it for a dashboard, set a system global theme, then filters can be applied.

  1. set theme for a dashboard

Image

  1. back to dashboard list and reopen the dashboard

Image

  1. filter can't be applied

Image

  1. But if clean theme for the same dashboard, and set theme in global theme config, filter can be applied.

Image

Image

Image

My superset version is 6.0.0. Here is my filter json and theme json:

json metadata: { "chart_configuration": { "2115": { "id": 2115, "crossFilters": { "scope": {"rootPath": [], "excluded": [2115]}, "chartsInScope": [] } }, "2116": { "id": 2116, "crossFilters": {"scope": "global", "chartsInScope": [2115, 2121]} }, "2121": { "id": 2121, "crossFilters": {"scope": "global", "chartsInScope": [2115, 2116]} } }, "global_chart_configuration": { "scope": {"rootPath": ["ROOT_ID"], "excluded": []}, "chartsInScope": [2115, 2116, 2121] }, "color_scheme": "", "refresh_frequency": 0, "expanded_slices": {}, "label_colors": { "Unkown": "#96D4DA", "Completed": "#11B289", "Active": "#34D399", "Cancel": "#BCBBBB", "Opt out": "#838688", "Pending": "#FFB72F", "Cancel(can be re-added)": "#FFE4A6" }, "timed_refresh_immune_slices": [], "cross_filters_enabled": true, "default_filters": "{}", "native_filter_configuration": [ { "id": "NATIVE_FILTER-k1QDMC_RSJ6V-6A1Ggv6z", "controlValues": { "enableEmptyFilter": false, "defaultToFirstItem": false, "creatable": true, "multiSelect": true, "searchAllOptions": false, "inverseSelection": false }, "name": "Test Filter", "filterType": "filter_select", "targets": [{"datasetId": 85, "column": {"name": "Program"}}], "defaultDataMask": { "extraFormData": {}, "filterState": {}, "ownState": {} }, "cascadeParentIds": [], "scope": {"excluded": [], "rootPath": ["ROOT_ID"]}, "type": "NATIVE_FILTER", "description": "" } ], "filter_bar_orientation": "HORIZONTAL" }

theme json: { "algorithm": "dark", "token": { "colorTextBase": "#ffffff", "controlItemBgHover": "#404040", "hoverBorderColor": "transparent", "colorPrimaryBorder": "transparent", "colorPrimary": "#ffffff", "colorInfo": "#ffffff" }, "components": { "DatePicker": { "colorTextPlaceholder": "#B3B5B6", "colorBorder": "#404040", "hoverBorderColor": "#EE8E25", "colorTextLightSolid": "#EE8E25", "controlItemBgActive": "#EE8E25", "cellHoverBg": "#EE8E25" }, "Popover": { "colorText": "#ffffff", "colorTextHeading": "#ffffff", "colorBgElevated": "#262626" }, "Select": { "colorBgElevated": "#262626", "selectorBg": "#161519", "hoverBorderColor": "#EE8E25", "activeBorderColor": "#EE8E25", "activeOutlineColor": "transparent", "optionSelectedBg": "#404040", "optionSelectedColor": "#ffffff", "multipleItemBg": "#EE8E25", "colorBorder": "#404040", "colorPrimary": "#EE8E25", "colorText": "#ffffff", "colorPrimaryHover": "#404040" }, "Button": { "defaultColor": "#646464", "defaultBg": "#EE8E25", "defaultActiveColor": "#EE8E25", "colorPrimaryBgHover": "#edb687", "defaultActiveBorderColor": "#EE8E25", "colorPrimaryTextActive": "#EE8E25", "defaultBorderColor": "transparent", "defaultHoverBorderColor": "transparent", "colorPrimaryBg": "#EE8E25", "defaultShadow": "none", "primaryShadow": "none", "colorTextLightSolid": "#EE8E25", "colorLink": "#EE8E25", "colorLinkActive": "#EE8E25", "colorTextDisabled": "#646464", "colorBgContainerDisabled": "#000000", "borderColorDisabled": "transparent", "defaultGhostColor": "#646464" }, "Input": { "hoverBorderColor": "#EE8E25", "colorBorder": "#404040", "activeShadow": "inset 0 0 0 1px #e59653", "colorPrimaryActive": "#EE8E25", "activeBorderColor": "#EE8E25", "colorBgContainer": "#161519" }, "Menu": { "itemHoverBg": "#f5f7fa", "subMenuItemBg": "#ffffff", "itemActiveBg": "#EE8E25", "horizontalItemHoverColor": "#303133", "itemHoverColor": "#EE8E25", "horizontalItemSelectedColor": "#EE8E25", "itemSelectedColor": "#EE8E25", "subMenuItemSelectedColor": "#EE8E25" }, "Dropdown": { "colorPrimary": "rgb(82,196,26)", "colorText": "rgb(255,255,255)", "colorSplit": "rgb(0,0,0)", "colorTextDescription": "rgb(255,255,255)", "colorTextLightSolid": "rgb(235,47,150)", "controlItemBgActive": "rgb(64,64,64)", "controlItemBgActiveHover": "rgb(250,140,22)", "controlItemBgHover": "rgb(64,64,64)", "algorithm": true, "colorBgElevated": "rgb(38,38,38)" }, "Tooltip": { "colorTextLightSolid": "#ffffff", "colorText": "#ffffff" }, "Table": { "colorLink": "#ffffff" }, "Alert": { "colorInfo": "#ffffff", "colorInfoBorder": "transparent", "colorText": "#ffffff", "colorTextHeading": "#ffffff", "colorInfoBg": "#EE8E25" }, "Badge": { "colorTextLightSolid": "#000000", "colorText": "#000000" }, "Radio": { "buttonSolidCheckedActiveBg": "#EE8E25", "buttonSolidCheckedBg": "#EE8E25", "colorBorder": "#ffffff", "buttonCheckedBg": "#EE8E25" }, "Card": { "colorBorderSecondary": "#404040" }, "Tag": { "defaultColor": "#606266", "defaultBg": "#EE8E25", "colorTextLightSolid": "#606266", "colorPrimary": "#606266", "colorText": "#606266", "colorFillSecondary": "colorFillSecondary" } } }

Screenshots/recordings

No response

Superset version

master / latest-dev

Python version

3.11

Node version

18 or greater

Browser

Chrome

Additional context

No response

Checklist

  • [x] I have searched Superset docs and Slack and didn't find a solution to my problem.
  • [x] I have searched the GitHub issue tracker and didn't find a similar bug report.
  • [ ] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Comment From: dosubot[bot]

Hi @Oooooori! I'm Dosu and I’m helping the superset team.

This issue is likely caused by a bug in how Superset 6.0.0 applies dashboard-specific themes. The theme context from a custom dashboard theme does not reliably propagate to child components like the filter bar, so the filter UI may not re-render or validate correctly, resulting in the 'Apply' button being disabled. This does not happen with global/system themes because those are always present at the app root and provide a consistent theme context to all components. There is no explicit code disabling filters based on theme, but the context propagation gap introduced by recent theme changes is the probable root cause source.

Recent PRs improved theme import/export and validation, but do not directly address this filter application bug source. For now, using a global theme is a reliable workaround. If you want to troubleshoot further, check for validation errors in your filters and try different theme JSONs. If you have relevant logs or error messages when filters fail, sharing those could help pinpoint the issue.

Let me know if you need more details or want to dig into specific theme or filter code paths.

To reply, just mention @dosu.


How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other  Chat with Dosu Join Discord Share on X