jenkins-bot has submitted this change and it was merged.

Change subject: Fix edit conflicts
......................................................................


Fix edit conflicts

When we moved to mw.Api, edit conflict errors stopped going via onSave and
started going to onSaveError instead. So the case to check for them in onSave
would not have worked - instead, they would go through onSaveError and get
picked up by our unknown error code, which just picks out error.info and shows
it, instead of showing our edit conflict screen.

Also return in a couple of other error cases where we probably should've been
(but not necessarily must've been... that didn't necessarily show to the user
if another error emit already caused saveDeferred to be rejected)

Change-Id: Iae7a66a8aa96ee777e9fa780005feeb429129d5f
---
M modules/ve-mw/init/ve.init.mw.Target.js
1 file changed, 7 insertions(+), 7 deletions(-)

Approvals:
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/ve-mw/init/ve.init.mw.Target.js 
b/modules/ve-mw/init/ve.init.mw.Target.js
index 8b2c9f4..960257c 100644
--- a/modules/ve-mw/init/ve.init.mw.Target.js
+++ b/modules/ve-mw/init/ve.init.mw.Target.js
@@ -460,14 +460,8 @@
 ve.init.mw.Target.onSave = function ( doc, saveData, response ) {
        this.saving = false;
        var data = response.visualeditoredit;
-       if ( !data && !response.error ) {
+       if ( !data ) {
                this.onSaveError( doc, saveData, null, 'Invalid response from 
server', response );
-       } else if ( response.error ) {
-               if ( response.error.code === 'editconflict' ) {
-                       this.emit( 'editConflict' );
-               } else {
-                       this.onSaveError( doc, saveData, null, 'Save failure', 
response );
-               }
        } else if ( data.result !== 'success' ) {
                // Note, this could be any of db failure, hookabort, badtoken 
or even a captcha
                this.onSaveError( doc, saveData, null, 'Save failure', response 
);
@@ -514,6 +508,7 @@
                this.emit( 'saveErrorEmpty' );
                return;
        }
+
        editApi = data && data.visualeditoredit && data.visualeditoredit.edit;
 
        // Handle spam blacklist error (either from core or from 
Extension:SpamBlacklist)
@@ -594,10 +589,15 @@
                                }
                        } );
                return;
+       } else if ( data.error && data.error.code === 'editconflict' ) {
+               this.emit( 'editConflict' );
+               return;
        } else if ( data.error && data.error.code === 'pagedeleted' ) {
                this.emit( 'saveErrorPageDeleted' );
+               return;
        } else if ( data.error && data.error.code === 
'titleblacklist-forbidden-edit' ) {
                this.emit( 'saveErrorTitleBlacklist' );
+               return;
        }
 
        // Handle captcha

-- 
To view, visit https://gerrit.wikimedia.org/r/197838
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Iae7a66a8aa96ee777e9fa780005feeb429129d5f
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Alex Monk <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to