Page MenuHomePhabricator

TypeError: messages.filter is not a function (problem with MediaWiki:Gadget-SousPages)
Closed, ResolvedPublicBUG REPORT

Description

Summary
1,177 errors in last 24hrs. Being triggered by core code referenced by gadgets. Bug present since 1.42.0-wmf.24

URls:
* https://logstash.wikimedia.org/app/dashboards#/doc/logstash-*/logstash-default-1-7.0.0-1-2024.04.05?id=MXWTq44BXQUFBRtC3ENp
 

**Error***

TypeError: messages.filter is not a function

at loadMessagesIfMissing https://meta.wikimedia.org/w/load.php?lang=en&modules=mediawiki.api&skin=vector-2022&version=1yir4:15:827
at https://meta.wikimedia.org/w/load.php?lang=en&modules=ext.gadget.SousPages&skin=vector-2022&version=1xxu2:2:56
at mightThrow https://meta.wikimedia.org/w/load.php?lang=en&modules=ext.discussionTools.init%7Cjquery%2Coojs-ui-core&skin=vector-2022&version=1ifje:360:648
at Deferred/then/resolve/</process< https://meta.wikimedia.org/w/load.php?lang=en&modules=ext.discussionTools.init%7Cjquery%2Coojs-ui-core&skin=vector-2022&version=1ifje:361:309

**What should have happened instead?**:



**Software version** (skip for WMF-hosted wikis like Wikipedia):

**Other information** (browser name/version, screenshots, etc.):
Breakdown of errors per project in last 24hrs

Domain	#
be-tarask.wikipedia.org	818
en.wikipedia.org	293
www.wikidata.org	159
meta.wikimedia.org	32
be.wikipedia.org	27
commons.wikimedia.org	26
pl.wikipedia.org	15
cs.wikipedia.org	5
ru.wikipedia.org	5
uk.wikipedia.org	4
fr.wikipedia.org	3
it.wikipedia.org	3
meta.m.wikimedia.org	3
xmf.wikipedia.org	3
sk.wikipedia.org	2
fi.wikipedia.org	1
ja.wikipedia.org	1

Event Timeline

Jdlrobson renamed this task from TypeError: messages.filter is not a function to TypeError: messages.filter is not a function (possible incompatibility issue between MediaWiki:Gadget-SousPages and DiscussionTools)?.Apr 5 2024, 3:35 AM
Jdlrobson added a subscriber: M7.

It looks like @M7 may have made a recent edit to this gadget which fits the timeline the same gadget is being loaded across wikis? https://meta.wikimedia.org/w/index.php?title=MediaWiki%3AGadget-SousPages.js&diff=26536085&oldid=22979857

Jdlrobson claimed this task.

Yep looks this that did it - I wasn't expecting it to be so easy :-) ! Thanks!

Screenshot 2024-04-05 at 2.47.17 PM.png (616×2 px, 121 KB)

I see loadMessages takes a string|string[] so I guess this was where the confusion came up?

Yeah, that's a bit of a footgun. We should make loadMessagesIfMissing() accept that too.

Change #1017339 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):

[mediawiki/core@master] mw.Api: Make loadMessagesIfMissing() accept a single key too

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

matmarex renamed this task from TypeError: messages.filter is not a function (possible incompatibility issue between MediaWiki:Gadget-SousPages and DiscussionTools)? to TypeError: messages.filter is not a function (problem with MediaWiki:Gadget-SousPages).Apr 5 2024, 6:02 PM
matmarex removed a project: DiscussionTools.

Change #1017339 merged by jenkins-bot:

[mediawiki/core@master] mw.Api: Make loadMessagesIfMissing() accept a single key too

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