diff --git a/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx b/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx index 9c6d9c3b..75197adb 100644 --- a/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx +++ b/src/vs/workbench/contrib/void/browser/react/src/void-settings-tsx/Settings.tsx @@ -1055,6 +1055,7 @@ export const Settings = () => { const notificationService = accessor.get('INotificationService') const mcpService = accessor.get('IMCPService') const storageService = accessor.get('IStorageService') + const metricsService = accessor.get('IMetricsService') const isOptedOut = useIsOptedOut() const onDownload = (t: 'Chats' | 'Settings') => { @@ -1391,24 +1392,27 @@ export const Settings = () => { {/* General section */}
- {/* Telemetry section */} + {/* Metrics section */}
-

Telemetry

-
Control what usage data Void collects.
+

Metrics

+
(Very) basic usage tracking helps us understand whether people are using Void. Regardless of this setting, Void never sees your code, messages, or API keys.
- {/* Disable All Telemetry Switch */} + {/* Disable All Metrics Switch */}
storageService.store(OPT_OUT_KEY, newVal, StorageScope.APPLICATION, StorageTarget.MACHINE)} + onChange={(newVal) => { + storageService.store(OPT_OUT_KEY, newVal, StorageScope.APPLICATION, StorageTarget.MACHINE) + metricsService.capture(`Set metrics to ${newVal}`, {}) // this only fires if it's enabled, so it's fine to have here + }} /> - {storageService.getBoolean(OPT_OUT_KEY, StorageScope.APPLICATION, false) ? 'Disabled' : 'Enabled'} + {isOptedOut ? 'Disabled' : 'Enabled'}
- Void only tracks basic usage like whether you've opened the app today so we can understand usage. Opting out is optional (requires a restart), but without this we cannot see how many people are using Void. Regardless of this setting, Void never sees your code, messages, or API keys. + Void only tracks basic anonymous usage, like whether you've opened the app, or the number of messages you sent. Opting out is optional (requires a restart).