Implement crash report capturing #2106
Labels
common: uncommon
Most users are unlikely to come across this or unexpected workflow
severity: minor
Impairs non-critical functionality or suitable workarounds exist
state: consensus-needed
A consensus needs to be reached before this can be implemented
Sometimes, things crash. Google Play's "Crashes and ANRs" feature is... subpar, to say the least. Recently I was trying to debug something with an user and their crashes would not show up in Google Play. Asking people to configure Scoop just isn't viable for a lot of non-technical users.
There are a few requirements to this crash reporting:
I've looked into ACRA and Sentry a bit.
ACRA is definitely pretty easy, but there doesn't seem to be any kind of hosted backend. Sending emails is free but that is definitely not user-friendly for non-technical users (and may scare some users when it "suddenly" opens their email client).
Another very popular library is the Sentry library. While Sentry seems to have gone closed source recently (they call it "Fair Source"), other hosted alternatives like GlitchTip seem to exist. The problem with Sentry seems to be that it by default does not respect user consent at all. It will just send everything online. It is possible to start Sentry in a disabled state, but I have not yet found documentation on how to make Sentry ask for permission the first time a crash report happens. It may be acceptable to just ask permission to report all crashes on first launch, but I'd rather not bother users until a crash actually happens.
We also need to consider the internet access thing. We may want to create a new "offline" flavour, which remains fully offline. Google Play should probably just use the online flavour, but we should discuss with app stores like @IzzySoft's IzzyOnDroid what their users may prefer (most likely most IzzyOnDroid users are technical enough to be able to install Scoop or in other ways provide a crash log, but there may be other online features in the future at some point).
The text was updated successfully, but these errors were encountered: