On Sun, Jul 3, 2011 at 10:27 PM, Neil Kandalgaonkar neilk@wikimedia.org wrote:
If I am up to date here, the fix that exists in trunk for the API-handling code is still not going to help us. It merely excludes highly improbable "extensions" like ".jpg&foo=bar&quux=blarg".
But, what if your query arguments *legitimately* end with an extension like "http://en.wikipedia.org/w/api.php?action=doSomething&page=File:Something..." ? You can't depend on query argument order.
That's riht.
The only solution is to encode our queryargs differently.
So, in the last deploy I deployed a workaround for this in UploadWizard. At the last stage before firing the AJAX query I convert any '.' in the query data to '%2E'.
http://www.mediawiki.org/wiki/Special:Code/MediaWiki/90649
This won't trigger any bizarre bugs in IE6 and your code (if properly written) should never know anything happened. We could advise other consumers of our API to do the same.
I guess that could work.
jQuery 1.3, which is what we have deployed.
ORLY?
$.fn.jquery
"1.4.2"
Also, it was easier for me to deploy this fix for UW because all its ajax calls go through an API object.
In jQuery 1.4 you can fix this in a more standardized way, with ajax filters.
Well as I just pointed out, we have 1.4.2 on the cluster, and 1.6.x in trunk IIRC. So let's just do that then.
Roan Kattouw (Catrope)