[01:26:04] Ugh. Why does ExtensionProcessor use array_merge_recursive() for collecting global config overrides from extensions? [01:26:32] And why do core configuration settings override extension configuration settings? [02:11:42] tgr: maybe I'm misunderstanding, but extensions shouldn't be setting core config settings [05:52:28] legoktm: I was referring to ExtensionProcessor::$globalSettings [05:52:48] which as far as I can see doesn't support the use case of core setting a value and then an extension overriding it [06:30:02] tgr: right, extensions shouldn't set core config settings [06:30:54] if an extension needs to disable some behavior, it should use a hook instead of overriding a $wgFoo [06:47:07] tgr: or, if there is no chance of mutual exclusivity, core can define the setting as an attribute, such as wgResourceModules/ResourceModules [06:47:28] these are then rolled up, and the consumer must consume both [06:48:01] https://gerrit.wikimedia.org/g/mediawiki/core/+/4f2a354ded8cd7bc87a1e7007dd9366d5b8c65d9/includes/ServiceWiring.php#1780