[16:42:25] is he coming? [16:42:55] hi! [16:43:01] hi [16:43:08] welcome to our corner of IRC [16:43:57] it's a very nice corner [16:44:16] A bit more quiet most of the time [16:44:21] unlike out actual office [16:48:29] RoanKattouw: the opt out feature is a bit unsophisticated, you might get some complaints about that [16:48:49] What do you mean unsophisticated? [16:49:01] we aren't trying to deploy that right now [16:49:04] TimStarling: opt-in/out is not ready [16:49:07] but - what do you mean by that? [16:49:11] ah right [16:49:35] TimStarling: i think it'd be best to minimize the fix to performance related patches [16:49:38] what am I actually meant to be reviewing? because the most common response I get when I tell you guys something is wrong is "I know" [16:49:45] hehe [16:49:50] The revisions werdna linked you [16:49:52] At first [16:49:56] TimStarling: I gave you links to a few revisions [16:50:00] That's like the essential stuff [16:50:03] TimStarling: I was intending on deploying those. [16:50:15] I'll give you guys a longer list in about 10 mins [16:50:24] *werdna hides [16:50:30] There's some work that's about 10 minutes old on the way things are included for the UsabilityExtensions that seems important since it exposed some vulnerabilities [16:50:52] I saw a list of 5 revisions, plus 3 directories which had about 100 changes in them [16:51:21] http://www.mediawiki.org/wiki/Special:Code/MediaWiki/53060 and http://www.mediawiki.org/wiki/Special:Code/MediaWiki/53061 [16:51:23] TimStarling: werdna>ITimStarling: I'm going to deploy http://www.mediawiki.org/wiki/Special:Code/MediaWiki/52926 http://www.mediawiki.org/wiki/Special:Code/MediaWiki/52930 http://www.mediawiki.org/wiki/Special:Code/MediaWiki/52928 and update the jquery files to http://www.mediawiki.org/wiki/Special:Code/MediaWiki/53062 for the usability people [16:53:25] so this file you're serving out will be 77KB? [16:53:47] I wanted to minify it, but werdna stopped me [16:54:10] For clarity, the security vulns Trevor mentioned are *NOT* live right now [16:54:29] correct [16:55:26] I logged in to the prototype server to check if you were using register_globals there, it seemed not [16:55:31] TimStarling: Are you in favor or minification? [16:56:01] jquery.combined.min.js ? [16:56:04] I'd have to see the numbers [16:56:13] Lemme quickly get those numbers [16:57:13] Unminified: 263722 bytes [16:57:21] Minified: 156853 bytes [16:57:29] Will get gzipped numbers in a sec [16:57:59] Unminified gzipped: 75166 bytes [16:58:11] Minified gzipped: 44318 bytes [17:00:34] why is it so big? [17:00:47] It's all of jquery plus several plugins [17:01:31] Note that we're only serving this out when the edit toolbar is shown, and we set Cache-Control headers thanks to Domas [17:01:36] when we served them in individual unminified parts it was causing issues, so we combined them and are considering minifying and gzipping them to solve those issues [17:02:14] hmm, Lauren may be able to get a week off, looking into European holidays [17:02:15] Also, we were including them on every page and didn't have the Cache-Control stuff configured (although we don't control the latter, of course) [17:02:35] werdna: How about NL ;) [17:03:12] looking for somewhere summery [17:03:15] werdna: Is there anything holding back deployment of these fixes except this minify discussion we're having right now [17:03:17] Right [17:03:26] RoanKattouw: not unless Tim has any other issues [17:03:35] We have about the same climate as you guys, so you might wanna try some place more Southern [17:03:41] no, you can deploy them [17:03:53] i see tim commented 5 revisions but andrew's list had four revisions [17:04:05] For clarity: right now they're *not* minified, because werdna told me to [17:04:06] are we sure we are all on the same page? [17:04:16] Do you want me to minify this, TimStarling ? [17:04:27] nkomura: Those are completely different sets of revisions [17:04:58] there is some sort of gzipping going on already for CSS files [17:05:14] RoanKattouw: ok [17:05:16] I think minification will just make debugging hard without appreciably improving performance [17:05:34] you don't really need to debug jquery very often [17:05:49] well, depends on whether we're talking about jquery or the whole file [17:05:57] jquery can be minified without minifying the rest of the JS [17:06:40] werdna: We're keeping the unminified files separate [17:06:42] in SVN [17:06:53] Then we have jquery.combined.js which is just all of those files concatenated [17:06:58] Then jquery.combined.min.js is that minified [17:07:08] are you saying jquery.combined.js is not actually jquery? [17:07:15] It's jQuery + some plugins [17:07:19] it's jquery PLUS a bunch of other stuff that they wrote [17:07:23] plugins written by you? [17:07:26] No, WE didn't write it [17:07:37] We just got them off the internet [17:07:55] Long story short, I agree with Tim that it's not stuff we're likely to be debugging [17:08:04] I hear there's some good stuff out there on the internet [17:08:30] /* [17:08:30] * Ported from skins/common/edit.js by Trevor Parscal [17:08:30] * (c) 2009 Wikimedia Foundation (GPLv2) - http://www.wikimedia.org [17:08:40] even stuff written by Trevor [17:08:47] We used existing jquery plugins where we could - so long as they were compatible with out license [17:08:50] Oh right yeah Trevor did adapt that one [17:08:59] hehe [17:09:05] some things we ported or wrote [17:09:17] It's basically a jQuery port of existing code in common/edit.js [17:09:39] Anyway, my point is that we've still got the individual files in SVN [17:09:45] hehe [17:09:59] there's a big section in the middle of the file where the line endings are doubled [17:10:19] Yeah saw that, will fix [17:10:27] eol conversion at some point I think... [17:10:44] probably me not setting my eol to native [17:11:52] it's still massive though, even if you remove those lines [17:12:21] 8000 lines of javascript [17:12:48] getting it down to 44318 min and gz is great though [17:13:13] have you done any client-side benchmarking? [17:13:27] presumably there will be a delay while the browser parses it [17:13:40] TimStarling: no, I've been mostly just getting things to work to be honest [17:14:06] WTF these double newlines are in jQuery itself, weird [17:14:14] We'll just download a new version [17:14:14] not that I don't care about performance or anything [17:14:16] yeah, but I think we've pretty well proven that performance optimisation is what makes things "just work" [17:14:44] TimStarling: performance benchmarking is a great idea [17:14:57] is the current patch still imposes performance risk? [17:15:06] TimStarling: Isn't that something the jQuery people should be worried about, not us? [17:15:12] if so we should get the benchmark using prototype [17:15:16] and regroup later [17:15:52] nkomura: probably not, but it's hard to tell [17:15:53] if jQuery people publish such data tha'd be great [17:16:07] RoanKattouw: what I'm wondering is why you need 8000 lines of client-side code to display the edit page [17:16:26] and whether there are some unnecessary modules in there [17:17:00] There aren't [17:17:02] We use all of them [17:17:27] We don't need all of them everywhere, but if we split it out into different files, Domas will get angry, and rightly so [17:17:34] That generates too many requests [17:18:02] one request for a 44.3k is a pretty reasonable price to pay for all that functionality [17:18:37] TimStarling: can we consider a possibility of applying the patch and enable for one or two wiki instances? [17:18:53] hmmm, it looks like the whole of the core jquery library is in there twice [17:19:17] Again? *sigh* [17:19:20] Lemme fix that [17:19:33] RoanKattouw: So long as you're not adding 6 files to every request... [17:19:46] I thought I'd fix that, can you check on HEAD? [17:20:09] *fixed [17:20:14] ok, so that removes about 3600 lines [17:20:35] that brings it down to a more believable size [17:22:13] OK Trevor grabbed a jQuery version that doesn't have duplicate line endings, and I recombined and reminified [17:22:27] The current code uses the unminified version but it can be switched around by changing one line [17:22:30] Wanna go minified? [17:24:23] no it's not fixed in HEAD [17:24:37] Just noticed that [17:24:39] Dammit [17:24:41] why do you think the combined file is more than double the size of the core jquery? [17:25:00] permission to give trevor a smug look? [17:25:10] me, rather [17:25:11] granted [17:25:17] *TimStarling gives trevor a smug look [17:25:21] Why do I get a smug look? [17:25:26] Hey I deserve it [17:25:54] because you said the file size was a fair price to pay for the functionality, when in fact that file contained two copies of the code [17:25:56] Fixed [17:25:58] *TrevorParscal takes one for the team [17:26:08] so you got ripped off [17:26:11] *TrevorParscal trusted RoanKattouw [17:26:14] :) [17:26:30] So now we're looking at 131716 bytes vanilla, 78418 minified [17:26:48] Gzipped that's 38854 and 22922 respectively [17:26:51] Sounds a lot better [17:27:17] one request for a 22.9k is a pretty reasonable price to pay for all that functionality [17:27:28] yeah, but you don't get your money back now [17:27:50] ha ha [17:27:51] Trevor borrows money from *me*, not vice versa :) [17:28:01] *TrevorParscal is good for it! [17:31:17] TimStarling: So, are we good to go and push this stuff? [17:31:32] *werdna has this faint idea that TimStarling is enjoying this [17:31:47] *RoanKattouw thinks TimStarling should go get some sleep now [17:31:49] it is minified in a particularly irritating way [17:32:08] RoanKattouw is just using jsmin I think [17:32:12] you can get the gzip size down from 38k to 27k just by removing the comments and the line-initial whitespace [17:32:14] Note: we're not outputting the minified version right now. It's just there in SVN on standby should we decide to use it [17:32:31] yes, fine, deploy then [17:32:50] *TrevorParscal thinks TimStarling deserves some sleep [17:33:02] me too [17:33:06] oh go on [17:33:14] werdna: ----^^ Tim says yes, let's roll ;) [17:33:17] i mean i agree tim does [17:33:17] thanks for helping us out here TimStarling - I know it's not the most convenient timing for you [17:33:17] what better way could a person spend their friday night? [17:33:18] Tim feeds on telling other people their code is wrong ;) [17:33:48] he must be pretty satisfied at this point :) [17:33:48] so deploy those revs I guess [17:34:02] TimStarling: so deploy what I told you, plus...? [17:34:24] werdna: Will get rev numbers, sec [17:34:48] 53062, 066, 067 [17:34:57] don't abbreviate, it's annoying [17:35:05] 53062 53066 53067 [17:35:06] 53062, 53066, 53067 [17:35:07] so, we are only deploying the performance related issues [17:35:08] Sorry mate [17:35:27] there were four revisions, no? [17:35:39] Seven now [17:35:44] okay, before those, 52926, 52928, 52930 [17:35:46] The earlier four plus the three I just mentioned [17:35:50] Yes [17:36:17] Oh so that's six, I double-counted one [17:36:20] Yes, werdna is right [17:36:39] final list anyone? 52926, 52928, 52930, 52062... ? [17:37:20] 53067 [17:37:30] hmm, I should just svn up Resources [17:37:41] depending on what's in there [17:37:49] I'll double-check whether that's the saem [17:38:02] Yes, you should [17:38:19] But some of those revs affect stuff outside of Resources/ [17:39:06] (09:51:24 AM) werdna: TimStarling: werdna>ITimStarling: I'm going to deploy http://www.mediawiki.org/wiki/Special:Code/MediaWiki/52926 http://www.mediawiki.org/wiki/Special:Code/MediaWiki/52930 http://www.mediawiki.org/wiki/Special:Code/MediaWiki/52928 and update the jquery files to http://www.mediawiki.org/wiki/Special:Code/MediaWiki/53062 for the usability people [17:39:10] sorry [17:39:18] was in the buffer [17:39:20] none of the recent ones [17:39:23] nkomura is now known as spambot [17:39:24] r52926, r52928 and r52930 affect stuff outside of Resources/ [17:39:25] here we go [17:39:29] Yes, all the recent ones are only Resources/ [17:39:31] yes, I know [17:39:50] OK, great [17:40:36] OK, SUMMARY: apply r52926, r52930, and update Resources and EditToolbar/images [17:40:44] Yes [17:41:12] 52926, 52930, 52928, 53062, 53066, 53067 is the final list right? [17:41:13] all the image changes seemed to be trivial - but safe changes [17:41:35] nkomura: Yes, that's correct. werdna 's summary is also correct [17:41:45] stop confusing me! [17:41:47] did the configurations get changed to include EditToolbar directly? [17:41:57] TrevorParscal: Does it matteR? [17:42:27] OK let's all leave werdna alone so he can sync this stuff [17:42:31] if you are going to update: r53060 then yes [17:42:33] otherwise no [17:42:35] He's not [17:42:39] no worries then [17:43:32] TimStarling: does unscap still work? [17:43:56] Just looking to make sure I have a back-out plan if something breaks. [17:44:23] werdna: Could you also reenable the UsabilityInitiative extension(s) that Domas disabled? [17:44:37] yes, will do [17:44:53] werdna: no [17:45:16] it hasn't worked since like 2005 [17:45:35] ah [17:45:56] it never really worked in the first place, it was so slow that you were better off just isolating the bugs and fixing them than using ti [17:50:57] werdna: Did you re-enable that stuff yet? [17:51:04] hold your horses [17:51:10] No worries [17:51:13] I'm just trying to make sure I have a way to back it out quickly [17:51:47] Sure, don't feel rushed [17:54:41] $ diff -ru /apache/common-local/php-1.5/extensions/UsabilityInitiative ~/php-1.5/extensions/UsabilityInitiative -x .svn > ~/usability-diff [17:54:44] that should do the trick [17:59:24] Thanks a lot werdna [17:59:32] *RoanKattouw hands werdna some virtual stroopwafels [17:59:39] seems to be working fine [17:59:40] \o/ [18:01:22] *werdna breathes a sigh of relief. [18:01:39] so when are we thinking of conferencing about lqt? [18:01:55] Ah Parul is not in right now [18:02:16] She's coming in later today [18:02:52] ah [18:03:15] And Trevor and I already booked here for a meeting : [18:03:17] ) [18:04:23] *her me meant [18:04:56] werdna: Also note that Parul might not wanna do that today, she doesn't usually work Fridays [18:05:05] *nkomura loves the toolbar [18:05:15] I sure as hell doesn't want to do it right now [18:05:20] how is the performance? [18:05:45] Nothing unusual on the traffic graphs so far [18:05:52] Also no nagios alerts [18:05:55] So looking fine [18:06:07] it will take a while me thinks [18:19:35] http://wiki.wikked.net/wiki/Wikimedia_statistics [18:19:47] TimStarling: Thank you for the review Friday night [18:19:57] it's almost saturday morning for you [18:20:16] werdna: Thank you for the review and deployment! [18:20:36] no problem, good night [18:20:46] Thanks Tim-away [18:20:52] hopefully the production will be quite and you can enjoy the friday night [18:21:03] Tim-away: good night [22:30:14] List of fixes we want pushed is at http://www.mediawiki.org/wiki/Special:Code/MediaWiki/tag/acaifix for referenec [22:32:13] http://www.mediawiki.org/wiki/Special:Code/MediaWiki/52871 [22:32:25] great