Skip to content

Commit

Permalink
chore(PROTECT-3160): add dev mode to analytics (#7091)
Browse files Browse the repository at this point in the history
  • Loading branch information
cksanders committed Jun 13, 2024
1 parent 6e15fb5 commit e0c89dc
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 1 deletion.
5 changes: 5 additions & 0 deletions .changeset/friendly-clouds-pretend.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"live-mobile": patch
---

Add Dev Mode as a property to all events & send to Recover Live App
5 changes: 5 additions & 0 deletions .changeset/twelve-berries-try.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"ledger-live-desktop": patch
---

Add Dev Mode as a property to all events & send to Recover Live App
4 changes: 4 additions & 0 deletions apps/ledger-live-desktop/src/renderer/analytics/segment.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import {
sharePersonalizedRecommendationsSelector,
hasSeenAnalyticsOptInPromptSelector,
trackingEnabledSelector,
developerModeSelector,
} from "~/renderer/reducers/settings";
import { State } from "~/renderer/reducers";
import { AccountLike, Feature, FeatureId, Features, idsToLanguage } from "@ledgerhq/types-live";
Expand Down Expand Up @@ -98,8 +99,10 @@ const getMandatoryProperties = (store: ReduxStore) => {
const analyticsEnabled = shareAnalyticsSelector(state);
const personalizedRecommendationsEnabled = sharePersonalizedRecommendationsSelector(state);
const hasSeenAnalyticsOptInPrompt = hasSeenAnalyticsOptInPromptSelector(state);
const devModeEnabled = developerModeSelector(state);

return {
devModeEnabled,
optInAnalytics: analyticsEnabled,
optInPersonalRecommendations: personalizedRecommendationsEnabled,
hasSeenAnalyticsOptInPrompt,
Expand All @@ -115,6 +118,7 @@ const extraProperties = (store: ReduxStore) => {
const device = lastSeenDeviceSelector(state);
const devices = devicesModelListSelector(state);
const accounts = accountsSelector(state);

const {
isBatch1Enabled,
isBatch2Enabled,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@ import { RouteComponentProps, useHistory } from "react-router-dom";
import { useRemoteLiveAppManifest } from "@ledgerhq/live-common/platform/providers/RemoteLiveAppProvider/index";
import { useOnboardingStatePolling } from "@ledgerhq/live-common/onboarding/hooks/useOnboardingStatePolling";
import { OnboardingStep } from "@ledgerhq/live-common/hw/extractOnboardingState";
import { counterValueCurrencySelector, languageSelector } from "~/renderer/reducers/settings";
import {
counterValueCurrencySelector,
developerModeSelector,
languageSelector,
} from "~/renderer/reducers/settings";
import WebRecoverPlayer from "~/renderer/components/WebRecoverPlayer";
import useTheme from "~/renderer/hooks/useTheme";
import { getCurrentDevice } from "~/renderer/reducers/devices";
Expand Down Expand Up @@ -57,6 +61,7 @@ export default function RecoverPlayer({
const currency = currencySettings.ticker;

const device = useSelector(getCurrentDevice);
const devModeEnabled = useSelector(developerModeSelector);

const { onboardingState } = useOnboardingStatePolling({
device: device || null,
Expand All @@ -81,6 +86,7 @@ export default function RecoverPlayer({
availableOnDesktop,
deviceId: state?.deviceId,
deviceModelId: device?.modelId,
devModeEnabled,
currency,
...params,
...queryParams,
Expand Down
3 changes: 3 additions & 0 deletions apps/ledger-live-mobile/src/analytics/segment.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ import { BrazePlugin } from "./BrazePlugin";
import { Maybe } from "../types/helpers";
import { appStartupTime } from "../StartupTimeMarker";
import { aggregateData, getUniqueModelIdList } from "../logic/modelIdList";
import { getEnv } from "@ledgerhq/live-env";

let sessionId = uuid();
const appVersion = `${VersionNumber.appVersion || ""} (${VersionNumber.buildVersion || ""})`;
Expand Down Expand Up @@ -102,10 +103,12 @@ const getMandatoryProperties = async (store: AppStore) => {
const analyticsEnabled = analyticsEnabledSelector(state);
const personalizedRecommendationsEnabled = personalizedRecommendationsEnabledSelector(state);
const hasSeenAnalyticsOptInPrompt = hasSeenAnalyticsOptInPromptSelector(state);
const devModeEnabled = getEnv("MANAGER_DEV_MODE");

return {
userId: user?.id,
braze_external_id: user?.id, // Needed for braze with this exact name
devModeEnabled,
optInAnalytics: analyticsEnabled,
optInPersonalRecommendations: personalizedRecommendationsEnabled,
hasSeenAnalyticsOptInPrompt,
Expand Down
4 changes: 4 additions & 0 deletions apps/ledger-live-mobile/src/screens/Protect/Player.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import { NavigatorName, ScreenName } from "~/const";
import { DeviceModelId } from "@ledgerhq/devices";
import { counterValueCurrencySelector } from "~/reducers/settings";
import { useSelector } from "react-redux";
import useEnv from "@ledgerhq/live-common/hooks/useEnv";

export type Props = RootComposite<
StackNavigatorProps<BaseNavigatorStackParamList, ScreenName.Recover>
Expand All @@ -34,6 +35,8 @@ export function RecoverPlayer({ navigation, route }: Props) {
const remoteManifest = useRemoteLiveAppManifest(appId);
const { state: remoteLiveAppState } = useRemoteLiveAppContext();
const { locale } = useLocale();
const devModeEnabled = useEnv("MANAGER_DEV_MODE").toString();

const currencySettings = useSelector(counterValueCurrencySelector);
const currency = currencySettings.ticker;
const manifest = localManifest || remoteManifest;
Expand Down Expand Up @@ -82,6 +85,7 @@ export function RecoverPlayer({ navigation, route }: Props) {
<WebRecoverPlayer
manifest={manifest}
inputs={{
devModeEnabled,
theme,
lang: locale,
currency,
Expand Down

0 comments on commit e0c89dc

Please sign in to comment.