[01:07:33] Barack Obama's signature: public domain? http://en.wikipedia.org/wiki/File:Barack_Obama_signature.svg [01:07:38] in VECTOR form? [16:33:56] hi RoanKattouw [16:34:09] Morning [16:34:22] are you feeling better? [16:35:04] Yeah I'm much better now [16:35:22] good to hear [16:35:44] so the bug which has been holding up enabling dialogs to beta users, https://bugzilla.wikimedia.org/show_bug.cgi?id=22877 [16:35:58] can only be reproduced in production environment [16:36:14] but not in prototype/deployment or local environment [16:37:11] i saw you reclosed the bug [16:43:11] Yeah [16:43:19] I was planning to push out some fixes today [16:43:36] fixes for? [16:43:55] Dialogs, template editor at least [16:44:23] Nimish fixed a nasty bug where parameters with empty values thoroughly confused the template dialog [16:44:29] Causing name-value pairs to be mismatched [16:45:44] so for dialogs, i'm concerned that we can't figure out why the bug exists only in production environment [16:46:05] there must be some configuration or something that cause it to behave differently [16:46:24] but at the same time i don't want to hold up enabling dialogs to beta users [16:46:52] trevor and i will be in the meeting from 10am - 12pm PDT [16:47:26] so if you can prep for the deployment in the mean time, that'll be a great help [16:49:52] we also want to be ready to blacklist IE at the worst case scenario [16:59:00] I think it's just something that was inadvertently fixed in the meantime [17:00:04] it is not fixed [17:00:21] What I mean is that production is running old code [17:00:24] Like a week old [17:00:38] So I think something changed in that week [17:00:45] k [17:00:56] so we are better off pushing out the new code? [17:00:57] We'll find out after we deploy [17:01:06] :) [17:01:08] k, [17:01:12] got to run to a meeting [17:01:14] OK just to clear this up: does deployment mean rolling out the new code or also changing user's prefs? [17:01:16] will be back on line in a few [17:01:36] i was only paying attention to the latter [17:01:53] i need to know more about the fix you and nimish are planning to deploy [17:10:59] nkomura: Is Trevor there? If so, can you tell him that whatever he tried to poke Aryeh Gregor about on IRC yesterday he should contact him by e-mail for instead? Preferably before 2 PM PDT [17:11:35] he is here, but he doesn't have his laptop open [19:04:03] TrevorParscal: Aryeh says you should contact him by e-mail, he won't be on IRC any more today [19:04:15] If you want him to read it fast, send it before 2pm [19:10:02] I handed off the email address to Danese [19:10:08] yesterday [19:10:33] OK [19:10:45] Is this about Berlin? [19:12:30] parutron: hey paru - call me on skype when you are ready [19:12:47] hey hannes-_- [19:12:51] just got out [19:12:55] can you give me 5 min? [19:13:32] sure [19:14:38] RoanKattouw: Aryeh has class conflicts and can't go - but Chad is all set [19:15:03] Yeah Chad told me [19:15:35] hey what s up with WP? can you guys access de.wikipedia.org? [19:15:55] or enWP? [19:16:33] all wikimedia pages seem to be down [19:16:45] hannes-_-: I can, but there are some issues at the moment with incorrect cached DNS entries [19:16:57] http://pastebin.com/FnUrSWBn [19:36:07] RoanKattouw: just talked with nkomura about the template fix and pushing it to production...I think she wants to hold off in case it somehow breaks things [19:38:21] ... [19:38:31] Did you tell her what the alternative is? [19:38:38] I.e. totally broken dialogs on half of all articles [19:38:50] i'm here [19:39:04] *RoanKattouw fails at alphabet [19:39:14] For some reason I thought n was between R and T [19:39:16] we are talking about templates right ? [19:39:19] Yes [19:39:33] so from what nimish showed me [19:39:42] Basically if there's a template like {{templatename|param1=value2|param2=|param3=value4}} on the page, the dialog goes haywire [19:39:48] Try the infobox on [[Berlin]] on production [19:40:35] let me try [19:41:18] so while we are verifying the template fix [19:41:42] can you prep for deploying the fix for dialog? [19:41:52] i'll be back in the meeting in one hours and 20 minutes [19:42:01] and i want to make sure that we enable dialogs to all beta users today [19:46:44] Will do [19:48:32] so nimish_g and i are viewing berlin's infobox [19:48:56] so we recognize that field with empty value does not show up in dialog [19:49:25] That's not all [19:49:33] The names and values are mismatched [19:50:56] hejko: you here? can't get the collection extension (with public/global renderer) going unless I set $wgGroupPermissions['*']['read']=true . "could not get siteinfo" I'm using the public book server, and my wiki is accessible, with "username:password" set in wgCollectionMWServeCredentials [19:50:57] ok i see that [19:51:10] we should apply the fix [19:54:07] RoanKattouw and nkomura, wait I also just found another issue.... if there's an *entirely* empty name/value pair it also pushes all the values off [20:06:38] RoanKattouw: nimish_g, parul and i discussed [20:06:47] we should apply the template fix [20:06:59] Yes [20:07:07] I'm waiting for nimish_g to fix the other issue [20:07:10] nimish_g: Is that quickly fixable? [20:07:45] RoanKattouw: yes, lemme put down my soup and fix that =) [20:09:43] TrevorParscal: what is the rev number to fix 22877? [20:10:03] Is that the IE insertion bug? [20:10:16] We don't really know exactly when that was fixed [20:11:36] just to be clear, the bug was not reproducable in test environment from the time the bug was filed [20:12:44] bhgya could not find the issue in prototypes but found it in production [20:12:49] so the condition has not changed [20:13:20] if we are not pushing any patches today for dialog [20:13:36] why do you think the problem will go away? [20:13:59] We'd be pushing all changes since the last push [20:14:10] So production would run a copy of what the prototypes run [20:14:44] RoanKattouw: testing that the template parser works the way I think it does...should be another 2 min... [20:15:15] can see the rev lists of today's deployment? [20:16:50] Lemme look up what the last deployed rev was [20:17:12] ok RoanKattouw r64124 fixes the issue I just identified...all template params line up properly now [20:17:26] Cool [20:18:25] nkomura: http://www.mediawiki.org/w/index.php?title=Special%3ACode%2FMediaWiki%2Fpath&path=%2Ftrunk%2Fextensions%2FUsabilityInitiative --> everything above r63878 [20:20:39] there is fixme rev... [20:20:52] you left out i18n file intentionally right? [20:20:54] Yeah but that's taken care of [20:20:57] No, I added it later [20:21:02] Left out by mistake [20:21:13] we don't know where it lives or whether we are going to use it [20:21:22] ? [20:21:32] I know exactly where it lives and production won't use that file [20:21:41] isn't it for localization? [20:22:08] Yes, but only for the collapsiblenav preference [20:22:11] Which I hid [20:22:29] k [20:22:31] It's for the translation of [ ] Enable collapsible left navigation menu [20:22:34] Or whatever the exact text is [20:22:39] which room can i find mark? [20:22:41] But I configured production to not show that [20:22:51] #wikimedia-tech probably [20:23:03] Yup he's there [20:29:07] RoanKattouw: why are we pushing the changes by raymond? [20:29:41] That was an i18n tweak [20:30:56] do you know what is very unusable? [20:30:58] reverting [20:31:46] RoanKattouw: i thought today's deployment was only for our fixes [20:32:18] Technically it's all changes to UsabilityInitiative [20:32:29] But in practice those changes are only by us [20:32:52] Localisation updates happen every day, and are automated [20:32:54] They're harmless [20:34:14] k [20:34:39] r63878 does not exist in the list you provided.. [20:34:51] I know [20:35:03] I meant all revisions with numbers greater than 63878 [20:35:30] so i should be looking at r63880 and above? [20:35:58] Yeah [20:36:06] 63877 was the last one pushed [20:36:48] code reviews are not up to par it seems [20:37:32] RoanKattouw: can you review nimish_g's revs? [20:37:49] TrevorParscal: can you review roan's rev's? [20:38:27] I'm reviewing all revs that aren't mine [20:38:46] great [20:40:00] nimish_g: Your latest rev is basically a copy of the one before except for nameless params, right? [20:40:20] yeah, I had to make sure that the template parser numbered things the way I thought it did, but yep [20:41:23] OK [20:41:39] I marked all revisions that weren't mine as OK [20:41:54] Except for Raymond's latest i18n update, which I marked as deferred per CodeReview policy [20:43:58] RoanKattouw: rev number? [20:44:16] TrevorParscal: Of what? [20:44:31] nkomura: wanted me to review some revs [20:44:41] i see some http://www.mediawiki.org/wiki/Special:Code/MediaWiki/author/catrope [20:44:46] but there's allot [20:44:50] http://www.mediawiki.org/w/index.php?title=Special%3ACode%2FMediaWiki%2Fpath&path=%2Ftrunk%2Fextensions%2FUsabilityInitiative --> everything above r63880 [20:44:51] i'm way behind on code review [20:45:00] k [20:45:00] hey jquery wizards, can I do something with the selector inside a jquery extension? [20:45:01] That's not new [20:45:11] flipzagging: Be more specific? [20:45:15] Oh [20:45:16] that is to say, $j( 'foo' ).doSomething() [20:45:18] Rigth [20:45:20] TrevorParscal: need your review just for today's deployment [20:45:26] Look at the jQuery code for .live() maybe? [20:45:29] right [20:45:30] doSomething should search for all 'bar' inside 'foo' [20:45:32] Because it does selector voodoo [20:45:37] which is simply 'foo bar' [20:45:41] r64110 [20:45:46] flipzagging: What about $j(this).find('bar') ? [20:45:46] r64109 [20:46:12] flipzagging: I think this should be the jQuery object, not sure, lemme check [20:46:14] r64074 [20:46:20] Or this.find('bar') then [20:46:32] yes, you're right, I hadn't seen that [20:46:45] I thought there was a 'descendants' method, didn't see find() [20:46:51] RoanKattouw: thanks [20:47:02] Yes, this inside a $.fn.something function is the jQuery object [20:47:10] So you can do this.each and this.find etc. [20:47:19] yeah, this will be easy [20:47:21] so - 63937 just resolves an edge case where the arguments coming in are of a different format? [20:47:43] r63946 and r63937 [20:48:16] TrevorParscal: Yes, more specifically .wikiEditor( 'addModule', 'toc' ) rather than .wikiEditor( 'addModule', { some object } ) [20:48:25] oh, and there's this args vs arguments bug it seems to fix [20:48:36] Not really a bug I think, it worked before [20:48:36] if I am reading this right [20:48:44] Looks like makeArray() may not have been needed [20:48:50] my accident I think [20:49:00] the makeArray is there for some other edge case [20:49:19] so, now both things are working [20:49:21] :) [20:50:33] setTabindexes == clever [20:51:01] Naoko should force you to review my code more often, that way I get more praise xD [20:51:39] ha ha [20:52:32] :) [20:52:43] damn you colon characters! [20:52:59] yeah, colons in the middle of URLs, sillyness [20:59:13] RoanKattouw: so, we need to merge the template fixes into the deployment branch still - right? [20:59:48] Yes [20:59:52] I've got that ready to commit [21:00:02] Are you done with review? [21:00:31] i am [21:00:55] OK so am I good to go with deployment? [21:01:05] Or at least to commit to wmf-deployment? [21:03:03] yes [21:03:14] then let's verify things on test.wikipedia.org [21:04:13] OK [21:06:39] TrevorParscal: Try test now [21:09:52] i logged in as Usabiltiy 2 and none of the beta stuff is on [21:10:11] test wiki has central auth - do these settings not get synced? [21:11:57] Nope they don't [21:12:13] how shall I test the template fixes? [21:12:25] Hang on while I apply the necessary prefs for Usability 1 [21:12:30] Or 2 for your convenience [21:12:32] thanks! [21:12:35] 1 is fine [21:12:52] *TrevorParscal is logged out on test [21:13:10] OK log in as Usability 1 please [21:13:15] CentralAuth hasn't created the local account yet [21:13:49] still has old settings [21:14:01] well - has old settings, similar to when I logged in as Usability 2 [21:14:09] s/old/default [21:15:04] I know [21:15:10] But the user account didn't exist yet [21:15:16] Your logging in triggered its creation [21:15:21] oh [21:15:23] Thanks for that BTW, I see it now [21:15:26] ha - yes, that makes sense [21:16:20] *TrevorParscal is way behind on sleep - aurora has some fever/rash that's been causing frequent sleep disruptions [21:16:38] On thanks God testwiki doesn't have such long user IDs [21:16:41] enwiki's are like 8 digits [21:16:56] Damn that's not what you need with this move coming up [21:17:54] dang it dang it dang it [21:18:17] my dialog testing - I had the iframe on whithout knowing/realizing it [21:18:22] no wonder it worked so well [21:18:26] hehe [21:18:43] TrevorParscal: You'll also need wgReallyGiveMeTOC = true; for NTOC BTW [21:19:10] I can't get IE7 or IE8 to insert the table in the right place [21:19:48] Ugh [21:19:59] So the reason the bug magically disappeared is because you weren't testing it right [21:20:27] yes [21:20:36] *TrevorParscal is pissed at himself [21:21:53] TrevorParscal: Your prefs should be in order now [21:21:57] For Usability 1 on testwiki [21:23:59] looking good for template stuff [21:24:30] we need to blacklist IE for dialogs and push them out to all beta users who haven't manually turned them off [21:25:27] OK [21:25:30] Can you do that in trunk? [21:25:35] I'll merge and push to test [21:25:53] And regenerate user ID lists in the meantime [21:26:43] perfect [21:27:24] hehehe, script is very fast but hangs for tens of seconds on enwiki [21:29:01] RoanKattouw: for our special characters...do we grab them *from* the wiki? [21:29:16] Ah, no? [21:29:19] They're in the toolbar config [21:29:36] which file? [21:29:52] Toolbar.js [21:29:56] Warning: huge file [21:30:02] Look for 'specialchars' [21:31:38] TrevorParscal: So I need you to disable IE in SVN [21:31:47] I'm doing other stuff on the side like managing the techblog flood [21:31:55] committing now [21:32:47] OK [21:34:51] Merging, thanks [21:38:12] TrevorParscal: test updated, try now [21:41:25] perfection! [21:41:54] ok - so explain the process we are using for changing over user prefs [21:42:05] sounds like you have a strategy already [21:42:18] *TrevorParscal puts on his listening cap [21:42:50] I have generated lists of qualifying user IDs [21:43:12] Querying all users who have the toolbar enabled and didn't opt into or out of the dialogs at any point in time [21:43:19] Oh and don't have the dialogs enabled of course [21:43:30] right [21:43:59] So now I have those lists [21:44:11] And I have yet to write a script that turns on the dialogs for each of those user IDs [21:44:30] But that's just a script that takes a list of user IDs and turns it into a bunch of SQL queries [21:44:39] *RoanKattouw ponders batching [21:44:55] Oh and replag [21:45:09] what's the total number of affected users going to be? [21:45:21] 410k users over all wikis [21:45:51] Largest wiki (surprise): enwiki with 184k, then dewiki with 29k [21:46:05] can we perform a dry run - like, ensure the query will do what we think it will on a local host or something? [21:46:09] I probably want to do those in batches of 500 with wfWaitForSlaves() in between [21:46:19] Well it's a trivial INSERT query [21:46:31] fair enough [21:46:39] INSERT INTO user_properties (up_user, up_property, up_value) VALUES (12345, 'usebetatoolbar-cgd', 1); [21:46:46] well, you can check the query to ensure there aren't SQL errors at least [21:46:50] One which I've typed manually a lot lately to enable these hidden prefs for usability accounts [21:46:58] Yeah [21:47:06] I'm gonna do this as a PHP script [21:47:14] and let's have a script ready to go that does the opposite for the same users [21:47:16] So I can do wfWaitForSlaves() [21:47:24] just in case the world is about to end [21:47:25] s/1/0/ :D [21:47:58] right [21:48:08] sorry - I'm just trying to walk through contingencies [21:50:10] No worries [21:50:14] Good you mentioned this [21:51:28] we've had enough site drama for one day :) [21:51:52] Uhuh [21:59:17] TrevorParscal: http://pastebin.com/5JhQXbUs [22:00:18] We can test run on abwiktionary where we have exactly one user [22:00:46] Or afwikibooks which has 2 [22:01:36] Gimme the green light when you're ready [22:02:07] ready to test on some micro-wiki? or to go for it for all wikis? [22:02:16] how the hell do we do this for all wikis anyways [22:02:24] are we only changing over en-wp users? [22:03:34] No we're doing all of them [22:03:46] There's lots of microwikis with 1 or 2 candidates [22:04:21] right on [22:04:33] 90 with one user, 82 with 2 [22:04:44] And 59 with zero, nice :D [22:04:46] can we try one wiki first, then just do the rest? [22:04:49] Yes [22:04:52] awesome [22:04:55] Lemme pick one with like 11 users [22:05:01] Then one with > 500 because 500 is my batch size [22:05:04] perfect [22:05:59] OK let's take simplewikiquote, it's one of the 20 (!) wikis with 11 candidates [22:06:49] Here we go now [22:07:07] Fail, trivial bug in my code: $dbw not defined [22:07:44] ha ha [22:10:26] OK done [22:10:32] simplewikiquote should now be done [22:10:36] Checking the DB [22:11:51] Looking good [22:12:02] Fail, I just tried Ctrl+A Ctrl+A in my IRC window [22:13:33] TrevorParscal: Wanna move on to doing a bunch of microwikis? [22:13:46] I can sort the wikis by size, take out the zeroes, and run them in ascending order [22:14:14] yes [22:14:17] sounds awesome [22:21:00] catrope@fenari:~/dialogless$ wc -l *.list | grep -v '^\s*0\s' | sort -n | sed 's/\s\s*/ /g' | cut -d ' ' -f 3 | cut -d '.' -f 1 | grep -v total | tail [22:21:04] *RoanKattouw <3 shell [22:23:36] how's that going? [22:24:03] Almost done now [23:11:01] TrevorParscal: Cluster-wide code push done, please test Usability N accounts on enwiki [23:11:12] k [23:11:20] As well as dialogs in general [23:11:30] yes [23:11:47] hi guys [23:11:57] hi [23:11:57] so i asked howie to test IE7/8 insertion bug [23:12:07] it is still there... [23:12:15] i asked him to shift + refresh [23:12:19] Yeah [23:12:24] Trevor knows [23:12:35] We just pushed the new code to the cluster, disabling dialogs for IE [23:12:48] we know - i had a setting in my test environment that was causing the iframe to be present without me realizing it [23:12:50] Trevor and Adam thought the bug had gone but they didn't realize they were really testing the iframe instead of the textarea [23:12:54] At least Trevor was [23:13:23] we blacklisted IE for dialogs (as we discussed at the meeting) [23:13:33] but i frame is disabled at a moment [23:13:41] yes [23:13:42] of course [23:15:29] then calcey could have caught the bug no? [23:16:28] Gah [23:16:33] This enwiki update is gonna take forever [23:16:43] ha ha [23:16:55] Optimistic estimate for inserting those 184k (not 400k+ as I claimed previously) rows: 8 hours [23:17:54] enwiki is pretty slow to write to compared to other wiki clusters [23:18:13] that long? [23:18:22] Yeah [23:18:49] Oh wait [23:18:51] Miscalc [23:19:08] More like 3 hrs [23:19:24] Helps when you multiply by 2 instead of 5 [23:20:05] I'll ask Tim to sit on it for me [23:20:48] :) [23:21:47] i'll release my blog post in a bit [23:21:50] TrevorParscal: Did you read my and Tim's e-mail convo about the security thing? [23:22:12] um - yes [23:22:48] Think you can lend me to Tim for that soon? [23:23:02] Like, early next week (assuming Tim doesn't work weekends) [23:23:04] so until April 15th or May 1st (nkomura can fill us in on which) I'm not very excited about lending you out :) [23:23:12] Right [23:23:14] how much of your time are we talking here? [23:23:19] A few hours [23:23:28] Probably 3 to 5 [23:23:58] I can probably do most of the work over the weekend [23:24:07] Then finetune it in collaboration with Tim early next week [23:24:35] are we losing RoanKattouw? [23:24:50] Just for a few hours [23:25:01] There's this security hole in MediaWiki and Tim needs my help to fix it [23:29:00] it is TrevorParscal's call [23:29:22] Trevor says it's cool as long as it's <= 5 hours and done by Monday [23:32:05] fine by me [23:33:33] so how are we along enabling dialogs to the existing beta users? [23:33:57] Done on all wikis except enwiki, which is still running [23:34:22] and IEs are blacklisted already? [23:34:37] Yes, that was pushed as part of the software update [23:35:24] howie could reproduce the bug like 20-30 minutes ago tho [23:35:39] Weird [23:35:45] Dialogs are supposed to shut down for IE [23:36:00] TrevorParscal: Rumours that dialog blocking for IE is broken, can you investigate? [23:36:08] Or test at least [23:36:18] let me ask howie again [23:36:27] howief? [23:36:31] lookin [23:36:39] yes? [23:36:53] do you have windows/IE still up? [23:36:57] want me to try the dialog bug again? [23:37:06] yes please [23:37:19] ok [23:37:38] it's working as expected for me [23:38:26] on IE7 and IE8 on english wikipedia [23:38:30] dialogs are still blocked [23:38:57] yeah dialog is blocked for me [23:40:00] oh good [23:40:17] so howief must have tried it before the blacklist went live [23:40:35] what is the lowest FF we support for dialogs? [23:43:42] yay, dialogs are back [23:44:03] :) [23:44:14] TrevorParscal: Tim agreed to babysit the pref switching thing [23:44:34] awesome [23:45:49] It's been running since 23:00 UTC (4pm PT) and should finish around 02:30 UTC (7:30pm PT) [23:51:15] OK I'm off to bed