From 2aa44d83e1452358dfba8bba97804a7e98609728 Mon Sep 17 00:00:00 2001 From: Hugh A Miles II Date: Fri, 8 May 2026 00:14:08 -0400 Subject: [PATCH] fix(dashboard): resolve TS errors in risonFilters.ts - Cast through `unknown` for the default-case comparator since `value` is narrowed to `object` in that branch - Guard against `Partial['id']` being optional when indexing `updatedDataMask`; fall back to the matched key Co-Authored-By: Claude Opus 4.7 --- superset-frontend/src/dashboard/util/risonFilters.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/superset-frontend/src/dashboard/util/risonFilters.ts b/superset-frontend/src/dashboard/util/risonFilters.ts index 475b8bfdc7b..93999be2008 100644 --- a/superset-frontend/src/dashboard/util/risonFilters.ts +++ b/superset-frontend/src/dashboard/util/risonFilters.ts @@ -86,7 +86,7 @@ function parseFilterCondition(key: string, value: unknown): RisonFilter { return { subject: key, operator: '==', - comparator: value as string | number, + comparator: value as unknown as string | number, }; } } @@ -464,13 +464,14 @@ export function injectRisonFiltersIntelligently( if (matchingFilterId) { const matchedFilter = nativeFilters[matchingFilterId]; - if (matchedFilter) { + const filterId = matchedFilter?.id ?? matchingFilterId; + if (matchedFilter && filterId) { const columnName = matchedFilter.targets?.[0]?.column?.name ?? risonFilter.subject; const dataMaskEntry = buildDataMaskForFilter( risonFilter, - matchedFilter as { + { ...matchedFilter, id: filterId } as { id: string; filterType?: string; targets?: { column?: { name?: string } }[]; @@ -478,8 +479,8 @@ export function injectRisonFiltersIntelligently( columnName, ); - updatedDataMask[matchedFilter.id] = { - ...updatedDataMask[matchedFilter.id], + updatedDataMask[filterId] = { + ...updatedDataMask[filterId], ...dataMaskEntry, }; return;