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
Jami
Share, freely and privately
Introduction
Jami provides all its users a universal communication tool, autonomous, free, secure and built on a distributed architecture thus requiring no authority or central server to function.
jami is the cross platform client for Jami.
For more information about the jami project, see the following:
- Main website: https://jami.net/
- Download: https://jami.net/download/
- Bug tracker: https://git.jami.net/
- Repositories: https://review.jami.net
Getting involved
- Browse our current issues, or file an issue.
- IRC: #jami on libera.chat
- ML: jami@gnu.org
- Documentation: https://docs.jami.net
- Localization happens on Transifex
- Our contributions propositions or feature requests asked by the community
- Packaging: Feel free to contact us
Notes
- Coding style is managed by the clang-format and qmlformat, if you want to contribute, please use the pre-commit hook automatically installed with
./build.py --init --qt=<path/to/qt> - We use gerrit for our review. Please read about working with Gerrit if you want to submit patches.
Build
cf INSTALL.md
License
Copyright (C) 2020-2024 Savoir-faire Linux Inc.
Jami is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
See COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html for the full GPLv3 license.