- Go to Special:ContentTranslation&page=Mogwai&from=es&to=ca&targettitle=Mogwai&debug=true
- Open console, enable pause on exceptions (also uncaught)
In ext.cx.tools.template.js
cachedTemplateDataAPIRequests[ cacheKey ] = this.getNamespaceTranslation( this.language ).then( function ( namespace ) { var targetName; if ( self.title.indexOf( namespace + ':' ) !== 0 ) { // here targetName = namespace + ':' + self.title; } else { targetName = self.title; }
This seems to only happen when $wgUsejQueryThree = true; (which is now the default in master).
Very simplified example of the code:
promise = $.Deferred().reject().promise(); promise = promise.then( function () { console.log( 'We have a success' ); }, function () { console.log( 'We have a failure' ); } ); promise = promise.then( function () { console.log( 'We have a success' ); }, function () { console.log( 'We have a failure' ); } );
Before jQuery3 it prints "We have a failure" twice. In jQuery3 it prints "We have a failure" followed by "We have a success".