Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add sentry-qt integration for MacOS #7151

Open
wants to merge 45 commits into
base: development
Choose a base branch
from

Conversation

mehulmathur001
Copy link

@mehulmathur001 mehulmathur001 commented Feb 17, 2024

/claim #7126
/fixes #7126

@mehulmathur001 mehulmathur001 requested review from a team as code owners February 17, 2024 09:14
@add-deployment-links
Copy link

add-deployment-links bot commented Feb 17, 2024

Hey there! Thanks for helping Mudlet improve. 🌟

Test versions

You can directly test the changes here:

No need to install anything - just unzip and run.
Let us know if it works well, and if it doesn't, please give details.

Copy link

algora-pbc bot commented Feb 17, 2024

💵 To receive payouts, sign up on Algora, link your Github account and connect with Stripe/Alipay.

@mehulmathur001 mehulmathur001 marked this pull request as draft February 17, 2024 12:29
@SlySven
Copy link
Member

SlySven commented Apr 4, 2024

0256821 Are you sure about that - the general recommendation is to use the newest CMake version you can as it knows more about whatever situation it is being used in than older versions - at a minimum it must be newer than the compiler that is to be used...

@mehulmathur001
Copy link
Author

mehulmathur001 commented Apr 10, 2024

Hi @Kebap, this PR can be tested by adding sentry env. variables. Currently, I'm intentionally making macOS build to fail, for checking runtime error is getting logged on sentry.

@mehulmathur001
Copy link
Author

@SlySven @vadi2 Please have a look at the below test runtime error that I had thrown for testing sentry.

4294c78c-444d-4f2f-9f0e-62d83266c27e.mp4

@mehulmathur001
Copy link
Author

@SlySven @vadi2 @Kebap can you please review this PR ?

Copy link
Member

@SlySven SlySven left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this needs to have a conditional for inclusion as not everyone building on MacOS will want their crashes to be reported back to Mudlet HQ.

CMakeLists.txt Outdated Show resolved Hide resolved
@mehulmathur001
Copy link
Author

mehulmathur001 commented Apr 17, 2024

I think this needs to have a conditional for inclusion as not everyone building on MacOS will want their crashes to be reported back to Mudlet HQ.

Yes @SlySven. I've made the changes for this currently sentry integration is controlled by WITH_SENTRY environment variable, just like we do for other modules like 3d mapper, updater, etc.

I have successfully tested the variable functionality for both the cases.

Copy link
Member

@SlySven SlySven left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs some fixes which I've suggested - I guess SOMEFILE could be that header file if it is present in the submodule before it is even compiled...

.github/workflows/build-mudlet.yml Outdated Show resolved Hide resolved
CMakeLists.txt Show resolved Hide resolved
CMakeLists.txt Outdated Show resolved Hide resolved
src/mudlet.pro Outdated Show resolved Hide resolved
src/mudlet.pro Outdated Show resolved Hide resolved
src/mudlet.pro Outdated Show resolved Hide resolved
src/mudlet.pro Outdated Show resolved Hide resolved
src/mudlet.pro Outdated
HEADERS += ../3rdparty/sentry-native/include/sentry.h
contains( DEFINES, INCLUDE_SENTRY ) {
# sentry-native is needed for MacOS builds with crash-reporting
exists("$${PWD}/../3rdparty/sentry-native/sentry-config.cmake.in") {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is a CMake file, but this is a qmake project file - is there a more "neutral" file we can use for this. I know it is a bit incidental but it would appear cleaner if they don't concern themselves with each other's files. 🤷‍♂️

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not able to think of a more "neutral" file for managing sentry specific checks. Currently, most of the checks are written taking inspiration from validations that we have for other 3rd party libraries 😅

Copy link
Member

@SlySven SlySven left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from that last tiny thing this looks good to me. However I cannot test this myself as it needs someone with a MacOS system to test it for real.

@mehulmathur001
Copy link
Author

Apart from that last tiny thing this looks good to me. However I cannot test this myself as it needs someone with a MacOS system to test it for real.

Okay @SlySven.
@vadi2 can you please help in testing this on a macos system ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement sentry.io's Qt SDK for crash reporting
4 participants