Error → user report
Step diagram
Error surfaces in KoderErrorBanner
AppHumanized title + actionable detail + canonical error ID (PRODUCT-CAT-CODE-SEQ).
User taps Report
UserOnly available when reporting consent is ON in Settings. Default OFF.
Confirm dialog
AppShows exactly what will be sent: error ID, anonymized stack, optional comment box. No PII unless the user adds it explicitly.
User confirms
UserTap Send.
SDK posts to the reporter
SDKKoderErrorReporter ships the bundle to services/foundation/reporter; queues offline.
Server acknowledges
ServerReporter returns a tracking ID the user can quote in support requests.
Common pitfalls
- Sending reports without explicit consent — violates the reporting policy and the user's trust.
- Including raw stack traces with file paths from the device — leaks usernames on macOS/Windows.