[MediaWiki-commits] [Gerrit] More robust API error reporting - change (mediawiki...Flow)
jenkins-bot has submitted this change and it was merged. Change subject: More robust API error reporting .. More robust API error reporting Single private apiErrorMessage() function handles other failure codes than 'http'. Bug: 68474 Change-Id: Id0201c0c9cf8f003d7619f0328a1b4222c3a16a4 --- M Resources.php M modules/new/components/flow-board.js 2 files changed, 23 insertions(+), 2 deletions(-) Approvals: SG: Looks good to me, approved jenkins-bot: Verified diff --git a/Resources.php b/Resources.php index e97c61d..a8912e5 100644 --- a/Resources.php +++ b/Resources.php @@ -314,6 +314,7 @@ 'mediawiki.util', ), 'messages' = array( + 'flow-error-external', 'flow-error-http', 'flow-error-fetch-after-open-close', ) diff --git a/modules/new/components/flow-board.js b/modules/new/components/flow-board.js index 6c25eac..4005ff2 100644 --- a/modules/new/components/flow-board.js +++ b/modules/new/components/flow-board.js @@ -590,7 +590,7 @@ * fetching the new data to be displayed. */ FlowBoardComponent.UI.removeError( $target ); - var errorMsg = result.error ? result.error.info : mw.msg( 'flow-error-http' ); + var errorMsg = apiErrorMessage( code, result ); errorMsg = mw.msg( 'flow-error-fetch-after-open-close', errorMsg ); FlowBoardComponent.UI.showError( $target, errorMsg ); } ); @@ -1326,6 +1326,26 @@ }; /** +* Utility to get error message for API result. +* +* @param string code +* @param Object result +* @returns string +*/ + function apiErrorMessage( code, result ) { + if ( result.error result.error.info ) { + return result.error.info; + } else { + if ( code === 'http' ) { + // XXX: some network errors have English info in result.exception and result.textStatus. + return mw.msg( 'flow-error-http' ); + } else { + return mw.msg( 'flow-error-external', code ); + } + } + } + + /** * Triggers an API request based on URL and form data, and triggers the callbacks based on flow-api-handler. * @example a data-flow-interactive-handler=apiRequest data-flow-api-handler=loadMore data-flow-api-target= .flow-component div href=../a * @param {Event} event @@ -1446,7 +1466,7 @@ * same format. If the request failed without a specific * error message, just fall back to some default error. */ - errorMsg = result.error ? result.error.info : mw.msg( 'flow-error-http' ); + errorMsg = apiErrorMessage( code, result ); FlowBoardComponent.UI.showError( info.$target, errorMsg ); FlowBoardComponent.UI.events.apiHandlers[ handlerName ].apply( _this, args ); -- To view, visit https://gerrit.wikimedia.org/r/148870 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Id0201c0c9cf8f003d7619f0328a1b4222c3a16a4 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Flow Gerrit-Branch: master Gerrit-Owner: Spage sp...@wikimedia.org Gerrit-Reviewer: Matthias Mullie mmul...@wikimedia.org Gerrit-Reviewer: SG shah...@gmail.com Gerrit-Reviewer: jenkins-bot ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] More robust API error reporting - change (mediawiki...Flow)
Spage has uploaded a new change for review. https://gerrit.wikimedia.org/r/148870 Change subject: More robust API error reporting .. More robust API error reporting Single private apiErrorMessage() function handles other failure codes than 'http'. Bug: 68474 Change-Id: Id0201c0c9cf8f003d7619f0328a1b4222c3a16a4 --- M Resources.php M modules/new/components/flow-board.js 2 files changed, 23 insertions(+), 2 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Flow refs/changes/70/148870/1 diff --git a/Resources.php b/Resources.php index e97c61d..a8912e5 100644 --- a/Resources.php +++ b/Resources.php @@ -314,6 +314,7 @@ 'mediawiki.util', ), 'messages' = array( + 'flow-error-external', 'flow-error-http', 'flow-error-fetch-after-open-close', ) diff --git a/modules/new/components/flow-board.js b/modules/new/components/flow-board.js index 6c25eac..4005ff2 100644 --- a/modules/new/components/flow-board.js +++ b/modules/new/components/flow-board.js @@ -590,7 +590,7 @@ * fetching the new data to be displayed. */ FlowBoardComponent.UI.removeError( $target ); - var errorMsg = result.error ? result.error.info : mw.msg( 'flow-error-http' ); + var errorMsg = apiErrorMessage( code, result ); errorMsg = mw.msg( 'flow-error-fetch-after-open-close', errorMsg ); FlowBoardComponent.UI.showError( $target, errorMsg ); } ); @@ -1326,6 +1326,26 @@ }; /** +* Utility to get error message for API result. +* +* @param string code +* @param Object result +* @returns string +*/ + function apiErrorMessage( code, result ) { + if ( result.error result.error.info ) { + return result.error.info; + } else { + if ( code === 'http' ) { + // XXX: some network errors have English info in result.exception and result.textStatus. + return mw.msg( 'flow-error-http' ); + } else { + return mw.msg( 'flow-error-external', code ); + } + } + } + + /** * Triggers an API request based on URL and form data, and triggers the callbacks based on flow-api-handler. * @example a data-flow-interactive-handler=apiRequest data-flow-api-handler=loadMore data-flow-api-target= .flow-component div href=../a * @param {Event} event @@ -1446,7 +1466,7 @@ * same format. If the request failed without a specific * error message, just fall back to some default error. */ - errorMsg = result.error ? result.error.info : mw.msg( 'flow-error-http' ); + errorMsg = apiErrorMessage( code, result ); FlowBoardComponent.UI.showError( info.$target, errorMsg ); FlowBoardComponent.UI.events.apiHandlers[ handlerName ].apply( _this, args ); -- To view, visit https://gerrit.wikimedia.org/r/148870 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id0201c0c9cf8f003d7619f0328a1b4222c3a16a4 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Flow Gerrit-Branch: master Gerrit-Owner: Spage sp...@wikimedia.org ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits