diff --git a/src/components/dialogs/nuxs/LiveNowBetaDialog.tsx b/src/components/dialogs/nuxs/LiveNowBetaDialog.tsx index 438524d08b..bf9f72a5b8 100644 --- a/src/components/dialogs/nuxs/LiveNowBetaDialog.tsx +++ b/src/components/dialogs/nuxs/LiveNowBetaDialog.tsx @@ -23,7 +23,8 @@ export const enabled = createIsEnabledCheck(props => { isExistingUserAsOf( '2026-01-16T00:00:00.000Z', props.currentProfile.createdAt, - ) + ) && + !props.gate('disable_live_now_beta') ) }) diff --git a/src/lib/statsig/gates.ts b/src/lib/statsig/gates.ts index 373e5b72d3..134f5b7af0 100644 --- a/src/lib/statsig/gates.ts +++ b/src/lib/statsig/gates.ts @@ -1,3 +1,6 @@ export type Gate = // Keep this alphabetic please. - 'debug_show_feedcontext' | 'is_bsky_team_member' // special, do not remove + | 'debug_show_feedcontext' + | 'is_bsky_team_member' // special, do not remove + | 'disable_onboarding_find_contacts' + | 'disable_live_now_beta' diff --git a/src/screens/Onboarding/index.tsx b/src/screens/Onboarding/index.tsx index 69d3be3713..c7538d471c 100644 --- a/src/screens/Onboarding/index.tsx +++ b/src/screens/Onboarding/index.tsx @@ -3,6 +3,7 @@ import {View} from 'react-native' import * as bcp47Match from 'bcp-47-match' import {useEnableKeyboardControllerScreen} from '#/lib/hooks/useEnableKeyboardController' +import {useGate} from '#/lib/statsig/statsig' import {useLanguagePrefs} from '#/state/preferences' import { Layout, @@ -30,6 +31,7 @@ import {StepSuggestedStarterpacks} from './StepSuggestedStarterpacks' export function Onboarding() { const t = useTheme() + const gate = useGate() const {contentLanguages} = useLanguagePrefs() const probablySpeaksEnglish = useMemo(() => { @@ -42,7 +44,11 @@ export function Onboarding() { const findContactsEnabled = useIsFindContactsFeatureEnabledBasedOnGeolocation() - const showFindContacts = ENV !== 'e2e' && IS_NATIVE && findContactsEnabled + const showFindContacts = + ENV !== 'e2e' && + IS_NATIVE && + findContactsEnabled && + !gate('disable_onboarding_find_contacts') const [state, dispatch] = useReducer( reducer, diff --git a/src/screens/Settings/Settings.tsx b/src/screens/Settings/Settings.tsx index 4df05a36ef..0b7d8aee32 100644 --- a/src/screens/Settings/Settings.tsx +++ b/src/screens/Settings/Settings.tsx @@ -15,6 +15,7 @@ import { type CommonNavigatorParams, type NavigationProp, } from '#/lib/routes/types' +import {useGate} from '#/lib/statsig/statsig' import {sanitizeDisplayName} from '#/lib/strings/display-names' import {sanitizeHandle} from '#/lib/strings/handles' import {useProfileShadow} from '#/state/cache/profile-shadow' @@ -91,6 +92,7 @@ export function SettingsScreen({}: Props) { const [showDevOptions, setShowDevOptions] = useState(false) const findContactsEnabled = useIsFindContactsFeatureEnabledBasedOnGeolocation() + const gate = useGate() return ( @@ -209,16 +211,18 @@ export function SettingsScreen({}: Props) { Content and media - {IS_NATIVE && findContactsEnabled && ( - - - - Find friends from contacts - - - )} + {IS_NATIVE && + findContactsEnabled && + !gate('disable_settings_find_contacts') && ( + + + + Find friends from contacts + + + )}