feat: Add opt-out setting for anonymous usage reporting (#743)
* refactor: align VS Code update checks with web runtime parity - VS Code now uses file-based installId (shared with web server) - Accepts platform/arch from webview for consistent behavior - Usage data collection now matches web implementation * feat: Add opt-out setting for anonymous usage reporting in Appearance - Add privacy control in Appearance settings to opt-out of anonymous usage reports - Usage data includes only app version, platform, and runtime - no personal data or code collected - Setting persists across all runtimes and controls the reportUsage parameter in update checks
This commit is contained in:
committed by
GitHub
parent
53c2a0d919
commit
64b55025e1
@@ -1,6 +1,7 @@
|
||||
import { create } from 'zustand';
|
||||
import type { UpdateInfo, UpdateProgress } from '@/lib/desktop';
|
||||
import { getDeviceInfo } from '@/lib/device';
|
||||
import { useUIStore } from './useUIStore';
|
||||
import {
|
||||
checkForDesktopUpdates,
|
||||
downloadDesktopUpdate,
|
||||
@@ -66,7 +67,10 @@ function detectPlatform(): 'macos' | 'windows' | 'linux' | 'web' {
|
||||
}
|
||||
|
||||
function mapRuntimeParams(runtime: ClientRuntime): URLSearchParams {
|
||||
const params = new URLSearchParams({ reportUsage: 'true' });
|
||||
// Check if user has opted out of usage reporting (default: true/enabled from UI store)
|
||||
const shouldReportUsage = useUIStore.getState().reportUsage;
|
||||
|
||||
const params = new URLSearchParams({ reportUsage: shouldReportUsage ? 'true' : 'false' });
|
||||
params.set('deviceClass', detectDeviceClass());
|
||||
params.set('arch', detectArch());
|
||||
params.set('platform', detectPlatform());
|
||||
|
||||
Reference in New Issue
Block a user