[00:00:09] Basically his argument is that Opera's defer implementation is superior because doc.write() works [00:00:12] I call bullshit [00:00:26] By his own admission, doc.write() is evil in most cases and avoided by people who know what they're doing [00:04:11] *Dantman agrees [00:04:25] Yep [00:04:40] And we don't need IE's defer attribute [00:04:51] since appendChild with script tag is async already [00:05:05] Yeah [00:05:09] It's just opera [00:05:11] Only problem is it blocks Opear [00:05:21] Which I'll look at tomorrow [00:05:29] yep, that would be a regressing if we'd implement it as-is for opera [00:06:22] In fact if you're talking about inserting into the place where the script was, in deferred loading. Then I find Firefox's window.currentScript idea to be superrior. [00:06:48] No shit document.write [00:07:00] both .async and .defer are ignored in Opera, not supported. [00:07:02] And you can append directly after your current element [00:08:53] RoanKattouw: btw, I just read some dev docs by Opera that made me think something else, we need to verify that we can still reliably check when a script arrives. [00:08:57] callback etc. [00:09:15] Oh, right [00:09:20] Yeah we need to test that too [00:09:24] according to Opera it screws up when using defer, we're not doing that, but still, worth checking out [00:10:00] I'll test that tomorrow as well [00:10:05] Unless you feel like doing it [00:10:09] But I'm going to bed for real nwo [00:10:15] OK [00:10:18] Cya :) [00:10:51] This perfectly represents Opera's attitude: http://dev.opera.com/articles/view/timing-and-synchronization-in-javascript/ . find heading "Page loading". In the third paragraph it talks about stylesheets. It fails to include what Opera itself does with stylesheets. Argh! [12:01:14] gwicke: ping [12:03:30] ashish_d: pong [12:04:38] gwicke: wrt https://bugzilla.wikimedia.org/show_bug.cgi?id=33080, any clue how can I explicitely 'copy' text to the clipboard ? [12:05:45] afaik (and I am not really a browser expert) copying text to the clipboard is not possible using pure JS for security reasons [12:05:58] some sites use Java or Flash for that [12:06:39] gwicke: Yes, thats what I figured from all the research I did, I just thought I might ask for some wise suggestion [12:07:26] I don't have a terribly wise suggestion unfortunately [12:08:24] Trevor might have an idea though, and Neil or Inez might know about it [12:08:46] but my impression is that copy/pasting will be a difficult area [12:10:01] gwicke: do Trevor and Inez come around these days? and I also not see Neil around alot [12:10:07] will get to work with Trevor on Monday, can ask him about it [12:10:12] gwicke: It can be done. I don't know how but Gerrit does it [12:10:24] I think they are both on vacation until Monday [12:10:37] Go to https://gerrit.wikimedia.org/r/#change,1513 and search for 'git fetch' [12:10:48] Then click the icon at the end of that line [12:11:17] is that in the flash objects? ;) [12:11:19] Holy shit, that's Flash! [12:11:39] aw! [12:28:10] I recently chatted with Aryeh Gregor (Simetrical) in #whatwg, he has written the latest spec on contenteditable [12:28:39] he was very sceptical about doing all the input method stuff in JS [12:29:30] similar with copy/paste [12:30:36] Can you copy/paste out of Google Docs? That's an edit surface too [12:31:07] I wonder if you can listed to the cut/copy or keydown event and focus a temporary text box or something [12:31:10] *listen [12:31:45] there should be ways to do it, given enough manpower [12:36:05] RoanKattouw: Google Docs works as expected ;) [12:37:26] ashish_d: should be interesting to study that a bit [12:57:05] hm someone who is expert on db upgrade of mw? [12:57:18] I posted a bug right now related to update.php [12:57:40] for some reason it fail on big db [14:53:34] RoanKattouw: Hi [14:53:43] Hi [14:53:53] I ended up figuring out the jqueryMsg thing [14:53:56] !r 108230 [14:53:56] --elephant-- http://www.mediawiki.org/wiki/Special:Code/MediaWiki/108230 [14:54:06] prototype can be extended in an ugly way right now, prolly not the right way. mw.message().constructor.prototype [14:54:16] Yeah I just made mw.Message public [14:54:24] Noticed that mw.Map was also public so I figured it'd be OK [14:54:25] yeah, np [14:54:40] although now we have message and Message :) [14:54:41] I need to haggle Neil a bit about specific jQM issues but otherwise that's all good [14:54:43] Yeah [14:54:45] but hey. JS likes that [14:54:55] Initial capital = class [14:55:35] yeah, JSLint requires that all constructors start with uppercase, and that non-uppercase may not be called with new operator. [14:55:39] My proposed fix for Opera: http://pastebin.com/zAZ6VybS [14:56:12] It's provably equivalent to the old behavior for non-Opera browsers, so I'm just gonna commit it [14:56:47] I was thinking about delaying bottom queu in $(document).ready if window.opera [14:56:53] ah, this is similar [14:57:04] setTimeout ? [14:57:12] It's delaying it for longer than I want it to [14:57:24] I figured setTimeout would be minimal delay [14:57:30] But yeah doc ready probably works too [14:58:19] I read something about inline scripts using setTimeout being unfriendly to script flow execution, although there wouldn't be any script tags after head in opera, right ? [14:58:50] Hmm [14:58:55] Well, what about this then [14:59:03] jQuery( function() { document.body.appendChild( script ); } ); [14:59:08] http://toolserver.org/~catrope/async [14:59:47] Argh! freenode webchat uses a self-made target="" for all external links [14:59:51] tabs are being hijacked and replaced [15:01:23] RoanKattouw: looks good. Although I'd put the condition for opera outside the one for document.body [15:01:47] or rather, switch 'em [15:02:17] Why, though? [15:02:25] Oh, right, I see [15:02:27] It's harmless, anyway [15:02:38] If the document is ready, the $( ... ) is executed immediately [15:02:56] yeah, but document.body is available before that [15:03:09] if document.body can be available from where this is executed, then it can also block opera. [15:03:24] although neither should happen, if you cover for that, might as well [15:04:30] Yeah [15:04:37] Made the suggested change [15:06:44] Committing [15:08:11] RoanKattouw: I don't understand r108231 [15:08:19] RoanKattouw: that _this is in the same scope as this, how can that do anything ? [15:09:13] "this" means something else inside that closure [15:09:32] namely, a reference to the closure itself [15:09:54] Surely you've seen var that = this; or var _this = this; patterns before? [15:10:03] Sure, but if statements don't have a scope [15:10:31] var _this = this; if ( ) { return oldParser.apply( _this ); [15:11:04] brb [15:13:02] D'oh, right [15:13:23] I fixed another issue in that commit as well, I wasn't passing in this correctly [15:13:37] And then I saw braces and went "oh, I know, scoping" [15:13:40] Fixing [15:13:43] ok :) [15:15:14] you see this messed up? http://deployment.wmflabs.org/en_wikipedia/wiki/Special:Contributions/Petrb [15:15:17] I do [15:15:44] Yes, me too [15:15:56] that's weird [15:16:24] simple wiki http://deployment.wmflabs.org/simple_wiki/wiki/Special:Contributions/Petrb [15:16:27] that's ok [15:16:33] it's same version of mw [15:16:54] but simple wiki didn't have all MW space pages imported [15:17:05] no this copy (I am working on another one which have) [15:17:10] I don't see why that would be [15:17:23] I think it's some css customization used on english wiki [15:17:35] I only imported all MW space pages + some content pages so far [15:18:08] configuration is somehow same but I didn't understand fully how CommonsSettings.php work [15:18:13] Common [15:18:33] I tried to just copy it from noc but it didn't work, I guess I do something wrong [15:18:48] wow, the enwiki one looks broken. Prolly a custom interface message with unclosed or too many DIV closing tags that arent' tidyed [15:18:50] so I only copied flagged revs and abuse filter config [15:18:58] Yeah, CommonSettings is a bit complex [15:19:12] maybe wgTidy would fix it [15:19:37] I copied all files there but the function to initalise configuration doesn't seem to change anything [15:19:56] hmm [15:20:12] Is there any way you can give me SSH access to that VM? [15:20:17] sure [15:20:19] there's also some tags on that enwiki wmflabs page [15:20:23] escaped [15:20:33] on the bottom [15:20:45] I need to explain you how does it work [15:21:10] do you have an account on labs? [15:21:34] ah you probably don't [15:21:38] we need to wait for Ryan [15:22:13] RoanKattouw: I can't test or commit where I am, but a possible way to cache the parser for a map would be to overload the constructor similarly to the way you overload the parser. and cache it in an object member of the instance [15:22:48] on nevermind, that's not possible in JS, that'd overwrite all prototypes as well and make it no longer match existing instanceof Message tests [15:22:50] You can just do this.map.cachedParser = parser; right? [15:23:02] Add a member on the fly, just like in PHP [15:23:30] sure, the actual key/value pairs are in map.values anyway, but this.map is instanceof mw.Map [15:23:50] Yeah, and? [15:23:59] nothing, should work fine [15:24:03] I should be able to add a random member to any object and keep instanceof intact, right? [15:24:09] yep [15:24:20] Oh, right, you were worried about polluting map.values [15:24:32] yeah [15:24:37] is there a wgUseTidy on en? [15:24:41] it works ok with that [15:24:48] on production [15:25:05] Let me see [15:25:11] oh yes [15:25:11] it is [15:25:25] > echo $wgUseTidy [15:25:26] 1 [15:25:27] the instanceof concern only applies when attempting to overload the constructor, since in PHP extending a class allows re-doing the constructor and calling parent::__construct() somewhere, in JS re-defining the Mesage function would create a new object function and delete the entire constructor with it's members. [15:25:39] Right [15:25:49] thre's no Message.__constructor sadly [15:26:18] I have mixed feelings about JS OOP [15:26:20] http://deployment.wmflabs.org/en_wikipedia/wiki/Special:RecentChanges [15:26:21] another [15:26:40] the root value of the object is the constructor in itself, that's one of few ugly parts in JS object model, most other thigns are awesome about that model though [15:27:04] [citiation needed] and all, blabla [15:27:22] k, will be back later when I'm home [15:50:30] ^demon|away: that workaround you posted on bz worked however update script doesn't work for that [16:32:16] http://deployment.wmflabs.org/en_wikipedia/wiki/Europe [16:32:22] text is weird sized [16:43:33] looks fine to me [16:49:58] hehe http://deployment.wmflabs.org/en_wikipedia/wiki/Special:RecentChanges [16:59:43] neil [16:59:55] is around? [17:00:20] Maybe not for an hour or so [17:00:23] It's still early for him [17:31:38] howdy Reedy: do you have time to give me some quick tips on setting up email notifications for the CodeReview extension, or know who I should pester if not you? http://www.mediawiki.org/wiki/Extension_talk:CodeReview [17:32:15] Shouldn't be any different to just setting up email for mediawiki itself [17:32:52] Is there a different setup for login notifications and extension notifications? [17:33:31] Shouldn't be [17:35:09] is there a setup step to assign svn committers to wiki usernames? [17:35:46] Ask someone to do it for you ;) [17:36:38] any recommendations? [17:36:56] I can do it if you tell me both usernames [17:37:34] oh, this is on html5video.org/wiki/ ;) [17:37:37] papyromancer: you mean for your own installation of MediaWiki, or for mediawiki.org? [17:37:48] papyromancer: have you ever seen the "link?" screen? [17:37:50] lemme show one to you [17:37:57] rock on! [17:38:20] papyromancer: I link their mediawiki.org username to their commit username by going to https://www.mediawiki.org/wiki/Special:Code/MediaWiki/author/commitname and using the "link this user" link. [17:41:39] cool, I'll add a section on the extension page [17:41:45] thanks, you two :D [17:43:00] thanks papyromancer [17:43:05] for updating the docs :) [17:46:42] papyromancer: fyi there's a list in https://wikitech.wikimedia.org/view/Svn.wikimedia.org#Access_Control that you might find useful if you are setting up something like how we do things [17:48:17] fortunately, I don't administer the svn, just the wiki ;) [17:50:13] papyromancer: yes, but that section also mentions the MW side of things a bit [17:52:33] CR new down to < 400 [17:52:41] 20% of the backlog cleared today [17:52:56] Reedy: :-) and unreviewed patches down to <200. [17:53:19] (from 204 on 23 Dec) [17:55:08] Reedy: there are 4 high-priority bugs against MediaWiki core with patches awaiting review in case you want to give them a look and see if they should go in today [17:55:32] 7757, 2700, 32483, 25909 [17:55:32] I can/could later on today [17:55:36] cheers [17:55:42] nod [18:13:25] <^demon> sumanah: I don't really think bug 7757 is high priority. Nice to have, but not worth putting in before the 1.19 branch. [18:15:56] ^demon: Feel like lowering the importance from "High" to "Normal"? [18:16:05] <^demon> Will do. [19:04:41] 2700, 32483, 25909 [19:11:09] hey hexmode, do you know why you marked https://bugzilla.wikimedia.org/show_bug.cgi?id=25909 high priority? [19:12:14] checking [19:13:41] sumanah: almost a year ago? I don't really know... [19:13:55] no prob hexmode. [19:14:06] how go the code review tagging & test deployment site endeavors, hexmode? [19:16:01] code is tagged ... did that yesterday. Test deployments, I've got a few places to announce and really push for Monday going big [19:16:31] sumanah: btw the one piece that I didn't tag bug really want to get reviewed is the Score extension [19:16:41] will tag it "score" now [19:17:31] hexmode: is there a list of test cases somewhere? [19:18:19] sumanah: not really... except what you already wrote... thinking of getting gadget users/creators to focus on it, though [19:19:58] actually, looks like robla already tagged those "score" [19:20:40] hexmode: https://www.mediawiki.org/wiki/Category:MediaWiki_test_plans [19:27:08] rsterbin: can this: https://bugzilla.wikimedia.org/show_bug.cgi?id=33118 be closed now? [19:27:21] rsterbin: based on this: http://www.mediawiki.org/wiki/Special:Code/MediaWiki/108093 commit? [19:28:40] i've been waiting to close it, because it just gets reopened when one of the testers doesn't see the fix on prototype/labs [19:29:02] but i'm cool with closing it, too [19:29:09] rsterbin: can you add a note to the bug that it is only on prototype/labs and close it [19:29:15] sure thing [19:29:22] rsterbin: cool, thanks! [19:29:26] hm [19:29:31] it's not on prototype/labs [19:29:36] just in the repo [19:30:07] rsterbin: well, then just add a note with the revision that it's checked in [19:30:11] ok [19:30:24] rsterbin: like r108093 etc [19:30:48] got it [19:34:42] Raymond_: you around? [19:43:05] hexmode: around? [19:43:33] petan: 1s otp [19:43:34] could you please check http://deployment.wmflabs.org/en_wikipedia/w/index.php [19:43:44] and tell me what else I should get there? [19:44:02] I created a simple global config so that I can easily manage all wikis from one place [19:44:18] it took me few hours but I can now set up bunch of wikis in few minutes [19:44:46] awesome! [19:45:09] so I will start working on commons now you also wanted RTL wiki [19:45:14] can you tell me which one [19:45:39] 1s... [19:45:42] ok [19:45:44] Probably he [19:45:51] Ask aharoni ;) [19:47:43] shalom [19:48:00] right [19:48:25] not necessarily he [19:48:50] it's a bit surprising to me, but he and ar are equally unreadable to Europeans and Americans, [19:49:00] :D [19:49:12] Hebrew is not so readable to readers of Arabic and Hebrew, [19:49:26] ok [19:49:32] but Arabic is reasonably readable for me. [19:49:41] (i bothered to learn it) [19:50:10] i would expect the Hebrew alphabet to be easier for foreigners, but apparently i'm wrong ;) [19:50:49] so, since i'm ok with Arabic and there are many more Arabic and Farsi speakers than Hebrew speakers, i'm ok with having Arabic on the test wiki [19:52:08] Reedy: http://deployment.wmflabs.org/en_wikipedia/wiki/Europe [19:52:18] have an idea what's that :O [19:52:21] scroll down [19:54:22] ? [19:54:31] I see bigger text down [19:54:49] http://deployment.wmflabs.org/en_wikipedia/wiki/Europe#Etymology [19:54:52] in firefox [19:55:04] Computers suck [19:55:13] so it's not a bug in mw? [19:57:28] I've no idea [20:00:49] petan: back... let me look [20:01:27] ok [20:02:02] petan: aharoni is also a good guy to work with after this on the RTL wiki [20:02:39] ok [20:02:55] if he want's he I can insert him to project on labs [20:02:58] * wants [20:03:17] so that he can actually set up that wiki himself [20:03:17] It's the navboxen. I think. [20:03:22] aharoni: we can add you to the project? [20:03:32] using that global config I created it's a matter of few mins [20:03:37] problem is with db [20:03:49] I installed all possibled tools we have [20:04:39] aharoni: if you want I will prepare you a wiki there, can you just send me a link to all wikis you want to create? so I don't have to look it up [20:05:27] hexmode, i'm being added to a lot of projects later :) [20:05:36] which project exactly are you referring to? [20:05:47] deployment [20:06:30] aharoni: labs deployment project [20:06:48] for testing 1.19 [20:07:10] you can ask me to test RTL features, of course. is there anything else? [20:08:24] aharoni: you want root on the system or would you rather petan and I do it? [20:08:38] everyone actually get root :) [20:08:44] it's not possible to change it yet [20:09:09] how can i say no to root?! [20:09:23] does it mean shell access? [20:09:36] aharoni: on labs, yes [20:09:48] aharoni: let me describe the test cluster [20:09:54] i'd love that, it would be very useful for learning. [20:10:05] there are 3 vm's, dump, apache and sql [20:10:35] apache run only web server with wikis, sql contains db and on dumps I run various maintenance scripts and db imports [20:10:51] because it eats a lot of cpu and I don't want to make a big load on apache [20:11:10] we have only 40gb free on sql [20:11:24] so that's not for a big dumps, but still can be few thousand pages [20:11:36] simple wiki is 40% of sql server [20:12:58] 40gb for all the testing languages and images? [20:13:09] (or are images taken from commons?) [20:15:57] aharoni: I think we should use instantcommons for images [20:16:27] and maybe delete images after 1hr [20:23:30] Petan: fixed article by commenting shit out. [20:23:41] Europe? [20:23:44] but that's from en wiki [20:23:45] [20:23:52] there could be dozen of such [20:23:55] You do not have en.wp's css or js [20:24:00] I do [20:24:06] whole MW space [20:24:25] Then figure out which part of what I commented out is breaking things. [20:25:31] the page load time after save was about 1.5 minutes... [20:25:41] heh [20:25:45] need to install squid there [20:25:54] it's running on labs [20:26:31] if someone wanted to help out with that, I can give you shell access there [20:26:44] I am pretty busy with other stuff right now so cache needs to wait [20:27:00] navboxen are still borken. [20:27:04] load of sql server is permanently 1 [20:27:40] Amgine: it might be fail while I was importing mw space [20:27:58] if you want register and I give you admin there so that you can check and import stuff to mw space [20:28:21] nah. I have to finish writing this donation box extension. [20:28:24] ok [20:28:26] I hate js. [20:28:30] heh [20:51:49] maplebed: so shards are going back to just .xx rather than .shard-xx, so you don't have to change any py code ;) [21:07:48] AaronSchulz: .xx or -xx? [21:08:51] the former...oh if you used '-', then it still needs changing then, heh [21:30:49] petan: did I already ask you? where should I post a notice that gadget people will see? Think your vpt notice is enough? [21:31:10] *hexmode is winding down and may not get to it till tomorrow [21:31:21] hm, wikitech [21:31:59] I asked in -commons yesterday... let me see what they said [23:53:21] inbox down to 133. [23:57:34] sumanah, seriously, you've been in the industry long enough, surely you know the value of select all, delete [23:58:08] I see you don't actually want me to do my job [23:58:34] It's very rare I get an email I have to read properly [23:59:14] your job and mine are different, fancy that