T248884 documents the new client error reporting system. As part of the iterations, we will be making many changes to client side code and must verify that errors do not rise. This task explores how best to integrate responsible deployments into our processes.
@jlinehan is our primary point of contact to identify how to best utilize the new system and integrate it into our processes.
Acceptance Criteria
- If possible, a Vue.js specific error is fed through the system. See Tracking-Runtime-Errors. This can also be done for the Vector Vue instance (or any component) specifically. Everything should feed into window.onerror.
- Ask Jason if we still need the Minerva-specific error counter tracking (related recent commit to limit the number of reports tracked). Would we need something like that here? --Nice to have but not required. The system is currently susceptible to DOS attack-like floods so better flow handling is needed in general.
- Tasks for any new work needed such as addressing existing trends is made. --Nothing to be done.
- A project dashboard is made, if needed. -- The interface to use is Logstash. There's no special dashboards or anything unless an error counter is added.
- A new Web chore is added to monitor trends or some kind fancy alert system is configured. --The existing chore's Logstash dashboard covers it.
- Documentation on wiki is revised for general Vue.js component development (possibly just adding a link to T248884's output). -- Added a link to https://www.mediawiki.org/wiki/Vue.js#Error_reporting.
Sign off steps
- Please pull T250336 into the board to setup dashboards.
QA Steps
- Navigate to https://en.wikipedia.beta.wmflabs.org
- Log in
- Add the following to your common JS script:
mw.loader.load( 'vue' ); setTimeout( function () { var Vue = mw.loader.require( 'vue' ), $el = $( '<div>' ); new Vue( { el: $el.get( 0 ), render: function ( h ) { throw new Error( 'T249826' ); } } ) }, 5000 );
- Refresh the page
- Observe that a $schema=/mediawiki/client/error/1.0.0' event has been logged with error_class=Error`, message=T249826, and the stack_trace property is set
QA Results - Beta
AC | Status | Details |
---|---|---|
1 | ✅ | T249826#6941262 |