From 9f13c1df8046cff566c83b31a5ff042df7e42ca1 Mon Sep 17 00:00:00 2001 From: Ravi Date: Mon, 30 Mar 2026 00:55:32 +0530 Subject: [PATCH] fix(table-core): use autoRemove instead of resolveFilterValue on comparison filter fns MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit filterFn_greaterThan, filterFn_greaterThanOrEqualTo, filterFn_lessThan, and filterFn_lessThanOrEqualTo incorrectly used .resolveFilterValue instead of .autoRemove. This corrupted filter values — e.g. "price > 50" became "price > false" (coerced to "price > 0") because testFalsy(50) returns false, and false is not nullish so the ?? fallback doesn't apply. Fixes #6212 --- packages/table-core/src/fns/filterFns.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/table-core/src/fns/filterFns.ts b/packages/table-core/src/fns/filterFns.ts index 507345410d..098ddee8d4 100644 --- a/packages/table-core/src/fns/filterFns.ts +++ b/packages/table-core/src/fns/filterFns.ts @@ -141,7 +141,7 @@ export const filterFn_greaterThan: FilterFn = < return stringValue > stringFilterValue } -filterFn_greaterThan.resolveFilterValue = (val: any) => testFalsy(val) +filterFn_greaterThan.autoRemove = (val: any) => testFalsy(val) /** * Filter function for checking if a number is greater than or equal to a given number. @@ -160,7 +160,7 @@ export const filterFn_greaterThanOrEqualTo: FilterFn = < ) } -filterFn_greaterThanOrEqualTo.resolveFilterValue = (val: any) => testFalsy(val) +filterFn_greaterThanOrEqualTo.autoRemove = (val: any) => testFalsy(val) /** * Filter function for checking if a number is less than a given number. @@ -176,7 +176,7 @@ export const filterFn_lessThan: FilterFn = < return !filterFn_greaterThanOrEqualTo(row as any, columnId, filterValue) } -filterFn_lessThan.resolveFilterValue = (val: any) => testFalsy(val) +filterFn_lessThan.autoRemove = (val: any) => testFalsy(val) /** * Filter function for checking if a number is less than or equal to a given number. @@ -192,7 +192,7 @@ export const filterFn_lessThanOrEqualTo: FilterFn = < return !filterFn_greaterThan(row as any, columnId, filterValue) } -filterFn_lessThanOrEqualTo.resolveFilterValue = (val: any) => testFalsy(val) +filterFn_lessThanOrEqualTo.autoRemove = (val: any) => testFalsy(val) // Range filters