Some of my mediawiki instances broke when editing a page with VisualEditor on REL_30 today bringing HTTP 416 Errors related to Parsoid.
Strangely this error only occured when editing existing pages, simplyfied as curl below:
curl "http://NAME_OF_WIKI_HERE/api.php?action=visualeditor&format=json&paction=parse&page=Main_Page&uselang=en"
{"error":{"code":"apierror-visualeditor-docserver-http","info":"HTTP 406","*":"See http://NAME_OF_WIKI_HERE/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API deprecations and breaking changes."}}%
After a while I found that parsoid announced the behavoiur on there github rep:
This release requires clients (VE, etc.) to return a 1.6.0 and greater HTML version string in the header. If not, Parsoid will return a HTTP 406. This can be fixed by updating VE (or relevant clients) to a more recent version.
Unfortunately I used their .deb repository releases.wikipedia.org which didn’t provide the 0.8.0 package for reverting the update. And since I’ve already updated -marking it on hold in apt was no longer an option.
After reading a bit through the source code the solution I found until the next mediawiki stable versions arrives can be followed by editing the
lib/config/ParsoidConfig.js
and switch this line:
ParsoidConfig.prototype.strictAcceptCheck = true;
to that
ParsoidConfig.prototype.strictAcceptCheck = false; //true;
It’s not pretty, but for now it solved my issues.