List of steps to reproduce (step by step, including full links if applicable):
Run this on https://commons.wikimedia.beta.wmflabs.org/wiki/:
var api = new mw.Api(); api.postWithEditToken( { format: 'json', title: 'User_talk:AJ-test', action: 'edit', summary: 'test3', text: 'baserevid 258476 again', baserevid: 258476, section: 2 } ).done( function ( data ) { } );
What happens?:
{"edit":{"result":"Success","pageid":104974,"title":"User talk:AJ-test","contentmodel":"wikitext","nochange":"","watched":""}}
But no actual edit has been made. Also note the absence of edit.newtimestamp.
What should have happened instead?:
Edit conflict or error about invalid baserevid. Using an obviously wrong baserevid like "2" yields the same result.
Using a "good" baserevid results in the edit being made as expected with the appropriate API response, it's just the response when triggering an edit conflict or using an invalid baserevid that's bad.
Update: this actually seems to be the same response that you get from null edits.