mediawiki.feedback: Improve error handling
authorDerk-Jan Hartman <hartman.wiki@gmail.com>
Mon, 8 Dec 2014 11:03:37 +0000 (12:03 +0100)
committerKrinkle <krinklemail@gmail.com>
Mon, 8 Dec 2014 14:51:57 +0000 (14:51 +0000)
Some loose ends with the rewrite to promises, add some logging in case
of errors, so it's a bit easier to figure out why something was failing

Bug: T51636
Change-Id: I081c58378566baef273b76c1a25c3b2d8ba0e19e

resources/src/mediawiki/mediawiki.feedback.js

index 6bcb87f..587f5b9 100644 (file)
                                { redirect: true }
                        )
                        .done( function ( result ) {
-                               if ( result.edit !== undefined ) {
-                                       if ( result.edit.result === 'Success' ) {
-                                               fb.displayThanks();
-                                       } else {
-                                               // unknown API result
-                                               fb.displayError( 'feedback-error1' );
-                                       }
+                               if ( result.edit.result === 'Success' ) {
+                                       fb.displayThanks();
                                } else {
-                                       // edit failed
-                                       fb.displayError( 'feedback-error2' );
+                                       // unknown API result
+                                       fb.displayError( 'feedback-error1' );
                                }
                        } )
-                       .fail( function () {
-                               // ajax request failed
-                               fb.displayError( 'feedback-error3' );
+                       .fail( function ( code, result ) {
+                               if ( code === 'http' ) {
+                                       // ajax request failed
+                                       fb.displayError( 'feedback-error3' );
+                                       mw.log.warn( 'Feedback report failed with HTTP error: ' +  result.textStatus );
+                               } else {
+                                       fb.displayError( 'feedback-error2' );
+                                       mw.log.warn( 'Feedback report failed with API error: ' +  code );
+                               }
                        } );
                },