Provide general improvements to the crash reporting submission services
by adding a separate report access server with a simple UI and updating
the crashpad submission server to use waitress.
- changes crashpad.py to crashpad_submit_server.py
- adds report_access_server.py
- updates README.md
Gitlab: #1454
Change-Id: I4e97f77cf2e2c0bb405064b0187ed3dfc2ee703e
This commit adds a basic crash-report system that can be optionally
configured to automatically send minidump crash-reports in addition
to product versions and a platform description including the OS
name and CPU architecture. Reports can be received at a configured
REST endpoint(POST). This endpoint URL can be configured using
a CMake variable `CRASH_REPORT_URL` which defaults to
"http://localhost:8080/submit".
- Introduces a new CMake option `ENABLE_CRASHREPORTS`, defaulting
to OFF. This allows developers to enable crash reporting features
at build time selectively. We also define a new macro with the
same name to expose the state to QML in order to hide the UI
components if needed.
- Implemented conditional inclusion of crashpad dependencies using
`ENABLE_CRASHREPORTS`. If set, `ENABLE_CRASHPAD` is also enabled
(other crash reporters exist and we may want to use them).
- 2 new application settings are added: `EnableCrashReporting` and
`EnableAutomaticCrashReporting`. Default settings make it so
crash-reports are generated but not automatically sent. With this
default configuration, users will be prompted upon application
start to confirm the report upload. Additionally, users may
opt-in in order to have reports sent automatically at crash-time.
Gitlab: #1454
Change-Id: I53edab2dae210240a99272479381695fce1e221b