fix(core): opt out telemetry if it was set to false (#6335)

This commit is contained in:
Brooooooklyn
2024-03-27 04:36:09 +00:00
parent 30b8b12703
commit 5dcb3d69e5
7 changed files with 31 additions and 29 deletions

View File

@@ -111,7 +111,7 @@ export const AboutAffine = () => {
desc={t['com.affine.telemetry.enable.desc']()}
>
<Switch
checked={appSettings.enableTelemetry}
checked={appSettings.enableTelemetry !== false}
onChange={onSwitchTelemetry}
/>
</SettingRow>

View File

@@ -0,0 +1,20 @@
import { appSettingAtom } from '@toeverything/infra';
import { useAtomValue } from 'jotai/react';
import mixpanel from 'mixpanel-browser';
import { useLayoutEffect } from 'react';
export function Telemetry() {
const settings = useAtomValue(appSettingAtom);
useLayoutEffect(() => {
if (process.env.MIXPANEL_TOKEN) {
mixpanel.init(process.env.MIXPANEL_TOKEN || '', {
track_pageview: true,
persistence: 'localStorage',
});
}
if (settings.enableTelemetry !== false) {
mixpanel.opt_out_tracking();
}
}, [settings.enableTelemetry]);
return null;
}