Add a settings toggle to make telemetry optional#238
Add a settings toggle to make telemetry optional#238DwieDave wants to merge 6 commits intoospfranco:mainfrom
Conversation
…e of truth instead of module level variable that needs to be set separately
|
I do no analytics on the data whatsoever, the information is there only to help fix with issues and crashes. No need to be paranoid as you can see on the code itself no personal data is collected. I will keep it open but this is not a priority for me. |
|
Can I ask what speaks against this feature for you? The default is still to send telemetry - but it allows users to decide if they want to do so. If you are completely against the feature you can close the PR - No hard feelings. |
|
I definitely do not want sol on enterprise environments. I make no money out of sol and the moment enterprises start asking for features open-source becomes even less attractive than it already is. There is no reason for this NOT to be turned on because it makes my life easier detecting issues and fixing the product for FREE. |
Why
For me
Solis a more privacy friendly alternative to RayCast and I think users should have control over whether crash reports and telemetry is sent.Currently, Sentry telemetry is always enabled in production builds with no way to opt out. This PRs changes aim to respect the user privacy preferences by allowing them to disable anonymous error reporting.
Changes Summary
TelemetryManager.swift: Added a singleton class that wraps Sentry calls (captureError, addBreadcrumb) and respects an isEnabled flagtelemetry.tsmodule: Centralized Sentry initialization and addedsafeCaptureException()wrapper that checks if telemetry is enabled before reportingtelemetryEnabledfield to the UI store (defaults to true) with persistencesetTelemetryEnabledmethod through SolNative to sync the setting to the Swift layerApplicationSearcher.swiftwith TelemetryManager, and replacedcaptureExceptionimports withsafeCaptureExceptionin TypeScript storesIn the end it's up to you if you want to include this toggle, but I think it's a valuable contribution and would strengthen the privacy / data friendly aspect of the App.