Sentry implementation
This MR addresses #89 (closed).
The crash reporting feature is disabled by default. When a user experiences a crash, they see a dialog like the one below when they relaunch the app.
User Experience:
- Always allow: This option is pre-selected by default. It sends the most recent crash log to the Sentry server and automatically forwards any future crash logs without requiring the user's explicit permission. A confirmation dialog appears upon choosing this option.
- Send once: Opting for this choice sends the most recent crash log to the Sentry server. If the app experiences subsequent crashes, the same dialog will reappear during the next app launch.
- Never send: Selecting this option prevents the crash log from being sent to the Sentry server and also ensures that this notification won't be displayed again. A confirmation dialog appears upon choosing this option.
If the dialog is dismissed or "Not Now" is clicked, no further action is taken.
The crash-reporting setting can be manually enabled/disabled in Settings > Crash reporting