[01:17:05] gerrit: I noticed again, that I did not merge .. but it is automatically (I gave Patch Set 4: Verified+1 Code-Review+2 I is this then already triggering the merge ???? ???? ???? [08:00:14] hello [08:01:13] Change abandoned: Hashar; "Will have to find a better way than just deleting the old builds." [integration/jenkins-job-builder-config] (master) - https://gerrit.wikimedia.org/r/53357 [08:11:54] New patchset: Hashar; "integration portal ported to twitter bootstrap" [integration/docroot] (master) - https://gerrit.wikimedia.org/r/53757 [08:13:11] New review: Hashar; "* URLs are now protocol relative" [integration/docroot] (master) - https://gerrit.wikimedia.org/r/53757 [08:19:25] New patchset: Hashar; "integration portal ported to twitter bootstrap" [integration/docroot] (master) - https://gerrit.wikimedia.org/r/53757 [08:28:30] New review: Hashar; "Patchset 3 is a rebase on top of Timo changes." [integration/docroot] (master) - https://gerrit.wikimedia.org/r/53757 [08:45:45] New patchset: Hashar; "integration portal ported to twitter bootstrap" [integration/docroot] (master) - https://gerrit.wikimedia.org/r/53757 [08:47:24] New review: Hashar; "Removed overqualified CSS selectors:" [integration/docroot] (master) - https://gerrit.wikimedia.org/r/53757 [08:51:52] andre__: hello :-] [08:52:03] andre__: I did some triage yesterday for the bugs marked +ops [08:52:05] morning hashar! [08:52:09] hashar, yeah, thanks! [08:52:12] appreciated [08:52:14] we still have toooo many bugs :] [08:52:23] tell me a project that doesn't ;) [08:53:05] what I do is I choose a product then ask the table report for component / severity [08:53:16] then pick a random component and look at all the bugs in there [08:53:34] example for Wikimedia product http://tinyurl.com/cmx4bqs [09:58:53] hashar, heh, I do the same pretty often :) [10:14:41] MaxSem: are you around ? :-] Some phone is badly redirected to the non mobile version of the site : https://bugzilla.wikimedia.org/show_bug.cgi?id=35969 [10:14:54] MaxSem: you asked for the user-agent and the bug opener did reply with the user-agent :-] [12:32:50] hi sankarshan how are you? [12:36:16] New patchset: Hashar; "(bug 34617) all WMF MediaWiki ext to Jenkins" [integration/jenkins-job-builder-config] (master) - https://gerrit.wikimedia.org/r/54356 [12:37:00] New patchset: Hashar; "(bug 34617) all WMF MediaWiki ext to Jenkins" [integration/zuul-config] (master) - https://gerrit.wikimedia.org/r/54357 [12:42:51] New review: Hashar; "I am creating the jobs in production." [integration/jenkins-job-builder-config] (master); V: 2 C: 2; - https://gerrit.wikimedia.org/r/54356 [12:42:52] Change merged: Hashar; [integration/jenkins-job-builder-config] (master) - https://gerrit.wikimedia.org/r/54356 [14:07:19] Change merged: Hashar; [integration/zuul-config] (master) - https://gerrit.wikimedia.org/r/54357 [14:18:51] guillom: Your changes look good! I'll work on updating the second post. [14:19:29] valeriej: ok :) I'm going to finish what I'm doing, then I'll move the first post to WordPress and you can do a final check [14:19:51] guillom: Thanks! [14:19:56] sure [14:20:10] yay. thanks to you both :) [14:25:01] hashar: FYI one of the parsoid jobs is failing because it splits off multiple processes. Is there a way to disable that check, or should we just try to run it in a single-process mode (which would be reasonable, since only one client will be making requests)? [14:25:27] marktraceur: can't really investigate right now sorry :( [14:25:39] need to validate a few extensions I have added in jenkins :-] [14:26:34] marktraceur: can you possibly fill a bug about it so I don't forget about it ? :-] [14:34:32] New patchset: Hashar; "placeholder for zuul.wikimedia.org" [integration/docroot] (master) - https://gerrit.wikimedia.org/r/54463 [14:34:46] Change merged: Hashar; [integration/docroot] (master) - https://gerrit.wikimedia.org/r/54463 [15:10:25] valeriej: the post looks good to go as far as I'm concerned: https://blog.wikimedia.org/?p=22701&preview=true (you need to log in using the credentials you should have just received) [15:11:27] guillom: Looks good to me. :) [15:12:57] ok, I'll post it now then :) [15:13:16] * sumanah waits with anticipation :D [15:15:55] \o/ [15:16:22] "now that you've created your first bug, developers can mark it WONTFIX and make you sad" <- the secret final step we're trying to avoid ;) [15:16:36] shhhh [15:16:45] It's out: https://blog.wikimedia.org/2013/03/18/how-to-create-a-good-first-bug-report/ [15:16:51] Preparing social media postings now. [15:16:54] woot [15:17:49] brion: oh hi! do you still have any knowledge about ActiveAbstract? Its test suite is broken with mediawiki/core latest master :-]  The test suite attempts to access a private property :-] [15:17:51] valeriej: let me know when you're done editing the second post on meta, and I'll move it over to WordPress as well, so it's ready for tomorrow. [15:18:34] guillom: Will do. [15:18:41] thanks [15:18:49] hashar: i have vague memories of it :) i'll take a quick look [15:18:54] I added the link to https://www.mediawiki.org/wiki/How_to_report_a_bug [15:19:17] brion: I got the fixes already. Core needs an accessor https://gerrit.wikimedia.org/r/#/c/54468/ and active abstract needs to use it https://gerrit.wikimedia.org/r/#/c/54374/ :-] [15:19:25] \o/ [15:19:47] brion: I was looking for a reviewed when I found out you were the original author of that extension :-] [15:21:26] brion: I have updated both commit messages to reference the fresh bug https://bugzilla.wikimedia.org/show_bug.cgi?id=46285 :-] [15:23:32] \O/ [15:23:51] New patchset: Zfilipin; "Updated Ruby gems" [qa/browsertests] (master) - https://gerrit.wikimedia.org/r/54469 [15:37:00] New patchset: Hashar; "remove unit tests for some mw extensions" [integration/zuul-config] (master) - https://gerrit.wikimedia.org/r/54473 [15:37:26] Change merged: Hashar; [integration/zuul-config] (master) - https://gerrit.wikimedia.org/r/54473 [15:45:37] guillom: I added information about the next bug day at the end of the first paragraph. Check it out when you can, and let me know what you think. [15:47:06] New patchset: Hashar; "remove 'test' pipeline from Cite" [integration/zuul-config] (master) - https://gerrit.wikimedia.org/r/54474 [15:47:20] valeriej: looks good. I may split some paragraphs, but that's it. [15:47:21] Change merged: Hashar; [integration/zuul-config] (master) - https://gerrit.wikimedia.org/r/54474 [15:47:53] guillom: Ok. Thanks for your help! [15:47:58] sure :) [16:04:24] New patchset: Hashar; "disable mwext-intersection-testextensions-master" [integration/zuul-config] (master) - https://gerrit.wikimedia.org/r/54477 [16:04:47] Change merged: Hashar; [integration/zuul-config] (master) - https://gerrit.wikimedia.org/r/54477 [16:06:16] should work fine now [16:06:17] again [16:06:22] I am out of there :-] [16:48:48] ^demon: https://gerrit.wikimedia.org/r/#/c/53000/ :) [16:55:27] Change on 12mediawiki a page WMF Projects/Data Dumps was modified, changed by Guillom link https://www.mediawiki.org/w/index.php?diff=661021 edit summary: [+59] switch to standard (for now) open tasks format [17:07:42] <^demon> AaronSchulz: One comment, otherwise looks fine. [17:08:58] ^demon: it's like some of the IP functions, when you have a constant array you can use that for performance [17:09:10] though realistically it won't matter [17:09:34] <^demon> Yeah, I figured something like that. I just don't usually see it for a one-line array :p [17:14:05] Change on 12mediawiki a page WMF Projects/Data Dumps was modified, changed by Guillom link https://www.mediawiki.org/w/index.php?diff=661035 edit summary: [+268] convert to newer format [17:23:58] I think I'm going to start using -2 on anything I don't want to see merged in it's current form. [17:24:31] I know it sticks around across patchsets, but this isn't the first time someone has blatantly ignored my -1 and gone ahead and merged. [17:26:24] Krenair: who did it? [17:26:28] training might help [17:26:33] Lwelling. [17:26:52] hmm. lwelling do you have a moment to talk? [17:27:28] Krenair: about how many times has it happened, and are there particular people who have done it more than once? [17:28:09] Each time it's happened it's been someone approving one of Siebrand's changing things to American English where they need not be. [17:28:53] sorry krenair I did not realise it was a big deal [17:28:56] I've been hesitant to use -2 because it sounds like something so simple, right? Well people merge anyway because I only used -1 [17:29:08] Is there any consensus on the en-us vs en-gb issue? [17:29:17] No. [17:29:19] :( [17:29:24] yes, we are sticking to en-ca [17:29:26] At least, not as far as I know [17:29:27] * YuviPanda slinks away [17:29:33] shall i put in a patch myself to revert jsut that one change? [17:29:49] Just leave it, it's a single byte [17:29:58] We just shouldn't keep making these [17:30:04] I did not want to hold up a patch with changes that do need testing on the basis of a comment spelling disagreement [17:33:34] Krenair Is there a standard somewhere that we can point people to so the same issue does not get repeated throughout the code? [17:34:08] I'm OK with en-gb or en-us spellings although I've been here long enough I have trouble keeping them straight [17:34:25] remembering more subtle en-us grammar differences is harder [17:35:19] Either should be fine [17:35:32] I'm not concerned with both existing in the codebase [17:36:45] We just should not be changing them afterwards. (I strongly object to changing en-gb to en-us just because someone thinks that should be the standard for en in general) [17:39:08] Yes, that's a waste of time. I think that about a lot of standards issues. tabs v spaces, K&R v OTBS. Pick one and stick to it. Or agree that the the original file author picks and modifiers keep it per file consistent, but don't waste time "correcting" to your preference [17:40:00] It turns out Siebrand was really just copying over the standard header for some reason [17:42:12] Krenair, my apologies for doing it undiplomatically, and if there is something you'd like me to do to make it right I'm happy to. I just did not see it as worth taking more people's time over. It should have occured to me that you would not have commented if it were not important to you. [17:43:05] It's fine. As I said, let's just leave this one, and not bother changing these things after they've been added in future. [17:46:24] New review: Hashar; "Upstream has merged https://review.openstack.org/23961 so we should be able to land this change in o..." [integration/jenkins-job-builder-config] (master) C: 1; - https://gerrit.wikimedia.org/r/52750 [17:48:45] hi parent5446 how is it going? [17:49:48] sumanah: good. things are quiet. [18:11:57] parent5446: you might like to read https://blog.wikimedia.org/2013/03/14/what-lua-scripting-means-wikimedia-open-source/ if you haven't already - and if it gives you ideas for what you might want to do as a paid summer of code internship project, you could put them here https://www.mediawiki.org/wiki/Mentorship_programs/Possible_projects [18:12:24] !logs [18:12:24] channel logs: http://bots.wmflabs.org/~wm-bot/logs/%23mediawiki/ html version: http://bots.wmflabs.org/~wm-bot/html/index.php?action=search&channel=%23mediawiki [18:12:51] sumanah: Sure thing. I'll take a look now. [18:16:51] New patchset: Krinkle; "Add mwext-VisualEditor-docgen job" [integration/jenkins-job-builder-config] (master) - https://gerrit.wikimedia.org/r/53995 [18:47:13] can I still give +2 even if I don't have +2 rights? [18:47:34] I don't think so, no [18:47:37] you can do +1 [18:48:04] sumanah: I was able to give to https://gerrit.wikimedia.org/r/#/c/53614/ despite (to my knowledge?) me not having +2 in core. [18:48:15] (it is a small CSS change I verified) [18:48:23] sumanah: I'm a little bit confused. [18:48:32] Well, YuviPanda you might have gotten into the wmf LDAP group in which case you do have +2 in core [18:48:39] ah, right [18:48:43] I am in the wmf LDAP group [18:48:48] but I don't have the ability to check on that question [18:48:51] oh, how do you know? [18:49:02] because I have permissions to edit things in jenkins [18:49:10] which I did not have before joining again [18:49:15] and I asked hashar who told m [18:49:17] e [18:49:28] (I need edit perms in jenkins to play around with the android build there) [18:50:06] sumanah: Ideally I'd want my core +2 to be taken away. I don't really think I should have it, considering the fact that I haven't worked directly on mw for a while [18:50:19] the only reason I +2'd this was because I thought 'oh, it will surely reject me' [18:50:23] and when it didn't i was confused [18:50:36] * YuviPanda ponders [18:51:01] sumanah: even if I have +2, I can't seem to 'submit' - pressing that button does nothing. [18:51:24] YuviPanda: it sounds like there are 2 issues here -- you disagree with the idea that someone in the wmf group should have +2 on MediaWiki core+all extensions. Separately, weird Gerrit bug? [18:51:40] no, no - I *personally* do not want the responsibility(?) of having +2 [18:51:42] (I mean, that being in the wmf group automatically should mean +2 in MW) [18:51:50] YuviPanda: Talk to your boss, I think [18:51:56] heh, okay. [18:52:03] the second *does* look like a weird Gerrit bug [18:52:15] That is, if I have +2, I should be able to Submit the patch [18:53:01] sumanah: ah, false alarm. It worked, just didn't tell me it worked for a few minutes. [18:53:03] nevermind :) [18:53:09] ah okay! [18:53:16] YuviPanda: The submit button was disabled? [18:53:30] parent5446: no, it wasn't. It just didn't give me any indication that I had clicked it [18:53:34] no yellow top 'loading' bar [18:53:36] Ah, OK. [18:53:37] so I clicked it a few more times [18:53:45] i now got an email about the change being merged [19:13:14] YuviPanda, :thank you!! [19:14:23] Rahul_21: glad to help :) [19:14:40] i am on a roll :) [19:21:30] New review: Krinkle; "(1 comment)" [integration/jenkins-job-builder-config] (master) - https://gerrit.wikimedia.org/r/53687 [19:22:16] New patchset: Krinkle; "Revert "Install JSDuck 4.6.2 into tools/gem_modules."" [integration/jenkins] (master) - https://gerrit.wikimedia.org/r/54515 [19:23:16] Change merged: Krinkle; [integration/jenkins] (master) - https://gerrit.wikimedia.org/r/54515 [19:24:30] Ryan_Lane: I am debugging OpenID. Found in log file "Did not find alias for special page 'OpenIDIdentifier'. Perhaps no aliases are defined for it? [Called from SpecialPageFactory::getLocalNameFor in /phase3/includes/SpecialPageFactory.php at line 566]" [19:25:16] Is there something to be added to file OpenID.alias.php ? [19:26:00] perhaps because the wiki language is set to German ? [19:34:35] Wikinaut: Probably, because it uses $wgContLang to search for aliases. [19:35:20] <^demon> hashar: I think some things are stuck :( [19:35:22] <^demon> http://integration.mediawiki.org/zuul/status [19:35:29] :-((((( [19:35:39] ^demon: been so last week [19:35:49] ^demon: been like that since like week :/ [19:36:23] <^demon> Hmm, what can we do? [19:36:47] at 1st, upgrade Zuul. [19:36:58] maybe I should cherry pick the few patches that I suspect fix that issue [19:38:10] ^demon: one thing is sure, it eventually resolve by itself. [19:38:28] Project MobileFrontend-linux-android-template build #1: UNSTABLE in 9 min 2 sec: https://wmf.ci.cloudbees.com/job/MobileFrontend-linux-android-template/1/ [19:39:34] Rahul_21: you should probably set status to 'fixed' [19:39:38] in the dropdown under there [19:41:39] is https://gerrit.wikimedia.org/ down? [19:42:28] looks like it is not just me: http://isup.me/gerrit.wikimedia.org [19:43:39] Project MobileFrontend-mac-iphone-template build #1: FAILURE in 5 min 11 sec: https://wmf.ci.cloudbees.com/job/MobileFrontend-mac-iphone-template/1/ [19:44:16] Project MobileFrontend-mac-ipad-template build #1: UNSTABLE in 12 min: https://wmf.ci.cloudbees.com/job/MobileFrontend-mac-ipad-template/1/ [19:45:53] YuviPanda, i cant change it [19:45:58] hmm? [19:46:07] andre__: ^ is Rahul_21 able to set bugs to 'FIXED'? [19:49:43] hashar: What is causing everything we add to gallium to default to doc.wikimedia.org? [19:49:52] Is there an unclosed tag somewhere in the apache configs? [19:50:06] It should default to "It works" or something. [19:50:18] what do you mean by everything? :-] [19:50:37] well, first HTTPS integration.wikimedia.org, and now zuul.wikimedia.org [19:50:43] New patchset: Zfilipin; "Moved MobileFrontend documentation to MobileFrontend repository" [qa/browsertests] (master) - https://gerrit.wikimedia.org/r/54518 [19:50:46] that's not a misconfiguration or an intentional pointer [19:50:53] ah I see [19:50:53] that's because of some crappy configuration [19:51:03] maybe if no virtual host is matched, it will use the first one [19:51:59] No, in production we have a vhost-less pointer to /wmf-config/docroot/default/index.html [19:52:18] it would be rather crappy if it defaulted to the first non-matched vhost if nothing matches [19:52:23] that would defeat the purpose [19:52:50] I'm pretty sure it doesn't do that because I see "it works" all the time on my localhost when I set up a new entry in /etc/hosts but don't set up an apache vhost for it. [19:54:34] I have no idea right now :D [19:54:51] nor it is really important :-] We will figure it out! [19:56:43] ^demon: on gallium I have several git process that are slowed down. That might cause some side effect to Gerrit [19:57:00] <^demon> What sort of processes? [19:57:09] git-upload-pack [19:57:21] hashar: Hm.. I can't read /var/log/apache2/error.log, that requires sudo also? Argh. [19:57:36] ^demon: locked in wchan `sleep_on_page_killable` [19:57:45] brb dinner [19:58:05] <^demon> hashar: What're you fetching from gerrit? [19:58:17] oh sorry that is the gerritslave user [19:58:26] so that is merely the replication handled by Gerrit [19:58:55] ^demon: http://dpaste.com/1027005/ [19:59:06] that box has some issues [19:59:07] Project MobileFrontend-mac-iphone-template build #2: NOW UNSTABLE in 8 min 8 sec: https://wmf.ci.cloudbees.com/job/MobileFrontend-mac-iphone-template/2/ [19:59:10] <^demon> That's replication. [19:59:14] <^demon> Yeah [19:59:25] vmstat show 50% waiting access [19:59:40] <^demon> We push all repos on startup. [19:59:49] <^demon> Not sure if that's best behavior for us :\ [20:00:13] <^demon> But yeah, all of gerrit's queue is waiting on pushes to gallium. [20:00:46] doing mw/ext/U* :-) [20:00:55] <^demon> I'm curious...we've got gerrit using nfs. I wonder if gallium could just read from that nfs. Would save us a ton of transfer. [20:01:01] so whenever Gerrit restart the replication restart too ? [20:01:08] <^demon> Yeah, we've got gerrit.replicateOnStartup = true. [20:01:25] <^demon> So on startup, it replicates everything to make sure its in sync. [20:02:30] I see :-] [20:02:35] hence the huge load on the box hehe [20:04:37] <^demon> "Git repos are on NFS and stored at /var/lib/gerrit2/review_site/git." -- this is not strictly true. [20:04:49] <^demon> Actually, all of /var/lib/gerrit2/ is nfs'd. [20:14:16] YuviPanda, i needed help with chrome developer tools [20:14:27] did you watch the video from the link I sent you yesterday? [20:14:30] and read those docs? [20:14:53] YuviPanda, :i saw the video [20:15:01] fully? [20:15:03] and the docs? [20:15:07] YuviPanda, wait ill read the docs [20:15:10] ok [20:16:18] YuviPanda, can you send the youtube link of that video? [20:16:19] Project browsertests-linux-firefox build #205: UNSTABLE in 14 min: https://wmf.ci.cloudbees.com/job/browsertests-linux-firefox/205/ [20:16:25] in a meeting [20:16:27] google for it [20:16:50] !g 54513 [20:16:51] https://gerrit.wikimedia.org/r/#q,54513,n,z [20:35:47] ^demon: yeah Zuul works "fine". It just took 1hour and 10 minutes to report back on a change https://gerrit.wikimedia.org/r/#/c/54513/ :-] [20:45:48] Project browsertests-windows-internet_explorer_9 build #239: UNSTABLE in 13 min: https://wmf.ci.cloudbees.com/job/browsertests-windows-internet_explorer_9/239/ [21:12:32] Sweet, my openstack patches all got merged. [21:12:54] <^demon> Wheee, deleting projects finally works :) [21:13:44] \o/ [21:15:03] \O/ [21:15:34] marktraceur: which unlock one of your change to our JJB config :-] [21:15:56] Warning, challenger approaching [21:44:49] anyone knows about a Mac OS voip software? [21:45:06] turns out Telephone does not support mic muting ( https://github.com/eofster/Telephone/issues/60 ) [21:49:15] csteipp: definitely send me any idea you might have for HTTPS :-] going to be a looong run to get it on beta though :-] [21:50:02] csteipp: it requires the protoproxy puppet manifest which is mostly a bunch of settings for production. Going to be a bit tedious to make it fit labs :-] [21:56:20] hashar: I just want to be able to hit https://en.wikipedia.beta.wmflabs.org/w/index.php?title=Special:UserLogin [21:56:55] If I get time, I'll start looking in puppet and see if I can spot an easy way to implemetn [21:57:20] csteipp: make sure to cc to https://bugzilla.wikimedia.org/show_bug.cgi?id=36648 [21:57:30] I heavily use bugzilla for project tracking / reporting [22:00:15] csteipp: if you look at manifests/protoproxy.pp , it is full of production IPv4 / IPv6 addresses :] [22:02:20] csteipp: and the conf is templates/nginx/sites/proxy.erb :-] [22:05:37] bed time *wave* [22:23:19] New patchset: Krinkle; "Implement Twitter Bootstrap in web portals" [integration/docroot] (master) - https://gerrit.wikimedia.org/r/53757 [22:23:39] New review: Krinkle; "(8 comments)" [integration/docroot] (master) C: -1; - https://gerrit.wikimedia.org/r/53757 [22:23:39] New patchset: Krinkle; "Implement Twitter Bootstrap in web portals" [integration/docroot] (master) - https://gerrit.wikimedia.org/r/53757 [22:23:44] Change merged: Krinkle; [integration/docroot] (master) - https://gerrit.wikimedia.org/r/53757 [22:28:11] New patchset: Krinkle; "Gitignore: Update mediawiki.org > wikimedia.org; Add doc/mediawiki-core." [integration/docroot] (master) - https://gerrit.wikimedia.org/r/54596 [22:28:53] Change merged: Krinkle; [integration/docroot] (master) - https://gerrit.wikimedia.org/r/54596 [22:29:53] are there some folks around that give me some help with Lua/Scribunto ? [22:30:21] hi MartijnH - what trouble are you having? [22:31:28] was just wondering about some general issues: is it possible to define local functions in a module, is it possible to call a different module from a module, are there any naming conventions (yet), and what is the "frame" exactly [22:33:25] MartijnH- Yes, you can define local functions in a module. Yes, you can call a different module, just load it with require() first. Naming conventions depends on the local wiki. The "frame" gives access to the parser frame, which holds the arguments passed to #invoke and lets you access the preprocessor [22:34:30] I'll probably not mess with the last one (yet) then, limit myself to more basics. Thanks anomie [22:35:07] MartijnH- You're welcome. If you have any more questions, feel free to ping me specifically if I'm around. [22:35:45] and I didn't know you got hired (took an extended wikibreak). Congrats! [22:35:59] MartijnH- Thanks! [22:36:48] syntax for local function is just local function() doSomething() end ? [22:37:26] You need to give it a name, like "local function foo() doSomething() end" [22:37:32] er, yeah [22:38:00] will it be in scope for other modules that are require()d? [22:38:06] er, other way round [22:38:46] No, it won't. Locals are local to the module. [22:38:50] is it in scope from other functions that require() it? or do I omit local to put place it in scope [22:39:28] If you omit the local... Maybe, I'm not sure. [22:39:34] just "function foo() doSomething() end" would be in scope if I require? any need to prefix with a module name? [22:39:39] Scribunto's sandboxing might prevent that [22:39:51] I'll mess around a bit with it then [22:40:35] Note that just "require('Module:Foo')" won't let you access anything in the module. You need to do "local foo = require('Module:Foo')", then all Module:Foo's methods are available as methods on foo. [22:40:58] ah, ok [22:41:26] then foo becomes a table with its members being whatever is declared without local in module Foo? [22:41:39] or do modules work differently? [22:41:47] Not quote. foo is the table that is returned by Module:Foo. [22:41:56] s/quote/quite/ [22:44:31] ah! [22:45:18] that sounds like defining a local function in a module not attached to the returned table won't be in scope [22:45:38] er, a non-local function? public function? what is the Lua lingo? [22:46:09] I'll just do some reading on the documentation, I'm rambling [22:46:25] Yeah, in Scribunto there's not a whole lot of difference between a local and a global that isn't exported, because Scribunto gives each module its own global table. [22:47:30] In standard Lua, IIRC, everything shares the same global table unless you specifically change it like Scribunto does, so there there is a difference. [22:47:35] TimStarling: why does PoolCounterWork have $cacheable but also getCachedWork()? [22:48:59] I guess it's for the execute() check [22:49:14] so, if I see this correctly, the "local" keyword outside of a function has no use whatsoever. Including the example starting with local p = {}, adding some functions to it, and returning it at the end [22:51:13] MartijnH- In a Module, yes, I think you're right. In other Lua coding, including if you were to write a library like mw.message or the like, then it is important. But accessing a local tends to be slightly faster than accessing a global, if performance matters. [22:52:13] yeah, but it won't actually be a global, since you are returning a table. So you have a table with functions defined on it, won't you [22:52:38] AaronSchulz: are you doing that project or is Chad? [22:53:20] * AaronSchulz is just cleaning up code atm [22:53:32] foo = require("Foo") would be foo becomes the table returned by module Foo, and the functions it calls, be them local or global, would be passed along as closures? Or are they then called from the global table [22:53:36] though I'm also seeing that the class would look like [22:54:29] anyway, this is way beyond my needs at the moment, I'm merely satisfying my curiosity now. [22:54:55] if you're going to commit something, you'd better send him an email, so you don't end up conflicting with each other [22:55:12] I'll see if I can implement the en.wiki {{diff}}, which has some wg vars, which would get me touching different parts of the mw library [22:55:23] MartijnH- The functions called by the methods in foo are the functions in Module:Foo [22:55:49] could you look it over quickly when I'm done, possibly give me some pointers that will likely sound like "yeah, you *could* do that, but don't" [22:56:46] AaronSchulz, if a poolcounter is cacheable, it doesn't matter who runs that [22:56:53] MartijnH- Sure [22:57:21] the execute() if explains it quite well [22:57:27] [15:49] AaronSchulz I guess it's for the execute() check [22:58:08] still, as author of that code, I felt I had to answer :) [22:59:03] did you look at PoolWorkArticleView in includes/WikiPage.php ? [22:59:29] that's odd anomie. I could imagine it, but it would be distinctly odd. if foo = require("Foo"), and module Foo is local p = {}, function p.bar() baz() end, function baz() quux() end, return p I would have guessed that the calling module doesn't "know" quux is in Foo, and would be passed along as a closure [23:00:01] I'm in no means a lua expert though (see my earlier questions ;) [23:00:28] <^demon|dinner> I saw Aaron's commit. [23:01:01] MartijnH- Every function in Lua is a closure, basically. [23:07:33] well, for now the difference is sort of academic. If I do understand the implication (which I doubt), it "only" costs one layer of indirection at the worst case. I'll just get to coding [23:09:16] mw.text is not yet deployed? [23:27:26] * AaronSchulz likes how PoolWorkArticleView::doWork returns a boolean but execute() expects the work result [23:27:56] of course it does doesn't matter since the return value is ignored in WikiPage [23:32:20] TimStarling: so you would like to see a class that takes a callback for doWork() to call instead of having to move a bunch of code into a PoolWorkArticleSearch class? [23:32:55] that would make sense for this application wouldn't it? [23:33:08] sure, just being clear [23:33:39] as long as it actually does make sense, I haven't really looked at it in detail [23:33:45] e.g. what would you do on error? [23:34:10] there's an error method that should be overridden, right? [23:34:16] TimStarling: like http://pastebin.com/YM4i7E0q ? [23:34:57] yes, that would work [23:53:44] Yippie, build fixed! [23:53:44] Project browsertests-windows-internet_explorer_9 build #240: FIXED in 14 min: https://wmf.ci.cloudbees.com/job/browsertests-windows-internet_explorer_9/240/ [23:57:09] TimStarling: so the reason for an extra $utimeleft check is due to being paranoid about clocks getting set back, I guess I could just check for that (which I've done in a few other places) [23:58:44] I see there is a rant about that in a comment on http://php.net/microtime [23:58:56] it actually can't happen in windows [23:59:10] it uses a starting timestamp plus a monotonic delta type thing [23:59:18] but it can happen in linux I guess [23:59:40] s/I guess/I know