twireapp / Twire

Twire is an alternative and open source Twitch client for Android
GNU General Public License v3.0
1.04k stars 58 forks source link

Add Error Tracking #207

Open samfundev opened 3 years ago

samfundev commented 3 years ago

I'd like to add Sentry to Twire with an GlitchTip backend. It would make it much easier for users to report issues with Twire. Which can be used to fix previously unreported issues or give more detail to issues that have been reported on GitHub. I could also see adding a button in Twire that allows users to report problems inside the app using Sentry.

The information that I think should be reported is:

The first time a report happens, users would be asked if Twire should:

Feel free to let me know what you think about this being implemented into Twire. I want to make sure Twire is respecting people's privacy.

Perflyst commented 3 years ago

As far as I know NewPipe also uses ACRA but they don't send data from with-in the app to the backend but use email instead.

Disqu3-mirOir-qt commented 3 years ago

hi default asking before send it,s better for me user have choice

roshavagarga commented 3 years ago

Personally I prefer the way other apps handle it - not having a way to send data without a middle-step (sending an e-mail is a good example) and having it set to turned off by default. Mentioning the specifics of what information is sent, why and giving the user the option to not send all of his/her information would be a good thing, as well as being mindful of GDPR - any info, whether sent willingly, has to be deleted upon the user's request, so you need to offer some form of contact for users that sent you data through ACRA.

samfundev commented 3 years ago

Thanks for feedback everyone, let me try to address some of it:

@Perflyst As far as I know NewPipe also uses ACRA but they don't send data from with-in the app to the backend but use email instead.

I do know that NewPipe uses email but there's two reasons I don't think email is a great choice for this:

  1. I haven't used it but if I have to use my email address to report something, I feel like that violates my privacy because I can't easily report something anonymously.
  2. Acrarium provides a nice interface and statistics that you can't get with an email.

@Disqu3-mirOir-qt hi default asking before send it,s better for me user have choice

The default choice would be asking the user before sending the report. Like I said in the report, the user would be asked how Twire would handle these things.

@roshavagarga Personally I prefer the way other apps handle it - not having a way to send data without a middle-step (sending an e-mail is a good example) and having it set to turned off by default.

Sorry, I'm not sure if I'm understanding what you're saying here. But Twire would have "a way to send data with a middle-step", which would be Twire asking you if you want to send the report when you have the "Ask before sending reports" option selected. I'm not sure what you mean by "having it set to turned off by default". Are you saying the default option should be "Never send reports" when Twire asks for the first time what you want to do with reports?

as well as being mindful of GDPR - any info, whether sent willingly, has to be deleted upon the user's request, so you need to offer some form of contact for users that sent you data through ACRA.

I know very little about GDPR but I did read this issue about it on the ACRA repo. From what I can see, I don't think GDPR would go into effect here because I wouldn't be recording IPs, emails, etc.

roshavagarga commented 3 years ago

@samfundev Basically:

  1. Have error reports set to 'never send' until the first time a popup shows up, and even on that.
  2. GDPR applies if you have identifiers, but if you gather data that can't be used to identify users in any way it's okay. If installation IDs are unique, as mentioned in that issue, you'd have to anonymize, not collect them or find another workaround to make sure the information you collect, even willingly, can't be used to identify users. If that's impossible, a simple e-mail where people can reach the devs and say 'please delete data connected with this ID' is enough :)
samfundev commented 3 years ago

@roshavagarga

  1. Definitely, if the user hasn't told us what their choice is, no reports will be sent. If they choose the "Never send reports" option, then they will continue to not be sent. They would only be sent if you choose "Always send reports" or "Ask before sending reports". In the latter, you would need to explicitly confirm each report before it would get sent. If you don't confirm it (by dismissing the dialog or whatever) then it wouldn't be sent.
  2. I believe the installation IDs are unique, but I don't think those have to be included. ACRA has a page about what can be included in a report and I believe any of the things listed could be disabled. So more explicitly these are the only things that would be included:
    • REPORT_ID
    • STACK_TRACE
    • APP_VERSION_CODE
    • ANDROID_VERSION
    • USER_COMMENT
    • PHONE_MODEL You can read about each of the things on the wiki page, but I don't think any of those could be used to identify the user.
samfundev commented 2 months ago

UPDATE: I think I'll be using Sentry with a GlitchTip backend.