Repository navigation
Optional error reporting: report-on-click and opt-in crash reports - #193
Merged
Merged
Conversation
Off by default. Nothing is sent unless the user submits a report or enables crash reporting in Preferences. Paths are anonymized and media file names removed before any report leaves the machine.
The report the user already reviews can now also be sent directly from the dialog. Visible checkbox, on by default, untick to skip. The clipboard and GitHub flow is unchanged and never waits on the send.
New Privacy section with a single toggle. When off (the default and the state every install starts in), the reporting machinery is never initialized. When on, unhandled errors and known failure points send crash details on the next launch. The toggle text states exactly what is and is not sent.
README gains a Privacy section stating the default: nothing is sent unless the user files a report or turns on the Preferences toggle.
Scope capture helpers resolve the process-global client, which drops events sent from an unregistered client. Build the event and hand it to the client directly instead. Verified end to end.
New users are asked once, at the bottom of the download manager, whether to send anonymous crash reports. Unchecked by default; dismissing leaves it off; never asked again. Same setting as Preferences > Privacy. The update source moves to a single constant and reporting only runs when it matches this repository.
Owner
Author
|
Added per owner review: ☼ First-run ask: new users see one unchecked checkbox at the bottom of the download manager, 'Send anonymous crash reports to help troubleshooting'. Answered once, never shown again, same setting as Preferences > Privacy. Dismissing without ticking leaves reporting off. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No telemetry by default. Two user-controlled paths, nothing else:
☼ Report Issue dialog: the diagnostic summary the user already reviews can also be sent directly to the developer. Visible checkbox, on by default, per report. The clipboard and GitHub flow never waits on it and works even if the send fails or the dependency is missing.
☼ Preferences > Privacy: automatic crash reports, off by default. Off means the reporting machinery is never initialized. On captures unhandled errors and known failure points from the next launch.
Both paths anonymize file paths and remove media file names before sending. The report identity is a random per-install id, nothing else.
Verification
☼ 23 unit tests: scrubbing (usernames on all platforms, media names, idempotence), install id, tag collection, send isolation, gating (off = no init, dev builds never init)
☼ Live end-to-end through the real dialog click path: delivery confirmed, captured payload byte-checked (correct tags, random id, no usernames, no project/clip/media names)
☼ Negative paths: missing dependency and unreachable endpoint leave the report flow fully working, bounded time
☼ Toggle-off run asserts the reporting package is never even imported
☼ Full suite: 738 passed
☼ README and SECURITY document the privacy model in the same change