diff --git a/client/landing/stepper/declarative-flow/internals/components/help-center/async.tsx b/client/landing/stepper/declarative-flow/internals/components/help-center/async.tsx index f485bdab20aa7..7652e7e1e99bd 100644 --- a/client/landing/stepper/declarative-flow/internals/components/help-center/async.tsx +++ b/client/landing/stepper/declarative-flow/internals/components/help-center/async.tsx @@ -2,18 +2,29 @@ import { HelpCenter } from '@automattic/data-stores'; import { useDispatch } from '@wordpress/data'; import { useCallback } from 'react'; import AsyncLoad from 'calypso/components/async-load'; +import { useExperiment } from 'calypso/lib/explat'; const HELP_CENTER_STORE = HelpCenter.register(); const AsyncHelpCenter = () => { const { setShowHelpCenter } = useDispatch( HELP_CENTER_STORE ); + const [ isLoading, experimentAssignment ] = useExperiment( + 'calypso_helpcenter_new_support_flow' + ); const handleClose = useCallback( () => { setShowHelpCenter( false ); }, [ setShowHelpCenter ] ); return ( - + ); }; diff --git a/client/layout/index.jsx b/client/layout/index.jsx index cefef4e09b75f..2ac273e4d4803 100644 --- a/client/layout/index.jsx +++ b/client/layout/index.jsx @@ -27,6 +27,7 @@ import EmptyMasterbar from 'calypso/layout/masterbar/empty'; import MasterbarLoggedIn from 'calypso/layout/masterbar/logged-in'; import OfflineStatus from 'calypso/layout/offline-status'; import isA8CForAgencies from 'calypso/lib/a8c-for-agencies/is-a8c-for-agencies'; +import { useExperiment } from 'calypso/lib/explat'; import { getGoogleMailServiceFamily } from 'calypso/lib/gsuite'; import isJetpackCloud from 'calypso/lib/jetpack/is-jetpack-cloud'; import { isWcMobileApp, isWpMobileApp } from 'calypso/lib/mobile-app'; @@ -149,6 +150,9 @@ function HelpCenterLoader( { sectionName, loadHelpCenter, currentRoute } ) { const selectedSite = useSelector( getSelectedSite ); const primarySiteSlug = useSelector( getPrimarySiteSlug ); const primarySite = useSelector( ( state ) => getSiteBySlug( state, primarySiteSlug ) ); + const [ isLoading, experimentAssignment ] = useExperiment( + 'calypso_helpcenter_new_support_flow' + ); if ( ! loadHelpCenter ) { return null; @@ -169,6 +173,9 @@ function HelpCenterLoader( { sectionName, loadHelpCenter, currentRoute } ) { hidden={ sectionName === 'gutenberg-editor' && isDesktop } onboardingUrl={ onboardingUrl() } googleMailServiceFamily={ getGoogleMailServiceFamily() } + shouldUseHelpCenterExperience={ + ! isLoading && experimentAssignment?.variationName === 'treatment' + } /> ); } diff --git a/packages/help-center/src/components/help-center.tsx b/packages/help-center/src/components/help-center.tsx index 9f7e7e5acd123..68fdaab9f5754 100644 --- a/packages/help-center/src/components/help-center.tsx +++ b/packages/help-center/src/components/help-center.tsx @@ -21,7 +21,6 @@ import { HELP_CENTER_STORE } from '../stores'; import { Container } from '../types'; import HelpCenterContainer from './help-center-container'; import HelpCenterSmooch from './help-center-smooch'; -import { isUseHelpCenterExperienceEnabled } from './utils'; import type { HelpCenterSelect } from '@automattic/data-stores'; import '../styles.scss'; @@ -93,8 +92,7 @@ export default function ContextualizedHelpCenter( props: Container & HelpCenterRequiredInformation ) { const shouldUseHelpCenterExperience = - config.isEnabled( 'help-center-experience' ) || - isUseHelpCenterExperienceEnabled( props.currentUser?.ID ); + config.isEnabled( 'help-center-experience' ) || props.shouldUseHelpCenterExperience; return ( diff --git a/packages/help-center/src/components/utils.tsx b/packages/help-center/src/components/utils.tsx index e35ed1fc1413c..3fbb7aed9f391 100644 --- a/packages/help-center/src/components/utils.tsx +++ b/packages/help-center/src/components/utils.tsx @@ -139,10 +139,3 @@ export const matchSupportInteractionId = ( return foundMatch; } }; - -export const isUseHelpCenterExperienceEnabled = ( userId: number ): boolean => { - if ( ! userId || userId % 100 > 50 ) { - return false; - } - return true; -}; diff --git a/packages/zendesk-client/src/use-authenticate-zendesk-messaging.ts b/packages/zendesk-client/src/use-authenticate-zendesk-messaging.ts index 722ffe02ead79..e24d3bdacdf00 100644 --- a/packages/zendesk-client/src/use-authenticate-zendesk-messaging.ts +++ b/packages/zendesk-client/src/use-authenticate-zendesk-messaging.ts @@ -11,11 +11,6 @@ import wpcomRequest, { canAccessWpcomApis } from 'wpcom-proxy-request'; */ import type { APIFetchOptions, MessagingAuth, ZendeskAuthType } from './types'; -/** - * Bump me when the API response structure goes through a breaking change. - */ -const VERSION = 'v1'; - let isLoggedIn = false; export function useAuthenticateZendeskMessaging( @@ -26,7 +21,7 @@ export function useAuthenticateZendeskMessaging( const isTestMode = currentEnvironment !== 'production'; return useQuery( { - queryKey: [ 'getMessagingAuth', VERSION, type, isTestMode ], + queryKey: [ 'getMessagingAuth', type, isTestMode ], queryFn: () => { const params = { type, test_mode: String( isTestMode ) }; const wpcomParams = new URLSearchParams( params );