[00:40:09] 10MediaWiki-Core-Team, 6Security: Bug 71394 - https://phabricator.wikimedia.org/T984#1724086 (10Krenair) [14:58:32] bd808: Who do we poke to get the gerrit repo request done? [15:03:08] anomie: I think anyone on this list -- https://gerrit.wikimedia.org/r/#/admin/groups/1,members [15:04:19] hashar: Have a minute to look at my request on https://www.mediawiki.org/wiki/Git/New_repositories/Requests ? [15:18:12] anomie: or ping chad [15:18:24] ostriches: Have a minute to look at my request on https://www.mediawiki.org/wiki/Git/New_repositories/Requests ? [15:24:14] I haven't made a repo in like a year, lemme see if I remember how lol [15:24:37] Is it not documented? [15:25:05] Course it is! [15:25:11] But that'd be silly for me to read the docs [15:28:36] anomie: Repo 'php-session-serializer' created. Adjusting ACL now but otherwise you're good to go [15:28:41] thanks! [15:29:12] yw [16:15:02] greg-g, ostriches: Who's good to review https://gerrit.wikimedia.org/r/246256 ? [16:16:40] Krinkle or hashar [16:17:05] Deploying.. [16:23:21] anomie: Done [16:23:29] thanks! [16:31:19] I promess [16:31:26] we will get integration/config migrated to scap3 :D [17:36:24] SMalyshev: Is that a baythreat shirt? [17:36:35] csteipp: yes :) [17:46:49] anomie: https://gerrit.wikimedia.org/r/246271 is something i'd like to have deployed today or tomorrow. i'm asking you as a multimedia guardian, how many beers do i owe you for your not blocking it? ;) [17:47:02] as an api guardian* [17:47:38] * anomie is in a meeting at the moment (and doesn't drink alcohol) [17:47:58] i can bring Polish candy to the summit then. :P [17:51:15] anomie: hey, I think you couldn't hear me in hangout [17:51:22] so I was going to mention we finished https://phabricator.wikimedia.org/T113521 [17:51:27] which is related to what you're talking about [17:51:46] but I didn't work on it, so if you need more details, come join -analytics and talk to madhuvishy and nuria [17:51:51] milimetric: Sometimes my Hangouts decides to just lose all incoming audio. Usually I can fix it easily, but not today for some reason. [17:52:07] :) technology is crazy! [17:52:12] milimetric: Anyway, bd808 is the one of us who's blocked there. [17:52:22] k, cool, I'll ping him in -analytics [18:02:05] MatmaRex: Yeah, that's pretty awful. What exactly is a "cross-wiki upload"? [18:21:12] anomie: there's a dialog in VE now that lets you directly upload a file to Commons and use it [18:21:14] https://commons.wikimedia.org/wiki/Commons:Village_pump#Cross-wiki_uploads_to_Commons_from_the_visual_editor [18:23:19] anomie: most of the code is in mediawiki.Upload in core (and several related classes) [18:31:11] MatmaRex: https://phabricator.wikimedia.org/P2198 ? [18:31:39] anomie: hummm. [18:32:42] can we add a generic tags= parameter to action=upload and turn the cross-wiki upload tag into a on-wiki one? [18:33:31] legoktm: yes, but the generic 'tags' parameter is apparently not supposed to be used by deployed code, only by gadgets and stuff [18:33:37] hm [18:33:45] (i'm guessing from looking at ApiEditPage code) [18:34:00] well if you want a quick commons-specific hack, you could set up a local AbuseFilter that adds tags based on the edit summary [18:34:27] legoktm: that code also specifies that only on-wiki-defined tags are allowed, which means they are editable by users, and we don't want that [18:34:39] action=upload probably should gain a "tags" parameter, yes. MatmaRex, who says "deployed code" shouldn't use it? [18:34:48] anomie: the code says so [18:35:03] it checks ChangeTags::listExplicitlyDefinedTags() [18:35:23] you can only explicitly define a tag from Special:EditTags [18:35:37] Is the code saying so referring to internal PHP calls rather than site JavaScript? [18:36:19] hmm? [18:37:36] this isn't site JS either, it's extension JS [18:38:00] mw.Upload is actually in core, which makes everything even weirder :P [18:41:17] anomie: i actually like https://phabricator.wikimedia.org/P2198 , simple enough and keeps our options open, if we try to implement something more permanent [18:42:10] Good, because I just -2ed your core patch ;) [18:42:43] * anomie likes coming up with a better solution [18:47:17] anomie: hmm, WikimediaEvents does not look like a good place to put it, but we apparently had the HHVM tag code thereā€¦ weird stuff. so let's stick to it, i guess. [18:47:28] i'll update its description later ;) [18:47:56] Yeah, it's a little weird that WikimediaEvents is also a place for dumping WMF-specific hook functions. [18:55:36] anomie: is checking $wgDBname === 'commonswiki' a good way to limit this to Commons only? (also, is $wgDBname the same in beta cluster wikis?) [18:56:40] use wfWikiId(), and yes [19:04:27] https://gerrit.wikimedia.org/r/246297 [19:13:42] MatmaRex: Should https://gerrit.wikimedia.org/r/#/c/246271/ be abandoned now? [19:13:56] yes, i just did [19:52:45] legoktm: happy to help with the postmortem if you like [19:58:01] Is Aaron not working this week? [20:01:33] the performance team is at velocity [20:01:43] so am i, but i have no attention span for talks [20:06:45] mh, ok :) [20:22:28] ori: how is https://wikitech.wikimedia.org/wiki/Incident_documentation/20151014-MediaWiki ? [20:23:16] sh i t t y w i f i i s sl o w [20:25:27] yeah looks fine [20:26:11] the fuck that mediawiki cached the output is a little wtf, i think checking the return value of preg_* calls is a good idea and should become something we make a habit of looking out for [20:26:17] *the fact, heh [20:26:27] well... [20:27:03] but it points to lack of adequate sanity-checking in general [20:27:22] the problem here is PHP that has this weird concept of warnings instead of exceptions. and it's fucked enough that you cant just fail on all warnings [20:28:11] preg_replace returns null on failure, which we casted into empty string later on [20:28:22] yep [20:28:40] some piece of code ought to have raised a red flag about the content being empty [20:28:47] should throw exceptions instead. but where we all were 20 years ago? [20:29:09] problem is that empty pages are expected [20:31:47] MaxSem: we could define a preg_replace_strict() in Core [20:32:01] that delegates to the real function, and throws an exception on null [20:33:36] sure, but that'll be only 4999 functions to go... [20:33:37] Also I was eating lego candy this morning, eating myself may not have been the best idea... [20:33:39] we have a lot of preg_replace() calls that don't check the return value [20:33:49] legoktm: be sure to include that in the postmortem [20:35:03] :P [20:49:14] Is cscott working remote or can I by any chance meet him in the office? [20:50:30] hoo, yes :P [20:50:58] Thank you for that logically correct, yet totally useless answer :D [20:51:20] he's remote but by chance you can meet him in the ofice (like, during dev summit) [20:51:32] so yes to both ;) [20:51:46] Ok, but not next week then, probably :P [20:51:49] ori: We could make a new library for that preg_replace_strict() [20:51:55] Call the library "But less dumb" [20:52:05] oh, you'll be in SF? [20:52:05] preg_replace_but_less_dumb() [20:52:14] MaxSem: Yes [20:52:20] ostriches, Safe\preg_replace() [20:52:32] err [20:52:35] Safe isn't nearly as snarky tho. [20:52:41] rather Safe::preg_replace [20:52:50] hoo, :beer: [20:53:53] :D [23:17:38] anomie, bd808: is it capitalized 'php-...' or 'Php-...' ? [23:17:44] (for adding to doc.wm.o) [23:17:51] I haven't been [23:18:09] er, so which one? :P [23:18:26] php- [23:18:42] anomie: https://packagist.org/packages/mediawiki/php-session-serializer [23:18:50] ok :) [23:19:14] bd808: Awesome [23:19:34] https://www.mediawiki.org/w/index.php?title=Php-session-serializer&action=historysubmit&type=revision&diff=1915372&oldid=1915351 [23:21:45] listed on https://doc.wikimedia.org/ :) [23:21:58] * bd808 tries to setup travisci for it and crosses fingers [23:22:19] the ui at travis doesn't like our 1700+ repos [23:24:23] bd808: Hmm. I thought it would be "wikimedia/php-session-serializer"? [23:24:34] "name": "mediawiki/php-session-serializer", [23:24:36] oops [23:24:42] missed that in review [23:25:46] probably worth fixing and tagging a v1.0.1 [23:25:51] bd808: Is fixing it as simple as updating composer.json, or is there other stuff that needs doing? [23:26:12] That's mostly it. I think I may have to poke packagist again too but that's easy [23:26:40] actually I bet packagist will just pick it up from the push hook [23:27:29] bd808: Want to push the +2 on https://gerrit.wikimedia.org/r/246440 ? [23:28:52] * anomie pushed the v1.0.1 tag [23:29:21] no, you'll have to submit it as a new package [23:29:38] I'll take care of it [23:29:43] and then mark the mediawiki/* one as abandoned or something [23:31:52] ok now have https://packagist.org/packages/wikimedia/php-session-serializer [23:32:03] and abandoned https://packagist.org/packages/wikimedia/php-session-serializer [23:35:24] the readme badges should magically fix themselves when they fall out of cache in an hour or so [23:40:03] my code review there was crap -- https://gerrit.wikimedia.org/r/#/c/246442/ [23:42:02] anomie: ugh. there is a floating point failure in the tests at travis too -- https://travis-ci.org/wikimedia/php-session-serializer/jobs/85438430 [23:42:38] getting "d:12.339999999999999857891452847979962825775146484375;" instead of expected "d:12.34;" [23:43:51] bd808: Ugh. Change it to 12.75 or something, that should do it. [23:44:08] yeah. something that doesn't have ieee encoding issues