Don't auto-enable sharing crash logs after turning on 'experimental features'
If I enable some 'experimental' feature, then Rethink automatically enables the new sharing-logs feature that shares logs with the Rethink devs. I think that by default it should be off, even if someone enables an 'experimental' feature it shouldn't turn on automatically.
enable some 'experimental' feature, then Rethink automatically enables the new sharing-logs feature
You can turn it OFF.
that shares logs with the Rethink devs.
This is incorrect. Stability program feature only reports on crash logs, not all app logs. In fact you can turn OFF app logs by setting Configure -> Settings -> Log level to "None".
We tried a LOT of things before restoring to automated crash reports. Folks that actually want to help resolve a crash are clueless on how to proceed regardless of instructions we share with them. This has been a source of constant frustration for 5 years, both for us & the user.
For now, the compromise that automatic crash reporting turns ON if a user opts into an experimental feature makes for a neat middle ground for GitHub and Play Store variants, we feel.
F-Droid releases do NOT have auto crash reports at all, so folks could consider using that, in the interim.
Every time I select some experimental option, the stability program turn on. I put it off...later on if I chose another experimental option, again the stability program turn on. It is annoying... Please when I turn it off .. let the app remember and not turn it on again and again.
put it off...later on if I chose another experimental option, again the stability program turn on ... let the app remember and not turn it on again and again
The app will not remember this, but it is planned for the next version the app shows a toast with a button to turn it OFF instantly.
some experimental option, the stability program turn on
It is better to leave it on when using experimental settings, so the app reports as many crashes as it can, and those features get to a more stable state sooner. Though, I understand why folks would want to opt-out (which is why the option to opt-out exists).
Though, I understand why folks would want to opt-out (which is why the option to opt-out exists).
Well, the point is that the opt-out option isn't fully shutting down the feature from being enabled.
The app will not remember this, but it is planned for the next version the app shows a toast with a button to turn it OFF instantly.
It would be preferred to have it still not enable the Stability program if you 'opted out' and the app remembered it. Then there's the question of whether it should be enabled by default. It very well may be enabled by default any time someone turns on an 'experimental feature', but is that "privacy by default"?
would be preferred to have it still not enable the Stability program if you 'opted out' and the app remembered it
For a Firewall / network monitor like Rethink, the absolute table stakes is stability, the ability to keep running 24x7 without crashing left, right, and center. From what is reported by Google Play Store, the crash rate is 4% (which is very, very high) and currently, we are totally blind to what those crashes are. Mostly because, some of these crashes happen only on sepcific Android versions or specific devices, and in specific scenarios, all of which are hard to reproduce in a lab environment.
And from the issues about crashes folks file on GitHub, there's not many who even know how to go about collecting crash logs (this is different to merely fetching regular logs). For crash logs, timing is important and these logs may get flushed out of the log buffer (Android may keep crash logs for longer, but that's not a guarantee). The per app log buffer on Android is ~256kb. This means, following a crash, folks must fetch crash logs in ~2mins, or they may be flushed out (as it often happens).
After struggling for years with a hand-rolled crash reporter, we find Crashlytics is not only the fastest way but the cheapest way to do so (in terms of programmer time & monetary expenditure).
If other developers come forward with code contributions to help with self-hosting Bugzilla or Sentry or something, we'll welcome it; but currently, that isn't the case.
I also welcome sponsorship if folks feel we'd need to move from the free Crashlytics solution to a paid or self-hosted one.
You'll note that one constant I'm trying to get across is, regardless of Crashlytics or Sentry or Bugzilla or anything else, we need the crash reporter turned ON, to have any fighting chance at getting the app to stability.
privacy by default
If you prefer Rethink free of the crash reporter or feel annoyed at having to turn it OFF when you enable an Experimental feature, use the F-Droid flavour.
I suggest using a pop-up message as soon as an experimental feature is activated. something like:
ℹ️ You activated an experimental feature Would you like to help improve experimental features to become stable by submitting crash logs? [YES] [NO]
*the default value of the variable ~sendLogs is false *this message is displayed only the first time, or every time an experimental function is activated (if ~sendLogs is false)