-
{intl.formatMessage(i18n.notifications)}
+
+ {intl.formatMessage(i18n.notifications)}
+
{intl.formatMessage(i18n.notificationsDesc, {
link: (
@@ -386,14 +457,12 @@ export default function AppSettingsSection({ scrollToSection }: AppSettingsSecti
{/* Navigation Settings */}
-
+
{intl.formatMessage(i18n.helpTitle)}
-
- {intl.formatMessage(i18n.helpDesc)}
-
+ {intl.formatMessage(i18n.helpDesc)}
@@ -452,9 +521,7 @@ export default function AppSettingsSection({ scrollToSection }: AppSettingsSecti
{intl.formatMessage(i18n.updatesTitle)}
-
- {intl.formatMessage(i18n.updatesDesc)}
-
+ {intl.formatMessage(i18n.updatesDesc)}
diff --git a/ui/desktop/src/components/settings/app/TelemetrySettings.tsx b/ui/desktop/src/components/settings/app/TelemetrySettings.tsx
index f39af433..8b3d360e 100644
--- a/ui/desktop/src/components/settings/app/TelemetrySettings.tsx
+++ b/ui/desktop/src/components/settings/app/TelemetrySettings.tsx
@@ -3,7 +3,7 @@ import { Switch } from '../../ui/switch';
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '../../ui/card';
import { useConfig } from '../../ConfigContext';
import { TELEMETRY_UI_ENABLED } from '../../../updates';
-import TelemetryOptOutModal from '../../TelemetryOptOutModal';
+import PrivacyInfoModal from '../../onboarding/PrivacyInfoModal';
import { toastService } from '../../../toasts';
import {
setTelemetryEnabled as setAnalyticsTelemetryEnabled,
@@ -48,11 +48,7 @@ const i18n = defineMessages({
const TELEMETRY_CONFIG_KEY = 'GOOSE_TELEMETRY_ENABLED';
-interface TelemetrySettingsProps {
- isWelcome: boolean;
-}
-
-export default function TelemetrySettings({ isWelcome = false }: TelemetrySettingsProps) {
+export default function TelemetrySettings() {
const intl = useIntl();
const { read, upsert } = useConfig();
const [telemetryEnabled, setTelemetryEnabled] = useState(true);
@@ -84,7 +80,7 @@ export default function TelemetrySettings({ isWelcome = false }: TelemetrySettin
await upsert(TELEMETRY_CONFIG_KEY, checked, false);
setTelemetryEnabled(checked);
setAnalyticsTelemetryEnabled(checked);
- trackTelemetryPreference(checked, isWelcome ? 'onboarding' : 'settings');
+ trackTelemetryPreference(checked, 'settings');
} catch (error) {
console.error('Failed to update telemetry status:', error);
toastService.error({
@@ -127,15 +123,13 @@ export default function TelemetrySettings({ isWelcome = false }: TelemetrySettin
/>
);
- const modal = ;
+ const modal = ;
const toggleRow = (
-
- {toggleLabel}
-
-
+
{toggleLabel}
+
{toggleDescription} {learnMoreLink}
@@ -143,19 +137,6 @@ export default function TelemetrySettings({ isWelcome = false }: TelemetrySettin
);
- if (isWelcome) {
- return (
- <>
-
-
{title}
-
{description}
- {toggleRow}
-
- {modal}
- >
- );
- }
-
return (
<>
diff --git a/ui/desktop/src/i18n/messages/en.json b/ui/desktop/src/i18n/messages/en.json
index 93419505..7d998890 100644
--- a/ui/desktop/src/i18n/messages/en.json
+++ b/ui/desktop/src/i18n/messages/en.json
@@ -4334,48 +4334,21 @@
"switchModelModal.useOtherProvider": {
"defaultMessage": "Use other provider"
},
- "telemetryOptOutModal.collectErrors": {
- "defaultMessage": "Error types (e.g., \"rate_limit\", \"auth\" - no details)"
+ "telemetryConsentPrompt.description": {
+ "defaultMessage": "Would you like to share anonymous usage data to help improve goose? We never collect your conversations, code, or personal data."
},
- "telemetryOptOutModal.collectExtensions": {
- "defaultMessage": "Extensions and tool usage counts (names only)"
- },
- "telemetryOptOutModal.collectOs": {
- "defaultMessage": "Operating system, version, and architecture"
- },
- "telemetryOptOutModal.collectProvider": {
- "defaultMessage": "Provider and model used"
- },
- "telemetryOptOutModal.collectSession": {
- "defaultMessage": "Session metrics (duration, interaction count, token usage)"
- },
- "telemetryOptOutModal.collectVersion": {
- "defaultMessage": "goose version and install method"
- },
- "telemetryOptOutModal.configError": {
- "defaultMessage": "Configuration Error"
- },
- "telemetryOptOutModal.configErrorMessage": {
- "defaultMessage": "Failed to check telemetry configuration."
- },
- "telemetryOptOutModal.description": {
- "defaultMessage": "Would you like to help improve goose by sharing anonymous usage data? This helps us understand how goose is used and identify areas for improvement."
- },
- "telemetryOptOutModal.heading": {
+ "telemetryConsentPrompt.heading": {
"defaultMessage": "Help improve goose"
},
- "telemetryOptOutModal.optIn": {
+ "telemetryConsentPrompt.learnMore": {
+ "defaultMessage": "Learn more"
+ },
+ "telemetryConsentPrompt.optIn": {
"defaultMessage": "Yes, share anonymous usage data"
},
- "telemetryOptOutModal.optOut": {
+ "telemetryConsentPrompt.optOut": {
"defaultMessage": "No thanks"
},
- "telemetryOptOutModal.privacyNote": {
- "defaultMessage": "We never collect your conversations, code, tool arguments, error messages, or any personal data. You can change this setting anytime in Settings → App."
- },
- "telemetryOptOutModal.whatWeCollect": {
- "defaultMessage": "What we collect:"
- },
"telemetrySettings.configErrorTitle": {
"defaultMessage": "Configuration Error"
},