feat(shared): add opt-in diagnostics client with compile-time kill switch

Ship client-side telemetry, crash capture, and bug-report assembly behind a
user opt-in, with NoOp transport until Cloudflare is wired. Builds can set
vnidrop.diagnostics.included=false to omit the Share-diagnostics UI and
disable the telemetry/crash auto-upload stack while keeping bug reports.
This commit is contained in:
2026-07-14 08:27:42 +02:00
parent 6dd867e43d
commit ead4e09a60
36 changed files with 1776 additions and 47 deletions

View File

@@ -155,6 +155,25 @@
<string name="about_title">About</string>
<string name="about_privacy">Privacy policy</string>
<string name="about_bug_report">Report a bug</string>
<string name="diagnostics_title">Share diagnostics</string>
<string name="diagnostics_description">Send anonymous crash reports and usage events so we can improve VniDrop. You can turn this off anytime. Tickets, file paths, and transfer contents are never included.</string>
<string name="diagnostics_enabled_message">Diagnostics sharing is on.</string>
<string name="diagnostics_disabled_message">Diagnostics sharing is off.</string>
<string name="bug_report_description">Tell us what went wrong. We attach device info and optional recent logs (with sensitive values redacted).</string>
<string name="bug_report_what_label">What happened?</string>
<string name="bug_report_expected_label">What did you expect?</string>
<string name="bug_report_steps_label">Steps to reproduce (optional)</string>
<string name="bug_report_contact_label">Contact email (optional)</string>
<string name="bug_report_include_logs">Include recent logs</string>
<string name="bug_report_include_logs_description">Helps us diagnose the issue. Sensitive values are redacted before sending.</string>
<string name="bug_report_logs_size">Log attachment size</string>
<string name="bug_report_device_section">Device information</string>
<string name="bug_report_submit">Submit report</string>
<string name="bug_report_submitting">Submitting…</string>
<string name="bug_report_submitted">Thanks — your bug report was recorded.</string>
<string name="bug_report_submit_failed">Could not submit the bug report. Try again later.</string>
<string name="bug_report_missing_what">Please describe what happened.</string>
<string name="bug_report_missing_expected">Please describe what you expected.</string>
<string name="version_title">App version</string>
<string name="device_name_title">Device name</string>
<string name="device_model_title">Device model</string>