codetheweb / aoede

🎧 a self-hosted Spotify → Discord music bot
MIT License
294 stars 28 forks source link

Sentry integration #27

Closed oleggtro closed 2 years ago

oleggtro commented 2 years ago

Maybe we should think about collecting errors and crashes via sentry.

Don't know if that'd be too privacy invading/scary for users, some feedback would be great (@nodgear, @codetheweb)? Not sure if opt in or opt out would be the way to go tho...

nodgear commented 2 years ago

Considering the license and the nature of discord bot it should be opt in. Discord bots with connect permission are able to record stuff, making any type of telemetry opt-in should avoid criticism.

Out of scope, but also a good input: a node/deno binding for librespot would be a good project, allowing more people to make bots like Aoede.

oleggtro commented 2 years ago

I don't really understand what you mean by "Considering the license", but otherwise that's pretty much what I was thinking...

On the other side is sentry really not about tracking users but capturing stacktraces and error messages. And it would be really transparent as aoede is open source and anyone can come take a look at the src and what we're sending back.

My only problem with opt-in is, that most people probably wouldn't bother turning it on and the statistics would be practically useless/not representative.

Anyways, thanks for your feedback!

nodgear commented 2 years ago

The thing is, not everyone has the technical ability to read the source code and determine what is being done with the data, but most of them can notice a discord bot sending information to another server. Discord was criticized by those same people without knowing about sentry and log collection.

I understand that being opt-in prevents some of the diagnosis from ever seeing the light of day.

oleggtro commented 2 years ago

While I understand your concern, I doubt there are people out there, who can detect a binary sending information to outside servers and not having a basic skills in reading code.

What do you think of a mandatory config option send_error_logs, which has to be set in order for the bot to run? (That would obviously include extending the README to explain exactly what we're collecting)

codetheweb commented 2 years ago

I will not collect any type of telemetry.

This is FOSS, and personally I feel like telemetry goes against the ideals of that. Further, I (and anyone else working on this project) are under no obligations to fix bugs as fast as possible. Responding to issues as they come up works fine.