From 1417c65d64a21237eb224dd4666ed0d0ce9c549c Mon Sep 17 00:00:00 2001 From: Come Grellard Date: Fri, 7 Jun 2024 11:32:55 +0200 Subject: [PATCH] fix(llm/lld): Fixes the default analytics set to false when the analytics opt in prompt feature flags are enabled --- .changeset/honest-balloons-walk.md | 6 ++++++ .../src/renderer/Default.tsx | 7 ++++++- apps/ledger-live-mobile/src/index.tsx | 17 +++++++++++++++-- 3 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 .changeset/honest-balloons-walk.md diff --git a/.changeset/honest-balloons-walk.md b/.changeset/honest-balloons-walk.md new file mode 100644 index 00000000000..ad0d7e6fc57 --- /dev/null +++ b/.changeset/honest-balloons-walk.md @@ -0,0 +1,6 @@ +--- +"ledger-live-desktop": patch +"live-mobile": patch +--- + +LLM / LLD - Fix overriding the analytics opt in when the analyticsOptInPrompt is only enabled for the Onboarding diff --git a/apps/ledger-live-desktop/src/renderer/Default.tsx b/apps/ledger-live-desktop/src/renderer/Default.tsx index 62277979d9f..c98fc784d20 100644 --- a/apps/ledger-live-desktop/src/renderer/Default.tsx +++ b/apps/ledger-live-desktop/src/renderer/Default.tsx @@ -205,7 +205,12 @@ export default function Default() { const dispatch = useDispatch(); useEffect(() => { - if (!isLocked && analyticsFF?.enabled && !hasSeenAnalyticsOptInPrompt) { + if ( + !isLocked && + analyticsFF?.enabled && + (!hasCompletedOnboarding || analyticsFF?.params?.entryPoints.includes("Portfolio")) && + !hasSeenAnalyticsOptInPrompt + ) { dispatch(setShareAnalytics(false)); dispatch(setSharePersonalizedRecommendations(false)); } diff --git a/apps/ledger-live-mobile/src/index.tsx b/apps/ledger-live-mobile/src/index.tsx index decb249a65b..c4fe9b5b8ed 100644 --- a/apps/ledger-live-mobile/src/index.tsx +++ b/apps/ledger-live-mobile/src/index.tsx @@ -32,6 +32,7 @@ import { exportSelector as settingsExportSelector, osThemeSelector, hasSeenAnalyticsOptInPromptSelector, + hasCompletedOnboardingSelector, } from "~/reducers/settings"; import { accountsSelector, exportSelector as accountsExportSelector } from "~/reducers/accounts"; import { exportSelector as bleSelector } from "~/reducers/ble"; @@ -105,13 +106,25 @@ function App() { const accounts = useSelector(accountsSelector); const analyticsFF = useFeature("llmAnalyticsOptInPrompt"); const hasSeenAnalyticsOptInPrompt = useSelector(hasSeenAnalyticsOptInPromptSelector); + const hasCompletedOnboarding = useSelector(hasCompletedOnboardingSelector); const dispatch = useDispatch(); useEffect(() => { - if (!analyticsFF?.enabled || hasSeenAnalyticsOptInPrompt) return; + if ( + !analyticsFF?.enabled || + (hasCompletedOnboarding && !analyticsFF?.params?.entryPoints.includes("Portfolio")) || + hasSeenAnalyticsOptInPrompt + ) + return; dispatch(setAnalytics(false)); dispatch(setPersonalizedRecommendations(false)); - }, [analyticsFF?.enabled, dispatch, hasSeenAnalyticsOptInPrompt]); + }, [ + analyticsFF?.enabled, + analyticsFF?.params?.entryPoints, + dispatch, + hasSeenAnalyticsOptInPrompt, + hasCompletedOnboarding, + ]); useAccountsWithFundsListener(accounts, updateIdentify); useAppStateListener();