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

Re-re-enable Sentry on Android, this time with no libsentry.so #5783

Merged
merged 2 commits into from
Nov 1, 2023

Conversation

gnprice
Copy link
Member

@gnprice gnprice commented Oct 31, 2023

Fixes #5782.

I've tested, on a build with these changes and Sentry enabled, that:

  • The APK is free of any native libraries that have an obvious
    relationship to Sentry, in particular libsentry.so and
    libsentry-android.so which appear without this change.

  • In brief manual testing of the app, nothing goes obviously wrong.
    So at least Sentry doesn't, say, cause a crash at startup whenever
    it can't find libsentry.so.

  • Upon adding some artificial warnings and errors, they show up in
    the Sentry dashboard. This includes logging.warn in JS; uncaught
    exceptions in JS; ZLog.w in Kotlin; and an uncaught exception
    in Kotlin in handling a notification.

    I also tried an uncaught exception in Kotlin in a @ReactMethod
    implementation, and that one didn't work. But I think that's
    mostly React Native's fault, and is likely not a regression:
    https://chat.zulip.org/#narrow/stream/243-mobile-team/topic/re-enabling.20Sentry/near/1654173

The big remaining question to resolve is whether this causes some
crashes in the wild. Given that the native code is gone, that
isn't real likely; but having been burned before, we'll want to be
a bit cautious, by validating this with a solid beta period.

Toward zulip#5782.

I've tested, on a build with this change and then Sentry enabled, that:

 * The APK is free of any native libraries that have an obvious
   relationship to Sentry, in particular `libsentry.so` and
   `libsentry-android.so` which appear without this change.

 * In brief manual testing of the app, nothing goes obviously wrong.
   So at least Sentry doesn't, say, cause a crash at startup whenever
   it can't find `libsentry.so`.

 * Upon adding some artificial warnings and errors, they show up in
   the Sentry dashboard.  This includes `logging.warn` in JS; uncaught
   exceptions in JS; `ZLog.w` in Kotlin; and an uncaught exception
   in Kotlin in handling a notification.

   I also tried an uncaught exception in Kotlin in a `@ReactMethod`
   implementation, and that one didn't work.  But I think that's
   mostly React Native's fault, and is likely not a regression:
     https://chat.zulip.org/#narrow/stream/243-mobile-team/topic/re-enabling.20Se
ntry/near/1654173

The big remaining question to resolve is whether this causes some
crashes in the wild.  Given that the native code is gone, that
isn't real likely; but having been burned before, we'll want to be
a bit cautious, by validating this with a solid beta period.
@chrisbobbe chrisbobbe merged commit ec8a3d8 into zulip:main Nov 1, 2023
1 check passed
@chrisbobbe
Copy link
Contributor

Thanks! Merged.

@gnprice gnprice deleted the pr-sentry branch November 1, 2023 19:48
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.

Re-enable Sentry on Android, with no libsentry.so at all
2 participants