/** * Copyright (c) OpenLens Authors. All rights reserved. * Licensed under MIT License. See LICENSE in root directory for more information. */ import { observer } from "mobx-react"; import React from "react"; import { UserStore } from "../../../common/user-store"; import { sentryDsn } from "../../../common/vars"; import { Checkbox } from "../checkbox"; import { SubTitle } from "../layout/sub-title"; import { ExtensionSettings } from "./extension-settings"; import type { RegisteredAppPreference } from "./app-preferences/app-preference-registration"; import appPreferencesInjectable from "./app-preferences/app-preferences.injectable"; import type { IComputedValue } from "mobx"; import { withInjectables } from "@ogre-tools/injectable-react"; interface Dependencies { appPreferenceItems: IComputedValue; } const NonInjectedTelemetry: React.FC = ({ appPreferenceItems }) => { const extensions = appPreferenceItems.get(); const telemetryExtensions = extensions.filter(e => e.showInPreferencesTab == "telemetry"); return (

Telemetry

{telemetryExtensions.map((extension) => )} {sentryDsn ? (
{ UserStore.getInstance().allowErrorReporting = value; }} />
Automatic error reports provide vital information about issues and application crashes. It is highly recommended to keep this feature enabled to ensure fast turnaround for issues you might encounter.

) : // we don't need to shows the checkbox at all if Sentry dsn is not a valid url null }
); }; export const Telemetry = withInjectables( observer(NonInjectedTelemetry), { getProps: (di) => ({ appPreferenceItems: di.inject(appPreferencesInjectable), }), }, );