feat(reporting): add PII-free account summary to debug reports #245

Merged
JMR-dev merged 16 commits from feat-235-debug-report-accounts into main 2026-07-04 01:00:57 +00:00
16 Commits
Author SHA1 Message Date
Jason Ross d29f146bd2 Merge main into feat-235-debug-report-accounts 2026-07-03 19:47:40 -05:00
JMR-devandClaude Opus 4.8 664d79a427 fix(test): pass accountRepository to DiagnosticsCollector in CrashReporterInstallTest
DiagnosticsCollector gained a 4th constructor param (accountRepository) for the
PII-free account summary, but CrashReporterInstallTest still constructed it with
3 args — a compile error that broke the Unit tests and Static analysis gates.
Add the AccountRepository mock with observeAccounts() stubbed to an empty flow
(matching DiagnosticsCollectorTest) and pass it to both call sites.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 18:48:25 -05:00
Jason Ross 0ceaf97754 Merge main into feat-235-debug-report-accounts 2026-07-03 18:29:37 -05:00
Jason Ross 0205bff8a0 Merge main into feat-235-debug-report-accounts 2026-07-03 17:38:54 -05:00
Jason Ross 6f3daae4b2 Merge main into feat-235-debug-report-accounts 2026-07-03 17:25:01 -05:00
Jason Ross 0948d1406e Merge main into feat-235-debug-report-accounts 2026-07-03 17:11:10 -05:00
Jason Ross 93ca14bc18 Merge main into feat-235-debug-report-accounts 2026-07-03 16:49:24 -05:00
Jason Ross 8e7b82f86a Merge main into feat-235-debug-report-accounts 2026-07-03 16:17:08 -05:00
Jason Ross b384647a9f Merge main into feat-235-debug-report-accounts 2026-07-03 16:09:14 -05:00
Jason Ross fecd4d67dc Merge branch 'main' into feat-235-debug-report-accounts 2026-07-03 15:55:42 -05:00
Jason Ross 056ac69185 Merge main into feat-235-debug-report-accounts 2026-07-03 14:53:29 -05:00
Jason Ross 339b4017ef Merge main into feat-235-debug-report-accounts 2026-07-03 14:48:13 -05:00
Jason Ross 81a362c30a Merge main into feat-235-debug-report-accounts 2026-07-03 14:10:07 -05:00
Jason Ross f2cbabb59a Merge main into feat-235-debug-report-accounts 2026-07-03 13:15:30 -05:00
Jason Ross 92a85c1f9e Merge main into feat-235-debug-report-accounts 2026-07-03 12:55:49 -05:00
JMR-devandClaude Opus 4.8 4260a304bd feat(reporting): add PII-free account summary to debug reports
DiagnosticsCollector now includes one "<provider> (<authType>)" entry per account (the count is the
list size) in DebugReport.accounts, alongside the existing settings + recent-log capture. The provider
is a coarse bucket derived from the IMAP host (Gmail/Yahoo/iCloud/Outlook/AOL/Other) — never the raw
host or email — so no PII leaks; a custom domain buckets to "Other". Accounts are cached like settings
so crash reports (built on the crashing thread) include the last-known snapshot; accounts live in the
non-auth AccountDatabase, so reading them never blocks on the encrypted cache.

Recent device/app logs were already captured (RingLogBuffer) and serialize as the report's "logs".

Closes #235

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 12:53:58 -05:00