Skip to content

Commit

Permalink
fix(llm/ldd): fix analytics problem for dev
Browse files Browse the repository at this point in the history
  • Loading branch information
LucasWerey committed May 7, 2024
1 parent 6552679 commit a220e7d
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 9 deletions.
6 changes: 6 additions & 0 deletions .changeset/breezy-coins-talk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"ledger-live-desktop": major
"live-mobile": major
---

Fix analytics problem that made all analytics disabled by default
17 changes: 15 additions & 2 deletions apps/ledger-live-desktop/src/renderer/Default.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import React, { useEffect, lazy, Suspense } from "react";
import styled from "styled-components";
import { ipcRenderer } from "electron";
import { Redirect, Route, Switch, useHistory, useLocation } from "react-router-dom";
import { useSelector } from "react-redux";
import { useDispatch, useSelector } from "react-redux";
import TrackAppStart from "~/renderer/components/TrackAppStart";
import { LiveApp } from "~/renderer/screens/platform";
import { BridgeSyncProvider } from "~/renderer/bridge/BridgeSyncContext";
Expand Down Expand Up @@ -48,8 +48,12 @@ import { Flex, InfiniteLoader } from "@ledgerhq/react-ui";
import useAccountsWithFundsListener from "@ledgerhq/live-common/hooks/useAccountsWithFundsListener";
import { accountsSelector } from "./reducers/accounts";
import { useRecoverRestoreOnboarding } from "~/renderer/hooks/useRecoverRestoreOnboarding";
import { hasCompletedOnboardingSelector } from "~/renderer/reducers/settings";
import {
hasCompletedOnboardingSelector,
hasSeenAnalyticsOptInPromptSelector,
} from "~/renderer/reducers/settings";
import { useAutoDismissPostOnboardingEntryPoint } from "@ledgerhq/live-common/postOnboarding/hooks/index";
import { setShareAnalytics, setSharePersonalizedRecommendations } from "./actions/settings";

const PlatformCatalog = lazy(() => import("~/renderer/screens/platform"));
const Dashboard = lazy(() => import("~/renderer/screens/dashboard"));
Expand Down Expand Up @@ -194,6 +198,15 @@ export default function Default() {
useAutoDismissPostOnboardingEntryPoint();

const listAppsV2 = useFeature("listAppsV2minor1");
const analyticsFF = useFeature("lldAnalyticsOptInPrompt");
const hasSeenAnalyticsOptInPrompt = useSelector(hasSeenAnalyticsOptInPromptSelector);
const dispatch = useDispatch();

useEffect(() => {
if (!analyticsFF?.enabled || hasSeenAnalyticsOptInPrompt) return;
dispatch(setShareAnalytics(false));
dispatch(setSharePersonalizedRecommendations(false));
});

useEffect(() => {
if (!listAppsV2) return;
Expand Down
4 changes: 2 additions & 2 deletions apps/ledger-live-desktop/src/renderer/reducers/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -150,8 +150,8 @@ const INITIAL_STATE: SettingsState = {
pairExchanges: {},
developerMode: !!process.env.__DEV__,
loaded: false,
shareAnalytics: false,
sharePersonalizedRecommandations: false,
shareAnalytics: true,
sharePersonalizedRecommandations: true,
hasSeenAnalyticsOptInPrompt: false,
sentryLogs: true,
lastUsedVersion: __APP_VERSION__,
Expand Down
19 changes: 16 additions & 3 deletions apps/ledger-live-mobile/src/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,11 @@ import {
saveCountervalues,
savePostOnboardingState,
} from "./db";
import { exportSelector as settingsExportSelector, osThemeSelector } from "~/reducers/settings";
import {
exportSelector as settingsExportSelector,
osThemeSelector,
hasSeenAnalyticsOptInPromptSelector,
} from "~/reducers/settings";
import { accountsSelector, exportSelector as accountsExportSelector } from "~/reducers/accounts";
import { exportSelector as bleSelector } from "~/reducers/ble";
import LocaleProvider, { i18n } from "~/context/Locale";
Expand Down Expand Up @@ -65,15 +69,15 @@ import { useListenToHidDevices } from "~/hooks/useListenToHidDevices";
import { DeeplinksProvider } from "~/navigation/DeeplinksProvider";
import StyleProvider from "./StyleProvider";
import { performanceReportSubject } from "~/components/PerformanceConsole/usePerformanceReportsLog";
import { setOsTheme } from "~/actions/settings";
import { setAnalytics, setOsTheme, setPersonalizedRecommendations } from "~/actions/settings";
import TransactionsAlerts from "~/components/TransactionsAlerts";
import {
useFetchCurrencyAll,
useFetchCurrencyFrom,
} from "@ledgerhq/live-common/exchange/swap/hooks/index";
import useAccountsWithFundsListener from "@ledgerhq/live-common/hooks/useAccountsWithFundsListener";
import { updateIdentify } from "./analytics";
import { getFeature } from "@ledgerhq/live-common/featureFlags/index";
import { getFeature, useFeature } from "@ledgerhq/live-common/featureFlags/index";
import { StorylyProvider } from "./components/StorylyStories/StorylyProvider";
import { useSettings } from "~/hooks";
import AppProviders from "./AppProviders";
Expand All @@ -98,6 +102,15 @@ const styles = StyleSheet.create({

function App() {
const accounts = useSelector(accountsSelector);
const analyticsFF = useFeature("llmAnalyticsOptInPrompt");
const hasSeenAnalyticsOptInPrompt = useSelector(hasSeenAnalyticsOptInPromptSelector);
const dispatch = useDispatch();

useEffect(() => {
if (!analyticsFF?.enabled || hasSeenAnalyticsOptInPrompt) return;
dispatch(setAnalytics(false));
dispatch(setPersonalizedRecommendations(false));
}, [analyticsFF?.enabled, dispatch, hasSeenAnalyticsOptInPrompt]);

useAccountsWithFundsListener(accounts, updateIdentify);
useAppStateListener();
Expand Down
4 changes: 2 additions & 2 deletions apps/ledger-live-mobile/src/reducers/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,8 @@ export const INITIAL_STATE: SettingsState = {
counterValueExchange: null,
privacy: null,
reportErrorsEnabled: true,
analyticsEnabled: false,
personalizedRecommendationsEnabled: false,
analyticsEnabled: true,
personalizedRecommendationsEnabled: true,
currenciesSettings: {},
pairExchanges: {},
selectedTimeRange: "month",
Expand Down

0 comments on commit a220e7d

Please sign in to comment.