[00:00:12] We're not going for Confoid or something then? [00:00:13] that's not bad [00:00:23] Lua replacement for eval.php! [00:00:43] you could provide methods for constructing objects with arbitrary class names, etc. [00:01:31] I'm not sure if you're joking, but it's a good idea [00:01:55] ori: we'll, we've been doing that when converting to extension.json by removing logic from extension setup and making them mostly static [00:02:16] well, the endpoint to this is obviously writing a PHP interpreter in PHP [00:02:43] which then begs the question: what exactly are the reasons for the restrictions on require/eval in RA mode? [00:03:18] perhaps it would be possible to have some kind of hobbled require/eval support in RA mode [00:04:14] e.g. you can't define a function, because if there is a call to a non-existent function, it will be hard-coded in the bytecode to emit a fatal error [00:05:17] but you can create local variables, you can call any global function, you can construct an instance of any class [00:06:00] so maybe eval() could work if class, function and constant definition were prevented [00:07:37] this concludes my train of thought :) [00:09:48] TimStarling: I couldn't even get my old repoauth script to compile the current branches. I gave up after about and hour of head scratching from unhelpful failure messages [00:10:29] I am running my test wiki on repoauth now, it seems to work, except for mustache templates [00:10:40] nice [00:15:17] I was talking the other day about tracking require/include that doesn't come from the autoloader. [00:15:24] There's a couple of extensions that do some nasty inclusions. [00:15:37] Plus some weird legacy stuff still in Setup.php, last I checked. [00:15:39] g2g [00:15:46] o/ ori [00:16:11] I just grab all *.php files [00:17:16] ostriches: I think Reedy said there are only 10-15 deployed extensions not using extension.json left [00:17:47] Using extension.json doesn't necessarily preclude you from doing weird inclusions in the file-scope of a class file. [00:17:58] eg: require(mydumbfile.php); ..... class Foo {} [00:18:06] And rely on the autoloader to include both. [00:19:20] -.- [00:19:59] So yeah, I was thinking of doing something like get_included_files() at the end of a request, comparing it to what Autoloader has explicitly required, and then log that. [00:20:14] ostriches: < 20 [00:20:23] TimStarling: huh. my script is magically working today. I got an 82M hhbc file for the live branch [00:20:35] And a few more WIP/waiting for review [00:20:41] maybe what was failing last week when I tried it was a combined 2 branch hhbc [00:21:36] bd808: did you hit the bug I fixed in https://gerrit.wikimedia.org/r/#/c/304769/ ? [00:22:00] https://phabricator.wikimedia.org/T139800#2538265 is the remaining offenders [00:22:34] 19, and I have 4 patches for them... [00:23:15] TimStarling: oh maybe. I didn't save the log files, but I was getting a hard failure with no reasonable error message from hhvm. [00:30:46] legoktm: Something like this: https://gerrit.wikimedia.org/r/304956 [00:36:37] jenkins says no [00:42:21] jenkins is a dick [00:42:42] oh short array syntax. [00:42:43] i hate that [00:43:44] Fwiw, swapping the array syntax was annoying. It makes backporting stuff to REL1_23 super painful for no real benefit [00:44:08] Maybe that's worth it to save 5 keystrokes [03:54:07] TimStarling: do you need vendor/? have you considered adding the base dir of files in get_included_files()? [03:54:33] vendor is under $IP [03:56:19] ok [03:56:21] I originally had a mode based on git ls-files, which would exclude files that aren't in git, but vendor and submodules were enough of a problem that I decided to remove it [03:56:58] as well as LocalSettings.php, PrivateSettings.php, etc. [03:57:12] I think get_included_files() would be a bit unpredictable [03:57:37] you don't want files disappearing from the repo when you stop referring to a class static constant in LocalSettings.php, that kind of thing [03:58:12] well, git ls-files would never have been for WMF, it would have been for development [03:58:22] since I often have broken half-written files lying around in working copies [03:58:32] I also forgot that you can get ignored files via git ls-files too [03:58:46] anyways, I figure that including files you don't strictly need doesn't cost much, but missing essential files is bad [03:59:23] so might as well use all the means of code discovery at your disposal, or at least all the ones that are easy [03:59:39] I'm not sure about it [03:59:47] like I say, I think it would be unpredictable [04:00:05] yeah, that's a fair point [04:00:17] maybe it's better to miss a file but at least do so consistently [04:03:12] if you want to patch it to add a warning to the user if a file is in get_included_files() but not in $files then I would probably accept that patch [04:12:25] too much work [06:10:14] bd808: https://gerrit.wikimedia.org/r/#/c/304929/ comment tweaks [07:04:47] gwicke: http://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Rpl_semi_sync_master_status could be useful [13:08:40] legoktm: Probably not, that would stop stuff like {{subst:foo}} from working on CSS pages which someone somewhere is probably relying on for installing user scripts or something. [13:14:19] I should qualify that: not as a simple change to be merged. If you want to do it you'd probably need to go through all the trouble of explicitly deprecating it. [20:00:03] bd808: https://gerrit.wikimedia.org/r/#/c/304823/1 [20:13:10] anomie: right, I missed that it does a lot more than fixing line endings [20:35:33] bd808: any chance you could peek at https://gerrit.wikimedia.org/r/#/c/304598/ too. I really want to get that one in. [20:36:50] AaronSchulz: I'll try to look at it later if I have some time. I'm trying really hard to stay on task with my Striker stuff right now (and failing in many ways) [20:37:38] maybe its something that anomie could look at? [20:39:45] Striker? that sounds like an old NES game. [20:41:23] :) It's an admin console for Tool Labs. https://wikitech.wikimedia.org/wiki/Striker [21:59:43] anomie: right. I wrote https://gerrit.wikimedia.org/r/#/c/305134/