Page MenuHomePhabricator

SiteConfiguration discards wiki-specific array-value-config-overrides where the array value is `false`
Open, Needs TriagePublic

Description

While looking over the patch for T346052: SiteConfiguration should not assume array with numerical keys is a list (https://gerrit.wikimedia.org/r/c/mediawiki/core/+/956018), I discovered another case in which a wiki-specific config override value would itself get overridden by a less-specific config value: where an array value (for a non-numeric key) is false.

includes/Config/SiteConfiguration.php; lines 622-627
} elseif ( $out[$key] === false ) {
	// A non-numerical key is taken and holds a false value,
	// allow it to be overridden always. This exists mainly for the purpose
	// merging permissions arrays, such as $wgGroupPermissions.
	$out[$key] = $value;
}

As a result of this, when using the following (example) config...

'default' => [
	'foo' => true,
	'bar' => true,
]

'+examplewiki' => [
	'bar' => false,
]

...the effective configuration for examplewiki would actually currently evaluate to:

"wgExampleConfigVariableName": {
	"bar": true,
	"foo": true
}

(ie., the 'bar' => false wiki-specific override is discarded by MediaWiki in favour of the default 'bar' => true value.)


Maybe I'm missing something, or there's a case that hasn't yet occurred to me; but at first glance, this behaviour seems counter-intuitive? I don't currently understand why false override-values for non-numerical keys should be 'allow[ed] to be overridden always'.

ccing @Func, @Krinkle & @daniel as folks involved in the discussion on https://gerrit.wikimedia.org/r/c/mediawiki/core/+/956018.

Event Timeline

Change #1216799 had a related patch set uploaded (by Func; author: Func):

[operations/mediawiki-config@master] [DNM] Test for T412118

https://gerrit.wikimedia.org/r/1216799

From testing with this DNM patch, removing this behaviour seems like it would lead to the following changes in WMF beta-cluster/production's effective configuration:

