It would be great to add automatic error reporting for ZeroNet core, for Plugins and for Sites.
Basically there should be a site that clients automatically report errors to, when they occurr with a standard ZeroNet/Plugin/Site version (we could check in some way that the user did not customize it).
content.json key error_report_addressSidenote: obviously the site should be named "ZeroError"
instead of auto-reporting the error, the user should be asked if they want to report the error. i can see a malicious zite trying to induce a plugin error to reveal info (like OS, install location, etc) in the stacktrace, and this would provide them with a way to read it. the user should be able to review/manually sanitize the contents of the error before sending it off
@skwerlman Good point, I agree.
A little thought about this:
Having separate error reporting for ZeroNet core and Plugins (or Sites) could be "difficult": consider a python error trace that has Plugin#main.py line 32 > ZeroNetCore#db.py line 101: the error could be either in the Plugin that calls a function of db.py in the wrong way, or of ZeroNet Core that does crash when given a valid request.
This could be done only after changing plugin architecture and writing "contracts" about what can be passed to a ZeroNet function. I can only think of doing it with Python3 type annotations.
So i will rephrase this issue, adding a possible way to add automatic error report to ZeroNet:
The reporting zite should be a MergerZite.The reporting zite of Zeronet core(and plugin) is basic.
If it caught any error,it should dump the environment (variables/system&zeronet configuration).
Then ask user whether or not to report the bug.
Most helpful comment
instead of auto-reporting the error, the user should be asked if they want to report the error. i can see a malicious zite trying to induce a plugin error to reveal info (like OS, install location, etc) in the stacktrace, and this would provide them with a way to read it. the user should be able to review/manually sanitize the contents of the error before sending it off