Skip to content

Commit b6fd253

Browse files
author
MargeBot
committed
Merge branch 'recovery-settings-telemetry-guard' into 'main'
Recovery telemetry guard See merge request web/clients!25364
2 parents e15071f + e8532a8 commit b6fd253

5 files changed

Lines changed: 21 additions & 7 deletions

File tree

applications/account/src/app/containers/securityCheckup/routes/device/EnableDeviceRecoveryContainer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ const EnableDeviceRecoveryContainer = () => {
2626
const { securityState } = useSecurityCheckup();
2727
const { deviceRecovery } = securityState;
2828
const recoveryFileData = useSelector(selectRecoveryFileData);
29-
const updateRecoveryFile = useUpdateRecoveryFile(recoveryFileData);
29+
const updateRecoveryFile = useUpdateRecoveryFile(recoveryFileData, { sendSettingEnabledTelemetry: false });
3030

3131
const history = useHistory();
3232

applications/account/src/app/containers/securityCheckup/routes/email/SetEmailContainer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ const SetEmailContainer = () => {
6565
const { securityState } = useSecurityCheckup();
6666
const { email } = securityState;
6767

68-
const accountRecovery = useUpdateAccountRecovery();
68+
const accountRecovery = useUpdateAccountRecovery({ sendSettingEnabledTelemetry: false });
6969

7070
if (accountRecovery.data.loading) {
7171
return <AccountLoaderPage />;

applications/account/src/app/containers/securityCheckup/routes/phone/SetPhoneContainer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import { phoneIcon } from '../../methodIcons';
1818
const SetPhoneContainer = () => {
1919
const history = useHistory();
2020

21-
const accountRecovery = useUpdateAccountRecovery();
21+
const accountRecovery = useUpdateAccountRecovery({ sendSettingEnabledTelemetry: false });
2222
const defaultCountry = useMyCountry();
2323

2424
if (accountRecovery.data.loading) {

packages/account/recovery/useUpdateAccountRecovery.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,15 @@ import { unlockPasswordChanges } from '@proton/shared/lib/api/user';
2525
import { SETTINGS_STATUS, type UserSettings } from '@proton/shared/lib/interfaces';
2626
import noop from '@proton/utils/noop';
2727

28-
export const useUpdateAccountRecovery = () => {
29-
const { sendRecoverySettingEnabled } = useRecoverySettingsTelemetry();
28+
interface UseUpdateAccountRecoveryOptions {
29+
sendSettingEnabledTelemetry?: boolean;
30+
}
31+
32+
export const useUpdateAccountRecovery = ({
33+
sendSettingEnabledTelemetry = true,
34+
}: UseUpdateAccountRecoveryOptions = {}) => {
35+
const { sendRecoverySettingEnabled: sendRecoverySettingEnabledImpl } = useRecoverySettingsTelemetry();
36+
const sendRecoverySettingEnabled = sendSettingEnabledTelemetry ? sendRecoverySettingEnabledImpl : noop;
3037
const { createNotification } = useNotifications();
3138

3239
const dispatch = useDispatch();

packages/account/recovery/useUpdateRecoveryFile.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,21 @@ import VoidRecoveryFilesModal from '@proton/components/containers/recovery/VoidR
55
import { useRecoverySettingsTelemetry } from '@proton/components/containers/recovery/recoverySettingsTelemetry';
66
import { useDispatch } from '@proton/redux-shared-store/sharedProvider';
77

8-
export const useUpdateRecoveryFile = (recoveryFileData: ReturnType<typeof selectRecoveryFileData>) => {
8+
interface UseUpdateRecoveryFileOptions {
9+
sendSettingEnabledTelemetry?: boolean;
10+
}
11+
12+
export const useUpdateRecoveryFile = (
13+
recoveryFileData: ReturnType<typeof selectRecoveryFileData>,
14+
{ sendSettingEnabledTelemetry = true }: UseUpdateRecoveryFileOptions = {}
15+
) => {
916
const { sendRecoverySettingEnabled } = useRecoverySettingsTelemetry();
1017
const dispatch = useDispatch();
1118
const [voidRecoveryFilesModal, setVoidRecoveryFilesModalOpen, renderVoidRecoveryFilesModal] = useModalState();
1219

1320
const handleChangeDeviceRecoveryToggle = async (checked: boolean) => {
1421
if (await dispatch(updateDeviceRecoverySettingsThunk({ deviceRecovery: checked }))) {
15-
if (checked) {
22+
if (checked && sendSettingEnabledTelemetry) {
1623
sendRecoverySettingEnabled({ setting: 'device_recovery' });
1724
}
1825
}

0 commit comments

Comments
 (0)