Skip to content

Optional error reporting: report-on-click and opt-in crash reports - #193

Merged
edenaion merged 6 commits into
mainfrom
feat/glitchtip-error-reporting
Jul 11, 2026
Merged

edenaion merged 6 commits into
mainfrom
feat/glitchtip-error-reporting

Conversation

@edenaion

@edenaion edenaion commented Jul 11, 2026 •

Copy link
Copy Markdown
Owner

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

edenaion added 6 commits July 10, 2026 21:11
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.
@edenaion

Copy link
Copy Markdown
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.
☼ The update source is now a single constant and reporting only runs when it matches this repository.
☼ Tests: 8 new (first-run consent persistence and one-time display, origin gating). Full suite 746 passed.

@edenaion
edenaion merged commit c374c22 into main Jul 11, 2026
5 checks passed
@edenaion
edenaion deleted the feat/glitchtip-error-reporting branch July 12, 2026 18:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant