Last modified: 2011-03-06 14:34:40 UTC
> navigator.userAgent < "Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.6.30 Version/10.62" > $.client.profile() < Object /\ { layout: "presto" layoutVersion: "unknown" name: "opera" platform: "mac" version: "10.62" versionBase: "1" versionNumber: 10.62 __proto__: Object \/ }
The problem is on line 129 http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/resources/jquery/jquery.client.js?view=markup&pathrev=81276#l129 > 'versionBase': ( version !== x ? new String( version ).substr( 0, 1 ) : x ), Instead of rounding downwards without digets, it's slicing the first number.
Untested, will test/commit when I get home: > var version = ...; > + var versionNumber = parseFloat( version, 10 ) || 0.0; > > /* Caching */ > > profile = { > 'name': name, > 'layout': layout, > 'layoutVersion': layoutversion, > 'platform': platform, > 'version': version, > - 'versionBase': ( version !== x ? new String( version ).substr( 0, 1 ) : x ), > - 'versionNumber': ( parseFloat( version, 10 ) || 0.0 ) > + 'versionBase': ( version !== x ? Math.floor( versionNumber ).toString() : x ), > + 'versionNumber': versionNumber > }; > }
Fixed in r83383. A userAgent like the following: > "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; nl-nl) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4" Will now have a versionBase of "10" instead of "1".