Last modified: 2012-11-01 00:13:34 UTC
The test mediawiki.js: mw.loader #5 fails in Konqueror 3.5 (Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.9 (like Gecko) SUSE) with Test timed out both with http and file addresses, while the other test (especially mediawiki.js: mw.loader.bug29107) work as expected. SVN revision of tested code is 90683. The webserver log shows that awesome.js is served with status code 200. The fact that loading javascript works in production and some tests suggest that the problem is in the (ready)-part of function addScript from mediawiki.js: It seems that the callback function is assigned to script.onload and script.onreadystatechange correctly, but never gets called for some reason.
Can confirm this with KDE 3.5.10 (OpenSuSE 11.1 LiveCD), but not with KDE 4.6.0 (OpenSuSE 11.4 LiveCD) -- there all tests run clean. Is it worth cleaning up after an obsolete version of Konqueror? In KDE 3.5.10, the loader test appears to load up the .js file ok but doesn't fire the callback given to mw.loader.using(). Not sure the exact cause -- I'm not sure exactly where the callbacks happen in there -- but it sounds hard to debug with old Konqueror's lack of a debug console. In KDE 3.5.10, the table sort test seems to fail because String.toLowerCase() doesn't appear to work properly on accented characters -- the sort string 'Äpfel' should get lowercased to 'äpfel', then the regex should take the matched 'ä', find it in its map, and return the matching 'ae'. Instead it's staying as 'Äpfel' and looking for 'Ä' in the map, which isn't there.
It is indeed (very likely) related to the onreadystatechange event. This logic is in jQuery (for a, now resolved, issue, we copied part of that into mediawiki.js, but it is still upstream imho). Assuming that the jQuery core test suite doesn't pass in Konqueror either, this is an upstream issue for jQuery (which they wont fix since they don't support Konqueror). Konqueror is a minority browser. Basically Grade-X (not good or bad, if it works, great. If not, too bad).
This is likely fixed by now, and if not we can't look into it because Konqueror is not supported. It falls in Grade-X. We don't prevent our regular stack from loading (like we do in IE < 6), but if it doesn't work we won't fix it. Patches welcome.