[00:01:01] SMalyshev: are you logged in as a sysop? you need the 'editinterface 'right [00:01:16] https://www.mediawiki.org/wiki/Extension:Gadgets#Usage [00:01:22] legoktm: hmm… how I make a sysop on a vagrant instance? [00:02:20] SMalyshev: the createAndPromote.php script in maintenance/ [00:02:43] https://www.mediawiki.org/wiki/Manual:CreateAndPromote.php [00:03:10] or just $wgGroupPermissions['*']['editinterface'] = true; :P [00:04:11] 6MediaWiki-API-Team, 10MediaWiki-API, 5Patch-For-Review: ApiTag doesn't output errors from the status - https://phabricator.wikimedia.org/T96252#1214365 (10Legoktm) 5Open>3Resolved [00:04:23] 6MediaWiki-API-Team, 10MediaWiki-API, 5Patch-For-Review: Update ApiTag for I7b37295e - https://phabricator.wikimedia.org/T96251#1214367 (10Legoktm) 5Open>3Resolved [00:07:02] legoktm: hmm… doesn’t seem to work with createAndPromote - it says user created but the user is not there [00:07:31] vagrant@mediawiki-vagrant:/vagrant/mediawiki$ php maintenance/createAndPromote.php --wiki wikidatawiki --force --sysop Superman Krypton [00:07:31] Password set. [00:07:32] done. [00:07:48] SMalyshev: use "mwscript" instead of "php". it's a wrapper that picks the right wiki [00:08:20] ahh [00:08:47] legoktm: that worked, thanks! [00:09:23] :) [00:11:54] now the gadget menu is there, but the gadget itself is not appearing :( [00:17:15] SMalyshev: what do you see when you visit Special:Gadgets? [00:17:51] legoktm: I see the gadget, but the files it uses are in red… does it mean I have to copy them from somewhere? [00:18:23] yup [00:18:29] I’m not sure how this gadget system is supposed to work… I just want the same thing I see on wikidata.org to happen on my vagrant instance [00:19:04] is there any repository or role that can do this? [00:19:56] SMalyshev: don't think so. basically Gadgets are made up of JS and CSS stored in wiki pages. You can use importSiteScripts.php to import all the .js ones, dunno why it doesn't handle .css [00:20:06] Gadgets 2.0 will make gadget sharing a ton easier [00:20:18] I see. OK, I’ll try to copy-paste then [00:20:48] it’s a lot of manual steps given that such basic functionality as redirects depends on gadgets… [00:20:50] ohohoh [00:21:03] SMalyshev: wikidata's Special:Gadgets should have an export option which you can import into your wiki [00:21:33] eh...if anything is "basic functionality" it should be implemented in extension/core code, not as a gadget... [00:22:29] legoktm: depends on what you define as “functionality”. https://www.wikidata.org/wiki/Help:Merge says use gadgets [00:22:39] https://www.wikidata.org/wiki/Help:Merge#Create_redirect [00:22:53] :/ [00:23:07] so if I want to create redirect on my vagrant instance, I have to install this gadget [00:23:37] that...sucks. [00:24:46] legoktm: but export worked. Thanks for the help. looks like I can do redirects now :) [00:25:37] awesome [00:48:17] 6MediaWiki-API-Team, 10MediaWiki-extensions-OAuth, 5Patch-For-Review: OAuth permission screen needs redesign for better usability and comprehension - https://phabricator.wikimedia.org/T75062#1214501 (10Nirzar) @anomie can it be done only using CSS? where you make the lightbox background color to be the solid... [00:50:58] 6MediaWiki-API-Team, 10MediaWiki-extensions-CentralAuth, 10SUL-Finalization: Code review CentralAuth's GlobalUserMerge and related UserMerge code before SUL finalization mass usage - https://phabricator.wikimedia.org/T961#1214503 (10Ijon) So... timeline? [01:16:25] 6MediaWiki-API-Team, 10MediaWiki-extensions-OAuth, 5Patch-For-Review: OAuth permission screen needs redesign for better usability and comprehension - https://phabricator.wikimedia.org/T75062#1214594 (10csteipp) In general, we want people to instantly recognize that they are on whichever wiki they are being s... [04:57:14] 6MediaWiki-API-Team, 10MediaWiki-API, 5MW-1.25-release, 5Patch-For-Review: let list=logevents use the new LogFormatter to format its output - https://phabricator.wikimedia.org/T35235#1214714 (10Legoktm) [05:18:40] 6MediaWiki-API-Team, 10MediaWiki-API, 5MW-1.25-release, 5Patch-For-Review: let list=logevents use the new LogFormatter to format its output - https://phabricator.wikimedia.org/T35235#1214725 (10Legoktm) 5Open>3Resolved [05:19:03] legoktm: https://gerrit.wikimedia.org/r/#/c/204705/1 wee [05:27:44] legoktm: heh, had to remove an obsolete comment [06:15:37] Nikerabbit: hey, yt? [06:34:22] ori: kinda yes [06:43:04] Nikerabbit: nevermind. I was going to ask you to use your global interfaceedit rights to work around a nasty layout bug on elwiki, but then I realized the person reporting the bug is a local admin so I just gave them the instruction for the workaround instead. [06:44:42] * Nemo_bis loves ns8 cleanup [06:49:44] ohh "ns8" [06:49:53] that's cute, i have to remember that [10:17:01] 6MediaWiki-API-Team, 10MediaWiki-API, 5MW-1.25-release, 5Patch-For-Review: Clean up core API data formats for new formatversion - https://phabricator.wikimedia.org/T87053#1214953 (10daniel) I just merged @Anomie's patch that removes usage of deprecated ApiResult methods from Wikibase, see I847a4a5a1c9 [13:50:27] 6MediaWiki-API-Team, 10MediaWiki-API, 5Patch-For-Review: list=logevents tries to return both the creating user's and the created user's ids as "userid" - https://phabricator.wikimedia.org/T73020#1215315 (10Anomie) 5Open>3Resolved [15:20:47] 6MediaWiki-API-Team, 10MediaWiki-API: list=logevents tries to return both the creating user's and the created user's ids as "userid" - https://phabricator.wikimedia.org/T73020#1215531 (10Ricordisamoa) [16:10:05] <^d> blazecat: Is there any chance you could give me a hand on https://phabricator.wikimedia.org/T91401? [16:12:53] ^d: why not just make a few lines of code in a php file and include from eval.php? [16:13:08] <^d> What few lines would you recommend? [16:13:52] or you could use MOD on log_id and use sql.php, running it a few times [16:15:40] <^d> eg with that mod? [16:16:41] <^d> Ah like WHERE log_id % 2 = 1 [16:17:46] update logging set log_title = concat("Anexo_Discussão:",log_title), log_namespace = 0 where log_namespace = 103 and mod(log_id,20) = X [16:17:55] X from 0 to 19 [16:22:19] <^d> ty sir [16:27:08] <^d> Ugh, still searching for rows to update [16:28:19] <^d> There we go [16:30:39] <^d> blazecat: Subsequent runs on 1, 2, 3 are fast because rows are hot :p [16:31:27] any objections to me making User:Maintenance script a bot on all wikis? [16:37:07] <^d> blazecat: All done now with logging, thx for your help [16:38:44] I take that as no objections :) [16:40:02] heh [16:43:16] legoktm: Just got a flood of DB alerts... is that you? [16:43:39] all s2 [16:44:43] hoo: uh, I haven't done anything besides making Maintenance script a bot on all wikis [16:45:48] Ok, then [16:46:11] Just wanted to make sure you're aware, in case it's SULF stuff [16:46:39] where are these alerts? I didn't see anything in -operations [16:47:00] They're not going into -operations [16:47:03] only to Sean and me [16:47:09] ah [16:47:24] <^d> legoktm: Was me [16:47:31] <^d> Er, hoo [16:47:33] <^d> Sorry [16:48:06] <^d> hoo: I was cleaning up some ptwiki logging table mess. I was batching my queries and watching replag to make sure it didn't spike too hard [16:48:13] <^d> (I had like 200k+ rows to update in total) [16:48:17] <^d> All done now [16:48:57] Ok [17:19:25] ^d: https://gerrit.wikimedia.org/r/#/c/204814/ random cleanups [17:20:38] <^d> blazecat: Do you think the Profiler calls in Setup.php are all that useful? [17:20:40] <^d> (merged, btw) [17:21:35] ^d: somewhat [17:21:42] <^d> All of them? :p [17:21:45] it helps that graphite data is back again ;) [17:22:08] speaking of which, blazecat, are you up for fixing the gdash dashboards? [17:22:11] i can merge a patch [17:22:17] <^d> I miss profile.cgi :p [17:22:42] ori: sometime, not soon [17:23:35] hokay [17:23:42] halright [17:24:06] legoktm: check your pm when you get a free moment, please and thank you [17:40:46] blazecat: so I see "LocalRenameUserJob: 0 queued; 1 claimed (1 active, 0 abandoned); 0 delayed", but "mwscript showJobs.php --wiki=arwikibooks --list --type=LocalRenameUserJob" doesn't show me the details [17:42:25] you can's see active jobs (there is no getAllClaimedJobs atm) [17:42:55] bd808: i love the scap ascii art btw [17:43:00] it makes me happy every time [17:43:01] that might be cool though (normally they finish fast enough that it doesn't matter) [17:43:50] hmm yeah I'm trying to figure out where it got stuck [17:43:55] ori: :) I guess I shouldn't have kept it in my local git tree for a year. Lots of folks seem to enjoy it [17:44:00] the debug log says the rename finished... [17:44:06] but the page moves haven't started yet [17:49:53] oh crap [17:49:56] database names have _'s in them [17:52:39] 10MediaWiki-Core-Team: Convert old 1.23wmf* and 1.24wmf* deployment branches to tags - https://phabricator.wikimedia.org/T1288#1216170 (10Krinkle) I've ran the script for 1.25 on mediawiki/core and the following mediawiki extension repositories I have checked out: ``` CategoryTree CentralNotice CirrusSearch Cite... [17:54:34] Krinkle: so what's the veredict re: eatmydata? [17:54:39] i have a patch to puppetize it if it's useful [17:54:47] ori: I'm not sure yet. [17:54:55] kk [17:55:01] let me know [17:55:10] blazecat, hoo|away: https://gerrit.wikimedia.org/r/204827 [17:55:20] ori: We have very little sample data since we've got multiple slaves and zend jobs don't run very often for mwcore. [17:55:34] 6MediaWiki-API-Team, 10MediaWiki-API, 7Documentation, 5Patch-For-Review: Document timestamp entry format on auto-generated MediaWiki API documentation page - https://phabricator.wikimedia.org/T93982#1216209 (10Anomie) 5Open>3Resolved [17:55:46] anyone renamed on be_x_oldwiki can't login right now [17:56:24] ori: But so far I think it doesn't run consistently faster and I'm somewhat uncomfortable with such low-level changes. Kind of grey area in what is supported. Seems more risky than it's worth. Considering we have no full time staff available to maintain it. [17:56:38] 448 [17:56:39] Krinkle: *nod* makes sense. [17:56:40] Keegan: ^ [17:57:07] Drats. [17:58:14] ori: Do you know how the Haskell patch got lost? [17:58:28] reedy updated to a new minor geshi version [17:59:11] Right [17:59:32] https://github.com/wikimedia/mediawiki-extensions-SyntaxHighlight_GeSHi/commits/HEAD/geshi/geshi [17:59:35] i got a heartbreaking email from a japanese wikipedian about how broken haskell content looks [17:59:39] heheh [17:59:41] Looks like there were no other patches [17:59:48] We really need to kill geshi [17:59:51] yeah [17:59:55] the upstream patch is still not merged [18:00:45] csteipp: could you look at https://gerrit.wikimedia.org/r/#/c/204827/1 ? [18:05:29] Keegan: ok so...I'm going to globally rename all the all the ~be_x_old users to ~be x old, which will cause extra log entries and stuff...is that ok? [18:05:57] bd808: the login with old username code doesn't handle underscores in db name, patch incoming [18:06:26] blazecat: (cc godog) would it be ok to get rid of the wiki name in the jobrunner metrics? [18:06:27] legoktm: Hm.. the spaces look funny though. Maybe dashes? :D [18:06:37] in effect, we'd lose the ability to look at job stats per wiki [18:06:49] but since disk space on graphite1001 is scarce, and jobrunner stats are a big part of that.. [18:07:13] ori: wow, 2013. And you remembered/found it [18:07:41] Krinkle: I'm fine with whatever...I'll leave it up to Keegan [18:07:54] legoktm: use dashes as Krinkle suggests :) [18:08:14] moar tildes. [18:08:33] blazecat ori I think we might be fine with having stats per-type and per-wiki but not type * wiki [18:09:13] per type seems fine [18:09:59] legoktm: https://gerrit.wikimedia.org/r/#/c/204832/1 [18:10:09] godog: per-type will have to do [18:12:13] ok we can revisit too if per-type only makes troubleshooting harder [18:12:52] blazecat: https://gerrit.wikimedia.org/r/204833 +1? [18:13:33] blazecat: updated https://gerrit.wikimedia.org/r/#/c/204827/ , it has the update to CentralAuthPlugin as well [18:21:26] blazecat: got the tests to pass, re-+2 please? :) [18:22:38] thanks [18:23:29] legoktm: Btw, before you finish today, can you give me a quick recap of where everything is, so I have so idea going into next week? [18:26:03] csteipp: sure. I've been writing everything down on https://etherpad.wikimedia.org/p/sulf [18:28:47] legoktm: are we going to attach these? https://meta.wikimedia.org/w/index.php?title=Special%3ACentralAuth&target=Spam+cleanup+script [18:29:34] MatmaRex: Much chance I'll see a CheckMatrix widget in OOUI soonish? :) [18:29:56] Not like "agh, this is slowing me down", just curious [18:30:47] Keegan: yeah I can do that [18:31:02] great [18:34:36] marktraceur: i can do it like, today, if you need it. but to be honest, i don't think i've seen such a thing used in any other interface, anywhere, and i'm not sure if it would be very useful to have in OOUI. why do you not want to just generate the necessary HTML ( with CheckboxInputWidgets) in MediaWiki code? [18:34:42] blazecat: Do you have a page of all the stuff devs need to know about caching now? I know the bits we've talked about, but don't feel like have a good idea of all the stuff that's changed recently. [18:34:59] ^d: was that log query on s2? [18:35:52] csteipp: the main page still needs to be merged, so I haven't done too much [18:36:04] the only thing to know now is "don't use merge()" ;) [18:36:55] ^d: I assumed it would have been faster based on the runtime in your COUNT(*) comment...I guess the cache must have been warmed when you did that [18:37:13] * blazecat can't wait till the masters are 10.10 so we can have parallel replication [18:37:19] <^d> blazecat: Yep [18:38:16] ^d: though you also may have not waiting long enough either [18:38:24] <^d> maybe [18:38:30] I'd expect to see 20 little spikes [18:38:33] not a huge blob [18:41:30] MatmaRex: My concern mostly is consistency and usability of the thing [18:44:33] marktraceur: using a table of CheckboxInputWidget we'll get exactly the same thing we have now, just with pretty styling. i think we can safely do that for now, and write it in OOUI if it turns out to be useful elsewhere? [18:44:46] OK sure! [18:48:28] ^d: Can you take a look at my question on https://gerrit.wikimedia.org/r/#/c/197737/, if there's any better hook or way to pull that data out than the way he's doing it now? [18:48:44] <^d> Uno momento pour favor [18:48:59] Oh, and from a producty perspective, do we really want an extension doing that? [18:49:17] No rush [18:52:32] <^d> The hooks and such surrounding search are terrible and in dire need of revamping. He's doing it about the only way you can [18:56:39] <^d> Better and less scary for XSS would be to add a hook to Cirrus at the right place for it [18:58:17] <^d> Also, keep in mind that ShowSearchHit is called for /each/ hit on a page. I'm curious if you had a ton of math results and set limit=500 how slow it'd make rendering of results. [18:58:28] <^d> Lots of pregging [18:58:32] <^d> To do in a loop [19:00:18] <^d> csteipp: Does this answer your questions? [19:11:58] blazecat: does https://gerrit.wikimedia.org/r/204846 look sane? I need to globally rename users like 'Wg~be_x_oldwiki' --> 'Wg~be-x-oldwiki' [19:12:28] legoktm: don't we do that for RenameUser (e.g. be lax about "from") already? [19:13:08] ^d: Mostly. Is there a particular hook in Cirrus I can point him to? [19:13:22] <^d> There isn't one yet, we'd need something in Searcher. [19:13:37] <^d> "would be to add a hook" :\ [19:14:14] heh, even newFromName( .., false) isn't enough heh [19:14:38] Gatcha. If you or Nik want to -2 from a product perspective, go for it. I'm guessing he'll convince someone to merge that at some point. [19:14:55] * blazecat is amazed mName is not protected [19:15:09] blazecat: yeah, but you need to be able to construct a user object with the bad name :/ [19:15:38] legoktm: would a 'force' option be better? [19:16:30] yes that would be safer [19:16:32] * legoktm amends [19:17:24] as long as these values come from the DB directly and RenameuserSQL isn't trying to massage it again [19:17:27] * blazecat looks [19:17:29] <^d> csteipp: Commented [19:17:46] blazecat: afais renameuser uses the use_id everywhere [19:17:52] well, logging uses the name [19:21:19] <^d> csteipp: And it's abandoned now. [19:21:25] updated https://gerrit.wikimedia.org/r/204846 [19:23:48] blazecat: and https://gerrit.wikimedia.org/r/204855 is the script I'm planning to use [19:24:09] heh, I was thinking of having newFromName() have 'force', I guess that can wait [19:24:38] legoktm: whats the +$options change about? [19:25:12] some defaults are removed, are they not needed? [19:25:46] blazecat: those will still be in $options and added properly? [19:26:04] I should probably just make it explicit... [19:26:44] is promotetoglobal always false? [19:26:59] I mean if you set it in $options it still would be false [19:27:03] in this case yes [19:27:22] in any case [19:27:31] unless the + operators switched [19:27:37] *operands [19:27:39] yeah [19:27:46] in this code path it should always be false [19:27:52] updated the patch to be explicit [19:27:52] ok [19:28:30] fyi https://phabricator.wikimedia.org/T96422 [19:28:55] * blazecat would have used empty() here ;) [19:29:11] Krinkle has taught me never to use empty :P [19:30:04] it's simpler in the case of boolean key/value flags [19:30:13] it's other cases that are sketchy [19:30:54] Pretty much everything in empty() is the same as php bool case [19:30:57] cast* [19:31:01] except for isset() [19:33:58] empty() is the same as !@$var [19:34:02] essentially [19:34:46] <^d> It's the @ part I don't like [19:36:41] Yup [19:37:02] The bool casting isn't pretty either, unless the $var actually is supposed to be a boolean [19:38:03] does PHP support explode()'ing from the right? [19:38:18] in regards to the limit [19:38:40] 'foo~bar~baz' --> ['foo~bar', 'baz'] [19:38:51] python has string.rsplit('~',1) [19:44:59] ^d: so SMW is github only? I can't find any docs on that (the docs mention git/gerrit migration as being new...) [19:45:28] <^d> as far as I know [19:45:38] <^d> anomie had fun with that I thought [19:46:42] blazecat: It is, yes [19:46:49] they manually copy transalations back and forth [19:46:54] SMW? Yeah, https://gerrit.wikimedia.org/r/#/c/184672/ got "Our repo is at https://github.com/SemanticMediaWiki/SemanticMediaWiki" "Do not submit non-i18n changes on Gerrit." from them. [19:46:55] but actual development is github only [19:47:38] anomie: beautiful [19:47:40] To which I say "Ok, you can fix your own code, I'll decline any bugs you might file about stuff breaking with mediawiki/core changes" [19:48:14] even if CR was in gerrit it would get -2ed for some reason or another [19:48:21] (along the lines of T64856) [19:48:23] anomie: yeah I ended up the same way mostly [19:49:22] legoktm: Hm.. probably not. I suspect you'll need to do a preg_match or a splice(-1) after the explode [19:49:27] ~..$ [20:06:36] ^d: https://gerrit.wikimedia.org/r/#/c/204867/1 [21:01:21] hey, anyone physically close to robla? [21:03:29] * marktraceur doesn't see 'im [21:08:14] thanks for checking [21:15:57] One does what one can. [21:28:32] blazecat: hmm, it didn't update the user table properly for some reason [21:28:51] 2015-04-17 21:24:43 terbium be_x_oldwiki: GlobalRename: Starting rename of Hoo MergeAccount Test~be_x_oldwiki to Hoo MergeAccount Test~be-x-oldwiki [21:29:02] but in the database it's still 'Hoo MergeAccount Test~be_x_oldwiki' [21:30:48] it uses array( 'user_name' => $this->old, 'user_id' => $this->uid ), for the select [21:34:08] getId() is returning 0... [21:34:44] blazecat: wat, User::idFromName re-validates the username... [21:35:25] legoktm: I was about to point out getId() [21:35:39] * blazecat spend a minutes fighting grep for some unknown reason [21:36:21] any ideas on how to work around that? [21:37:12] setId() sets the id and leaves mName alone [21:37:24] you could do the select yourself and put it in...maybe there is a nice way [21:38:07] it's kind of weird that idFromName was to validate a second time [21:39:23] legoktm: why does that fail title validation? [21:39:31] does that somehow call canonize? [21:39:36] Title converts _ --> spaces [21:39:55] even Title::makeTitle() does the conversion [21:41:28] User::newFromRow is a less hacky option perhaps [21:42:10] that looks sane-ish [21:43:44] protected though [21:43:54] no its public [21:43:58] newFromRow is [21:44:24] ah, right, I was looking at loadFromRow for second [21:46:39] blazecat: https://gerrit.wikimedia.org/r/204945 [22:11:41] https://meta.wikimedia.org/w/index.php?title=Special%3ACentralAuth&target=Wg~be-x-oldwiki woot [22:16:43] blazecat: all accounts fixed now, thanks for your help :) [22:18:15] Keegan: be-x-old is fixed [22:18:58] Keegan: I'm not sure if we have to change any messages or documentation to reflect _ --> - [22:19:38] Okay, I'll check and see. I don't think so in any significant way [22:30:17] anomie: would you be very sad if i merged https://gerrit.wikimedia.org/r/#/c/186757/ in spite of your opposition? :( [22:32:56] Keegan: and now cbk_zamwiki, fiu_vrowiki, pa_uswikimedia, roa_rupwiki, roa_rupwiktionary, zh_min_nanwikibooks, zh_min_nanwikiquote, zh_min_nanwikisource are all fixed [22:33:25] Wonderful.