Skip to content

feat: Sentry crash reporting integration (opt-in)#333

Merged
7w1 merged 5 commits intodevfrom
feat/sentry-pr
Mar 17, 2026
Merged

feat: Sentry crash reporting integration (opt-in)#333
7w1 merged 5 commits intodevfrom
feat/sentry-pr

Conversation

@Just-Insane
Copy link
Contributor

@Just-Insane Just-Insane commented Mar 17, 2026

Uses Sentry for crash reporting, error tracking, and performance monitoring. Crash reporting is opt-in — disabled by default, with a non-dismissable consent banner (No thanks / Enable) shown on first load when a DSN is configured.

Changes

  • src/instrument.ts — Sentry initialisation with env-based sampling (10% production, 100% preview/dev), token/Matrix-ID scrubbing via beforeSend/beforeBreadcrumb, session rate-limit, and optional session replay
  • src/app/utils/sentryScrubbers.ts — extracted scrubbing helpers (scrubMatrixIds, scrubDataObject, scrubMatrixUrl) with 43 unit tests
  • src/app/components/telemetry-consent/TelemetryConsentBanner.tsx — opt-in consent banner: "Help improve Sable", forced choice between No thanks (saves false, fades out) and Enable (saves true, reloads so Sentry initialises)
  • src/app/features/settings/general/General.tsx — Diagnostics & Privacy section: Sentry toggle, session replay toggle, links to privacy docs
  • src/app/features/settings/developer-tools/SentrySettings.tsx — developer panel showing Sentry status, sample rates
  • src/app/features/bug-report/BugReportModal.tsx — optional Sentry attachment on manual bug reports
  • src/app/utils/debugLogger.ts — debug log entries attached to Sentry events as structured context
  • docs/SENTRY_INTEGRATION.md, docs/SENTRY_PRIVACY.md — full integration and privacy documentation
  • docs/PRIVACY.md — updated to document the consent notice

Privacy

  • Opt-in only; sable_sentry_enabled === 'true' required before any data is sent
  • No message content, room names, or personal data — all scrubbed before sending

Resolves #331

@Just-Insane Just-Insane requested review from 7w1 and hazre as code owners March 17, 2026 13:34
Removed mention of privacy-safe data scrubbing and controls in Settings.
@dozro
Copy link
Member

dozro commented Mar 17, 2026

related issue: #331

@7w1 7w1 enabled auto-merge March 17, 2026 15:05
@7w1 7w1 added this pull request to the merge queue Mar 17, 2026
@github-actions
Copy link
Contributor

Deploying with  Cloudflare Workers  Cloudflare Workers

Status Preview URL Commit Alias Updated (UTC)
✅ Deployment successful! https://pr-333-sable.raspy-dream-bb1d.workers.dev 992aff1 pr-333 Tue, 17 Mar 2026 15:06:10 GMT

Merged via the queue into dev with commit bc5fc02 Mar 17, 2026
9 checks passed
@Just-Insane Just-Insane deleted the feat/sentry-pr branch March 17, 2026 15:11
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.

Privacy concerns regarding Sentry Error Tracking

3 participants