Commit 988e924efca for woocommerce
commit 988e924efcada1233c28d86436c685b7ba2a6c23
Author: Luigi Teschio <gigitux@gmail.com>
Date: Fri May 29 11:25:29 2026 +0200
Remove product pre-publish modal feature flag (#65383)
diff --git a/packages/js/product-editor/changelog/remove-product-pre-publish-modal-flag b/packages/js/product-editor/changelog/remove-product-pre-publish-modal-flag
new file mode 100644
index 00000000000..7ca7b50eac6
--- /dev/null
+++ b/packages/js/product-editor/changelog/remove-product-pre-publish-modal-flag
@@ -0,0 +1,4 @@
+Significance: patch
+Type: tweak
+
+Remove the disabled product pre-publish modal feature flag.
diff --git a/packages/js/product-editor/src/components/header/header.tsx b/packages/js/product-editor/src/components/header/header.tsx
index fb830088b5a..a64cbf0c677 100644
--- a/packages/js/product-editor/src/components/header/header.tsx
+++ b/packages/js/product-editor/src/components/header/header.tsx
@@ -33,7 +33,6 @@ import { SaveDraftButton } from './save-draft-button';
import { LoadingState } from './loading-state';
import { Tabs } from '../tabs';
import { HEADER_PINNED_ITEMS_SCOPE, TRACKS_SOURCE } from '../../constants';
-import { useShowPrepublishChecks } from '../../hooks/use-show-prepublish-checks';
import { HeaderProps, Image } from './types';
const PublishButton = lazy( () =>
@@ -77,8 +76,6 @@ export function Header( {
const catalogVisibility = product?.catalog_visibility;
const productStatus = product?.status;
- const { showPrepublishChecks } = useShowPrepublishChecks();
-
const sidebarWidth = useAdminSidebarWidth();
useEffect( () => {
@@ -254,7 +251,6 @@ export function Header( {
<Suspense fallback={ null }>
<PublishButton
productType={ productType }
- isPrePublishPanelVisible={ showPrepublishChecks }
isMenuButton
visibleTab={ selectedTab }
/>
diff --git a/packages/js/product-editor/src/components/header/publish-button/publish-button.tsx b/packages/js/product-editor/src/components/header/publish-button/publish-button.tsx
index 3f1b4c996b1..2d018cf197d 100644
--- a/packages/js/product-editor/src/components/header/publish-button/publish-button.tsx
+++ b/packages/js/product-editor/src/components/header/publish-button/publish-button.tsx
@@ -1,23 +1,19 @@
/**
* External dependencies
*/
-import type { MouseEvent } from 'react';
import { Button } from '@wordpress/components';
import { useEntityProp } from '@wordpress/core-data';
import { useDispatch } from '@wordpress/data';
import { createElement } from '@wordpress/element';
import { type Product } from '@woocommerce/data';
import { getNewPath, navigateTo } from '@woocommerce/navigation';
-import { recordEvent } from '@woocommerce/tracks';
/**
* Internal dependencies
*/
-import { wooProductEditorUiStore } from '../../../store/product-editor-ui';
import { useErrorHandler } from '../../../hooks/use-error-handler';
import { recordProductEvent } from '../../../utils/record-product-event';
import { useFeedbackBar } from '../../../hooks/use-feedback-bar';
-import { TRACKS_SOURCE } from '../../../constants';
import { usePublish } from '../hooks/use-publish';
import { PublishButtonMenu } from './publish-button-menu';
import { showSuccessNotice } from './utils';
@@ -26,16 +22,14 @@ import type { PublishButtonProps } from './types';
export function PublishButton( {
productType = 'product',
isMenuButton,
- isPrePublishPanelVisible = true,
visibleTab = 'general',
...props
}: PublishButtonProps ) {
const { createErrorNotice } = useDispatch( 'core/notices' );
const { maybeShowFeedbackBar } = useFeedbackBar();
- const { openPrepublishPanel } = useDispatch( wooProductEditorUiStore );
const { getProductErrorMessageAndProps } = useErrorHandler();
- const [ editedStatus, , prevStatus ] = useEntityProp< Product[ 'status' ] >(
+ const [ , , prevStatus ] = useEntityProp< Product[ 'status' ] >(
'postType',
productType,
'status'
@@ -82,39 +76,6 @@ export function PublishButton( {
);
}
- if (
- editedStatus !== 'publish' &&
- editedStatus !== 'future' &&
- window.wcAdminFeatures[ 'product-pre-publish-modal' ] &&
- isPrePublishPanelVisible
- ) {
- function handlePrePublishButtonClick(
- event: MouseEvent< HTMLButtonElement >
- ) {
- if ( publishButtonProps[ 'aria-disabled' ] ) {
- event.preventDefault();
- return;
- }
-
- recordEvent( 'product_prepublish_panel', {
- source: TRACKS_SOURCE,
- action: 'view',
- } );
- openPrepublishPanel();
- }
-
- return (
- <PublishButtonMenu
- { ...publishButtonProps }
- postType={ productType }
- controls={ undefined }
- onClick={ handlePrePublishButtonClick }
- renderMenu={ renderPublishButtonMenu }
- visibleTab={ visibleTab }
- />
- );
- }
-
return (
<PublishButtonMenu
{ ...publishButtonProps }
diff --git a/packages/js/product-editor/src/components/header/publish-button/types.ts b/packages/js/product-editor/src/components/header/publish-button/types.ts
index 946b52672a0..51114046714 100644
--- a/packages/js/product-editor/src/components/header/publish-button/types.ts
+++ b/packages/js/product-editor/src/components/header/publish-button/types.ts
@@ -1,7 +1,6 @@
export type PublishButtonProps = {
productType?: string;
isMenuButton?: boolean;
- isPrePublishPanelVisible?: boolean;
visibleTab?: string | null;
disabled?: boolean;
onClick?: ( event: React.MouseEvent< HTMLElement > ) => void;
diff --git a/plugins/woocommerce/changelog/remove-product-pre-publish-modal-flag b/plugins/woocommerce/changelog/remove-product-pre-publish-modal-flag
new file mode 100644
index 00000000000..7ca7b50eac6
--- /dev/null
+++ b/plugins/woocommerce/changelog/remove-product-pre-publish-modal-flag
@@ -0,0 +1,4 @@
+Significance: patch
+Type: tweak
+
+Remove the disabled product pre-publish modal feature flag.
diff --git a/plugins/woocommerce/client/admin/client/typings/global.d.ts b/plugins/woocommerce/client/admin/client/typings/global.d.ts
index 6baeb64f929..0a9f2fedfb4 100644
--- a/plugins/woocommerce/client/admin/client/typings/global.d.ts
+++ b/plugins/woocommerce/client/admin/client/typings/global.d.ts
@@ -65,7 +65,6 @@ declare global {
'payment-gateway-suggestions': boolean;
'pattern-toolkit-full-composability': boolean;
printful: boolean;
- 'product-pre-publish-modal': boolean;
'product-custom-fields': boolean;
'remote-inbox-notifications': boolean;
'remote-free-extensions': boolean;
diff --git a/plugins/woocommerce/client/admin/config/core.json b/plugins/woocommerce/client/admin/config/core.json
index 395517b6dc5..68b50ea30c4 100644
--- a/plugins/woocommerce/client/admin/config/core.json
+++ b/plugins/woocommerce/client/admin/config/core.json
@@ -24,7 +24,6 @@
"onboarding": true,
"onboarding-tasks": true,
"pattern-toolkit-full-composability": true,
- "product-pre-publish-modal": false,
"product-custom-fields": true,
"products-catalog-api": false,
"remote-inbox-notifications": true,
diff --git a/plugins/woocommerce/client/admin/config/development.json b/plugins/woocommerce/client/admin/config/development.json
index 7f42945fc4b..9c96e1670a0 100644
--- a/plugins/woocommerce/client/admin/config/development.json
+++ b/plugins/woocommerce/client/admin/config/development.json
@@ -25,7 +25,6 @@
"onboarding-tasks": true,
"pattern-toolkit-full-composability": true,
"payment-gateway-suggestions": true,
- "product-pre-publish-modal": false,
"product-custom-fields": true,
"products-catalog-api": true,
"printful": true,