Commit aa6ae85db19 for woocommerce
commit aa6ae85db199addd3f964692d755d23d89190f3d
Author: Tung Du <dinhtungdu@gmail.com>
Date: Fri Jun 12 01:03:14 2026 +0700
Remove Product Filters store locks (#65675)
tweak: remove Product Filters store locks
diff --git a/plugins/woocommerce/changelog/remove-product-filters-store-locks b/plugins/woocommerce/changelog/remove-product-filters-store-locks
new file mode 100644
index 00000000000..ff1c4dd6fd9
--- /dev/null
+++ b/plugins/woocommerce/changelog/remove-product-filters-store-locks
@@ -0,0 +1,3 @@
+Significance: patch
+Type: dev
+Comment: Remove Interactivity API locks from the Product Filters store.
diff --git a/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/constants.ts b/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/constants.ts
index 61dccfe5f72..51c4bb821d3 100644
--- a/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/constants.ts
+++ b/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/constants.ts
@@ -1,6 +1,4 @@
export const PRODUCT_FILTERS_STORE_NAME = 'woocommerce/product-filters';
-export const PRODUCT_FILTERS_STORE_LOCK =
- 'I acknowledge that using a private store means my plugin will inevitably break on the next store release.';
export const EXCLUDED_BLOCKS = [
PRODUCT_FILTERS_STORE_NAME,
diff --git a/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/frontend.ts b/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/frontend.ts
index 120023fa8f4..666598f173e 100644
--- a/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/frontend.ts
+++ b/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/frontend.ts
@@ -15,10 +15,7 @@ import type {
ProductFiltersContext,
} from './types';
import { getClosestColor } from './utils/get-closest-color';
-import {
- PRODUCT_FILTERS_STORE_LOCK,
- PRODUCT_FILTERS_STORE_NAME,
-} from './constants';
+import { PRODUCT_FILTERS_STORE_NAME } from './constants';
const { getContext, getElement, store, getServerContext, getConfig } = iAPI;
@@ -325,6 +322,5 @@ export type ProductFiltersStore = typeof productFiltersStore;
const { state, actions } = store< ProductFiltersStore >(
BLOCK_NAME,
- productFiltersStore,
- { lock: PRODUCT_FILTERS_STORE_LOCK }
+ productFiltersStore
);
diff --git a/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/active-filters/frontend.ts b/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/active-filters/frontend.ts
index c8c6c68e22a..3ed35755697 100644
--- a/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/active-filters/frontend.ts
+++ b/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/active-filters/frontend.ts
@@ -12,10 +12,7 @@ import type {
RemovableItem,
RemovableItemsParentStore,
} from '../../../../types/type-defs/removable-items';
-import {
- PRODUCT_FILTERS_STORE_LOCK,
- PRODUCT_FILTERS_STORE_NAME,
-} from '../../constants';
+import { PRODUCT_FILTERS_STORE_NAME } from '../../constants';
type RemovableItemContext = {
item: RemovableItem;
@@ -68,6 +65,4 @@ activeFiltersStore satisfies RemovableItemsParentStore;
const { state, actions } = store<
ProductFiltersStore & typeof activeFiltersStore
->( PRODUCT_FILTERS_STORE_NAME, activeFiltersStore, {
- lock: PRODUCT_FILTERS_STORE_LOCK,
-} );
+>( PRODUCT_FILTERS_STORE_NAME, activeFiltersStore );
diff --git a/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/checkbox-list/frontend.ts b/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/checkbox-list/frontend.ts
index 17d7ab4cd38..8e702ae4363 100644
--- a/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/checkbox-list/frontend.ts
+++ b/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/checkbox-list/frontend.ts
@@ -15,10 +15,6 @@ import {
isVisualAttributeTermEmpty,
} from '../../../../base/utils/visual-attribute-terms';
import type { VisualAttributeTerm } from '../../../../base/utils/visual-attribute-terms';
-import {
- PRODUCT_FILTERS_STORE_LOCK,
- PRODUCT_FILTERS_STORE_NAME,
-} from '../../constants';
type CheckboxListItem = SelectableItem< {
visual?: VisualAttributeTerm;
@@ -48,11 +44,6 @@ type CheckboxListStore = {
function getParentStore( storeNamespace?: string ) {
if ( ! storeNamespace ) return undefined;
- if ( storeNamespace === PRODUCT_FILTERS_STORE_NAME ) {
- return store<
- SelectableItemsParentStore< { visual?: VisualAttributeTerm } >
- >( storeNamespace, undefined, { lock: PRODUCT_FILTERS_STORE_LOCK } );
- }
return store<
SelectableItemsParentStore< { visual?: VisualAttributeTerm } >
>( storeNamespace );
diff --git a/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/chips/frontend.ts b/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/chips/frontend.ts
index 223abbc9316..309910ccfde 100644
--- a/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/chips/frontend.ts
+++ b/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/chips/frontend.ts
@@ -16,10 +16,6 @@ import {
} from '../../../../base/utils/visual-attribute-terms';
import type { VisualAttributeTerm } from '../../../../base/utils/visual-attribute-terms';
import { getClosestColor } from '../../utils/get-closest-color';
-import {
- PRODUCT_FILTERS_STORE_LOCK,
- PRODUCT_FILTERS_STORE_NAME,
-} from '../../constants';
type ChipsItem = SelectableItem< {
visual?: VisualAttributeTerm;
@@ -53,11 +49,6 @@ type ChipsStore = {
function getParentStore( storeNamespace?: string ) {
if ( ! storeNamespace ) return undefined;
- if ( storeNamespace === PRODUCT_FILTERS_STORE_NAME ) {
- return store<
- SelectableItemsParentStore< { visual?: VisualAttributeTerm } >
- >( storeNamespace, undefined, { lock: PRODUCT_FILTERS_STORE_LOCK } );
- }
return store<
SelectableItemsParentStore< { visual?: VisualAttributeTerm } >
>( storeNamespace );
diff --git a/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/price-filter/frontend.ts b/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/price-filter/frontend.ts
index 320920fd01d..b101b9b1880 100644
--- a/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/price-filter/frontend.ts
+++ b/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/price-filter/frontend.ts
@@ -11,10 +11,7 @@ import type { ProductFiltersContext } from '../../types';
import type { ProductFiltersStore } from '../../frontend';
import { formatPrice, getCurrency } from '../../utils/price-currency';
import type { RangeInputParentStore } from '../../../../types/type-defs/range-input';
-import {
- PRODUCT_FILTERS_STORE_LOCK,
- PRODUCT_FILTERS_STORE_NAME,
-} from '../../constants';
+import { PRODUCT_FILTERS_STORE_NAME } from '../../constants';
const { store, getContext, getServerContext, getConfig } = iAPI;
@@ -183,6 +180,4 @@ export type ProductFilterPriceStore = typeof productFilterPriceStore;
const { state, actions } = store<
ProductFiltersStore & ProductFilterPriceStore
->( PRODUCT_FILTERS_STORE_NAME, productFilterPriceStore, {
- lock: PRODUCT_FILTERS_STORE_LOCK,
-} );
+>( PRODUCT_FILTERS_STORE_NAME, productFilterPriceStore );
diff --git a/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/price-slider/frontend.ts b/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/price-slider/frontend.ts
index fed17cc173a..adec56da502 100644
--- a/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/price-slider/frontend.ts
+++ b/plugins/woocommerce/client/blocks/assets/js/blocks/product-filters/inner-blocks/price-slider/frontend.ts
@@ -12,10 +12,7 @@ import type {
ProductFilterPriceContext,
ProductFilterPriceStore,
} from '../price-filter/frontend';
-import {
- PRODUCT_FILTERS_STORE_LOCK,
- PRODUCT_FILTERS_STORE_NAME,
-} from '../../constants';
+import { PRODUCT_FILTERS_STORE_NAME } from '../../constants';
const { store, getContext, getElement, withScope, getServerContext } = iAPI;
@@ -77,6 +74,4 @@ const { state, actions } = store<
ProductFiltersStore &
ProductFilterPriceStore &
typeof productFilterPriceSliderStore
->( PRODUCT_FILTERS_STORE_NAME, productFilterPriceSliderStore, {
- lock: PRODUCT_FILTERS_STORE_LOCK,
-} );
+>( PRODUCT_FILTERS_STORE_NAME, productFilterPriceSliderStore );