[06:30:12] <_joe_> I find the fact that I prepared a patch which 1 - can't really affect page performance in a significant way 2 - has 100% coverage of the code not under maintenance/ results in two tests, one for coverage and one for page load that fail [06:31:18] <_joe_> pretty disconcerting [06:31:41] <_joe_> I can understand the coverage part if we count code in scripts as part of the coverage [16:31:32] https://liquipedia.net/dota2/Special:Version [16:31:37] Does this count as a MW fork? [16:36:19] <_joe_> why should it? [16:37:29] Just their interesting overriding of some stuff [16:37:35] https://tl.net/forum/website-feedback/392200-server-side-source-code-of-liquipedia [16:39:33] MasterOfChaos there is correct. GPL doesn't compel publication of source for hosted services [16:40:07] I wasn't particularly interested in chasing source code, more just out of interest [16:44:08] we could try to relicense as AGPL, but... in the past there has been concern that even the Foundation would not be able to fully comply with AGPL. It is questionable whether AGPL really allows for un-published security patches in a strict interpretation [16:52:14] <_joe_> bd808: indeed, GPL allows that and it's ok [16:52:31] <_joe_> I am not sure their changes are decent enough of general enough to grant publication [16:52:49] <_joe_> and they need to be able to not embarass themselves if not needed [21:04:27] Hi, I'm currently looking at this: https://codesearch.wmflabs.org/search/?q=other%5C-%5C%3Ecurrent&i=nope&files=&repos=, that code was introduced by Florian in https://gerrit.wikimedia.org/r/c/mediawiki/core/+/327312/27/includes/config/ConfigRepository.php [21:04:55] Does anyone know what that line of code does? ->current() doesn't exist in the SalvageableService interface [21:05:04] And is not implemented anywhere [21:05:36] iterable? [21:05:57] hmm, no [21:06:59] Reedy: I think not [21:12:23] xSavitar: Leave a CR comment and possibly file a task [21:12:29] I've not seen Florian around so recently [21:12:40] Okay, thanks [21:13:26] The fact there's end() used in there, I think it might be something iterable related, but obviously not implemented [21:15:03] Reedy: is that possible in PHP? [21:15:15] is what possible? [21:15:30] Maybe PHP guesses that the interface could be implementing Iterable? [21:15:35] No [21:15:40] I'm not sure, so just asking. [21:15:41] Oh, okay [21:15:54] Filing a task now [21:16:17] There's some tests that look like it might cover that.... So it'd be interesting to see if it's actually executed [21:19:43] Reedy: T221045 [21:19:44] T221045: Possible dead code in /includes/config/ConfigRepository.php - https://phabricator.wikimedia.org/T221045 [21:30:27] Krinkle: Thanks for sharing that, seems a section of that patch needs to be added to the landed code. [21:30:37] Reedy: You were right [21:31:06] heh [21:34:45] Someone's gonna have to do a pass through a bunch of extension code to find a faulty hook - https://phabricator.wikimedia.org/T220623 [21:34:46] :( [21:34:55] * Krinkle fleas to the super market [21:40:10] Krinkle: looks easy [21:40:10] reedy@deploy1001:~$ mwscript eval.php incubatorwiki [21:40:10] > var_dump( $wgHooks['getUserPermissionsErrors'] ); [21:40:10] array(2) { [21:40:10] [0]=> [21:40:12] string(46) "WikimediaIncubator::onGetUserPermissionsErrors" [21:40:15] [1]=> [21:40:17] string(39) "PageTranslationHooks::preventPatrolling" [21:40:19] } [21:41:32] public static function preventPatrolling( Title $title, User $user, $action, &$result ) { [21:41:32] if ( $action !== 'patrol' ) { [21:41:32] return true; [21:41:32] } [21:41:32] $page = TranslatablePage::isTranslationPage( $title ); [21:41:36] if ( $page !== false ) { [21:41:38] $result = [ 'tpt-patrolling-blocked' ]; [21:41:40] return false; [21:41:42] } [21:41:45] return true; [21:41:47] } [21:52:13] pass in a string... [21:52:17] Possibly get a bool back [21:52:19] Maybe a string [21:52:22] maybe an array [22:34:30] Reedy: OK, not what I expected. But perfect :D [22:39:46] deprecate it in favor of a new StatusValue parameter? [22:39:56] that's how this mess was handled in other hooks