Kolibri is primarily used in disconnected or low connectivity environments. In contrast to many offline platforms where error reporting can happen via Sentry or similar services, in these offline environments, errors that happen to users cannot be directly reported.
Kolibri currently offers the ability to copy and paste error reports in the frontend to share them back via other means - it would be useful to automate this process and allow error reports to be automatically shared back when connectivity is available.
Story
As a user of Kolibri in a low connectivity environment, I want any errors I encounter while using the platform to be automatically queued and sent once connectivity is restored, so that they are addressed without requiring manual intervention.
Requirements
Django error reporting mechanisms should be used to capture and report backend errors.
An appropriate error handling mechanism should be implemented on the frontend to report errors.
An API to capture and report frontend errors should be implemented.
A consumable error reporting stack should be used so that errors are only synced back once (See pingback mechanism).
A database, external to Kolibri, should be used to store all reported errors. Using an external database ensures comprehensive error reporting beyond the confines of the codebase.
It is worth looking into Kolibri's Sentry plugin for inspiration on how it captures errors on the frontend and backend*
Out of Scope
Implementing changes to enable reporting of captured errors via the LE Telemetry API falls outside the scope of this task, as the LE Telemetry project is closed source.
Background
Kolibri is primarily used in disconnected or low connectivity environments. In contrast to many offline platforms where error reporting can happen via Sentry or similar services, in these offline environments, errors that happen to users cannot be directly reported.
Kolibri currently offers the ability to copy and paste error reports in the frontend to share them back via other means - it would be useful to automate this process and allow error reports to be automatically shared back when connectivity is available.
Story
As a user of Kolibri in a low connectivity environment, I want any errors I encounter while using the platform to be automatically queued and sent once connectivity is restored, so that they are addressed without requiring manual intervention.
Requirements
Out of Scope
Contributors