Commit 4daddc4509a for woocommerce

commit 4daddc4509a627ad52db95b113de3d2fea0ce5d5
Author: Luigi Teschio <gigitux@gmail.com>
Date:   Wed May 20 10:01:48 2026 +0200

    Fix empty product list filters (#65154)

diff --git a/packages/js/experimental-products-app/changelog/fix-rsm-3550-empty-filters b/packages/js/experimental-products-app/changelog/fix-rsm-3550-empty-filters
new file mode 100644
index 00000000000..492974170fb
--- /dev/null
+++ b/packages/js/experimental-products-app/changelog/fix-rsm-3550-empty-filters
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fix
+
+Ignore empty product list filters until a value is selected.
diff --git a/packages/js/experimental-products-app/src/product-list/query.test.ts b/packages/js/experimental-products-app/src/product-list/query.test.ts
index 243ffd29a6e..8262128b32e 100644
--- a/packages/js/experimental-products-app/src/product-list/query.test.ts
+++ b/packages/js/experimental-products-app/src/product-list/query.test.ts
@@ -159,6 +159,33 @@ describe( 'buildProductListQuery', () => {
 		expect( query.stock_status ).toBe( 'onbackorder' );
 	} );

+	it( 'ignores empty taxonomy filters until a value is selected', () => {
+		const query = buildProductListQuery( {
+			...baseView,
+			filters: [
+				{
+					field: 'brands',
+					operator: 'isAny',
+					value: undefined,
+				},
+				{
+					field: 'categories',
+					operator: 'isAny',
+					value: '',
+				},
+				{
+					field: 'tags',
+					operator: 'isAny',
+					value: [],
+				},
+			],
+		} as View );
+
+		expect( query.brand ).toBeUndefined();
+		expect( query.category ).toBeUndefined();
+		expect( query.tag ).toBeUndefined();
+	} );
+
 	it( 'maps the tags isAny filter to the tag query param', () => {
 		const query = buildProductListQuery( {
 			...baseView,
diff --git a/packages/js/experimental-products-app/src/product-list/query.ts b/packages/js/experimental-products-app/src/product-list/query.ts
index d2747a27849..82d5514e42a 100644
--- a/packages/js/experimental-products-app/src/product-list/query.ts
+++ b/packages/js/experimental-products-app/src/product-list/query.ts
@@ -45,15 +45,17 @@ function getStringValues( value: unknown ): string[] {

 function getNumericValues( value: unknown ): number[] {
 	const values = Array.isArray( value ) ? value : [ value ];
-	return values.map( ( item ) => {
-		if ( typeof item === 'number' ) {
-			return item;
-		}
-		if ( typeof item === 'string' ) {
-			return Number( item );
-		}
-		return Number.NaN;
-	} );
+	return values
+		.map( ( item ) => {
+			if ( typeof item === 'number' ) {
+				return item;
+			}
+			if ( typeof item === 'string' && item.trim() !== '' ) {
+				return Number( item );
+			}
+			return Number.NaN;
+		} )
+		.filter( Number.isFinite );
 }

 function getPriceValue( value: unknown ): string | undefined {