1diff --git a/tests/data/config-cache/conf-labs-metawiki.json b/tests/data/config-cache/conf-labs-metawiki.json
2index 23e25ec..10e802a 100644
3--- a/tests/data/config-cache/conf-labs-metawiki.json
4+++ b/tests/data/config-cache/conf-labs-metawiki.json
5@@ -701,11 +701,11 @@
6 "wgEventStreams": {
7 "eventlogging_NavigationTiming": {
8 "producers": {
9 "eventgate": {
10 "enrich_fields_from_http_headers": {
11- "http.request_headers.user-agent": "user-agent"
12+ "http.request_headers.user-agent": false
13 }
14 }
15 },
16 "schema_title": "analytics/legacy/navigationtiming",
17 "topic_prefixes": null,
18@@ -722,11 +722,11 @@
19 },
20 "eventlogging_HomepageVisit": {
21 "producers": {
22 "eventgate": {
23 "enrich_fields_from_http_headers": {
24- "http.request_headers.user-agent": "user-agent"
25+ "http.request_headers.user-agent": false
26 }
27 }
28 },
29 "schema_title": "analytics/legacy/homepagevisit",
30 "topic_prefixes": null,
31@@ -740,11 +740,11 @@
32 },
33 "eventlogging_HelpPanel": {
34 "producers": {
35 "eventgate": {
36 "enrich_fields_from_http_headers": {
37- "http.request_headers.user-agent": "user-agent"
38+ "http.request_headers.user-agent": false
39 }
40 }
41 },
42 "schema_title": "analytics/legacy/helppanel",
43 "topic_prefixes": null,
44diff --git a/tests/data/config-cache/conf-production-advisorswiki.json b/tests/data/config-cache/conf-production-advisorswiki.json
45index 0d6b2c5..f5401a0 100644
46--- a/tests/data/config-cache/conf-production-advisorswiki.json
47+++ b/tests/data/config-cache/conf-production-advisorswiki.json
48@@ -5077,8 +5077,8 @@
49 "wmgMinervaNightModeQueryString": [],
50 "wmgMinimumVideoPlayerSize": 800,
51 "wmgMonologChannels": {
52- "slow-parse": "debug",
53- "slow-parsoid": "info",
54+ "slow-parse": false,
55+ "slow-parsoid": false,
56 "authorization": {
57 "udp2log": "info",
58 "logstash": false
59diff --git a/tests/data/config-cache/conf-production-arbcom_cswiki.json b/tests/data/config-cache/conf-production-arbcom_cswiki.json
60index 20080ce..d763046 100644
61--- a/tests/data/config-cache/conf-production-arbcom_cswiki.json
62+++ b/tests/data/config-cache/conf-production-arbcom_cswiki.json
63@@ -5089,8 +5089,8 @@
64 "wmgMinervaNightModeQueryString": [],
65 "wmgMinimumVideoPlayerSize": 800,
66 "wmgMonologChannels": {
67- "slow-parse": "debug",
68- "slow-parsoid": "info",
69+ "slow-parse": false,
70+ "slow-parsoid": false,
71 "authorization": {
72 "udp2log": "info",
73 "logstash": false
74diff --git a/tests/data/config-cache/conf-production-arbcom_dewiki.json b/tests/data/config-cache/conf-production-arbcom_dewiki.json
75index b46499d..7714b6d 100644
76--- a/tests/data/config-cache/conf-production-arbcom_dewiki.json
77+++ b/tests/data/config-cache/conf-production-arbcom_dewiki.json
78@@ -5092,8 +5092,8 @@
79 "wmgMinervaNightModeQueryString": [],
80 "wmgMinimumVideoPlayerSize": 800,
81 "wmgMonologChannels": {
82- "slow-parse": "debug",
83- "slow-parsoid": "info",
84+ "slow-parse": false,
85+ "slow-parsoid": false,
86 "authorization": {
87 "udp2log": "info",
88 "logstash": false
89diff --git a/tests/data/config-cache/conf-production-arbcom_enwiki.json b/tests/data/config-cache/conf-production-arbcom_enwiki.json
90index 9e0ba32..f0ec91a 100644
91--- a/tests/data/config-cache/conf-production-arbcom_enwiki.json
92+++ b/tests/data/config-cache/conf-production-arbcom_enwiki.json
93@@ -5096,8 +5096,8 @@
94 "wmgMinervaNightModeQueryString": [],
95 "wmgMinimumVideoPlayerSize": 800,
96 "wmgMonologChannels": {
97- "slow-parse": "debug",
98- "slow-parsoid": "info",
99+ "slow-parse": false,
100+ "slow-parsoid": false,
101 "authorization": {
102 "udp2log": "info",
103 "logstash": false
104diff --git a/tests/data/config-cache/conf-production-arbcom_fiwiki.json b/tests/data/config-cache/conf-production-arbcom_fiwiki.json
105index 06fc6a3..cddd27f 100644
106--- a/tests/data/config-cache/conf-production-arbcom_fiwiki.json
107+++ b/tests/data/config-cache/conf-production-arbcom_fiwiki.json
108@@ -5097,8 +5097,8 @@
109 "wmgMinervaNightModeQueryString": [],
110 "wmgMinimumVideoPlayerSize": 800,
111 "wmgMonologChannels": {
112- "slow-parse": "debug",
113- "slow-parsoid": "info",
114+ "slow-parse": false,
115+ "slow-parsoid": false,
116 "authorization": {
117 "udp2log": "info",
118 "logstash": false
119diff --git a/tests/data/config-cache/conf-production-arbcom_itwiki.json b/tests/data/config-cache/conf-production-arbcom_itwiki.json
120index 8128ecd..abcbb52 100644
121--- a/tests/data/config-cache/conf-production-arbcom_itwiki.json
122+++ b/tests/data/config-cache/conf-production-arbcom_itwiki.json
123@@ -5079,8 +5079,8 @@
124 "wmgMinervaNightModeQueryString": [],
125 "wmgMinimumVideoPlayerSize": 800,
126 "wmgMonologChannels": {
127- "slow-parse": "debug",
128- "slow-parsoid": "info",
129+ "slow-parse": false,
130+ "slow-parsoid": false,
131 "authorization": {
132 "udp2log": "info",
133 "logstash": false
134diff --git a/tests/data/config-cache/conf-production-arbcom_nlwiki.json b/tests/data/config-cache/conf-production-arbcom_nlwiki.json
135index 639d5bf..aa04534 100644
136--- a/tests/data/config-cache/conf-production-arbcom_nlwiki.json
137+++ b/tests/data/config-cache/conf-production-arbcom_nlwiki.json
138@@ -5098,8 +5098,8 @@
139 "wmgMinervaNightModeQueryString": [],
140 "wmgMinimumVideoPlayerSize": 800,
141 "wmgMonologChannels": {
142- "slow-parse": "debug",
143- "slow-parsoid": "info",
144+ "slow-parse": false,
145+ "slow-parsoid": false,
146 "authorization": {
147 "udp2log": "info",
148 "logstash": false
149diff --git a/tests/data/config-cache/conf-production-arbcom_plwiki.json b/tests/data/config-cache/conf-production-arbcom_plwiki.json
150index 8bb1451..a2eb3b7 100644
151--- a/tests/data/config-cache/conf-production-arbcom_plwiki.json
152+++ b/tests/data/config-cache/conf-production-arbcom_plwiki.json
153@@ -5079,8 +5079,8 @@
154 "wmgMinervaNightModeQueryString": [],
155 "wmgMinimumVideoPlayerSize": 800,
156 "wmgMonologChannels": {
157- "slow-parse": "debug",
158- "slow-parsoid": "info",
159+ "slow-parse": false,
160+ "slow-parsoid": false,
161 "authorization": {
162 "udp2log": "info",
163 "logstash": false
164diff --git a/tests/data/config-cache/conf-production-arbcom_ruwiki.json b/tests/data/config-cache/conf-production-arbcom_ruwiki.json
165index 0707a3a..98e147e 100644
166--- a/tests/data/config-cache/conf-production-arbcom_ruwiki.json
167+++ b/tests/data/config-cache/conf-production-arbcom_ruwiki.json
168@@ -5123,8 +5123,8 @@
169 "wmgMinervaNightModeQueryString": [],
170 "wmgMinimumVideoPlayerSize": 800,
171 "wmgMonologChannels": {
172- "slow-parse": "debug",
173- "slow-parsoid": "info",
174+ "slow-parse": false,
175+ "slow-parsoid": false,
176 "authorization": {
177 "udp2log": "info",
178 "logstash": false
179diff --git a/tests/data/config-cache/conf-production-arbcom_zhwiki.json b/tests/data/config-cache/conf-production-arbcom_zhwiki.json
180index 32c89d1..07ab851 100644
181--- a/tests/data/config-cache/conf-production-arbcom_zhwiki.json
182+++ b/tests/data/config-cache/conf-production-arbcom_zhwiki.json
183@@ -5085,8 +5085,8 @@
184 "wmgMinervaNightModeQueryString": [],
185 "wmgMinimumVideoPlayerSize": 800,
186 "wmgMonologChannels": {
187- "slow-parse": "debug",
188- "slow-parsoid": "info",
189+ "slow-parse": false,
190+ "slow-parsoid": false,
191 "authorization": {
192 "udp2log": "info",
193 "logstash": false
194diff --git a/tests/data/config-cache/conf-production-auditcomwiki.json b/tests/data/config-cache/conf-production-auditcomwiki.json
195index 787b53b..805e070 100644
196--- a/tests/data/config-cache/conf-production-auditcomwiki.json
197+++ b/tests/data/config-cache/conf-production-auditcomwiki.json
198@@ -5080,8 +5080,8 @@
199 "wmgMinervaNightModeQueryString": [],
200 "wmgMinimumVideoPlayerSize": 800,
201 "wmgMonologChannels": {
202- "slow-parse": "debug",
203- "slow-parsoid": "info",
204+ "slow-parse": false,
205+ "slow-parsoid": false,
206 "authorization": {
207 "udp2log": "info",
208 "logstash": false
209diff --git a/tests/data/config-cache/conf-production-boardgovcomwiki.json b/tests/data/config-cache/conf-production-boardgovcomwiki.json
210index 93d7e1f..91f499b 100644
211--- a/tests/data/config-cache/conf-production-boardgovcomwiki.json
212+++ b/tests/data/config-cache/conf-production-boardgovcomwiki.json
213@@ -5078,8 +5078,8 @@
214 "wmgMinervaNightModeQueryString": [],
215 "wmgMinimumVideoPlayerSize": 800,
216 "wmgMonologChannels": {
217- "slow-parse": "debug",
218- "slow-parsoid": "info",
219+ "slow-parse": false,
220+ "slow-parsoid": false,
221 "authorization": {
222 "udp2log": "info",
223 "logstash": false
224diff --git a/tests/data/config-cache/conf-production-boardwiki.json b/tests/data/config-cache/conf-production-boardwiki.json
225index ba8d473..48f54ed 100644
226--- a/tests/data/config-cache/conf-production-boardwiki.json
227+++ b/tests/data/config-cache/conf-production-boardwiki.json
228@@ -5084,8 +5084,8 @@
229 "wmgMinervaNightModeQueryString": [],
230 "wmgMinimumVideoPlayerSize": 800,
231 "wmgMonologChannels": {
232- "slow-parse": "debug",
233- "slow-parsoid": "info",
234+ "slow-parse": false,
235+ "slow-parsoid": false,
236 "authorization": {
237 "udp2log": "info",
238 "logstash": false
239diff --git a/tests/data/config-cache/conf-production-chairwiki.json b/tests/data/config-cache/conf-production-chairwiki.json
240index 46b6355..5df5a4e 100644
241--- a/tests/data/config-cache/conf-production-chairwiki.json
242+++ b/tests/data/config-cache/conf-production-chairwiki.json
243@@ -5080,8 +5080,8 @@
244 "wmgMinervaNightModeQueryString": [],
245 "wmgMinimumVideoPlayerSize": 800,
246 "wmgMonologChannels": {
247- "slow-parse": "debug",
248- "slow-parsoid": "info",
249+ "slow-parse": false,
250+ "slow-parsoid": false,
251 "authorization": {
252 "udp2log": "info",
253 "logstash": false
254diff --git a/tests/data/config-cache/conf-production-chapcomwiki.json b/tests/data/config-cache/conf-production-chapcomwiki.json
255index 64b0435..1b1f139 100644
256--- a/tests/data/config-cache/conf-production-chapcomwiki.json
257+++ b/tests/data/config-cache/conf-production-chapcomwiki.json
258@@ -5089,8 +5089,8 @@
259 "wmgMinervaNightModeQueryString": [],
260 "wmgMinimumVideoPlayerSize": 800,
261 "wmgMonologChannels": {
262- "slow-parse": "debug",
263- "slow-parsoid": "info",
264+ "slow-parse": false,
265+ "slow-parsoid": false,
266 "authorization": {
267 "udp2log": "info",
268 "logstash": false
269diff --git a/tests/data/config-cache/conf-production-checkuserwiki.json b/tests/data/config-cache/conf-production-checkuserwiki.json
270index 5eee292..c613cbf 100644
271--- a/tests/data/config-cache/conf-production-checkuserwiki.json
272+++ b/tests/data/config-cache/conf-production-checkuserwiki.json
273@@ -5099,8 +5099,8 @@
274 "wmgMinervaNightModeQueryString": [],
275 "wmgMinimumVideoPlayerSize": 800,
276 "wmgMonologChannels": {
277- "slow-parse": "debug",
278- "slow-parsoid": "info",
279+ "slow-parse": false,
280+ "slow-parsoid": false,
281 "authorization": {
282 "udp2log": "info",
283 "logstash": false
284diff --git a/tests/data/config-cache/conf-production-collabwiki.json b/tests/data/config-cache/conf-production-collabwiki.json
285index 754f4fe..974f541 100644
286--- a/tests/data/config-cache/conf-production-collabwiki.json
287+++ b/tests/data/config-cache/conf-production-collabwiki.json
288@@ -5079,8 +5079,8 @@
289 "wmgMinervaNightModeQueryString": [],
290 "wmgMinimumVideoPlayerSize": 800,
291 "wmgMonologChannels": {
292- "slow-parse": "debug",
293- "slow-parsoid": "info",
294+ "slow-parse": false,
295+ "slow-parsoid": false,
296 "authorization": {
297 "udp2log": "info",
298 "logstash": false
299diff --git a/tests/data/config-cache/conf-production-ecwikimedia.json b/tests/data/config-cache/conf-production-ecwikimedia.json
300index a6122b4..1b65db3 100644
301--- a/tests/data/config-cache/conf-production-ecwikimedia.json
302+++ b/tests/data/config-cache/conf-production-ecwikimedia.json
303@@ -5084,8 +5084,8 @@
304 "wmgMinervaNightModeQueryString": [],
305 "wmgMinimumVideoPlayerSize": 800,
306 "wmgMonologChannels": {
307- "slow-parse": "debug",
308- "slow-parsoid": "info",
309+ "slow-parse": false,
310+ "slow-parsoid": false,
311 "authorization": {
312 "udp2log": "info",
313 "logstash": false
314diff --git a/tests/data/config-cache/conf-production-electcomwiki.json b/tests/data/config-cache/conf-production-electcomwiki.json
315index 433aa5c..518caaa 100644
316--- a/tests/data/config-cache/conf-production-electcomwiki.json
317+++ b/tests/data/config-cache/conf-production-electcomwiki.json
318@@ -5076,8 +5076,8 @@
319 "wmgMinervaNightModeQueryString": [],
320 "wmgMinimumVideoPlayerSize": 800,
321 "wmgMonologChannels": {
322- "slow-parse": "debug",
323- "slow-parsoid": "info",
324+ "slow-parse": false,
325+ "slow-parsoid": false,
326 "authorization": {
327 "udp2log": "info",
328 "logstash": false
329diff --git a/tests/data/config-cache/conf-production-execwiki.json b/tests/data/config-cache/conf-production-execwiki.json
330index 198ac34..1db9d8b 100644
331--- a/tests/data/config-cache/conf-production-execwiki.json
332+++ b/tests/data/config-cache/conf-production-execwiki.json
333@@ -5080,8 +5080,8 @@
334 "wmgMinervaNightModeQueryString": [],
335 "wmgMinimumVideoPlayerSize": 800,
336 "wmgMonologChannels": {
337- "slow-parse": "debug",
338- "slow-parsoid": "info",
339+ "slow-parse": false,
340+ "slow-parsoid": false,
341 "authorization": {
342 "udp2log": "info",
343 "logstash": false
344diff --git a/tests/data/config-cache/conf-production-fdcwiki.json b/tests/data/config-cache/conf-production-fdcwiki.json
345index ee7961d..dc9bbce 100644
346--- a/tests/data/config-cache/conf-production-fdcwiki.json
347+++ b/tests/data/config-cache/conf-production-fdcwiki.json
348@@ -5082,8 +5082,8 @@
349 "wmgMinervaNightModeQueryString": [],
350 "wmgMinimumVideoPlayerSize": 800,
351 "wmgMonologChannels": {
352- "slow-parse": "debug",
353- "slow-parsoid": "info",
354+ "slow-parse": false,
355+ "slow-parsoid": false,
356 "authorization": {
357 "udp2log": "info",
358 "logstash": false
359diff --git a/tests/data/config-cache/conf-production-grantswiki.json b/tests/data/config-cache/conf-production-grantswiki.json
360index 6e143bc..9f5706c 100644
361--- a/tests/data/config-cache/conf-production-grantswiki.json
362+++ b/tests/data/config-cache/conf-production-grantswiki.json
363@@ -5080,8 +5080,8 @@
364 "wmgMinervaNightModeQueryString": [],
365 "wmgMinimumVideoPlayerSize": 800,
366 "wmgMonologChannels": {
367- "slow-parse": "debug",
368- "slow-parsoid": "info",
369+ "slow-parse": false,
370+ "slow-parsoid": false,
371 "authorization": {
372 "udp2log": "info",
373 "logstash": false
374diff --git a/tests/data/config-cache/conf-production-id_internalwikimedia.json b/tests/data/config-cache/conf-production-id_internalwikimedia.json
375index 73dbc51..7666b56 100644
376--- a/tests/data/config-cache/conf-production-id_internalwikimedia.json
377+++ b/tests/data/config-cache/conf-production-id_internalwikimedia.json
378@@ -5082,8 +5082,8 @@
379 "wmgMinervaNightModeQueryString": [],
380 "wmgMinimumVideoPlayerSize": 800,
381 "wmgMonologChannels": {
382- "slow-parse": "debug",
383- "slow-parsoid": "info",
384+ "slow-parse": false,
385+ "slow-parsoid": false,
386 "authorization": {
387 "udp2log": "info",
388 "logstash": false
389diff --git a/tests/data/config-cache/conf-production-iegcomwiki.json b/tests/data/config-cache/conf-production-iegcomwiki.json
390index 0e7e46b..121f00b 100644
391--- a/tests/data/config-cache/conf-production-iegcomwiki.json
392+++ b/tests/data/config-cache/conf-production-iegcomwiki.json
393@@ -5078,8 +5078,8 @@
394 "wmgMinervaNightModeQueryString": [],
395 "wmgMinimumVideoPlayerSize": 800,
396 "wmgMonologChannels": {
397- "slow-parse": "debug",
398- "slow-parsoid": "info",
399+ "slow-parse": false,
400+ "slow-parsoid": false,
401 "authorization": {
402 "udp2log": "info",
403 "logstash": false
404diff --git a/tests/data/config-cache/conf-production-ilwikimedia.json b/tests/data/config-cache/conf-production-ilwikimedia.json
405index 640d061..254035e 100644
406--- a/tests/data/config-cache/conf-production-ilwikimedia.json
407+++ b/tests/data/config-cache/conf-production-ilwikimedia.json
408@@ -5079,8 +5079,8 @@
409 "wmgMinervaNightModeQueryString": [],
410 "wmgMinimumVideoPlayerSize": 800,
411 "wmgMonologChannels": {
412- "slow-parse": "debug",
413- "slow-parsoid": "info",
414+ "slow-parse": false,
415+ "slow-parsoid": false,
416 "authorization": {
417 "udp2log": "info",
418 "logstash": false
419diff --git a/tests/data/config-cache/conf-production-internalwiki.json b/tests/data/config-cache/conf-production-internalwiki.json
420index 4f7b744..ffa26d0 100644
421--- a/tests/data/config-cache/conf-production-internalwiki.json
422+++ b/tests/data/config-cache/conf-production-internalwiki.json
423@@ -5116,8 +5116,8 @@
424 "wmgMinervaNightModeQueryString": [],
425 "wmgMinimumVideoPlayerSize": 800,
426 "wmgMonologChannels": {
427- "slow-parse": "debug",
428- "slow-parsoid": "info",
429+ "slow-parse": false,
430+ "slow-parsoid": false,
431 "authorization": {
432 "udp2log": "info",
433 "logstash": false
434diff --git a/tests/data/config-cache/conf-production-legalteamwiki.json b/tests/data/config-cache/conf-production-legalteamwiki.json
435index fb1feb5..e7f4160 100644
436--- a/tests/data/config-cache/conf-production-legalteamwiki.json
437+++ b/tests/data/config-cache/conf-production-legalteamwiki.json
438@@ -5094,8 +5094,8 @@
439 "wmgMinervaNightModeQueryString": [],
440 "wmgMinimumVideoPlayerSize": 800,
441 "wmgMonologChannels": {
442- "slow-parse": "debug",
443- "slow-parsoid": "info",
444+ "slow-parse": false,
445+ "slow-parsoid": false,
446 "authorization": {
447 "udp2log": "info",
448 "logstash": false
449diff --git a/tests/data/config-cache/conf-production-movementroleswiki.json b/tests/data/config-cache/conf-production-movementroleswiki.json
450index 5a004c5..3d46302 100644
451--- a/tests/data/config-cache/conf-production-movementroleswiki.json
452+++ b/tests/data/config-cache/conf-production-movementroleswiki.json
453@@ -5079,8 +5079,8 @@
454 "wmgMinervaNightModeQueryString": [],
455 "wmgMinimumVideoPlayerSize": 800,
456 "wmgMonologChannels": {
457- "slow-parse": "debug",
458- "slow-parsoid": "info",
459+ "slow-parse": false,
460+ "slow-parsoid": false,
461 "authorization": {
462 "udp2log": "info",
463 "logstash": false
464diff --git a/tests/data/config-cache/conf-production-noboard_chapterswikimedia.json b/tests/data/config-cache/conf-production-noboard_chapterswikimedia.json
465index 36919b2..afc326c 100644
466--- a/tests/data/config-cache/conf-production-noboard_chapterswikimedia.json
467+++ b/tests/data/config-cache/conf-production-noboard_chapterswikimedia.json
468@@ -5081,8 +5081,8 @@
469 "wmgMinervaNightModeQueryString": [],
470 "wmgMinimumVideoPlayerSize": 800,
471 "wmgMonologChannels": {
472- "slow-parse": "debug",
473- "slow-parsoid": "info",
474+ "slow-parse": false,
475+ "slow-parsoid": false,
476 "authorization": {
477 "udp2log": "info",
478 "logstash": false
479diff --git a/tests/data/config-cache/conf-production-officewiki.json b/tests/data/config-cache/conf-production-officewiki.json
480index a58a0cf..2f0cd36 100644
481--- a/tests/data/config-cache/conf-production-officewiki.json
482+++ b/tests/data/config-cache/conf-production-officewiki.json
483@@ -5117,8 +5117,8 @@
484 "wmgMinervaNightModeQueryString": [],
485 "wmgMinimumVideoPlayerSize": 800,
486 "wmgMonologChannels": {
487- "slow-parse": "debug",
488- "slow-parsoid": "info",
489+ "slow-parse": false,
490+ "slow-parsoid": false,
491 "authorization": {
492 "udp2log": "info",
493 "logstash": false
494diff --git a/tests/data/config-cache/conf-production-ombudsmenwiki.json b/tests/data/config-cache/conf-production-ombudsmenwiki.json
495index e99f005..76f310e 100644
496--- a/tests/data/config-cache/conf-production-ombudsmenwiki.json
497+++ b/tests/data/config-cache/conf-production-ombudsmenwiki.json
498@@ -5099,8 +5099,8 @@
499 "wmgMinervaNightModeQueryString": [],
500 "wmgMinimumVideoPlayerSize": 800,
501 "wmgMonologChannels": {
502- "slow-parse": "debug",
503- "slow-parsoid": "info",
504+ "slow-parse": false,
505+ "slow-parsoid": false,
506 "authorization": {
507 "udp2log": "info",
508 "logstash": false
509diff --git a/tests/data/config-cache/conf-production-otrs_wikiwiki.json b/tests/data/config-cache/conf-production-otrs_wikiwiki.json
510index 0f7ce87..8eeeeed 100644
511--- a/tests/data/config-cache/conf-production-otrs_wikiwiki.json
512+++ b/tests/data/config-cache/conf-production-otrs_wikiwiki.json
513@@ -5087,8 +5087,8 @@
514 "wmgMinervaNightModeQueryString": [],
515 "wmgMinimumVideoPlayerSize": 800,
516 "wmgMonologChannels": {
517- "slow-parse": "debug",
518- "slow-parsoid": "info",
519+ "slow-parse": false,
520+ "slow-parsoid": false,
521 "authorization": {
522 "udp2log": "info",
523 "logstash": false
524diff --git a/tests/data/config-cache/conf-production-projectcomwiki.json b/tests/data/config-cache/conf-production-projectcomwiki.json
525index 6f46160..fd18b39 100644
526--- a/tests/data/config-cache/conf-production-projectcomwiki.json
527+++ b/tests/data/config-cache/conf-production-projectcomwiki.json
528@@ -5081,8 +5081,8 @@
529 "wmgMinervaNightModeQueryString": [],
530 "wmgMinimumVideoPlayerSize": 800,
531 "wmgMonologChannels": {
532- "slow-parse": "debug",
533- "slow-parsoid": "info",
534+ "slow-parse": false,
535+ "slow-parsoid": false,
536 "authorization": {
537 "udp2log": "info",
538 "logstash": false
539diff --git a/tests/data/config-cache/conf-production-searchcomwiki.json b/tests/data/config-cache/conf-production-searchcomwiki.json
540index e9ed619..dee19d5 100644
541--- a/tests/data/config-cache/conf-production-searchcomwiki.json
542+++ b/tests/data/config-cache/conf-production-searchcomwiki.json
543@@ -5114,8 +5114,8 @@
544 "wmgMinervaNightModeQueryString": [],
545 "wmgMinimumVideoPlayerSize": 800,
546 "wmgMonologChannels": {
547- "slow-parse": "debug",
548- "slow-parsoid": "info",
549+ "slow-parse": false,
550+ "slow-parsoid": false,
551 "authorization": {
552 "udp2log": "info",
553 "logstash": false
554diff --git a/tests/data/config-cache/conf-production-spcomwiki.json b/tests/data/config-cache/conf-production-spcomwiki.json
555index 8722dc3..2acb931 100644
556--- a/tests/data/config-cache/conf-production-spcomwiki.json
557+++ b/tests/data/config-cache/conf-production-spcomwiki.json
558@@ -5114,8 +5114,8 @@
559 "wmgMinervaNightModeQueryString": [],
560 "wmgMinimumVideoPlayerSize": 800,
561 "wmgMonologChannels": {
562- "slow-parse": "debug",
563- "slow-parsoid": "info",
564+ "slow-parse": false,
565+ "slow-parsoid": false,
566 "authorization": {
567 "udp2log": "info",
568 "logstash": false
569diff --git a/tests/data/config-cache/conf-production-stewardwiki.json b/tests/data/config-cache/conf-production-stewardwiki.json
570index 4e61a97..b09a9e0 100644
571--- a/tests/data/config-cache/conf-production-stewardwiki.json
572+++ b/tests/data/config-cache/conf-production-stewardwiki.json
573@@ -5093,8 +5093,8 @@
574 "wmgMinervaNightModeQueryString": [],
575 "wmgMinimumVideoPlayerSize": 800,
576 "wmgMonologChannels": {
577- "slow-parse": "debug",
578- "slow-parsoid": "info",
579+ "slow-parse": false,
580+ "slow-parsoid": false,
581 "authorization": {
582 "udp2log": "info",
583 "logstash": false
584diff --git a/tests/data/config-cache/conf-production-sysop_itwiki.json b/tests/data/config-cache/conf-production-sysop_itwiki.json
585index e7e2a8e..f51d5f4 100644
586--- a/tests/data/config-cache/conf-production-sysop_itwiki.json
587+++ b/tests/data/config-cache/conf-production-sysop_itwiki.json
588@@ -5101,8 +5101,8 @@
589 "wmgMinervaNightModeQueryString": [],
590 "wmgMinimumVideoPlayerSize": 800,
591 "wmgMonologChannels": {
592- "slow-parse": "debug",
593- "slow-parsoid": "info",
594+ "slow-parse": false,
595+ "slow-parsoid": false,
596 "authorization": {
597 "udp2log": "info",
598 "logstash": false
599diff --git a/tests/data/config-cache/conf-production-sysop_plwiki.json b/tests/data/config-cache/conf-production-sysop_plwiki.json
600index ab88705..3788548 100644
601--- a/tests/data/config-cache/conf-production-sysop_plwiki.json
602+++ b/tests/data/config-cache/conf-production-sysop_plwiki.json
603@@ -5077,8 +5077,8 @@
604 "wmgMinervaNightModeQueryString": [],
605 "wmgMinimumVideoPlayerSize": 800,
606 "wmgMonologChannels": {
607- "slow-parse": "debug",
608- "slow-parsoid": "info",
609+ "slow-parse": false,
610+ "slow-parsoid": false,
611 "authorization": {
612 "udp2log": "info",
613 "logstash": false
614diff --git a/tests/data/config-cache/conf-production-techconductwiki.json b/tests/data/config-cache/conf-production-techconductwiki.json
615index 24e4161..f83baf7 100644
616--- a/tests/data/config-cache/conf-production-techconductwiki.json
617+++ b/tests/data/config-cache/conf-production-techconductwiki.json
618@@ -5078,8 +5078,8 @@
619 "wmgMinervaNightModeQueryString": [],
620 "wmgMinimumVideoPlayerSize": 800,
621 "wmgMonologChannels": {
622- "slow-parse": "debug",
623- "slow-parsoid": "info",
624+ "slow-parse": false,
625+ "slow-parsoid": false,
626 "authorization": {
627 "udp2log": "info",
628 "logstash": false
629diff --git a/tests/data/config-cache/conf-production-transitionteamwiki.json b/tests/data/config-cache/conf-production-transitionteamwiki.json
630index 1004afb..41f4820 100644
631--- a/tests/data/config-cache/conf-production-transitionteamwiki.json
632+++ b/tests/data/config-cache/conf-production-transitionteamwiki.json
633@@ -5114,8 +5114,8 @@
634 "wmgMinervaNightModeQueryString": [],
635 "wmgMinimumVideoPlayerSize": 800,
636 "wmgMonologChannels": {
637- "slow-parse": "debug",
638- "slow-parsoid": "info",
639+ "slow-parse": false,
640+ "slow-parsoid": false,
641 "authorization": {
642 "udp2log": "info",
643 "logstash": false
644diff --git a/tests/data/config-cache/conf-production-u4cwiki.json b/tests/data/config-cache/conf-production-u4cwiki.json
645index b30e627..cb7f027 100644
646--- a/tests/data/config-cache/conf-production-u4cwiki.json
647+++ b/tests/data/config-cache/conf-production-u4cwiki.json
648@@ -5087,8 +5087,8 @@
649 "wmgMinervaNightModeQueryString": [],
650 "wmgMinimumVideoPlayerSize": 800,
651 "wmgMonologChannels": {
652- "slow-parse": "debug",
653- "slow-parsoid": "info",
654+ "slow-parse": false,
655+ "slow-parsoid": false,
656 "authorization": {
657 "udp2log": "info",
658 "logstash": false
659diff --git a/tests/data/config-cache/conf-production-wg_enwiki.json b/tests/data/config-cache/conf-production-wg_enwiki.json
660index d52c2e0..68bb670 100644
661--- a/tests/data/config-cache/conf-production-wg_enwiki.json
662+++ b/tests/data/config-cache/conf-production-wg_enwiki.json
663@@ -5097,8 +5097,8 @@
664 "wmgMinervaNightModeQueryString": [],
665 "wmgMinimumVideoPlayerSize": 800,
666 "wmgMonologChannels": {
667- "slow-parse": "debug",
668- "slow-parsoid": "info",
669+ "slow-parse": false,
670+ "slow-parsoid": false,
671 "authorization": {
672 "udp2log": "info",
673 "logstash": false
674diff --git a/tests/data/config-cache/conf-production-wikimaniateamwiki.json b/tests/data/config-cache/conf-production-wikimaniateamwiki.json
675index aa12802..cb7434b 100644
676--- a/tests/data/config-cache/conf-production-wikimaniateamwiki.json
677+++ b/tests/data/config-cache/conf-production-wikimaniateamwiki.json
678@@ -5081,8 +5081,8 @@
679 "wmgMinervaNightModeQueryString": [],
680 "wmgMinimumVideoPlayerSize": 800,
681 "wmgMonologChannels": {
682- "slow-parse": "debug",
683- "slow-parsoid": "info",
684+ "slow-parse": false,
685+ "slow-parsoid": false,
686 "authorization": {
687 "udp2log": "info",
688 "logstash": false
689--------------------------------------------
690 Files changed
691--------------------------------------------
692tests/data/config-cache/conf-labs-metawiki.json
693tests/data/config-cache/conf-production-advisorswiki.json
694tests/data/config-cache/conf-production-arbcom_cswiki.json
695tests/data/config-cache/conf-production-arbcom_dewiki.json
696tests/data/config-cache/conf-production-arbcom_enwiki.json
697tests/data/config-cache/conf-production-arbcom_fiwiki.json
698tests/data/config-cache/conf-production-arbcom_itwiki.json
699tests/data/config-cache/conf-production-arbcom_nlwiki.json
700tests/data/config-cache/conf-production-arbcom_plwiki.json
701tests/data/config-cache/conf-production-arbcom_ruwiki.json
702tests/data/config-cache/conf-production-arbcom_zhwiki.json
703tests/data/config-cache/conf-production-auditcomwiki.json
704tests/data/config-cache/conf-production-boardgovcomwiki.json
705tests/data/config-cache/conf-production-boardwiki.json
706tests/data/config-cache/conf-production-chairwiki.json
707tests/data/config-cache/conf-production-chapcomwiki.json
708tests/data/config-cache/conf-production-checkuserwiki.json
709tests/data/config-cache/conf-production-collabwiki.json
710tests/data/config-cache/conf-production-ecwikimedia.json
711tests/data/config-cache/conf-production-electcomwiki.json
712tests/data/config-cache/conf-production-execwiki.json
713tests/data/config-cache/conf-production-fdcwiki.json
714tests/data/config-cache/conf-production-grantswiki.json
715tests/data/config-cache/conf-production-id_internalwikimedia.json
716tests/data/config-cache/conf-production-iegcomwiki.json
717tests/data/config-cache/conf-production-ilwikimedia.json
718tests/data/config-cache/conf-production-internalwiki.json
719tests/data/config-cache/conf-production-legalteamwiki.json
720tests/data/config-cache/conf-production-movementroleswiki.json
721tests/data/config-cache/conf-production-noboard_chapterswikimedia.json
722tests/data/config-cache/conf-production-officewiki.json
723tests/data/config-cache/conf-production-ombudsmenwiki.json
724tests/data/config-cache/conf-production-otrs_wikiwiki.json
725tests/data/config-cache/conf-production-projectcomwiki.json
726tests/data/config-cache/conf-production-searchcomwiki.json
727tests/data/config-cache/conf-production-spcomwiki.json
728tests/data/config-cache/conf-production-stewardwiki.json
729tests/data/config-cache/conf-production-sysop_itwiki.json
730tests/data/config-cache/conf-production-sysop_plwiki.json
731tests/data/config-cache/conf-production-techconductwiki.json
732tests/data/config-cache/conf-production-transitionteamwiki.json
733tests/data/config-cache/conf-production-u4cwiki.json
734tests/data/config-cache/conf-production-wg_enwiki.json
735tests/data/config-cache/conf-production-wikimaniateamwiki.json

As best as I can see, all of the changes would appear to be in line with their authors' original intentions:

(Potentially worth noting -- this diff doesn't include any changes to $wgGroupPermissions, so potentially the comment in SiteConfiguration.php about that variable (included in the task description) might be out-of-date? (I haven't looked much into the history of this yet.))


[0] As far as I can see, the slow-parse log is no longer made public (T189284: Stop serving slowparse logs from dumps distribution servers), otherwise I would have filed this as a security bug due to the potential infoleak from private wikis.

Change #1216799 abandoned by Func:

[operations/mediawiki-config@master] [DNM] Test for T412118

https://gerrit.wikimedia.org/r/1216799

Func rescinded a token.

Thanks for the ping!

I don't recall any intentional overrides in beta-metawiki other than for testing/betae purposes. During normal operation, beta should function the same as prod. Likely the overrides there were left over from previous testing (probably me) and forgotten. We should probably just remove the overrides.

@Ottomata Sure, I assume that can probably be done (though probably in a different task).
If possible, though, as you're someone that has (previously) set a wiki-specific config override to false, I think I'd just like to get your opinion on what you('d) think the expected behaviour should be here / what you'd expect the behaviour here to be (with regard to what I've written in this task's description) :)
I ask because my current understanding is that, because the wiki-specific override value added (e.g.) in this patch was set to false, MediaWiki will discard that wiki-specific override value in favour of a less-specific value (for that property) if one exists.
[Apologies if I could have been clearer in my comment at T382173#11446494!]

(FWIW, after looking at it some more just now, what I believe this means in practice with regard to T382173 is that — since '1199246: Disable default user-agent collection.' was (later) deployed on 2025-10-30 (for T384964), the overrides for http.request_headers.user-agent that're listed in T412118#11444081 no longer actually have any effect on beta-metawiki.)