Jump to content

Project:Support desk/Archive 24

From mediawiki.org

System messages like vector-appearance-label suddenly gone

Hello, all Vector system messages like vector-appearance-label, vector-main-menu-label and vector-page-tools-actions-label on one of my wikis (NSFW) are suddenly gone, but only for the English version, the default language of that installation. Could this be an attack, or is it probably just a glitch or even a known issue? For now, I'm creating these texts manually to restore them, but I would obviously like to know what is at play here. Thanks, cheers and all the best! Till Kraemer (talk) 16:02, 11 October 2025 (UTC)

PS: The messages also don't show up in the search, as they probably should. Till Kraemer (talk) 16:09, 11 October 2025 (UTC)

How to tag pages with date & comment

I thought Page Assessments would do nd got a note "yup this function is needed for us" on wiki with consensus.

@MusikAnimal (WMF) said "nope" and provided an explanation that I did not understand. Too technical and irrelevant for an end users like me who needed to tag less than a hundred of pages and sees it working at testwiki. maybe there is a good reason, but it was not explained to me in a way I could understand, and I did not get what tool is better suited. :-(

Could you please view https://phabricator.wikimedia.org/T407051 for requirement aim and discussion, and provide me with a clearer instruction of what tool needs to be installed.

Thanks Gryllida 10:54, 13 October 2025 (UTC)

I am sorry PageAssessments didn't work out. The simplest way I can explain it is that what you're trying to do is misuse of the extension, and that will cause problems for my team and possibly other tools across the Wikiverse.
From phab:T407051#11269390, it sounds like you should explore using Extension:DynamicPageList which is already installed on EnWikinews. I am not familiar with it but it would seem there are sister Wikinews projects who could probably help you set it up.
Best, MusikAnimal (WMF) (talk) 20:47, 13 October 2025 (UTC)

High rate of unemployment in the Namibia

Namibia does not have a lot of people with a population of 2,6 million people still find it hard to get jobs . Being a graduate in Namibia does not even hold an importance anymore . So many unemployed people work as housekeepers , bartenders due to the fact that there is no jobs of their qualifications. Namibia has over 8000 unemployed teachers making it very hard for one to get a job in that industry. HaiduwaSelma (talk) 09:27, 14 October 2025 (UTC)

@HaiduwaSelma please explain what that has to do with the MediaWiki software stack, which is the forum you are posting this in ? —TheDJ (Not WMF) (talkcontribs) 09:57, 14 October 2025 (UTC)

createaccount set false but still possible

Hello,

MediaWiki version - 1.30

in localsettings.php creating accounts is set to 'false' as seen below, but unregistered users can still register new accounts, in special page about user groups permissions system is showing creating account as possible for unregistered. How is that possible ? Is there another file with overriding settings ?

$wgGroupPermissions['*']['createaccount'] = false;

Thanks. ~2025-27975-08 (talk) 10:07, 7 October 2025 (UTC)

1.30 is an ancient insecure outdated software version. Please first read the documentation how to upgrade. Malyacko (talk) 11:32, 15 October 2025 (UTC)

Search suggestion issues with Vector 2022

Hello, I'm running MediaWiki 1.44.0 with the Vector 2022 skin. When I enter a keyword in the main search box, the message "Loading search suggestions" appears, but it's stuck, and no results show up. On Special:Search and on the mobile version, the search suggestions work fine and appear instantly. Any ideas how to fix this? Thanks, cheers and all the best! Till Kraemer (talk) 14:34, 15 October 2025 (UTC)

@Till Kraemer Have you checked the browser inspector to see if there is any error ? —TheDJ (Not WMF) (talkcontribs) 16:25, 15 October 2025 (UTC)
@TheDJ: Thank you so much for your help! When I typed something like Adora, this error showed up in the console:
Failed to load resource: the /w/rest.php/v1/searc…?q=Adora&limit=10:1 server responded with a status of 404 ()
GET https://my.wiki.com/w/rest.php/v1/search/title?q=Adorab&limit=10 404 (Not Found)
I'm running Nginx 1.26.3 and changed my configuration according to Manual:Short_URL/Nginx#nginx.conf and now the search suggestions work perfectly! :) Thanks again, cheers and all the best! Till Kraemer (talk) 17:02, 16 October 2025 (UTC)

503 error

The error message is:


Error 503 Backend fetch failed via cp171 at Thu, 16 Oct 2025 20:41:59 GMT

Varnish XID 1869207, serving 2001:569:7fff:ac00:b810:8f16:fb0d:d7e9, 10.0.20.166 (your IP!).


And now I'm trying to log back in to see if the issue is fixed, but it's not letting me in. Tells me I have a bad password, so I click to reset my password, but no email has come yet. (And yes, I'm checking my spam folder.)

My account's name is Frewfrux. ~2025-29095-19 (talk) 20:55, 16 October 2025 (UTC)

Please see "Post a new question" above and provide basic information, e.g. the MediaWiki version which you installed. Note: If this is about a Wikimedia website, see meta:Tech instead. Malyacko (talk) 06:57, 17 October 2025 (UTC)

[aOnWci5gE7RndWr0s7vXagAAAQY] /index.php?title=Special:CreateAccount&returnto=Main+Page CannotCreateActorException: Failed to create actor ID

Version is 1.43.1

Website is aurorawiki2.pentarch.org

Error is as above with the following debug trace.

[aOnZ-SCr43JwUx3k3ZYHNgAAAEQ] /index.php?title=Special:CreateAccount&returnto=Main+Page CannotCreateActorException: Failed to create actor ID for user_id=41 user_name="GreatTuna3"

Backtrace:

from /home/penta6/aurorawiki2.pentarch.org/includes/user/ActorStore.php(437)

#0 /home/penta6/aurorawiki2.pentarch.org/includes/user/User.php(2629): MediaWiki\User\ActorStore->acquireActorId(MediaWiki\User\UserIdentityValue, Wikimedia\Rdbms\DatabaseMySQL)

#1 /home/penta6/aurorawiki2.pentarch.org/includes/libs/rdbms/database/Database.php(2280): MediaWiki\User\User->MediaWiki\User\{closure}(Wikimedia\Rdbms\DatabaseMySQL, string)

#2 /home/penta6/aurorawiki2.pentarch.org/includes/libs/rdbms/database/DBConnRef.php(127): Wikimedia\Rdbms\Database->doAtomicSection(string, Closure)

#3 /home/penta6/aurorawiki2.pentarch.org/includes/libs/rdbms/database/DBConnRef.php(665): Wikimedia\Rdbms\DBConnRef->__call(string, array)

#4 /home/penta6/aurorawiki2.pentarch.org/includes/user/User.php(2631): Wikimedia\Rdbms\DBConnRef->doAtomicSection(string, Closure)

#5 /home/penta6/aurorawiki2.pentarch.org/includes/auth/AuthManager.php(1757): MediaWiki\User\User->addToDatabase()

#6 /home/penta6/aurorawiki2.pentarch.org/includes/auth/AuthManager.php(1444): MediaWiki\Auth\AuthManager->continueAccountCreation(array)

#7 /home/penta6/aurorawiki2.pentarch.org/includes/specialpage/AuthManagerSpecialPage.php(394): MediaWiki\Auth\AuthManager->beginAccountCreation(MediaWiki\User\User, array, string)

#8 /home/penta6/aurorawiki2.pentarch.org/includes/specialpage/AuthManagerSpecialPage.php(524): MediaWiki\SpecialPage\AuthManagerSpecialPage->performAuthenticationStep(string, array)

#9 [internal function]: MediaWiki\SpecialPage\AuthManagerSpecialPage->handleFormSubmit(array, MediaWiki\HTMLForm\CodexHTMLForm)

#10 /home/penta6/aurorawiki2.pentarch.org/includes/htmlform/HTMLForm.php(822): call_user_func(array, array, MediaWiki\HTMLForm\CodexHTMLForm)

#11 /home/penta6/aurorawiki2.pentarch.org/includes/specialpage/AuthManagerSpecialPage.php(455): MediaWiki\HTMLForm\HTMLForm->trySubmit()

#12 /home/penta6/aurorawiki2.pentarch.org/includes/specialpage/LoginSignupSpecialPage.php(403): MediaWiki\SpecialPage\AuthManagerSpecialPage->trySubmit()

#13 /home/penta6/aurorawiki2.pentarch.org/includes/specialpage/SpecialPage.php(728): MediaWiki\SpecialPage\LoginSignupSpecialPage->execute(null)

#14 /home/penta6/aurorawiki2.pentarch.org/includes/specialpage/SpecialPageFactory.php(1724): MediaWiki\SpecialPage\SpecialPage->run(null)

#15 /home/penta6/aurorawiki2.pentarch.org/includes/actions/ActionEntryPoint.php(504): MediaWiki\SpecialPage\SpecialPageFactory->executePath(string, MediaWiki\Context\RequestContext)

#16 /home/penta6/aurorawiki2.pentarch.org/includes/actions/ActionEntryPoint.php(146): MediaWiki\Actions\ActionEntryPoint->performRequest()

#17 /home/penta6/aurorawiki2.pentarch.org/includes/MediaWikiEntryPoint.php(200): MediaWiki\Actions\ActionEntryPoint->execute()

#18 /home/penta6/aurorawiki2.pentarch.org/index.php(58): MediaWiki\MediaWikiEntryPoint->run()

#19 {main} Icehawke (talk) 04:21, 11 October 2025 (UTC)

@Icehawke -- were you able to resolve this? --MarkAHershberger(talk) 02:18, 20 October 2025 (UTC)

Lost sysop password

I have a MediaWiki set up for a long time.  I've lost the sysop password - or rather I have a record of it, but it doesn't allow me in.

Long ago, I set the sysop as the only user that can log in and prevented others from editing because I was getting spam.

I have full access to the MariaDB database in phpMyAdmin.

How can I encode a new password to put into a file import into user_password?

Or is there some other way I can set a new password for sysop?

MediaWiki 1.34.1

PHP 7.4.33

MySQL 5.7.44-percona-sure1b-log

ICU 67.1

https://www.gandanet.com.hk/topicscape-wiki/index.php Roygrubb (talk) 14:35, 17 October 2025 (UTC)

@Roygrubb, you can change your password by logging in and using the maintenance script Createandpromote.php in this way:
$ cd $MW_INSTALL_PATH
$ php maintenance/createAndPromote.php --force SYSOPNAME NEW-PASSWORD
Let me know if that helps! --MarkAHershberger(talk) 01:20, 20 October 2025 (UTC)
Thanks for your help.
That fixed it. Much appreciated. Roygrubb (talk) 16:41, 20 October 2025 (UTC)

Setup fails on Connect over SSL

Dear ∀, If I click Connect over SSL during setup, Mediawiki throwns this error:

Cannot access the database: :real_connect(): (HY000/2006): MySQL server has gone away.
Check the host, username and password and try again. If using "localhost" as the database host, try using "127.0.0.1" instead (or vice versa).

If I deselect this option, the installation succeeds.

What are the consequences of not connecting via SSL on a server with access to the internet versus without access (listen:localhost)?

How can I solve the problem?

Thank you in advance.

Yours, Ciciban (talk) 15:31, 20 October 2025 (UTC)

@Ciciban: This only affects your wiki's communication with the database. Since it looks like you are connecting to localhost, there is not much chance of leakage unless this is a shared host. As long as port 3306 is not open to the internet, you're probably ok. --MarkAHershberger(talk) 00:39, 21 October 2025 (UTC)
For what it's worth, the cause is the listening setting of the MySQL server; setting up TLS (SSL) listening takes some additional steps and configuration on the MySQL side. It's recommended if you ever choose to have a non-local database server. Jasper Deng (talk) 08:14, 21 October 2025 (UTC)
@MarkAHershberger@Jasper Deng
Thanks so far – Ciciban (talk) 20:03, 21 October 2025 (UTC)

How to delete two pages seemingly sharing one URL [solved]

Hi. I have a wiki where two seemingly identical page names had been created. In actual fact, we ended up with two pages: one had an umlaut in the name using a combining character, the other had a precomposed character for the umlaut. It is difficult to detect, especially if the URL is identical in such a way at least that only page is accessible in the browser. To access both of them, you need to figure out their page IDs and go from there. My question is: can I delete both on-wiki and if so, how? Rand(1,2022) (talk) 08:31, 21 October 2025 (UTC)

@Rand(1,2022): Do both pages show up in the wiki's Special:AllPages listing? I suspect that since the URLs for the pages will result in different base64-encoded characters, you will be able to reach both pages on the wiki and delete the one you don't want. --MarkAHershberger(talk) 13:25, 21 October 2025 (UTC)
The pages don't show up in Special:AllPages, apparently because one of them was already deleted. The missing page can be reached by appending ?curid=, with the appropriate page ID, to the URL. I was able to find the page through a Semantic MediaWiki query, which gave me a redlink and a page ID, and deleted the page (identified by page ID) using the deletion API. That worked! Apparently, the URLs did reflect the different encodings used (o%CC%88 vs precomposed %C3%B6) but there is some Unicode normalisation going on that was obscuring things, which probably also explains the incorrect redlink in the Semantic MediaWiki query. Rand(1,2022) (talk) 13:50, 21 October 2025 (UTC)

Problem with very large pages

Config: localhost instances of MW 1.44.2, PHP 8.4.7, MariaDB 11.1.2 and a number of common extensions installed, nothing esoteric.

I'm having trouble editing a ~350kB article that I'm in the process of restructuring and trimming down. Specifically, the recent changes list is not updated when changes are done to it, or rather, nothing is updated except the article itself, including the lint errors I fixed a week ago; looking at the datestamps of the database tables on disk, only the searchindex table is being updated with new edits. I can't see anything suspicious in the debug logs other than this console warning from the debug toolbar:

PHP Deprecated: Use of MediaWiki\Skin\Skin::appendSpecialPagesLinkIfAbsent was deprecated in MediaWiki 1.44. [Called from MediaWiki\Skin\Skin::buildSidebar]

While trying to isolate the possible culprit I tried to disable linter (and therefore also DiscussionTools, as it depends on it) in LSP but this makes the server throw an internal error (500). In the meantime, edits to a comparatively shorter article (~150kB) work as they should.

Any suggestions? Tactica (talk) 16:47, 22 October 2025 (UTC)

Update: the 500 error was my fault for not disabling extensions correctly in LSP. Doing that finally made the recent changes list update correctly with edits to that long article, however after restoring the extensions the list of lint errors remains untouched and the RC list is misbehaving again. :( --Tactica (talk) 17:42, 22 October 2025 (UTC)

@Tactica: Excuse my ignorance, but I'm unfamiliar with LSP except to mean Language Service Protocol and I don't think that's what you mean.
In any case, it sounds like you have some conflicting extensions that could well be causing the problem. Is your wiki public, can you share the url? Otherwise, I would try disabling one extension at a time to see if that narrows down the problem.
@MarkAHershberger: LSP = LocalSettings.php :-)
I don't think it's conflicting extensions because Linter only has trouble with updating the stats for a page in particular, which just happens to use a *very* large table. Disabling DiscussionTools alone doesn't help, but if I disable Linter the RC list updates as it should. And no, unfortunately the wiki is not public (yet). --Tactica (talk) 19:52, 22 October 2025 (UTC)
@Tactica: LSP? ok, I thought it might be that, but the I haven't seen that over-loading of the three letter initialism. I've heard LS, though.
Unfortunately, I don't have any experience with DiscussionTools or Linter. Have you tried turning on the debug log and checking that when the error occurs? --MarkAHershberger(talk) 22:11, 22 October 2025 (UTC)

Cannot access to https://gerrit.wikimedia.org repository on my destop, why ?

Cannot access to https://gerrit.wikimedia.org/g/mediawiki/extensions/UploadWizard/%2B/HEAD/README on page Extension:UploadWizard ; generally speaking to the repository of UploadWizard due to accss restrictions why ?

It seems better URL is -> https://github.com/wikimedia/mediawiki-extensions-UploadWizard/blob/master/README but I dont know the rules... ....help please.@MarkTraceur:

-- Christian 🇫🇷 FR 🚨 (talk) 13:19, 12 October 2025 (UTC)

gerrit is a our canonical repository. GitHub is a mirror. Our infrastructure is heavily targeted by scrapers and other forms of nefarious traffic. For that reason, sometimes its are blocked. If you are seeing a permission error for that page all the time, I suspect that is what is happening, that your IP address got caught in one of the traffic blocks. Another option might be that the system was shortly unavailable due to being overloaded. —TheDJ (Not WMF) (talkcontribs) 08:47, 13 October 2025 (UTC)
have you tried by yourself ? is it accessible for you ? At least access to the README file as referenced in the infobox should be provided in read mode or targeted on github. -- Christian 🇫🇷 FR 🚨 (talk) 10:44, 13 October 2025 (UTC)
Yes, it's readable for me. gerrit is our canonical resource, all links should always point to gerrit. —TheDJ (Not WMF) (talkcontribs) 12:34, 13 October 2025 (UTC)
I dont :
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>

You don't have permission to access this resource.

</body></html>
strange. But I realize that the problem is general. For example same case occurs on :
https://gerrit.wikimedia.org/g/mediawiki/extensions/CirrusSearch/%2B/HEAD/README - no other blocking observed. Christian 🇫🇷 FR 🚨 (talk) 15:23, 13 October 2025 (UTC)
In fact it is NOT accessible from my desktop under Windows but it is ok on my tablette. The problem is that all my developpments are on the destop. --Christian 🇫🇷 FR 🚨 (talk) 21:41, 13 October 2025 (UTC)
You might want to file a ticket in Phabricator detailing that you no longer have access and that you suspect a block. In that case the infra people will likely ask you to share your ip with them and they may be able to change the filters to exclude you. —TheDJ (Not WMF) (talkcontribs) 08:33, 14 October 2025 (UTC)
it is not a problem of blocked IP since desktop and tablette are sharing the same IP address. I rather suspect that https://gerrit.wikimedia.org rejects my Windows version. Have you a reference of the page showing MediaWiki and the supported Windows versions ? I remember it exists (...). --Christian 🇫🇷 FR 🚨 (talk) 11:26, 14 October 2025 (UTC)
Which web browser and which web browser version and which operating system and which operating system version? If you use recent web browser version and a supported operating system, it is much less likely that you run into problems. Gerrit blocks access not (only) based on IP but also on other aspects, due to heavy scraping by crawlers in the past months. Malyacko (talk) 11:31, 15 October 2025 (UTC)
I observe also that on the desktop each infobox which has such links on gerrit.wikimedia.org rejects the access the same way but wikimedia by itself does not reveal such block through the same browser. It is rather boring since it does not incite users to go on gerrit, and excludes a part of the audience. So if browser is obsolete, why does WikiMedia allows the actions and not gerrit. -- Christian 🇫🇷 FR 🚨 (talk) 13:18, 23 October 2025 (UTC)

You don't have permission to access this resource.

I want to use gerrit, I have a gerrit account, which I can use in Moble, but in computer give this message:
Forbidden
You don't have permission to access this resource. شاه زمان پټان (talk) 06:09, 15 October 2025 (UTC)

@شاه زمان پټان Update to a more recent web browser and/or a still supported operating system. Malyacko (talk) 11:28, 15 October 2025 (UTC)
seems the same problem as hereabove -- Christian 🇫🇷 FR 🚨 (talk) 13:20, 23 October 2025 (UTC)

what when title contents is a named section ?

Hi all, on page → https://www.mediawiki.org/wiki/Growth/Newsletters/35/fr

the item == <section begin="growth-newsletter-title"/><translate nowrap> <!--T:1--> Growth News, October 2025</translate><section end="growth-newsletter-title"/> ==

generates an unexpected span tag on the translated page. That means we want the contents of the title to be a named section but not the level == by itself. What would be the correct syntax in this case ? Thanks . -- Christian 🇫🇷 FR 🚨 (talk) 09:22, 17 October 2025 (UTC)

@Christian, you pointed to the /fr page, but it looks like you meant the top level page (the one that has the translation tags). In any case, it looks like you'll need some input from the people who manage the translations. I see you've asked on the talk page, but I would also suggest looking at the Content translation FAQ, and, if you don't find your answer there, try the Content translation discussion page. --MarkAHershberger(talk) 01:57, 20 October 2025 (UTC)
Have you followed the link ? - The top level page is correct. Any /xxx translated page has a span text displayed. If you are more pleased take the polish page for example https://www.mediawiki.org/wiki/Growth/Newsletters/35/pl and observe the same problem. If you have folowed the topic you know that there is a problem when you format a section title so they require it to be as simple as possible. Usually adding a nowrap option solves. Here the title is too complex be cause a section is declared within the title. It is why I require help to change formulation. -- Christian 🇫🇷 FR 🚨 (talk) 15:27, 20 October 2025 (UTC)
The issue comes from the links that have quotes in the sub-headings. I'm investigating an alternative regarding these titles. Trizek_(WMF) (talk) 18:06, 20 October 2025 (UTC)
Nice. Thanks. -- Christian 🇫🇷 FR 🚨 (talk) 13:12, 23 October 2025 (UTC)

Cloudflare and IP addresses

Manual:Cloudflare is about using Cloudflare and MediaWiki. Under the heading "Anonymous IP user identification" it says that Cloudflare recommends using mod_remoteip but then says that MediaWiki recommends using $wgUseCdn and $wgCdnServersNoPurge. There are other recommendations too, but they give the impression of possibly being outdated. Which is really the recommended recommendation? :-) Jonathan3 (talk) 21:36, 23 October 2025 (UTC)

I have made some changes to that page, reflecting my initial view that mod_remoteip is sufficient on its own, but the other method could be used by someone who can't use mod_remoteip. Jonathan3 (talk) 13:43, 24 October 2025 (UTC)

Cannot receive password reset email for account

"Hello Administrators and Support Team, I am currently logged into my account, RoadsideFlower, but I cannot log in on any other device because I have forgotten my password. I have attempted the password reset function multiple times. I have confirmed in my Preferences that my email address is correctly listed and confirmed, yet I am not receiving the password reset code (I have checked my spam/junk folders every time). Could a system administrator please investigate why the password reset email is not being delivered to my account's email address? I need assistance in gaining access to my account on other devices. Thank you." RoadsideFlower (talk) 02:09, 24 October 2025 (UTC)

@RoadsideFlower: I am not a system administrator who can help you, but if you're still experiencing problems, update your profile so that users can send you email and I'll send you one. This will help us confirm that you should be able to receive emails from MediaWiki.org. --MarkAHershberger(talk) 17:55, 24 October 2025 (UTC)

Cloudflare cache control

Can anyone recommend good settings for Cloudflare? It's mentioned on Manual:Cloudflare#Cache_control but in a very stream-of-consciousness way, or like a conversation that ended before anything got resolved. Thanks.

Also, what about Manual:$wgMainCacheType and the other related variables? Jonathan3 (talk) 13:48, 24 October 2025 (UTC)

@Jonathan3: The caching variables handle caching on the server and speed up the production of the web page. Generally, this is separate from what a CDN like Cloudflare does. For CDN information, you may find the settings in the (legacy-named) Squid variables category helpful. -- MarkAHershberger(talk) 17:44, 24 October 2025 (UTC)
Thank you for that. I won't change any of the caching variables.
Are there any recommended settings on the Cloudflare end, or are their defaults all right?
I've noticed that a new version of a file doesn't get shown on the wiki File: page immediately, but clearing the cache of that URL via the Cloudflare website worked. Is there a stable extension that would do that automatically? [moved this question to its own topic] Jonathan3 (talk) 23:06, 24 October 2025 (UTC)
P.S. I get the impression, admittedly from limited experience and research, that MediaWiki sites are getting hammered by AI crawlers more than most - presumably because we all have such useful information! If that is true, and as Cloudflare does seem to be a very effective answer, it would be great if some "official" thought was put into improving the Manual:Cloudflare page and the recommendations there. Jonathan3 (talk) 23:08, 24 October 2025 (UTC)
Hello, my wiki has been very slow lately. In Cloudflare, I set "Block AI training bots" to "Block on all pages" and activated "Instruct AI bot traffic with robots.txt". Now the wiki is faster again, so I can recommend those settings - I hope Skynet won't be mad at me though ;) Cheers and all the best! Till Kraemer (talk) 11:17, 27 October 2025 (UTC)
I agree that improving Manual:Cloudflare is good idea, but unfortunately that will mostly fall on people who are using Cloudflare. I very much would encourage people to document their experiences and update documentation for situations like this, that are not setups generally used by Wikimedia and MediaWiki developers. Please do not hesitate to edit documentation pages. —TheDJ (Not WMF) (talkcontribs) 14:56, 27 October 2025 (UTC)

TOC Section number

Is there any way to control (per page) how the TOC numbers sections? Specifically I would like it to start at 0 or not assign a number. Ham Pastrami (talk) 13:53, 30 October 2025 (UTC)

@Ham Pastrami See Manual:Table of contents Malyacko (talk) 14:48, 30 October 2025 (UTC)

Clearing Cloudflare cache

I've noticed that a new version of a file doesn't get shown on the wiki File: page immediately, but clearing the cache of that URL via the Cloudflare website worked. Is there a stable extension that would do that automatically? (Moved this question from within another section above.) Jonathan3 (talk) 15:34, 31 October 2025 (UTC)

Vector 2022 sidebar visibility for anonymous users

Hello, I would like to make the sidebar in Vector 2022 visible to all users by default. Right now, it's hidden from anonymous users. How can I change that? Adding $wgVectorDefaultSidebarVisibleForAnonymousUser = true; or $wgVectorFeatures = array( 'collapsiblenav' => array( 'global' => false, 'user' => false) ); to LocalSettings.php doesn't seem to work for me; neither does adding #sidebar {display: block !important;} to Common.css seem to work. Any ideas? Thanks, cheers and all the best! Till Kraemer (talk) 16:07, 17 October 2025 (UTC)

@Till Kraemer, I think you want to look at Menu Pinning Options. I'm not sure where you got the idea for $wgVectorDefaultSidebarVisibleForAnonymousUser from since that isn't anywhere on this site. --MarkAHershberger(talk) 01:34, 20 October 2025 (UTC)
@MarkAHershberger, thank you for your reply! Hmm, it looks like the menu pinning options only affect logged-in users, though, and are already set the way I want them by default. I'm looking for an option to show the menus exactly the same way to anonymous users who aren't logged in. I've found the $wgVectorDefaultSidebarVisibleForAnonymousUser setting on Google and apparently it worked for some people one point in time; the AI Overview still suggests to use that setting, but it doesn't work for me. Till Kraemer (talk) 12:17, 20 October 2025 (UTC)
@Till_Kraemer ALWAYS double-check anything the AI Overview gives you (especially as long as it is using a large language model with generative AI—those things are notorious for making up stuff). Especially if it doesn't work, look to make sure it is actually a thing.
$wgVectorDefaultSidebarVisibleForAnonymousUser cannot be found on mediawiki.org (search) and the only reference I can find to it in code search seems spurious (and may be the source of Google's hallucination).
With regards to the menu pinning options, I admit I did not test it when I first mentioned it to you, but I just tried setting $wgDefaultUserOptions['vector-appearance-pinned'] = 0; on a site that I had and that menu disappeared. The other options do not appear to work, though. I feel like this is a bug, though, so I've filed one (which was then closed as a duplicate of task T366999). --MarkAHershberger(talk) 00:39, 21 October 2025 (UTC)
@MarkAHershberger: Thanks for pointing out that old config variable, I'm removing it from wikispore-config. It was removed from Vector in Gerrit change 904204. Sam Wilson 00:57, 21 October 2025 (UTC)
@MarkAHershberger, thank you so much for your research, the testing and the bug report! It would be so cool to have those options working. In the meantime, there might be a workaround with CSS, but I can't get that to work either, so I just wait for the bug fix. Till Kraemer (talk) 09:55, 21 October 2025 (UTC)
Since settings like $wgDefaultUserOptions['vector-main-menu-pinned'] = 1; currently don't seem to have any effect on anonymous users, is there another way to achieve the default pinned menu state, like on https://sanat.csc.fi/ - maybe via MediaWiki:Common.js? Till Kraemer (talk) 21:31, 2 November 2025 (UTC)
PS: It seems to be that code. Till Kraemer (talk) 07:30, 3 November 2025 (UTC)
I took the liberty of adding this approach to the menu pinning options. Till Kraemer (talk) 08:15, 3 November 2025 (UTC)

Category pages: No alphanumeric sorting?

Why do pages sort in non-alphanumeric order like this in categories?

  • Foo 10
  • Foo 8
  • Foo 9

The only workaround seems to be adding a sort key to each category reference. ~2025-30714-69 (talk) 09:22, 3 November 2025 (UTC)

Category sorting is alphabetic, not alphanumeric. See Help:Categories and Manual:$wgCategoryCollation --Clump (talk) 13:08, 3 November 2025 (UTC)
Manual:$wgCategoryCollation#Numeric_sorting. For Wikimedia, you can find all wiki's that have numeric sorting enabled, by going to https://noc.wikimedia.org/conf/InitialiseSettings.php.txt and looking for all wiki's that have a collocation configured that ends with "-u-kn". —TheDJ (Not WMF) (talkcontribs) 13:53, 3 November 2025 (UTC)

#switch problem not getting solved

LS,

Version 1.44

In a page I made a call to a template called {{Piup | 9} This template looks like:

{{#switch: {{lc:{{{status|Unknown}}}}}</br>
| Unknown  = {{=}}Pi Updaten=      <!insert Header1 --></br>
| 2 = {{=}}{{=}}Pi Updaten==       <!insert Header1 --></br>
| 9 = '''Uw PI updaten/upgraden''' <!insert Header in bold text --></br>
}}</br>

But it returns nothing to the caling page. So questiom, am I missing something and if so what???

Regards Harry Gharryh1957 (talk) 22:18, 2 November 2025 (UTC)

Are the br tags in your actual code or did you just add them for this?
You're sending an unnamed parameter "9" (which the template would see as {{{1}}}) but the switch is testing a non-existent named parameter {{{status}}}, or rather it's testing the string "Unknown", possibly followed by a br tag.
What happens when you add a default row at the end, like |#default=DEFAULT TEXT HERE? Jonathan3 (talk) 20:06, 5 November 2025 (UTC)

User blocked, user IP(172.16.x.x .. 172.31.x.x), ???

1) I'm not the host/bureaucrat, just the mediawiki admin for some wiki.
2) Due to a little spam issue I blocked some spammers (or potential spammer).
3) Learned later that some legit user also got blocked.
4) At this point I got the blocked IP address. Which was in the Private IP range (172.16.x.x .. 172.31.x.x) (this was a potential spammer case)
5) As admin only, I do not know in advance what IP is going to be blocked when I block some spammer (or potential spammer)
Anything I, or the wiki-host(private), can do here ? (other than giving me additional rights)
Anything I can tell the users to do that might be effected by such a Private IP range block. Like, I don't know, maybe how they should adjust there lan/router/modem/??? so mediawiki will not log them as coming from such a Private IP address?
MvGulik (talk) 21:17, 6 November 2025 (UTC)
This looks like the wiki is behind a reverse proxy, and the wiki hasn't been configured correctly to detect the private IP as the reverse proxy (see $wgCdnServersNoPurge and $wgCdnServers) and use the X-Forwarded-For header as the real IP from users. Ciencia Al Poder (talk) 22:35, 6 November 2025 (UTC)
Forwarded to host.
(Will report result although that might take a bit of time)
Thanks. MvGulik (talk) 23:46, 6 November 2025 (UTC)
Thanks again. Problem was fixed. Although in this case it was reported as a problem with it picking up a local docker IP. MvGulik (talk) 11:43, 7 November 2025 (UTC)

delete account

I signed up by mistake can someone please delete my account Oliver croll (talk) 23:19, 6 November 2025 (UTC)

See meta:Account vanishing Ciencia Al Poder (talk) 17:01, 7 November 2025 (UTC)

Invite-only Wiki

Hello, On the https://joinfediverse.wiki (running MW 1.41.0) we'd like to completely turn off open registrations and only allow registrations with an individual invite-link.
Is that somehow possible and could you point me to the right way forward?
Thanks. PKFP (talk) 15:09, 30 October 2025 (UTC)

@PKFP Set the user rights to disable creating accounts by everyone except admins (which you should be part of). Then you can use Special:CreateAccount when you want to add someone to the wiki - they'll be sent their invitation (such as temp password) by email. Leaderboard (talk) 05:31, 5 November 2025 (UTC)
Thanks. That was easy. Seems to work fine. This topic can be closed. PKFP (talk) 04:54, 7 November 2025 (UTC)
Also read Manual:Preventing access. – Ammarpad (talk) 14:56, 6 November 2025 (UTC)
@PKFP: also see the ConfirmAccount extension if you don't mind installing an extension. This extension allows people to request an account from a special page and gives you a centralized queue to manage the requests. --MarkAHershberger(talk) 01:41, 12 November 2025 (UTC)

مشکل ورود به حساب م و نمی‌توانم

مشکل ورود به حسابم و نمی‌تونم حساب را بازیابی کنم ~2025-31060-99 (talk) 15:56, 3 November 2025 (UTC)

@~2025-31060-99: What have you tried? If your account doesn't have an email address associated with it, there isn't anything we can do. --MarkAHershberger(talk) 01:57, 12 November 2025 (UTC)

Can't upgrate to 1.44.2

I am using 1.41.1, and I tried following the manual and uploaded 1.44.2 to my files and moved all the important stuff there, but my wiki just crashes. I thought it might be the extensions not being up to date so I disabled them, still doesn't work. I am quite inexperienced in this sort of thing, so any help is greatly appreciated!

Also, I can't revert back to 1.41.1 with my backups because the Scribunto extension wouldn't match for some reason and there's nowhere to find the 1.41 Scribunto version, only 1.39, 1.43 and 1.44, so Scribunto lua templates would be broken if I reverted back. Please help! Tang Empire (talk) 05:23, 4 November 2025 (UTC)

@Tang Empire Regarding the 1.41 Scribunto, download wikimedia/mediawiki-extensions-Scribunto at wmf/1.41.0-wmf.15 instead. Leaderboard (talk) 08:17, 4 November 2025 (UTC)
Thank you. By the way, do you have any visual/beginner tutorials on how to upgrade? Because I seriously don't know what I did wrong, and I hope that my wiki will be fixed soon. Tang Empire (talk) 15:47, 4 November 2025 (UTC)
Without more information, hard to tell sorry. Leaderboard (talk) 05:29, 5 November 2025 (UTC)
"tutorials on how to upgrade" - Manual:Upgrading.
"uploaded 1.44.2 to my files and moved all the important stuff there" - I think it's considered better to do it the other way round, i.e. extract the MW files to a new directory then move the important stuff you want to keep to that new directory. Jonathan3 (talk) 20:10, 5 November 2025 (UTC)
Yes, that is what I did, I uploaded 1.44 and moved/replaced stuff like Images and LocalSettings into the 1.44 folder. Also regarding Manual:Upgrading, I couldn’t understand a lot of the language so I asked ChatGPT to simply. I followed these instructions:
You’re replacing your old MediaWiki files with the new ones, but you must not just dump them on top of the old folder.
Instead, you:
Put the new version in a separate, empty folder.
Copy your important stuff from the old folder into it.
Then rename or swap the folders so the new one becomes your live wiki.
1. Back up everything
Make a copy of:
Your database (via phpMyAdmin or mysqldump)
Your old wiki folder, including LocalSettings.php, the images/ folder, and any custom skins/extensions.
2. Download the new version
If you can use the command line (SSH):
That creates a new folder like mediawiki-1.44.2.
If you can’t use command line:
Download the .tar.gz file to your computer.
Extract it using 7-Zip.
Upload the extracted folder to your server using FTP or cPanel File Manager, then extract it there.
3. Move your old settings & content
Inside your old wiki folder, copy these into the new folder:
LocalSettings.php, Images, custom Skins, custom extensions
4. Swap folders
Once your new folder has all the copied content:
Rename your old wiki folder (for example, wiki-old).
Rename your new one to the same name as the old one (for example, wiki).
This way your web address doesn’t change.
5. Fix permissions
Make sure the web server can read/write what it needs:
(Replace apache with your web user if needed.)
6. Run the update script
Go to your wiki folder in command line and run it
This updates your database to work with the new version.
7. Test
Visit your wiki and check Special:Version — it should say 1.44.2. Tang Empire (talk) 20:23, 5 November 2025 (UTC)
Looks right at a glance.
Compatibility says that MW1.44 wants PHP 8 whereas 1.41 is happy with PHP 7.4. There's a difference in SQLite compatibility too.
If you really backed up all your files and the database I don't understand why it wouldn't work again (they do say you haven't backed up until you've checked you can restore, or something like that).
Did you get any error messages when running the update script?
What exact files and folders did you move across?
Can you describe "my wiki just crashes"? Jonathan3 (talk) 13:36, 6 November 2025 (UTC)
Well, in some attempts the update script won't work and just have no reaction, other times it would work. I moved across LocalSettings.php, Skins folder, Extensions folder, Images folder.
By "my wiki just crashes", I mean that my wiki would not load and say "(wiki) can't candle the request right now". I can't remember which error message.
I only have backups once a week, and I've already successfully reverted back to 1.41 using the 1.41 Scribunto this discussion provided, so my site could work again. I might try again next week, and look into SQLite, but I've checked PHP and it's larger than 8. Tang Empire (talk) 15:38, 6 November 2025 (UTC)
Good luck next time! Keep a note of exactly what steps you take and exactly what happens, just in case you need to ask again. Jonathan3 (talk) 21:30, 6 November 2025 (UTC)
P.S. I think that's the HTTP 500 error. There are web pages with ideas on how to deal with that generally. It's mentioned here too: Manual:Common_errors_and_symptoms#HTTP_500_Internal_Error_during_installation. Jonathan3 (talk) 21:33, 6 November 2025 (UTC)
hi again. I tried upgrading again, and you were right, it was a http 500 error. here is what i did step by step, do you perhaps know how to fix it? :
1. run
cd /path/to/your/wiki-parent-folder
wget https://releases.wikimedia.org/mediawiki/1.44/mediawiki-1.44.2.tar.gz
tar xvzf mediawiki-1.44.2.tar.gz
rm mediawiki-1.44.2.tar.gz
into the command line
2. move LocalSettings.php, images, extensions, and skins into mediawiki 1.44.2 folder while overwriting the original 1.44.2 ones.
3. Rename 1.44.2 to public_html and the old one to old
4. run
find ./images -type d -exec chmod 755 {} \;
chown -R apache:apache images
in command line (ran through many file names, all followed by "operation not permitted")
5. run update script
6. get http error 500. run the
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
because i got the error after i ran the update script (i didnt check before). nothing happens.
7. run it again, and this time it gave me something. here is the interaction:
[(me) public_html]$ find . -type f -exec chmod 644 {} \;
find: ‘.’: Permission denied
find: Failed to restore initial working directory: /home/(user)/domains/heterodontosaurus-balls.com/public_html_old: Permission denied
[(me) public_html]$ find . -type d -exec chmod 755 {} \;
find: ‘.’: Permission denied
find: Failed to restore initial working directory: /home/(user)/domains/heterodontosaurus-balls.com/public_html_old: Permission denied Tang Empire (talk) 03:20, 10 November 2025 (UTC)
ok I solved it! I forgot to change the permissions in the public_html_old folder, and there were a couple of outdated extensions. Tang Empire (talk) 21:25, 11 November 2025 (UTC)

Module:Message box/doc - transclusion not working

I'm trying to add a new category in Module:Message box/doc exactly like this:

[[Category:Testing Modules]]

<includeonly>{{Sandbox other||
<!-- Categories below this line; interwikis at Wikidata -->
[[Category:Modules{{#translation:}}]]
[[Category:Testing Modules]]
}}</includeonly><noinclude>
[[Category:Module documentation pages{{#translation:}}]]
</noinclude>
| #default=
{{#invoke:Template translation|renderTranslatedTemplate|template=Module:Message box/doc|noshift=1|uselang={{int:lang}}}}
}}

But this new category isn't visible in the category list in the Module:Message box.

Am I doing something wrong or is this a bug in the module?

I repeated "translate:" and "purge" but that didn't help solve the problem. Kszwaba (talk) 14:02, 12 November 2025 (UTC)

Project:Support desk/* Module:Message box/doc - transclusion not working */ Reply ~2025-32806-54 (talk) 02:14, 13 November 2025 (UTC)
Did you actually install the Translate extension? If not, you should remove all the #translation bits and anything related to it. The version of the doc from the English Wikipedia is much easier to adapt to third party wikis. Tactica (talk) 03:30, 13 November 2025 (UTC)

My version Mediawiki is 1.43.1 and Module:Message box: 16:31, 2 September 2023 Module:Message box>Pppery 18,558 bytes +18,558

How do I upload the files to the web server on Android mobile

Hi, since I am not familiar with tech-savy stuff and being new to coding in general, I don't know how to run a seperate wiki website. I already downloaded and extracted the file in mobile. I tried to throughly read the process multiple times but it seemed too complicated for me. The thing I need help with is the uploading the files to the web server. Does anyone help me with the basics of installing MediaWiki on Android mobile? VoitieVelocity (talk) 01:59, 15 November 2025 (UTC)

@VoitieVelocity: Which web server? You're going to need MySQL or another database server as well Jasper Deng (talk) 06:27, 15 November 2025 (UTC)
I don't know what web server to use and I don't know how to use a database server, it is so complicated. VoitieVelocity (talk) 07:05, 15 November 2025 (UTC)
Yes, running/hosting a webserver from scratch is indeed complex. I would say that it is very hard to do from a mobile device, i would suggest to use a desktop machine for any serious work where you need lots of information to look at and to enter.
Alternatively you might consider using a 3rd party wiki hosting service like miraheze or another wiki farm. —TheDJ (Not WMF) (talkcontribs) 09:15, 15 November 2025 (UTC)
Welp, I tried making articles for a certain specific topic in English Wikipedia, but it takes time for the draft to get accepted into being a full article and some things may not be considered notable. So I might consider making a seperate wiki website, so that the things related to the topic that are not considered notable would get moved to the seperate wiki website instead. I have experience in using Fandom and I would like to say that it is hard to reach a lot of people since many people might not know the existence of other hosting services that hosts wikis besides Wikipedia. VoitieVelocity (talk) 09:51, 15 November 2025 (UTC)
I might try finishing the draft again and see if that draft gets accepeted into being a full article in English Wikipedia. If that got declined as well, I think I won't likely to create a seperate wiki website using MediaWiki, I still go on Fandom to continue contributing to that unfinished wiki which needs a lot of improvements. Yeah, I am busy on Fandom because I edit a lot of wikis. VoitieVelocity (talk) 14:48, 15 November 2025 (UTC)
Running a MediaWiki website on your own is inherently complex. There are some sites that offer fully-managed solutions for it, but it's rare, and you'll have to pay either way. Jasper Deng (talk) 22:21, 15 November 2025 (UTC)

Lua Error

My previous attempt to solve an issue with my wiki made some progress and fixed a few errors, but turned up a new one: "Lua error: bad argument #1 to "get" (not a valid title)." The suggestions in the related threads I found (1, 2) mention "JsonConfig", but I've enabled both "JsonConfig" and "JsonConfigLuaSupport" in LocalSettings and have installed the "REL1_43" (1.2.0) version of the former and the error remains. The following is the backtrace:

  1. (tail call): ?
  2. [C]: in function "error"
  3. MWServer.lua:81: ?
  4. (tail call): ?
  5. (tail call): ?
  6. Module:TNT:162: in function "loadData"
  7. Module:TNT:181: ?
  8. (tail call): ?
  9. (tail call): ?
  10. Module:Uses_TemplateStyles:21: in function "renderBox"
  11. Module:Uses_TemplateStyles:111: ?
  12. (tail call): ?
  13. mw.lua:527: ?
  14. (tail call): ?
  15. [C]: in function "xpcall"
  16. MWServer.lua:99: in function "handleCall"
  17. MWServer.lua:313: in function "dispatch"
  18. MWServer.lua:52: in function "execute"
  19. mw_main.lua:7: in main chunk
  20. [C]: ?

Any idea what to do to solve this? –Noha307 (talk) 23:44, 6 October 2025 (UTC)

I tried creating a file named "CommonSettings.php" in the "public_html/w" folder and copy-pasting the code from a page on phabricator into it and adding either "require_once("public_html/w/CommonSettings.php");" or "require_once("CommonSettings.php");" to "LocalSettings.php" based on the instructions on Manual:CommonSettings.php, but it didn't work. –Noha307 (talk) 04:11, 20 October 2025 (UTC)
@Noha307: If you aren't aware of it yet, you might have a look at your site's Category:Pages with script errors page since it collects where Lua errors appear.
For example, it lists this page which points to a missing extension, TitleBlacklist, that may help you resolve part of the problem. -- MarkAHershberger(talk) 14:09, 21 October 2025 (UTC)
I'm suffering from the exact same lue error/backtrace message. I also required TitleBlacklist - which I enabled and fixed it's associated error message - but this hasn't fixed the inital Lua error: bad argument #1 to "get" (not a valid title) error. @Noha307, have you been able to fix the issue? ~2025-30174-48 (talk) 22:17, 26 October 2025 (UTC)
@~2025-30174-48 I did the same – download and enable TitleBlacklist – and it didn't fix the Lua error either. I haven't had a chance to browse the pages with script errors category in detail yet though. Would it be possible for you to link to your wiki so I could compare? –Noha307 (talk) 23:56, 26 October 2025 (UTC)
My wiki looked the exact same as yours with the same errors and backtraces - I've solved the issue by fixing the Json extension config in my LocalSettings.
I changed it to the code below from another support thread on here and the error is resolved:
// Safety: before extension.json, these values were initialized by JsonConfig.php if ( !isset( $wgJsonConfigModels ) ) { $wgJsonConfigModels = []; } if ( !isset( $wgJsonConfigs ) ) { $wgJsonConfigs = []; } $wgJsonConfigEnableLuaSupport = true; // https://www.mediawiki.org/wiki/Extension:JsonConfig#Configuration $wgJsonConfigModels['Tabular.JsonConfig'] = 'JsonConfig\JCTabularContent'; $wgJsonConfigs['Tabular.JsonConfig'] = [ 'namespace' => 486, 'nsName' => 'Data', // page name must end in ".tab", and contain at least one symbol 'pattern' => '/.\.tab$/', 'license' => 'CC0-1.0', 'isLocal' => false, ]; // Enable Tabular data namespace on Commons - T148745 $wgJsonConfigInterwikiPrefix = 'commons'; $wgJsonConfigs['Tabular.JsonConfig']['remote'] = [ 'url' => 'https://commons.wikimedia.org/w/api.php' ]; ~2025-30174-48 (talk) 20:56, 27 October 2025 (UTC)
@~2025-30174-48: Thank you so much! Adding that code seems to have fixed it – or at least the most immediate error anyway. I particularly appreciate you specifying which file it goes in as well.
I'm still getting a "the time allocated for running scripts has expired" error after the reflist template loads 66 references, but at least its getting to that point now. –Noha307 (talk) 03:56, 2 November 2025 (UTC)

┌───────────────┘
So, according to one thread, I need to change max execution time, which can be found in php.ini. (Although I am suspicious because it seems like it shouldn't take that long to load 66 references. Could there be another cause, such as a missing template or extension that could prolong it?) However, a different page seems to suggest that the change can be made to LocalSettings.php. While I do know where the latter file is, I don't how I should change it. What code do I need to add? –Noha307 (talk) 01:24, 3 November 2025 (UTC)

@Noha307: Sorry for the late reply, but you should be able to use set_time_limit() in your LocalSettings.php. If you really want to set max_execution_time in your LocalSettings.php, you can do that like so:
ini_set("max_execution_time", 120);
--MarkAHershberger(talk) 01:36, 12 November 2025 (UTC)
Strangely, both set_time_limit() and max_execution_time don't seem to change much, if anything. (What's the difference between them? According to a thread, it's that one returns an error warning and the other doesn't?) The number of references it loads every time the page is refreshed fluctuates in a roughly single digit range no matter what is entered – and I'm not even sure that's connected. I even tried some ludicrously high values (e.g. 48000) and it didn't help. The only thing that is consistent is that setting the value to "1" gives me a 500 error when I try to load a page.
So, I imported Template:Harvard citation Wikipedia, as it was missing from my wiki and at some point thereafter one of the pages stopped having reference errors. (Note: I have never used that template anywhere on my wiki.) However, two others were stuck failing after loading the same number of references as before. After a few more imports, adding Template:Kbd finally did the trick. Woohoo! I guess I should have listened to your suggestion to look through the pages with script errors category. My apologies for wasting your time and thank you again for all of your assistance!
One final note: From the beginning I was intent on describing every step in this process in the event it might prove informative to someone with the same problem in the future. I didn't want to be like DenverCoder9. –Noha307 (talk) 07:06, 17 November 2025 (UTC)

SpecialPages returns error

I updated this wiki instance a while back, currently running REL1_43 and the specialpages throw this error;


```

[aRevfSkKRKsH1Ux47UpwvQAAAG4] /go/Special:SpecialPages ArgumentCountError: Too few arguments to function MediaWiki\Specials\SpecialRenameUser::__construct(), 0 passed in /srv/www-sugarlabs/wiki/vendor/wikimedia/object-factory/src/ObjectFactory.php on line 240 and exactly 7 expected

Backtrace:

from /srv/www-sugarlabs/wiki/includes/specials/SpecialRenameUser.php(48)

#0 /srv/www-sugarlabs/wiki/vendor/wikimedia/object-factory/src/ObjectFactory.php(240): MediaWiki\Specials\SpecialRenameUser->__construct()

#1 /srv/www-sugarlabs/wiki/vendor/wikimedia/object-factory/src/ObjectFactory.php(149): Wikimedia\ObjectFactory\ObjectFactory::getObjectFromSpec()

#2 /srv/www-sugarlabs/wiki/includes/specialpage/SpecialPageFactory.php(1559): Wikimedia\ObjectFactory\ObjectFactory->createObject()

#3 /srv/www-sugarlabs/wiki/includes/specialpage/SpecialPageFactory.php(1594): MediaWiki\SpecialPage\SpecialPageFactory->getPage()

#4 /srv/www-sugarlabs/wiki/includes/specials/SpecialSpecialPages.php(61): MediaWiki\SpecialPage\SpecialPageFactory->getUsablePages()

#5 /srv/www-sugarlabs/wiki/includes/specials/SpecialSpecialPages.php(50): MediaWiki\Specials\SpecialSpecialPages->getPageGroups()

#6 /srv/www-sugarlabs/wiki/includes/specialpage/SpecialPage.php(728): MediaWiki\Specials\SpecialSpecialPages->execute()

#7 /srv/www-sugarlabs/wiki/includes/specialpage/SpecialPageFactory.php(1724): MediaWiki\SpecialPage\SpecialPage->run()

#8 /srv/www-sugarlabs/wiki/includes/actions/ActionEntryPoint.php(504): MediaWiki\SpecialPage\SpecialPageFactory->executePath()

#9 /srv/www-sugarlabs/wiki/includes/actions/ActionEntryPoint.php(146): MediaWiki\Actions\ActionEntryPoint->performRequest()

#10 /srv/www-sugarlabs/wiki/includes/MediaWikiEntryPoint.php(200): MediaWiki\Actions\ActionEntryPoint->execute()

#11 /srv/www-sugarlabs/wiki/index.php(58): MediaWiki\MediaWikiEntryPoint->run()

#12 {main}

```

This upgrade was done some months back, any help would be appreciated. ~2025-33486-35 (talk) 23:11, 14 November 2025 (UTC)

Is there a RenameUser extension in your extensions directory ? Try disabling and removing that, it got merged into core at some point. —TheDJ (Not WMF) (talkcontribs) 09:19, 15 November 2025 (UTC)
This worked! Thank you! Seems we also didn't have wgSecretKey set, and I had to set that too, I'm guessing this was enforced in some version.
~2025-34362-12 (talk) 13:09, 17 November 2025 (UTC)

How to display images in search results

Hi! I've recently installed https://wiki.lilypond.community, a wiki for the LilyPond music typesetter (which is used on Wikipedia through Extension:Score). Pages consist of small snippets of LilyPond code, with explanatory comments and an image of the result. Is there any way to make the lists of search results (e.g., this) display these images? This would be very helpful for users to quickly finding snippets when they don't know the proper keywords. Jean Abou Samra (talk) 16:35, 31 October 2025 (UTC)

@Jean Abou Samra: The SearchThumbs extension should do what you need. --MarkAHershberger(talk) 01:46, 12 November 2025 (UTC)
Thanks a lot, this looks like exactly what I need. Unfortunately, it didn't work on my wiki after installing PageImages and SearchThumbs and running the maintenance script initImageData.php from PageImages as specified in the docs. I strongly suspect it's because the images on this wiki are not inserted with the normal wikitext markup but as inline SVG using <img src="data:image/svg+xml;base64,...">. This is because they're generated by an extension I wrote myself (relevant part of the code here), not MediaWiki's Extension:Score, because this wiki has somewhat peculiar needs. While writing the extension I found it much simpler to just inline the SVG than figure out how to store the images as files and delete the old images when music inputs change. What do you think is the easiest way out of this? Jean Abou Samra (talk) 16:10, 14 November 2025 (UTC)
@Jean Abou Samra: If you are generating the SVGs inline, then it is going to be difficult to show them as part of the search results. So, I'd say that you need to update your work to use separate files or, alternatively, write up what your special needs are that the Score extension doesn't meet.
Of course, you'd have to make sure the files generated by Score would work as a search result thumbnail, but I think that is a more solvable problem. --MarkAHershberger(talk) 16:36, 19 November 2025 (UTC)

I have just migrated my wiki from an old version to version 1.44. It has all gone well except that I still have a bold red line around my logo and the link for the Main Page. I assume these were there to remind you to change the logo, which I have done, so how do I get rid of the lines? Here is a link to my wiki: JP1 Remotes Wiki Thanks. Robman94 (talk) 22:04, 3 November 2025 (UTC)

@Robman94 Not sure what you are trying to say - please clarify. Leaderboard (talk) 05:30, 5 November 2025 (UTC)
Are you able to click on the link to my wiki? If so, it should be obvious what I am describing. Robman94 (talk) 19:03, 5 November 2025 (UTC)
@Robman94 No, it is not obvious as I cannot see some red line around some logo after clicking on your link. Please be more specific where you see what, provide a screenshot, inspect the problem via your web browser's development tools, etc. Thanks! Malyacko (talk) 20:58, 5 November 2025 (UTC)
Here is a screenshot: wzVcrVL.png (1920×1042) Robman94 (talk) 22:01, 5 November 2025 (UTC)
Are you familiar with what a fresh install of Mediawiki looks like? The default logo and the link to the main page both have think red lines around them, presumably to remind you to change them. The question is, what is supposed to make them go away once you do change them? The fact that you can't see them when you go to my wiki tends to imply that the code that generates the red lines must be stored locally in the cache or something, but I've done ?action=purge already and that didn't clear it. Does anyone here know how that line is generated and how to clear it? Robman94 (talk) 13:55, 6 November 2025 (UTC)
I have never seen those red lines before on any new install, and I'm not seeing them in YOUR wiki neither. However, you can try to inspect them with the browser's developer tools (hit the F12 key in your keyboard) and try to locate from which CSS it comes from. Ciencia Al Poder (talk) 22:31, 6 November 2025 (UTC)
Yeah, I brought up the wiki on a different browser (Firefox) and I don't see them there either, but I do see them using Chrome and Edge. You can see them on the screenshot thought, right? (talk) 02:01, 7 November 2025 (UTC)
@Robman94: Maybe you have an extension installed in Chrome that causes the border? I see it in the screenshot, but when I visit in Chrome, I don't see it.--MarkAHershberger(talk) 02:03, 12 November 2025 (UTC)
Just a quick update to say that I am still struggling with this. I have spent many days with Copilot trying absolutely every suggestion that it can think of, but still the red lines persist. I only see them in Edge and Chrome, not Firefox, but that's because I tested the site in the first 2 browsers before I uploaded my logo. So, my advice for anyone installing a new wiki is, be sure to load your logo before you test the site, or you'll never get rid of these red lines. I've even tried completely uninstalling and re-installing the browser, but that didn't work either. I am currently downloading all of my wiki files so that I can scan them using Notepad++ to try and find where there the "border: 6px solid red !important" text is coming from, so I can delete it. Robman94 (talk) 19:00, 18 November 2025 (UTC)
@Robman94: : Try adding ?debug=true to the url and see if the border shows up. If it does, then you'll be able to use the browser's DOM inspector to find the source. --MarkAHershberger(talk) 16:42, 19 November 2025 (UTC)
Thanks for the tip, but it turns out that something that we did yesterday must have fixed it, because I don't have any red lines today. I must have spent over 8 hours with Copilot trying every trick it could think of, but sometimes you just have to wait for cache to expire, no matter how much we purged it. Robman94 (talk) 19:59, 19 November 2025 (UTC)

Unload Wikibase

Hello MediaWiki, I recently installed the Wikibase extension version 1.44 for my Wiki, which is version 1.44.2, but the update script doesn't want to update and gives an error due to a database issue. Моя вики ru.encyclowiki.ru@ Therudekiweweffffffff (talk) 14:35, 18 November 2025 (UTC)

You should just be able to remove the wfLoadExtension line for your Wikibase installation and it should work. --MarkAHershberger(talk) 16:52, 19 November 2025 (UTC)

PHP Warning at the end of update

I updated from 1.43.1 to 1.44.2 and noticed this message at the end:

PHP Warning: Undefined array key "directory" in /var/www/html/w/includes/filebackend/FileBackendGroup.php on line 133

The wiki seems to be working ok, if maybe a little slower than before. I then went and upgraded PHP from 8.1 to 8.3. The message is still the same. What does this mean? Buster2223 (talk) 23:08, 13 November 2025 (UTC)

OK I am fairly sure that this is slowing down the wiki. Images that used to load instantly now take a second, and large pages are delayed by several seconds. My guess is that the primary path to the images doesn't work, then it looks for a fallback and finds it.

The documentation is fairly non-existent on Manual:FileBackendGroup.php.

Could someone please help on this? Buster2223 (talk) 17:39, 16 November 2025 (UTC)

@Buster2223: This is a known issue. You can subscribe to the bug in Phabricator if you want to follow along. --MarkAHershberger(talk) 17:27, 19 November 2025 (UTC)
Thank you for the information. I found the same errors in my log that the others found. I also have the same problem with thumbnails.
In my opinion this should not be "low priority". It dramatically slows down MediaWiki when pages with more than a few images are loaded. I would discourage anyone from updating from 1.43 to 1.44 until this is fixed. Buster2223 (talk) 20:37, 19 November 2025 (UTC)
See Bug management/Development prioritization#Priority. Tactica (talk) 02:00, 20 November 2025 (UTC)
Very reassuring! But ok, I would hope that this will get sorted out by the time 1.45 is released, which is scheduled for December 2025, and so it should be on everyone's to do list for the next few weeks. Buster2223 (talk) 13:11, 20 November 2025 (UTC)

I think I found the problem. It has to do with the recently implemented Wikimedia Foundation User Agent Policy. As far as I can tell, Commons works but the thumbnail directory is being blocked because the User agent needs to be identified. The fix is described here: InstantCommons#Set_custom_user_agent. I changed LocalSettings, ran an update, and the error message is gone. The warnings have also disappeared from the error log. Buster2223 (talk) 14:34, 20 November 2025 (UTC)

$wgUseInstantCommons = false;
$wgForeignFileRepos[] = [
	'class' => ForeignAPIRepoWithFixedUA::class,
	'name' => 'wikimediacommons',
	'apibase' => 'https://commons.wikimedia.org/w/api.php',
	'url' => 'https://upload.wikimedia.org/wikipedia/commons',
	'thumbUrl' => 'https://upload.wikimedia.org/wikipedia/commons/thumb',
	'directory' => $wgUploadDirectory,
	'hashLevels' => 2,
	'transformVia404' => true,
	'fetchDescription' => true,
	'descriptionCacheExpiry' => 43200,
	'apiThumbCacheExpiry' => 0,
];

class ForeignAPIRepoWithFixedUA extends \ForeignAPIRepo {
	public static function getUserAgent() {
		global $wgCanonicalServer;
		$mediaWikiVersion = 'MediaWiki/' . MW_VERSION;
		return "$mediaWikiVersion ($wgCanonicalServer) ForeignAPIRepo/T400881";
	}
}

Buster2223 (talk) 14:34, 20 November 2025 (UTC)

Did something change with "Category:Pages using the JsonConfig extension"?

In late 2024, a new category appeared on all wikis called "Category:Pages using the JsonConfig extension" which included all pages with a citation, unless the MediaWiki:Jsonconfig-use-category was created with "-". Now it appears that across all wikis, this category (Wikidata link: d:Q130635582) has become empty and many have been deleted. Was the software configuration changed to no longer populate this? Can it just be deleted everywhere? ~2025-34912-63 (talk) 17:14, 19 November 2025 (UTC)

@~2025-34912-63: It was removed as a result of the discussion in T378352. --MarkAHershberger(talk) 17:41, 19 November 2025 (UTC)
@MarkAHershberger Thanks. I will request deletion of the category on all wikis. ~2025-34912-63 (talk) 19:00, 21 November 2025 (UTC)

Creating your own PKI certificates

Does anyone have a script showing how they build the certificates for use with OpenLDAP? I created a CA and then a cert and key signed with the CA. They work fine with OpenLDAP and Linux sssd but not with older nslcd libraries, and it appears not with Mediawiki. No matter what I try I get either "Can't Connect" or "Can't start TLS".
The only clue I can find is that the CA certificate shows as being self-signed.

Techietubby (talk) 10:16, 21 November 2025 (UTC)

@Techietubby: : I don't have an LDAP server available at the moment to test, but you need to configure PHP and/or your local OpenSSL stack to recognize the CA as authoritative. You should be able to by using, for example, update-ca-certificates on Debian or Ubuntu or update-ca-trust on redhat-derived linuxes. --MarkAHershberger(talk) 14:40, 22 November 2025 (UTC)

Tabber and tables not working together

So I'm wanting to make a table inside of my TabberNeue, because I don't feel like making a template since there isn't enough information for it to have it's own. It works if I put it into a simple tabber, but if I put it into a nested tabber, it doesn't work.


|-| For This Device =
Several devices have their own blocks that can run functions or obtain data that other devices can't.
{{#tag:tabber
|Damager =
There is 1 block specific to the [[Damager]].
{|class="wikitable" 
!Image 
!Tooltip 
!Input types 
!Is an input? 
!Dropdown 1 
!Dropdown 2 
!Configurable settings
|-
|[[File:Damage block.png|frameless|231x231px]] 
|None 
|Number. 
|No 
|DNE 
|DNE 
|None 
|}
{{!}}-{{!}} Inventory Item Manager=
{|class="wikitable"
!Image
!Tooltip
!Input types
!Is an input?
!Dropdown 1
!Dropdown 2
!Configurable settings
|-
|[[File:IIM block.png|frameless|176x176px]]
|None
|None
|Yes
|DNE
|DNE
|None
|}
}}

</tabber>

Whenever I try this, all I see is the text at the beginning, one nested tab, and a bracket. Am I doing something wrong? Do I have to use templates? Fulcrum-19 (talk) 00:41, 21 November 2025 (UTC)

@Fulcrum-19: : one problem is that you have a extra closing tag </tabber> and that may be causing problems. The {{#tag parser function represents the whole tabber element. No closing tag is needed. --MarkAHershberger(talk) 14:50, 22 November 2025 (UTC)
I actually have a starting tabber before that, so that isn't the issue. There's a lot more to the tabber, I just copy-pasted the part that wasn't working. Fulcrum-19 (talk) 01:28, 23 November 2025 (UTC)
@Fulcrum-19: : What happens if you use this by itself instead of wrapped inside another tabber element? --MarkAHershberger(talk) 23:13, 24 November 2025 (UTC)

Need help with error 429 on phabricator repos

Hello,

I am a developer and maintainer for the project https://wikiromandie.org, a wiki for Swiss French part of Switzerland.

I am trying to build our Mediawiki images on Github actions, but my builds fail with the remaining error :

Error: error: RPC failed; HTTP 429 curl 22 The requested URL returned error: 429

Error: fatal: the remote end hung up unexpectedly

Unable to fetch in submodule path 'extensions/Wikibase/view/lib/wikibase-data-model'; trying to directly fetch 6b304daeb804591ddc4520925337429ac086515c:

Error: fatal: unable to access 'https://phabricator.wikimedia.org/source/wikibase-data-model.git/': The requested URL returned error: 429

Error: fatal: Fetched in submodule path 'extensions/Wikibase/view/lib/wikibase-data-model', but it did not contain 6b304daeb804591ddc4520925337429ac086515c. Direct fetching of that commit failed.

Error: fatal: Failed to recurse into submodule path 'extensions/Wikibase'

Error: The process '/usr/bin/git' failed with exit code 128

While installing the Wikibase extension. And our build won't go further.

Our repo is publicly available on steffpro/Wikiromandie.org: Wikiromandie.org Mediawiki🌻

When building from a local machine it works, but from Github Action Runners it fails.

What do I need to do to avoid this issue ?

Thank you for helping me.

Greetings,

Stefan Steffpro (talk) 21:35, 23 November 2025 (UTC)

@Steffpro This is essentially phab:T409519. The submodules are linked to Phabricator for WMF production reasons, but Phabricator is heavily rate limited for external clouds (also for bot scraping reasons). A shortterm workaround might be, to modify the git config of the runner to use InsteadOf, to replace the Phabricator urls to urls of the same codebase on GitHub, whenever it tries to use them. Something like: git config --global url.https://github.com/wmde/WikibaseDataModelJavascript.git.insteadof https://phabricator.wikimedia.org/source/wikibase-data-model.git. You have to do that for a few repos' most likely, but I don't know them by head. —TheDJ (Not WMF) (talkcontribs) 12:24, 24 November 2025 (UTC)

Reportlab

from reportlab.pdfgen import canvas

from reportlab.lib.pagesizes import A4

from reportlab.lib.utils import ImageReader

# PDF file path

pdf_path = "/mnt/data/Kobi_o_KD_Pathok_Prothom_Adhyay.pdf"

cover_image_path = "/mnt/data/Allamanda_Book_Cover.png"  # placeholder for generated cover image

# Create PDF with ReportLab

c = canvas.Canvas(pdf_path, pagesize=A4)

width, height = A4

# Add cover image

try:

    cover_image = ImageReader(cover_image_path)

    c.drawImage(cover_image, 0, 0, width=width, height=height)

except:

    # If cover image not available, add a placeholder title

    c.setFont("Helvetica-Bold", 24)

    c.drawCentredString(width/2, height/2, "কবি ও কেডি পাঠক: একটি বিশ্বাসের যাত্রা")

    c.setFont("Helvetica", 18)

    c.drawCentredString(width/2, height/2 - 40, "লেখক: বাহাউদ্দিন সরকার কবির")

# Add Chapter 1 title and text

c.showPage()

c.setFont("Helvetica-Bold", 20)

c.drawString(50, height-100, "অধ্যায় ১: সাহসীদের পদচিহ্ন")

c.setFont("Helvetica", 14)

intro_text = (

    "যেখানে সবাই নীরব, আমি সেখানে কলম তোলে বলি —\n"

    "সত্যের প্রতিটি শব্দই একেকটি বিপ্লব।\n\n"

    "এই অধ্যায় উৎসর্গ করা হলো সেইসব মানুষের জন্য, যারা ভয়কে উপেক্ষা করে সত্য উচ্চারণ করেন, "

    "যারা একা হলেও ন্যায়ের পথে হাঁটেন, আর যাদের কলম কখনো বিক্রি হয় না।"

)

text_obj = c.beginText(50, height-150)

for line in intro_text.split('\n'):

    text_obj.textLine(line)

c.drawText(text_obj)

# Placeholder for report text

c.setFont("Helvetica-Bold", 16)

c.drawString(50, height-300, "প্রতিবেদন: F-7 যুদ্ধবিমান বারবার দুর্ঘটনায় প্রশ্নবিদ্ধ — একটি নাগরিক দৃষ্টিভঙ্গি")

c.setFont("Helvetica", 14)

report_text = (

    "এখানে ব্যবহারকারীর প্রতিবেদন সম্পূর্ণরূপে থাকবে। "

    "সরাসরি প্রিন্টের জন্য এটি সংরক্ষিত।\n\n"

    "(প্রয়োজনীয় নোট এবং বিশ্লেষণও থাকবে)"

)

text_obj = c.beginText(50, height-330)

for line in report_text.split('\n'):

    text_obj.textLine(line)

c.drawText(text_obj)

# Save PDF

c.save()

pdf_path Sarkar Bahauddin kobir (talk) 01:41, 25 November 2025 (UTC)

@Sarkar Bahauddin kobir is there something we can help you with ? This doesn't provide a lot of context for us. —TheDJ (Not WMF) (talkcontribs) 09:23, 25 November 2025 (UTC)

Lot of error-messages on MJ-wiki page after upgrade

After upgrading we got a LOT of errormessages down the page before reaching the content Uploading a screenshot here didn't work so go to www.mjwiki.no to look at the problem. What makes this happen?? Any obvious solution to this?


Robel68 ROBEL68 (talk) 15:47, 26 November 2025 (UTC)

How did you do the upgrade? There is detailed information at Manual:Upgrading on what you should really do and not do. – Ammarpad (talk) 17:18, 26 November 2025 (UTC)
You are running MediaWiki 1.31 released in 2018, on a PHP version that is just 3 years old. You should read the compatibility guide and the upgrade guide. —TheDJ (Not WMF) (talkcontribs) 18:41, 26 November 2025 (UTC)

MediaWiki instance not showing css

i was trying to update MediaWiki, but after updating (and setting the LocalSettings.php to use the correct new directory) it looked like there wasn't any css except for the MediaWiki:common.css file for some reason. you can see for yourself here: https://paxtonpenguin.com/wiki/chwiki/index.php/Main_Page. i'm using the latest version (1.44.2) and there aren't any errors being generated --~2025-37331-08 (talk) 14:31, 29 November 2025 (UTC)

Outdated user verification

To log in Wikipedia demands that I verify using an email I have not had for over a decade.

1) There is no option provided should this verification not be possible;

2) Asking for help on "the support page requires that I log in

3) I am a long time member, donor, and past editor 'greenfyre', so I would prefer not to simply create a new account.

What should I do? Can someone fix the log in so people with this problem have some obvious recourse. ~2025-37521-36 (talk) 15:54, 1 December 2025 (UTC)

Please try this process: meta:Help:Account recovery. – Ammarpad (talk) 16:29, 1 December 2025 (UTC)
Tried once, it said all was good, then still wanted verification
Just tried again, says there will be an email. So thank you, maybe this time the outcome will be different :-) ~2025-37521-36 (talk) 18:03, 1 December 2025 (UTC)
And it worked!!! Thank you again :-)
Still would be nice if the verification page had a "if that doesn't work" option, but thankfully no longer my problem.
~~~~ ~2025-37521-36 (talk) 21:50, 2 December 2025 (UTC)

Which extension adds the category management tools at the bottom of pages?

I'm talking about the + - and so on down in the category list at the bottom of a page, like you see on pages on Commons (such as this page). TIA for your help! -- 日本穣 Nihonjoe (talk) 19:02, 3 December 2025 (UTC)

That comes from c:Help:Gadget-HotCat, which is actually a JS gadget not a server-side extension. * Pppery * it has begun 19:13, 3 December 2025 (UTC)
Thanks! -- 日本穣 Nihonjoe (talk) 19:15, 3 December 2025 (UTC)
Once I create "MediaWiki:Gadget-HotCat.js", how do I get it to show up in the list of gadgets in preferences? -- 日本穣 Nihonjoe (talk) 19:23, 3 December 2025 (UTC)
I added * HotCat[ResourceLoader|default]|HotCat.js to MediaWiki:Gadgets-definition, but it still doesn't seem to be appearing. Running 1.39 currently. -- 日本穣 Nihonjoe (talk) 19:44, 3 December 2025 (UTC)
I've done everything at commons:Help:Gadget-HotCat#Copying HotCat, but the HotCat tools are still not appearing. I've purged the cache on the server and in my browser. I changed the entry on MediaWiki:Gadgets-definition to * HotCat[ResourceLoader|dependencies=mediawiki.user|rights=upload|default|targets=desktop,mobile]|HotCat.js|Hotcatcheck.js (which is what Commons uses). Any suggestions? -- 日本穣 Nihonjoe (talk) 20:58, 3 December 2025 (UTC)
What wiki is this on? Things that occur to me:
Make sure Extension:Gadgets is actually installed.
Note that "rights=upload" in that definition means that it only shows up if you have permission to upload files (on Commons this is a hack to show it only to logged-in users).
Definitely not causing your error, but "targets=desktop,mobile" is useless and can safely be deleted
Check the browser console for any JS errors.
* Pppery * it has begun 21:08, 3 December 2025 (UTC)
It's a private wiki (personal use). To answer your questions in order:
  1. Gadgets is definitely turned on. It shows up in the list of installed extensions and has been called from LocalSettings.php. IIRC, it's installed and on by default in all recent versions of MW. I'm currently on v1.39.
  2. I have rights to upload on the wiki on which it is installed, so that shouldn't be a problem.
  3. Thanks for the tip on the targets. I've removed that. I had left it in as I was trying to mimic the Commons installation as much as possible while trying to get it to work.
  4. I'm viewing the pages in Firefox 145.0.1 on Windows 11. The browser console says there is a "JavaScript parse error (scripts need to be valid ECMAScript 5): Parse error: Missing ; before statement in file 'MediaWiki:Gadget-HotCat.js' on line 530". Here's the code (pastebin). The line it's referring to is the one with let jsonData;. I simply copied and pasted the file from Commons, with no changes made, so I'm not sure why it's saying there's a missing semicolon. Ideas? -- 日本穣 Nihonjoe (talk) 21:27, 3 December 2025 (UTC)
    The syntax error is because phab:T75714 which allowed ES6 syntax in gadgets only made it to 1.42 and later. Reverting to c:Special:PermaLink/1009886081 or older would probably fix that. * Pppery * it has begun 00:02, 4 December 2025 (UTC)
    That fixed it! Thanks for your help! -- 日本穣 Nihonjoe (talk) 00:14, 4 December 2025 (UTC)

Cannot figure out how to make my talk page function

I am probably in the wrong place, but there is something wrong with my talk page and the "reply" button doesn't work. I tried reading the help page here but I was none the wiser for it. Thank you, Mr.choppers (talk) 02:41, 4 December 2025 (UTC)

@Mr.choppers: I think perhaps your header template is not closing the table that it opens, and so the whole talk page is being made part of that table, and so DiscussionTools isn't able to reliably add wikitext. I might be wrong though. Sam Wilson 03:24, 4 December 2025 (UTC)
@Samwilson: very possible; I just don't know how to fix it. You clearly know more about this than I, so feel free to try some changes if you are able to help and it amuses you. Thanks! Mr.choppers (talk) 03:41, 4 December 2025 (UTC)
That did it! Thanks, Mr.choppers (talk) 03:45, 4 December 2025 (UTC)
@Mr.choppers: Sorry, I edited at the same time as you! But looks good now I think. Sam Wilson 03:46, 4 December 2025 (UTC)
Yeah, I re-read your comment and opted to turn on my brain - three more minutes and I would have fully figured it out. Thanks again. Mr.choppers (talk) 03:48, 4 December 2025 (UTC)

Search bars are too finicky on mobile

When I go to a talk page and mobile and tap the search bar "the wrong way", instead of searching the archives of that talk page, I end up searching the entirety of Wikipedia. Please, do something to fix this. ~2025-38613-28 (talk) 23:01, 4 December 2025 (UTC)

I don't understand what the problem is. If the talk page has a special search box for searching only subpages of that talk page (i.e., archived discussions), that is a separate thing entirely from the normal search feature of this website (the "magnifying glass" icon at the top of the page). Are you saying you just tap the wrong thing? I'm not sure that can be helped. Just be more careful. (??) Perhaps you are suggesting that the two search elements look more different? I can't address that issue, since I don't know what the "search the archives" type of search box/bar looks like. Perhaps someone else can address this. - dcljr (talk) 01:25, 5 December 2025 (UTC)
@Dcljr: If I tap the search bar which is supposed to search only subpages of that talk page, my whole mobile screen becomes blank, except a bar at the top that says "Search Wikipedia". And that bar searches all of Wikipedia, not just the subpages. However, this only seems to occur once after I load a new talk page. The second time the search bar works as intended.
This also occurs on other MediaWiki sites (like mediawiki.org) so I know it's not just an issue with Wikipedia. ~2025-38613-28 (talk) 02:14, 5 December 2025 (UTC)
Please link to a specific talk page where this happens. - dcljr (talk) 02:41, 5 December 2025 (UTC)
@Dcljr: w:Talk:United States for example, but it's every talk page. ~2025-38613-28 (talk) 03:18, 5 December 2025 (UTC)
You must not be talking about the Wikipedia mobile app, since the search on talk pages there is called "Search topics" and doesn't actually include subpages of archived discussions (only the discussions on that one specific talk page). In any case, I couldn't reproduce the problem using that. I tried several talk pages, and never ended up searching all of Wikipedia. OTOH, if you're using some other browser on your phone, then I can't check that for Wikipedia, since I have the app, so my phone forces Wikipedia pages to open in that, even if I visit them in a normal browser (Google Chrome). I did try MediaWiki.org (specifically, mw:Manual talk:Extensions, and I didn't see any search element that was only for searching the talk page or any subpages of it. So, sorry… looks like I can't help you. Perhaps someone else can help, now that we have a little more information about what you're experiencing (but please clarify what kind of browser or app you are using to visit the pages). - dcljr (talk) 07:14, 5 December 2025 (UTC)

Extension compatibility information could be improved

One of the biggest pains when upgrading MediaWiki is checking whether extensions remain compatible with the next version.

Template:Extension has a "mediawiki" parameter, but generally that says something like "MW1.25+", which isn't helpful when upgrading, unless that specific version is what you're upgrading to.

What we need is a MW version range that is kept up to date. I know that would involve some extra work, but it would really save a load of work in the world generally! I might suggest an extra parameter for the latest tested version of MediaWiki, but I don't know whether that would help in practice.

Is there any way of encouraging extension authors to add this extra information? We all appreciate the work that is put into extensions, so this isn't a big complaint - just a suggestion :-) Jonathan3 (talk) 22:27, 4 December 2025 (UTC)

As I see it this is no different to the issue with stating what's the most recent PHP version that is compatible. Unless a bug report proves otherwise, theoretically any recent version should work, but there's also the matter of unexpected interactions between extensions. Right now Linter is not working as it should for me as it doesn't update the stats for a certain very large page in a local wiki, but I can't do anything until 1.45 is released to see if things are any different there. In an ideal world every extension's master branch should be backwards compatible, but unfortunately this is not the case and more often than not you're stuck with whatever is available for the latest stable version. Tactica (talk) 22:42, 4 December 2025 (UTC)
"stating what's the most recent PHP version that is compatible" This rings a bell. I think you're referring to Talk:Compatibility#PHP_8.4_is_missing_(in_compat_matrix). The wording "The latest stable branch of MediaWiki (1.44) runs on PHP 8.1.0 and higher" was changed because some people infer from that that it will run on PHP 8.4 and 8.5, which is not necessarily the case. It was changed to "The latest stable branch of MediaWiki (1.44) runs on PHP 8.1.0 up to 8.3.x.". I see it now says "The latest stable branch of MediaWiki (1.44) runs on PHP 8.2.0 up to 8.3.x".
Anyway, it's a similar problem with extensions, because "1.25+" could mean, for instance:
(a) The extension will work on MW 1.43 (as "1.25+" includes any higher number).
(b) The extension will not work on MW 1.43 (e.g. it was abandoned around MW 1.30).
The problem is slightly different, as MediaWiki will almost certainly be compatible a new PHP version in due course.
I'm not sure whether the creation of REL1_xx branches is automatic or guarantees that the extension worked when the branch was created. I suspect it varies by extension. Jonathan3 (talk) 23:17, 4 December 2025 (UTC)
@Jonathan3: extension.json supports having a Composer version range in the requires field. This is how the Diagrams extension does it, and it's really not that much work to periodically update the upper bound (after testing that it actually works!). That's most useful for extensions with a master compatibility policy; for rel policy, it'd be nice if we could assume that the branches were always function with their versions, but I agree that that's not always the case (although it does at least mean that CI has passed for that version, which is good so long as there are sufficient tests written for an extension). A better way to confirm compatibility of a set of extensions is I think to set up your own CI for your specific extensions (e.g.). Sam Wilson 23:39, 4 December 2025 (UTC)
Thank you. The infobox field would also allow a range. Ideally the Special:Version page would show the range of each extension. But every possibility relies on extension authors, as well as doing the hard work of maintaining their extensions, maintaining up-to-date compatibility information somewhere, and I suppose that's not always realistic (for example, an author might only know that it works on one specific version and be hoping for the best in relation to others, until bug reports come in).
Maybe another option would be some way to give users the feeling that they are able to edit the extension's infobox to show which versions seem to be working. As things stand, I would be reluctant to edit an infobox, as it would look like an official assertion that the thing does work rather than an experience of it seemingly working. Jonathan3 (talk) 10:50, 5 December 2025 (UTC)

[SOLVED] Clarification needed on upgrade process from 1.39 to 1.43

I am planning to move between these legacy/LTS versions. Does the note at MediaWiki_1.43#Changes only apply to those with the Linter extension? I am 99% sure it does. The note states: "When upgrading from a version <= 1.39, a multi-step update is necessary to be able to run the migration scripts independently from update.php: first update to 1.42, then proceed as indicated." Jonathan3 (talk) 23:23, 4 December 2025 (UTC)

I'm just a regular user, but I don't see how this could be an issue for you if you don't use the Linter extension. ISTM the note is only addressing a possible problem with the update scripts taking too long to run. If you don't use Linter, then either the scripts wouldn't run at all or they would run, see there's nothing to do, and stop exit. Either way, the two-step process wouldn't be necessary. (But then, what do I know?) - dcljr (talk) 01:05, 5 December 2025 (UTC)
Pinging @MacFan4000: who added that text to the page (although since they rarely edit here, and apparently copy-pasted the text into the page, I'm not sure how helpful they might be). - dcljr (talk) 02:53, 5 December 2025 (UTC)
Thanks. I see now that similar text is at Extension:Linter#Upgrading_to_MediaWiki_1.43.x so it seems to be an extension-specific thing. Also I see that it's been bundled since MW1.40 and it has its own Wikipedia page at w:Wikipedia:Linter, so the upgrade text must at least be expecting use of the extension to be likely. Anyway, I'll ignore it! It would be more idiot proof if to "update.php updates the Linter database table" could be added "(for wikis running the Linter extension)", but I can see that it's clear enough for everybody else :-) Thanks again. Jonathan3 (talk) 11:05, 5 December 2025 (UTC)
I've made this edit: https://www.mediawiki.org/w/index.php?title=Release_notes%2F1.43&diff=8059573&oldid=7928315. Jonathan3 (talk) 22:30, 5 December 2025 (UTC)

Extra code in printable version of page

IGNORE, I found a solution, see below.

Hi: I'm using the Foreground skin on my wiki here: https://skalchemist.cloud/mediawiki/index.php/Main_Page

Foreground skin: Skin:Foreground

MediaWiki vs 1.41.1

When I go to the printable version, all internal wiki links have an extra "edit" code displayed, e.g.

Tabletop Roleplaying Games[edit (/mediawiki/index.php? title=Main_Page&action=edit&section=1)]

This is only in the printable version, everything looks fine in the browser version. I also have a different skin installed (Vector) and this "edit" code does not appear in the printable version with that skin.

Is there something I can do in the Print.CSS that would make that stop showing up? Can someone explain to me why that is happening?

EDIT: i've just realized after looking at this for so long that what it is doing is displaying the full URL for every link, including the "EDIT" link for each section. So I guess my real question is can I suppress this behaviour in Print.CSS, or is there some setting I can change in LocalSettings.php?

EDIT2: I've found this bit of the FAQ: https://www.mediawiki.org/wiki/Manual:FAQ#How_do_I_disable_external_links_from_showing_in_the_printable_version_of_a_page?

However, that code is not doing anything in my Print.CSS, the problem is still showing up. Skalchemisto (talk) 16:43, 8 December 2025 (UTC)

EDIT3: After a lot of digging, I finally found that adding this to my Print.CSS seemed to work:

 a[href]:after {
    content: " (" attr(href) ")"; }

Please ignore this question.

How can I configure OpenLDAP users on Mediawiki 1.43.5

I have a Rocky Linux-9 server running OpenLDAP over sssd. I can login, sudo, etc., so I know that LDAP is working. I have also created an ldapprovider.json file using the same values:

{
  "my.ldap": {
    "connection": {
      "server": "ldap.my.com",
      "port": 636,
      "enctype": "ssl",
      "user": "cn=manager,dc=my,dc=com",
      "pass": "Secret",
      "options": {
        "LDAP_OPT_DEREF": 1
      },
      "basedn": "dc=my,dc=com",
      "groupbasedn": "ou=groups,dc=my,dc=com",
      "userbasedn": "ou=people,dc=my,dc=com",
      "searchattribute": "uid",
      "usernameattribute" => "uid",
      "realnameattribute": "cn",
      "emailattribute": "mail",
      "searchstring": "uid=USER-NAME,ou=people,dc=my,dc=com"
    }
  }
}

==========================================================

My LocalSettings.php looks as follows:

# Load extensions
wfLoadExtensions( [
        'PluggableAuth',
        'Auth_remoteuser',
        'LDAPProvider',
        'LDAPAuthentication2',
        'LDAPAuthorization',
        'LDAPUserInfo'
] );
# LDAP configuration
$wgLDAPUseLDAP = true;
$wgLDAPServers = ['ldaps://ldap.my.com'];
$wgLDAPBaseDNs = ['dc=my,dc=com'];
$wgLDAPRDN = '$username';
$wgLDAPUserFilter = '(&(uid=$username)(objectClass=posixAccount))';
$wgLDAPUserBaseDNs = ['ou=people,dc=my,dc=com'];
$wgLDAPAttributes = [
    'realname' => 'cn',
    'email' => 'mail',
];
$wgLDAPHygiene = true;
# Path to the configuration file
$wgLDAPProviderConf = "$IP/../ldapprovider.json";
#$wgLDAPProviderConf = '/var/www/html/mediawiki/ldapprovider.json';
#$wgLDAPProviderConf = 'ldapprovider.json';
$wgDebugLogGroups['ldap'] = '/var/log/mediawiki/ldap_debug.log';
$wgShowExceptionDetails = true;
// In any case we need to specify LDAP domain configs
#$LDAPProviderDomainConfigs = "/var/www/html/mediawiki/ldapprovider.json";
$LDAPProviderDomainConfigs = "$IP/../ldapprovider.json";
// If local login is supported as well, then these globals are still needed
$wgPluggableAuth_EnableLocalLogin = true;
#---------------Extension LDAPAuthentication2---------------
$LDAPAuthentication2AllowLocalLogin = true;
$LDAPAuthentication2UsernameNormalizer = 'strtolower';
#---------------Extension LDAPProvider---------------
$ldapJsonFile = "$IP/../ldapprovider.json";
$LDAPProviderDomainConfigs = $ldapJsonFile;
$wgPluggableAuth_Config['Log In (LDAP)'] = [
    'plugin' => 'LDAPAuthentication2',
    'data' => [
        'domain' => 'my.ldap'
    ]
];

==========================================================

If I try to create a user and it exists in my LDAP Mediawiki tells me it exists, however when I try to use LDAP login I see:

Internal error:

[aR2eEUL4sJI38jU5Dfmy5gAAAAc] /index.php?title=Special:PluggableAuthLogin TypeError: count(): Argument #1 ($value) must be of type Countable|array, null given
Backtrace:
from /var/www/html/mediawiki/extensions/LDAPProvider/src/DomainConfigProvider/LocalJSONFile.php(50)
#0 /var/www/html/mediawiki/extensions/LDAPProvider/src/DomainConfigProvider/LocalJSONFile.php(50): count()
#1 /var/www/html/mediawiki/extensions/LDAPProvider/src/DomainConfigProvider/LocalJSONFile.php(70): MediaWiki\Extension\LDAPProvider\DomainConfigProvider\LocalJSONFile->__construct()
#2 [internal function]: MediaWiki\Extension\LDAPProvider\DomainConfigProvider\LocalJSONFile::newInstance()
#3 /var/www/html/mediawiki/extensions/LDAPProvider/src/DomainConfigFactory.php(102): call_user_func_array()
#4 /var/www/html/mediawiki/extensions/LDAPProvider/src/ClientFactory.php(62): MediaWiki\Extension\LDAPProvider\DomainConfigFactory::getInstance()
#5 /var/www/html/mediawiki/extensions/LDAPAuthentication2/src/PluggableAuth.php(254): MediaWiki\Extension\LDAPProvider\ClientFactory->getForDomain()
#6 /var/www/html/mediawiki/extensions/LDAPAuthentication2/src/PluggableAuth.php(123): MediaWiki\Extension\LDAPAuthentication2\PluggableAuth->checkLDAPLogin()
#7 /var/www/html/mediawiki/extensions/PluggableAuth/includes/PluggableAuthLogin.php(103): MediaWiki\Extension\LDAPAuthentication2\PluggableAuth->authenticate()
#8 /var/www/html/mediawiki/includes/specialpage/SpecialPage.php(728): MediaWiki\Extension\PluggableAuth\PluggableAuthLogin->execute()
#9 /var/www/html/mediawiki/includes/specialpage/SpecialPageFactory.php(1717): MediaWiki\SpecialPage\SpecialPage->run()
#10 /var/www/html/mediawiki/includes/actions/ActionEntryPoint.php(504): MediaWiki\SpecialPage\SpecialPageFactory->executePath()
#11 /var/www/html/mediawiki/includes/actions/ActionEntryPoint.php(146): MediaWiki\Actions\ActionEntryPoint->performRequest()
#12 /var/www/html/mediawiki/includes/MediaWikiEntryPoint.php(200): MediaWiki\Actions\ActionEntryPoint->execute()
#13 /var/www/html/mediawiki/index.php(58): MediaWiki\MediaWikiEntryPoint->run()
#14 {main}

This is an internal wiki so I simply need LDAP user login without frills. A user should be able to see the content until logged-in. Techietubby (talk) 11:09, 19 November 2025 (UTC)

That line refers to count( $this->configArray ), where configarray is $this->configArray = FormatJson::decode( file_get_contents( $jsonFilePath ), true ); which in turn implies an invalid json file. The extensions should probably improve it's error handling in situations like that, and I suggest you file tickets with the extension maintainer, or of course submit a gerrit change. —TheDJ (Not WMF) (talkcontribs) 12:42, 19 November 2025 (UTC)
specifically: "usernameattribute" => "uid" => is not valid json syntax. —TheDJ (Not WMF) (talkcontribs) 12:50, 19 November 2025 (UTC)
Tanks, well spotted! I have corrected that error and now see:
[aR2_X1Ib6tHgKpmHMXzE4wAAAJg] /index.php?title=Special:PluggableAuthLogin MWException: Could not bind to LDAP: (-1) Can't contact LDAP server
Backtrace:
from /var/www/html/mediawiki/extensions/LDAPProvider/src/Client.php(197)
#0 /var/www/html/mediawiki/extensions/LDAPProvider/src/Client.php(119): MediaWiki\Extension\LDAPProvider\Client->establishBinding()
#1 /var/www/html/mediawiki/extensions/LDAPProvider/src/Client.php(367): MediaWiki\Extension\LDAPProvider\Client->init()
#2 /var/www/html/mediawiki/extensions/LDAPAuthentication2/src/PluggableAuth.php(262): MediaWiki\Extension\LDAPProvider\Client->canBindAs()
#3 /var/www/html/mediawiki/extensions/LDAPAuthentication2/src/PluggableAuth.php(123): MediaWiki\Extension\LDAPAuthentication2\PluggableAuth->checkLDAPLogin()
#4 /var/www/html/mediawiki/extensions/PluggableAuth/includes/PluggableAuthLogin.php(103): MediaWiki\Extension\LDAPAuthentication2\PluggableAuth->authenticate()
#5 /var/www/html/mediawiki/includes/specialpage/SpecialPage.php(728): MediaWiki\Extension\PluggableAuth\PluggableAuthLogin->execute()
#6 /var/www/html/mediawiki/includes/specialpage/SpecialPageFactory.php(1717): MediaWiki\SpecialPage\SpecialPage->run()
#7 /var/www/html/mediawiki/includes/actions/ActionEntryPoint.php(504): MediaWiki\SpecialPage\SpecialPageFactory->executePath()
#8 /var/www/html/mediawiki/includes/actions/ActionEntryPoint.php(146): MediaWiki\Actions\ActionEntryPoint->performRequest()
#9 /var/www/html/mediawiki/includes/MediaWikiEntryPoint.php(200): MediaWiki\Actions\ActionEntryPoint->execute()
#10 /var/www/html/mediawiki/index.php(58): MediaWiki\MediaWikiEntryPoint->run()
#11 {main}
I shall also try to contact the plugin developer. Techietubby (talk) 13:03, 19 November 2025 (UTC)
I have now tested the connection using LDAPSEARCH and found that I could bind in clear. I also used JSONVALIDATE to check my ldap file and that is also ok. I now get a new error:
aR3OL_Q_6TYooanu46D4IwAAAFM] /index.php?title=Special:PluggableAuthLogin TypeError: MediaWiki\Config\HashConfig::__construct(): Argument #1 ($settings) must be of type array, null given, called in /var/www/html/mediawiki/extensions/LDAPProvider/src/DomainConfigFactory.php on line 77
Backtrace:
from /var/www/html/mediawiki/includes/config/HashConfig.php(52)
#0 /var/www/html/mediawiki/extensions/LDAPProvider/src/DomainConfigFactory.php(77): MediaWiki\Config\HashConfig->__construct()
#1 /var/www/html/mediawiki/extensions/LDAPAuthorization/src/Hook/PluggableAuthUserAuthorization.php(60): MediaWiki\Extension\LDAPProvider\DomainConfigFactory->factory()
#2 /var/www/html/mediawiki/extensions/LDAPAuthorization/src/Hook/PluggableAuthUserAuthorization.php(75): MediaWiki\Extension\LDAPAuthorization\Hook\PluggableAuthUserAuthorization->__construct()
#3 /var/www/html/mediawiki/includes/HookContainer/HookContainer.php(159): MediaWiki\Extension\LDAPAuthorization\Hook\PluggableAuthUserAuthorization::callback()
#4 /var/www/html/mediawiki/extensions/PluggableAuth/includes/HookRunner.php(49): MediaWiki\HookContainer\HookContainer->run()
#5 /var/www/html/mediawiki/extensions/PluggableAuth/includes/PluggableAuthLogin.php(145): MediaWiki\Extension\PluggableAuth\HookRunner->onPluggableAuthUserAuthorization()
#6 /var/www/html/mediawiki/includes/specialpage/SpecialPage.php(728): MediaWiki\Extension\PluggableAuth\PluggableAuthLogin->execute()
#7 /var/www/html/mediawiki/includes/specialpage/SpecialPageFactory.php(1717): MediaWiki\SpecialPage\SpecialPage->run()
#8 /var/www/html/mediawiki/includes/actions/ActionEntryPoint.php(504): MediaWiki\SpecialPage\SpecialPageFactory->executePath()
#9 /var/www/html/mediawiki/includes/actions/ActionEntryPoint.php(146): MediaWiki\Actions\ActionEntryPoint->performRequest()
#10 /var/www/html/mediawiki/includes/MediaWikiEntryPoint.php(200): MediaWiki\Actions\ActionEntryPoint->execute()
#11 /var/www/html/mediawiki/index.php(58): MediaWiki\MediaWikiEntryPoint->run()
#12 {main} Techietubby (talk) 14:05, 19 November 2025 (UTC)
I have done more testing and the latest version of OpenLDAP only supports SSL/TLS. If you connect in clear it will not decrypt passwords so you can only check usernames.
I tried both:
"port": 636,
"enctype": "ssl",
Returns: PluggableAuthLogin MWException: Could not bind to LDAP: (-1) Can't contact LDAP server
and
"port": 389,
"enctype": "tls",
Returns: /index.php?title=Special:PluggableAuthLogin MWException: Could not start TLS!
I think that more SSL/TLS configuration is required. My LDAP certs are self-signed and not the same as those of the LDAP servers themselves which are using fully-signed wildcard certs (*.acme.com) . My LDAP works perfectly on this server and is using sssd.
How can I contact the plugin developers?
# php ./extensions/LDAPProvider/maintenance/ShowUserInfo.php --username myuser--domain "my.ldap"
*******************************************************************************
NOTE: Do not run maintenance scripts directly, use maintenance/run.php instead!
      Running scripts directly has been deprecated in MediaWiki 1.40.
      It may not work for some (or any) scripts in the future.
*******************************************************************************
PHP Warning:  ldap_start_tls(): Unable to start TLS: Connect error in /var/www/html/mediawiki/extensions/LDAPProvider/src/PlatformFunctionWrapper.php on line 141
MWException from line 168 of /var/www/html/mediawiki/extensions/LDAPProvider/src/Client.php: Could not start TLS!
#0 /var/www/html/mediawiki/extensions/LDAPProvider/src/Client.php(118): MediaWiki\Extension\LDAPProvider\Client->maybeStartTLS()
#1 /var/www/html/mediawiki/extensions/LDAPProvider/src/Client.php(258): MediaWiki\Extension\LDAPProvider\Client->init()
#2 /var/www/html/mediawiki/extensions/LDAPProvider/maintenance/ShowUserInfo.php(49): MediaWiki\Extension\LDAPProvider\Client->getUserInfo()
#3 /var/www/html/mediawiki/maintenance/includes/MaintenanceRunner.php(703): MediaWiki\Extension\LDAPProvider\Maintenance\ShowUserInfo->execute()
#4 /var/www/html/mediawiki/maintenance/doMaintenance.php(100): MediaWiki\Maintenance\MaintenanceRunner->run()
#5 /var/www/html/mediawiki/extensions/LDAPProvider/maintenance/ShowUserInfo.php(76): require_once('...')
#6 {main} Techietubby (talk) 08:39, 20 November 2025 (UTC)
I have been testing my certificates and my LDAP server's CA cert is self-signed so: openssl s_client -CAfile /etc/openldap/certs/ca.pem -connect ldap1.com:636 returns: Verify return code: 21 (unable to verify the first certificate).
Is there a way to allow a self-signed certificate? Techietubby (talk) 10:04, 20 November 2025 (UTC)
I have done some more investigation and my LDAP server is using TLS-1.3 and if I run a check command I get the error message:
  1. echo "" | openssl s_client -connect ldap1.redacted.com:389 -starttls ldap -prexit -showcerts
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 4096 bit
This TLS version forbids renegotiation.
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 21 (unable to verify the first certificate)
If I add: -no_tls1_3 to the command I just see the code: 21, therefore I suspect that the Wiki plugin needs to be able to either fall-back to TLS1.2 or to allow for a self-signed CA cert.
It would also be really nice if there were some working examples showing the contents of LocalSettings.php and ../ldapprovider.json enabling a connection to AD and OpenLDAP. Techietubby (talk) 12:42, 20 November 2025 (UTC)

@Techietubby: : We really need to improve error reporting. It looks like you're missing an authorization section (example) in your .json file. --MarkAHershberger(talk) 17:26, 19 November 2025 (UTC)

Hi Mark,
I want all users and groups to have access. Do you have a JSON example of how I do this? Techietubby (talk) 08:44, 20 November 2025 (UTC)
@Techietubby: : After a bit of searching, I would try objectClass=user or objectClass=person. (I also removed your other LDAP question from here since you also asked it below.) --MarkAHershberger(talk) 23:30, 24 November 2025 (UTC)
I spent a lot of time talking with Robert Vogel one of the LDAP plugin and we discovered the reason that the host wasn't connecting. He wrote this script and it showed that the OS needed the LDAP CA cert needed to be trusted by the OS.
<?php
error_reporting( -1 );
ini_set( 'display_errors', 1 );
$ldapconn = ldap_connect("ldaps://ldap.test.com:636") or die("Could not connect to LDAP server.");
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3) ;
ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0) ;
if ($ldapconn) {
    $ldapbind = ldap_bind($ldapconn,  'cn=manager,dc=test,dc=com', 'passwd');
    if ($ldapbind) {
        echo "LDAP bind successful...";
    } else {
        echo "LDAP bind failed...";
    }
}
I fixed the trust by running:
echo "" | openssl s_client -connect ldap1.test.com:389 -starttls ldap -prexit -showcerts
You then manually extract the certificate (BEGIN/END) and create a .crt file. Copy this and update the certs store:
cp /etc/openldap/certs/ca.crt/etc/pki/ca-trust/source/anchors
update-ca-trust
systemctl restart httpd
I had to reboot the machine before the PHP script worked. Techietubby (talk) 08:40, 26 November 2025 (UTC)
I also ran the test scripts:
  1. php ./extensions/LDAPProvider/maintenance/CheckLogin.php --domain test.ldap --username user
*******************************************************************************
NOTE: Do not run maintenance scripts directly, use maintenance/run.php instead!
      Running scripts directly has been deprecated in MediaWiki 1.40.
      It may not work for some (or any) scripts in the future.
*******************************************************************************
Password:xxxxx
FAILED
  1. php ./extensions/LDAPProvider/maintenance/ShowUserGroups.php --domain test.ldap --username user
*******************************************************************************
NOTE: Do not run maintenance scripts directly, use maintenance/run.php instead!
      Running scripts directly has been deprecated in MediaWiki 1.40.
      It may not work for some (or any) scripts in the future.
*******************************************************************************
[e95937f41f0f556b795b5bd1] [no req]   TypeError: ldap_count_entries(): Argument #2 ($result) must be of type LDAP\Result, bool given
Backtrace:
from /var/www/html/mediawiki/extensions/LDAPProvider/src/PlatformFunctionWrapper.php(312)
#0 /var/www/html/mediawiki/extensions/LDAPProvider/src/PlatformFunctionWrapper.php(312): ldap_count_entries()
#1 /var/www/html/mediawiki/extensions/LDAPProvider/src/Client.php(329): MediaWiki\Extension\LDAPProvider\PlatformFunctionWrapper->count()
#2 /var/www/html/mediawiki/extensions/LDAPProvider/src/UserGroupsRequest/GroupUniqueMember.php(17): MediaWiki\Extension\LDAPProvider\Client->getUserDN()
#3 /var/www/html/mediawiki/extensions/LDAPProvider/src/Client.php(403): MediaWiki\Extension\LDAPProvider\UserGroupsRequest\GroupUniqueMember->getUserGroups()
#4 /var/www/html/mediawiki/includes/libs/objectcache/BagOStuff.php(217): MediaWiki\Extension\LDAPProvider\Client->MediaWiki\Extension\LDAPProvider\{closure}()
#5 /var/www/html/mediawiki/extensions/LDAPProvider/src/Client.php(404): Wikimedia\ObjectCache\BagOStuff->getWithSetCallback()
#6 /var/www/html/mediawiki/extensions/LDAPProvider/maintenance/ShowUserGroups.php(49): MediaWiki\Extension\LDAPProvider\Client->getUserGroups()
#7 /var/www/html/mediawiki/maintenance/includes/MaintenanceRunner.php(703): MediaWiki\Extension\LDAPProvider\Maintenance\ShowUserGroups->execute()
#8 /var/www/html/mediawiki/maintenance/doMaintenance.php(100): MediaWiki\Maintenance\MaintenanceRunner->run()
#9 /var/www/html/mediawiki/extensions/LDAPProvider/maintenance/ShowUserGroups.php(72): require_once(string)
#10 {main}
  1. php ./extensions/LDAPProvider/maintenance/ShowUserInfo.php --domain test.ldap --username user
*******************************************************************************
NOTE: Do not run maintenance scripts directly, use maintenance/run.php instead!
      Running scripts directly has been deprecated in MediaWiki 1.40.
      It may not work for some (or any) scripts in the future.
*******************************************************************************
MWException from line 237 of /var/www/html/mediawiki/extensions/LDAPProvider/src/Client.php: Error in LDAP search: Bad search filter
#0 /var/www/html/mediawiki/extensions/LDAPProvider/src/UserInfoRequest.php(70): MediaWiki\Extension\LDAPProvider\Client->search()
#1 /var/www/html/mediawiki/extensions/LDAPProvider/src/Client.php(272): MediaWiki\Extension\LDAPProvider\UserInfoRequest->getUserInfo()
#2 /var/www/html/mediawiki/includes/libs/objectcache/BagOStuff.php(217): MediaWiki\Extension\LDAPProvider\Client->MediaWiki\Extension\LDAPProvider\{closure}()
#3 /var/www/html/mediawiki/extensions/LDAPProvider/src/Client.php(273): Wikimedia\ObjectCache\BagOStuff->getWithSetCallback()
#4 /var/www/html/mediawiki/extensions/LDAPProvider/maintenance/ShowUserInfo.php(49): MediaWiki\Extension\LDAPProvider\Client->getUserInfo()
#5 /var/www/html/mediawiki/maintenance/includes/MaintenanceRunner.php(703): MediaWiki\Extension\LDAPProvider\Maintenance\ShowUserInfo->execute()
#6 /var/www/html/mediawiki/maintenance/doMaintenance.php(100): MediaWiki\Maintenance\MaintenanceRunner->run()
#7 /var/www/html/mediawiki/extensions/LDAPProvider/maintenance/ShowUserInfo.php(76): require_once('...')
#8 {main} Techietubby (talk) 09:06, 26 November 2025 (UTC)
I looked for objectClass but it is not configured anywhere. I have:
  1. cat LocalSettings.php
...
# Load extensions
#       'Auth_remoteuser',
wfLoadExtensions( [
        'PluggableAuth',
        'LDAPProvider',
        'LDAPAuthentication2',
        'LDAPAuthorization',
        'LDAPUserInfo'
] );
# LDAP configuration
$wgLDAPUseLDAP = true;
#
// If local login is supported as well, then these globals are still needed
$wgPluggableAuth_EnableLocalLogin = true;
#---------------Extension LDAPAuthentication2---------------
$LDAPAuthentication2AllowLocalLogin = true;
$LDAPAuthentication2UsernameNormalizer = 'strtolower';
#---------------Extension LDAPProvider---------------
##$ldapJsonFile = "$IP/../ldapprovider.json";
##$LDAPProviderDomainConfigs = $ldapJsonFile;
$wgPluggableAuth_Config['Log In (LDAP)'] = [
    'plugin' => 'LDAPAuthentication2',
    'data' => [
        'domain' => 'test.ldap'
    ]
];
$wgExternalDataSources['test.ldap'] = [
        'server'        => 'ldap1.test.com',
        'base dn'       => 'dc=test,dc=com',
        'user'          => 'cn=manager,dc=test,dc=com',
        'password'      => 'secret'
];
### ALSO turn on LDAP debug
$wgDebugLogFile = "/var/log/mediawiki/debug-{$wgDBname}.log";
$wgLDAPDebug = 99;
$wgDebugLogGroups['ldap'] = '/var/log/mediawiki/debug-ldap.log';
$wgShowExceptionDetails = true;
$wgDebugLogGroups['PluggableAuth'] =
$wgDebugLogGroups['LDAP'] =
$wgDebugLogGroups['MediaWiki\\Extension\\LDAPProvider\\Client'] =
$wgDebugLogGroups['LDAPProvider'] =
$wgDebugLogGroups['LDAPGroups'] =
$wgDebugLogGroups['LDAPUserInfo'] =
$wgDebugLogGroups['LDAPAuthentication2'] =
$wgDebugLogGroups['LDAPAuthorization'] = '/tmp/LDAP.log';
$wgLdapAuthBaseDN = 'OU=manager,DC=test,DC=com';
  1.   cat ../ldapprovider.json
{
  "test.ldap": {
    "connection": {
      "server": "ldap1.test.com",
      "port": 636,
      "enctype": "ssl",
      "user": "cn=manager,dc=test,dc=com",
      "pass": "secret",
      "options": {
        "LDAP_OPT_DEREF": 1
        "LDAP_OPT_X_TLS_CACERTFILE": "/etc/openldap/certs/ca.pem"
      },
      "basedn": "dc=test,dc=com",
      "Groupbasedn": "ou=Group,dc=test,dc=com",
      "userbasedn": "ou=People,dc=test,dc=com",
      "searchattribute": "uid",
      "usernameattribute": "uid",
      "realnameattribute": "cn",
      "emailattribute": "mail",
      "searchstring": "uid=USER-NAME,ou=People,dc=test,dc=com"
      }
  }
}
Can you see where I need to add the filter? Techietubby (talk) 09:14, 26 November 2025 (UTC)
I should also point-out that all my users should have access so I don't need any group filter etc. Techietubby (talk) 09:58, 26 November 2025 (UTC)
When I add: $LDAPProviderDomainConfigs = "$IP/../ldapprovider.json"; to my LocalSettings.php I can then successfully run all the test scripts from the command line:
php ./extensions/LDAPProvider/maintenance/ShowUserGroups.php --domain test_ldap--username andrew
php ./extensions/LDAPProvider/maintenance/CheckLogin.php --domain test.ldap --username andrew
1046  26/11/25 15:46:38 php ./extensions/LDAPProvider/maintenance/CheckLogin.php --domain test_ldap --username andrew
The interactive login still fails with:
aScUVz0EMSIMSwseC5OscgAAAE8] /wiki/index.php?title=Special:PluggableAuthLogin TypeError: MediaWiki\Config\HashConfig::__construct(): Argument #1 ($settings) must be of type array, null given, called in /var/www/html/mediawiki/extensions/LDAPProvider/src/DomainConfigFactory.php on line 77
Backtrace:
from /var/www/html/mediawiki/includes/config/HashConfig.php(52)
#0 /var/www/html/mediawiki/extensions/LDAPProvider/src/DomainConfigFactory.php(77): MediaWiki\Config\HashConfig->__construct()......
..
I am 90% sure everything is correct except the LDAP settings in LocalSettings.php but cannot find a working example. Any ideas? Techietubby (talk) 14:56, 26 November 2025 (UTC)
Argument #1 ($settings) must be of type array, null given, called in /var/www/html/mediawiki/extensions/LDAPProvider/src/DomainConfigFactory.php on line 77
Indicates that either the "domain" or a "section" was not properly available in the ldapprovider.json. As the JSON looks good and doesn't seem to lack anything, I believe the "domain" is just misconfigured in the web-context (compared to the cli-context).
Please check any maybe truncate the database table ldap_domains or set $LDAPProviderDefaultDomain = "test.ldap";.
I can see you used test.ldap and test_ldap in the examples. Make sure to use the same "domain" in all settings. Osnard (talk) 11:59, 2 December 2025 (UTC)
Hi Osnard,
I tried various settings for this variable but always received:
aTaCPonmY8RJb5YFpxK8IAAAAAA] /wiki/index.php?title=Development_Info_Wiki MediaWiki\Extension\LDAPProvider\LDAPNoDomainConfigException: No configuration available for domain 'My_domain'! Techietubby (talk) 07:49, 8 December 2025 (UTC)
I have managed to get the login to work by reducing the number of plugins and now have:
wfLoadExtensions( [
        'PluggableAuth',
        'LDAPProvider',
        'LDAPAuthentication2'
] );
$wgLDAPUseLDAP = true;
$wgLDAPUserFilter = '(&(uid=$username)(objectClass=posixAccount))';
// In any case we need to specify LDAP domain configs
$LDAPProviderDomainConfigs = "$IP/../ldapprovider.json";
// If local login is supported as well, then these globals are still needed
$wgPluggableAuth_EnableLocalLogin = true;
$LDAPAuthentication2AllowLocalLogin = true;
$LDAPAuthentication2UsernameNormalizer = 'strtolower';
$wgPluggableAuth_Config['Log In (LDAP)'] = [
    'plugin' => 'LDAPAuthentication2',
    'data' => [
        'domain' => 'my_ldap'
    ]
];
I also created a /var/www/html/ldapprovider.json:
{
  "my_ldap": {
    "connection": {
      "server": "ldap1.test.com",
      "port": 636,
      "enctype": "ssl",
      "user": "cn=manager,dc=test,dc=com",
      "pass": "secret",
      "options": {
        "LDAP_OPT_DEREF": 1,
        "LDAP_OPT_X_TLS_CACERTFILE": "/etc/openldap/certs/ca.pem"
      },
      "basedn": "dc=test,dc=com",
      "Groupbasedn": "ou=Group,dc=test,dc=com",
      "userbasedn": "ou=People,dc=test,dc=com",
      "searchattribute": "uid",
      "usernameattribute": "uid",
      "realnameattribute": "cn",
      "emailattribute": "mail",
      "searchstring": "uid=USER-NAME,ou=People,dc=test,dc=com"
      }
  }
} Techietubby (talk) 08:38, 8 December 2025 (UTC)
What is strange is that the domain show in mysql is completely different and there is no explanation??
> select * from ldap_domains;
+-----------+------------+---------+
| domain_id | domain     | user_id |
+-----------+------------+---------+
|         1 | otherLDAP |       6 |
|         2 | otherLDAP |     203 | Techietubby (talk) 08:40, 8 December 2025 (UTC)
There must be some other configuration interfering. Try to grep for My_domain and otherLDAP in all configuration places. Osnard (talk) 15:12, 10 December 2025 (UTC)

MonoBook looks entirely out of place

For some reason, the MonoBook UI looks completely out of place.

In older versions of MediaWiki, the controls would adapt per theme, but now, it has a mix of Vector 2010 and Vector 2022 UI instead of the proper MonoBook controls. Have a look at this screenshot. Same with the Vector 2010 skin - the tabs in Special:Preferences would fit in with the rest of the page but now they stand out like a sore thumb.

I get that you probably want to get people using Vector 2022, but can you at least keep the older skins how they were? Can you at least bother making the Codex look native when using a different theme? Soynorth (talk) 19:49, 6 December 2025 (UTC)

I'd say this is one of many things that come with the territory when a project depends on voluntary work. Free time and human resources are limited and people has to set priorities. I for one would prefer developers to fix bugs and ensure compatibility with current PHP versions rather than making a random skin look pretty, even if it is one bundled with MediaWiki and used on Wikipedia.
Besides, everyone is free to submit patches on Phabricator. Tactica (talk) 07:30, 11 December 2025 (UTC)

Edittools in uzwiktionary

Hi. I need help for improving Edittools page in uzwiktionary. I want it to be the same as English Wiktionary. Umarxon III (talk) 15:17, 12 December 2025 (UTC)

How to debug "Incorrect watchlist token provided"?

I'm trying to get an Atom feed of changes to pages on my watchlist on the English Wikipedia. I followed the instructions from wikipedia:WP:Syndication. This didn't work:

$ curl "https://en.wikipedia.org/w/api.php?action=feedwatchlist&feedformat=atom&wlowner=Jean%20Abou%20Samra&wltoken=62d...656"
<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.wikipedia.org/w/api.php?action=feedwatchlist&feedformat=atom&wlowner=Jean%20Abou%20Samra&wltoken=62d728fa7bcebd6a8e774d4a526b0c1ebf47b656</id>
	<title>Wikipedia - Error - Watchlist [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.wikipedia.org/w/api.php?action=feedwatchlist&feedformat=atom&wlowner=Jean%20Abou%20Samra&wltoken=62d728fa7bcebd6a8e774d4a526b0c1ebf47b656"/>
	<link rel="alternate" type="text/html" href="https://en.wikipedia.org/wiki/Special:Watchlist"/>
	<updated>2025-12-12T19:06:40Z</updated>
	<subtitle>Watchlist</subtitle>
	<generator>MediaWiki 1.46.0-wmf.5</generator>
	<entry>
		<id></id>
		<title>Error (bad_wltoken)</title>
		<link rel="alternate" type="text/html" href=""/>
		

		<summary type="html">Incorrect watchlist token provided. Please set a correct token in [[Special:Preferences]].</summary>
		<author><name></name></author>
	</entry>
</feed>

Resetting the token and redoing the request with the new one didn't help. What am I doing wrong? Jean Abou Samra (talk) 19:08, 12 December 2025 (UTC)

Are you sure it was reset? The initial value you see after registering an account isn’t a real token. You might still be seeing that one, and it won’t work. – Ammarpad (talk) 13:50, 14 December 2025 (UTC)
I just tried again and it worked this time (without resetting the token, which I definitely had already done several times). No idea what changed. Jean Abou Samra (talk) 16:27, 14 December 2025 (UTC)

Are there any other skins with Vector's sticky sidebar menu?

I really like the sidebar heading menu (the one that stays on the top left) but hate the Vector skin generally.

Are there other skins with something similar?

Or any extensions achieving the same effect?

Thanks. Jonathan3 (talk) 22:32, 2 December 2025 (UTC)

@Jonathan3: : The skin is relatively minimal. I don't know of any others right off that have this feature, but it would help to know what sort of skins you do like. --MarkAHershberger(talk) 18:18, 5 December 2025 (UTC)
Thanks. I like Foreground and Chameleon (admittedly two skins without sidebars at all, I believe), and Medik. Jonathan3 (talk) 18:57, 5 December 2025 (UTC)
@Jonathan3: sorry for the late reply, but it occurred to me that you might appreciate what ICANNWiki has done with the Vector skin. I'm not a graphic design person so I really don't have much more to offer. --MarkAHershberger(talk) 01:52, 17 December 2025 (UTC)

Hi, I have a very strange behavior in one mediawiki instance.

I have two instances running on the same version (1.35) on the same server (apache on windows server with equal vhost-settings) with the same plugins and almost identical localsettings.php (only database-settings, chosen theme and name differs).

On the problematic site the link to the image ON the image is not rendered correctly but instead rendered as external link AND with an error in the link:

external link with https and index.php%3Ftitle=Datei:Karte_-_Vollbild.png (%3F instead of &)

The link beneath the image is rendered correctly as internal link with just /index.php

On the other almost identical site everything renders correctly.

I checked the localsettings and apache conf side by side but couldn't find the cause why the rendering fails. Is there any setting to look for? Like image setting or external-link settings? Or any other idea?

Thanks in advance ~2025-38283-86 (talk) 06:54, 4 December 2025 (UTC)

@~2025-38283-86: , Could this be an intermittent problem? I don't know what would cause it, but have you tried clearing the cache, restarting your server, etc.? --MarkAHershberger(talk) 18:16, 5 December 2025 (UTC)
I tried restarting the server and cleared the cache several times.I just found out that the error is not on every image and that confuses me a lot more. The site in question is here: https://wiki.diplanung.de/index.php?title=Eigenes_Verfahren_anlegen
All images but the last one show this error. Niklas.lovermann (talk) 09:54, 8 December 2025 (UTC)
@Niklas.lovermann: Sorry for the delay in responding, but it looks like you have fixed the problem. At least, I cannot find any mis-encodings. Let me know if you still have the problem. --MarkAHershberger(talk) 01:45, 17 December 2025 (UTC)

1.45.0 update.php can't find Parsoid

Running update.php after upgrading to 1.45.0 fails as it somehow can't find Parsoid:

[tactica@void maintenance]$ php run update.php 
[4e81ab2d197dc3ff2b7d42a5] [no req]   Error: Class "Wikimedia\Parsoid\DOM\HTMLDocument" not found
Backtrace:
from /srv/www/lighttpd/w145/vendor/wikimedia/parsoid/src/Utils/DOMCompat.php(112)
#0 /srv/www/lighttpd/w145/includes/parser/ContentHolder.php(96): Wikimedia\Parsoid\Utils\DOMCompat::newDocument()
#1 /srv/www/lighttpd/w145/includes/parser/ParserOutput.php(368): MediaWiki\Parser\ContentHolder::createEmpty()
#2 /srv/www/lighttpd/w145/includes/Output/OutputPage.php(439): MediaWiki\Parser\ParserOutput->__construct()
#3 /srv/www/lighttpd/w145/includes/context/RequestContext.php(331): MediaWiki\Output\OutputPage->__construct()
#4 /srv/www/lighttpd/w145/includes/Setup.php(571): MediaWiki\Context\RequestContext->getOutput()
#5 /srv/www/lighttpd/w145/maintenance/run.php(51): require_once(string)
#6 /srv/www/lighttpd/w145/maintenance/run(3): require(string)
#7 {main}

My LocalSettings.php contains the following lines, which worked with 1.44 and are still valid according to both Parsoid and Extension:Linter#Configuration:

wfLoadExtension( 'Linter' );
// Load Parsoid
wfLoadExtension(
    'Parsoid',
	"$IP/vendor/wikimedia/parsoid/extension.json"
);

$wgParsoidSettings = [
    'useSelser' => true,
    'linting' => true
];

$wgVisualEditorParsoidAutoConfig = false; // to make linting work

$wgVirtualRestConfig = [
	'paths' => [],
	'modules' => [
		'parsoid' => [
			'url' => 'http://localhost/w/rest.php',
			'domain' => 'localhost',
			'forwardCookies' => true,
			'restbaseCompat' => false,
			'timeout' => 30
		],
	],
	'global' => [
		'timeout' => 360,
		'forwardCookies' => false,
		'HTTPProxy' => null
	]
];

Should I modify the highlighted line maybe?

Edit: I see this is apparently T409283 at work. Any workarounds? --Tactica (talk) 11:59, 9 December 2025 (UTC)

@Tactica: Did you try inserting
require_once("vendor/wikimedia/parsoid/src/DOM/HTMLDocument.php");
as RgPublic_Wiki suggested? --MarkAHershberger(talk) 01:39, 17 December 2025 (UTC)
No I didn't. While I'd like to be running 1.45 by now to see if other problems disappear (for example, I have a file description page causing a 500 internal error when I try to open it) I'd rather use an official build rather than hack around the code myself. I suppose the Arch Linux people did that though.
What I find strange about the way T409283 is handled is that it was only tagged as blocker after 1.45 was released. --Tactica (talk) 07:14, 17 December 2025 (UTC)

Anchors are provided automatically on section headings. Let's suppose on a private wiki is an internal link to an anchor on the same page (for ex. https://en.wikipedia.org/wiki/Help:Section#Table_of_contents_(TOC))

After login the user is redirected to the URL without the anchor (for ex. https://en.wikipedia.org/wiki/Help:Section). Is this a bug?

Note. Do not use this example for issue reproduction as long it belongs to a public wiki. S0ring (talk) 16:26, 15 December 2025 (UTC)

It's not a bug. At most it is a missing feature. Anchors are generally considered to be browser side information and it isn't very common that the server side knows about them. Theoretically, it can be implemented, but no specific need to do so has been identified so far. —TheDJ (Not WMF) (talkcontribs) 16:16, 16 December 2025 (UTC)
@S0ring: Discussion of this issue (and why the developers might not be interested in resolving this) are tracked on T200027. --MarkAHershberger(talk) 18:51, 16 December 2025 (UTC)

I'm having difficulty setting the logo on a new MediaWiki instance on a virtual cloud server. This is my first time trying to actually fully self-manage a site, but I do have a fairly strong knowledge of the basics of MediaWiki. The logo file is located on-wiki at File:SiteLogo.png (fully protected) and all of my paths have been left at the default values (didn't change or add anything to LocalSettings related to script paths or related config). I'm using Vector Legacy (default) and MonoBook (alternate/fallback) skins. I have attempted to set:

$wgLogos = [ '1x' => "$wgScriptPath/SiteLogo.png", ];

as well as

$wgLogos = [ '1x' => "$wgUploadPath/SiteLogo.png", ];

and while I was successful at overwriting and removing the default placeholder logo, I have not been able to get my actual site logo to display. Cleared the browser cache and purged the Main Page, no difference. Note that I'm only trying to set the logo here, not the favicon. Am I misunderstanding something in Manual:$wgLogos or am I doing something else wrong? It's very possible that I'm overlooking something simple or making some sort of stupid error (already done that plenty of times so far), but right now I can't seem to figure out what it might be. ~2025-37571-98 (talk) 16:28, 30 November 2025 (UTC)

On the following line you could add echo "$wgUploadPath/SiteLogo.png"; and see whether you recognise what is printed as being accurate. I guess you might be using the variable names before declaring them. Jonathan3 (talk) 14:55, 2 December 2025 (UTC)
It printed the correct file name (SiteLogo.png) but still didn't display the image. ~2025-37571-98 (talk) 22:24, 3 December 2025 (UTC)
$wgScriptPath is usually /w and $wgUploadPath is usually /w/images. You could try getting rid of the $wg and just write the path to your file, or double check that your file is in the right directory. Flounder ceo (talk) 18:17, 17 December 2025 (UTC)
The following discussion is closed and will soon be archived.

Internal error, revision&diff=

General wiki-site user with Admin rights (ie:general maintainer but not hosting). (was reported to host, but he seems out of town ... again.) anyway ...

After some user edit (visual editor) calling a diff on that edit result in a Internal error message (added below).

The revision itself I can view (still, not sure if that is because that edit is still the last one)

I did a bit of searching on this but could not find anything that seemed useful for me.

1. Is there anything I could potentially try or do to resolve this ? (probably not)
2. Are there things I (or other users) should not do to that page until this diff error is fixed ?

Or

3. This error has no risk in giving additional problems on this page in the future. (?)
MediaWiki: 1.39.10
PHP: 8.1.30 (apache2handler)
MariaDB: 11.5.2-MariaDB-ubu2404
ICU: 72.1
Semantic MediaWiki: 4.2.0
[5acf35c34c1628da532f8244] /index.php?title=Poor_Man%27s_Gloves&type=revision&diff=119533&oldid=116637   Error: Call to a member function getUser() on null
Backtrace:
from /var/www/html/includes/diff/DifferenceEngine.php(1667)
 #0 /var/www/html/includes/diff/DifferenceEngine.php(1125): DifferenceEngine->getMultiNotice()
 #1 /var/www/html/includes/diff/DifferenceEngine.php(1080): DifferenceEngine->getDiff(string, string, string)
 #2 /var/www/html/includes/diff/DifferenceEngine.php(844): DifferenceEngine->showDiff(string, string, string)
 #3 /var/www/html/includes/page/Article.php(908): DifferenceEngine->showDiffPage(boolean)
 #4 /var/www/html/includes/page/Article.php(465): Article->showDiffPage()
 #5 /var/www/html/includes/actions/ViewAction.php(78): Article->view()
 #6 /var/www/html/includes/MediaWiki.php(542): ViewAction->show()
 #7 /var/www/html/includes/MediaWiki.php(322): MediaWiki->performAction(Article, Title)
 #8 /var/www/html/includes/MediaWiki.php(904): MediaWiki->performRequest()
 #9 /var/www/html/includes/MediaWiki.php(562): MediaWiki->main()
 #10 /var/www/html/index.php(50): MediaWiki->run()
 #11 /var/www/html/index.php(46): wfIndexMain()
 #12 {main}

MvGulik (talk) 02:12, 9 December 2025 (UTC)

- - - -

Some additional background info.

  1. The related wiki site is making heavy use of SMW.
  2. The edit in question was made around the same time I was API-Purging some category & property pages (to enforce some SMW & Template stuff to update)
  3. The user of that edit did not experienced any out of the order wiki behavior.

I of course don't know for sure the two are related. But it would not surprise me.

MvGulik (talk) 10:29, 9 December 2025 (UTC)

You should always mention the MW version when reporting error or link to the wiki if it's public. – Ammarpad (talk) 10:35, 11 December 2025 (UTC)
Oops, sorry. I totally forgot. Added. MvGulik (talk) 20:12, 11 December 2025 (UTC)
OK, that's better. In newer versions, it seems there are new checks that'd make such error not possible. So upgrading is one possible solution. MW 1.39 is reaching end-of-life this month. – Ammarpad (talk) 11:14, 15 December 2025 (UTC)
The wiki was updated.
MediaWiki: 1.43.6
PHP: 8.3.28 (fpm-fcgi)
ICU: 76.1
MariaDB: 12.1.2-MariaDB-ubu2404
Semantic MediaWiki: 6.0.1
But the error is still there. (I know. Wiki-updating on its own would not fix it.)
What strikes me as odd with this error is that it tries to compares "&diff=119533&oldid=116637".
And when I open both related edits it shows the same numbers. 116637 on the older/previous edit, and 119533 on the newer/last edit.
So ... What is missing, or wend wrong, that triggers this diff error ?
Reminder: I have no experience (to speak of) with setting up or running a mediawiki wiki. I'm just "admin"ing one.
MvGulik (talk) 14:01, 17 December 2025 (UTC)

Can user connect with GPG Key (like Github)?

Hello everyone

I'm working on a wiki for my community and a user wanted to now if he can use GPG authentication like Github authentication option. Not being a developer myself, I don't have a very good grasp of the GPG key concept, this is why I need your help.


Any reply is welcome


Thank you for your help, have a nice week-end ;)

Jamblond Jamblond (talk) 15:37, 13 December 2025 (UTC)

Hi, what makes you think that GitHub supports GPG for authentication? Please provide some references - thanks. Malyacko (talk) 13:37, 16 December 2025 (UTC)
Sorry for my misinterpretation and poor wording.
The user is currently trying to find out if it's possible to sign posts with gpg ket with a "regular" user account.
Thank you so much for your help ! Jamblond (talk) 18:36, 17 December 2025 (UTC)
@Jamblond: as Malyacko hints, Github does not use GPG for authentication. It does use GPG to verify that the user who made the commit controls the GPG identity (if they used GPG to sign their commits). The closest parallel for MediaWiki that I can think of is using GPG to sign edits and then verifying that the person making the edits controls the GPG identity that they claim.
This would be a SMOP to implement but I don't think anyone has attempted this, yet. --MarkAHershberger(talk) 01:31, 17 December 2025 (UTC)
Sorry for my misinterpretation and poor wording.
The user is currently trying to find out if it's possible to sign posts with gpg ket with a "regular" user account?
Thank you so much for your help ! Jamblond (talk) 18:36, 17 December 2025 (UTC)
So there isn't an option available yet for users to «use GPG to sign edits and then verifying that the person making the edits controls the GPG identity that they claim»??
And there is no extension or any other option available for controlling the GPG identity??
Thank you Jamblond (talk) 18:44, 17 December 2025 (UTC)

VisualEditor corrupts categories on re-edit

Creating pages with VisualEditor works fine, but reopening the same page in VisualEditor breaks category syntax. Categories turn into Category:=index.php?... instead of normal Category:Name. . Any idea why?

MediaWiki 1.44 Nachum1 (talk) 12:25, 15 December 2025 (UTC)

@Nachum1: it definitely sounds like a bug, but one I think might be related to some of your settings for a site without short urls. Could you look at your LocalSettings.php and see what the following are set to?
  • $wgScriptPath
  • $wgArticlePath
  • $wgUsePathInfo

--MarkAHershberger(talk) 18:59, 16 December 2025 (UTC)

  • $wgScriptPath = "";
  • $wgArticlePath = "/index.php?title=$1";
  • $wgUsePathInfo = false;
when I change $wgUsePathInfo to true the category issue is gone, but then another problem comes up. Clicking on images shows a black screen with the error: "Invalid source image".
The URL format changes as well:
$wgUsePathInfo = false:
tzefunotwiki.com/index.php?title=File:Qt_large.jpg
$wgUsePathInfo = true:
tzefunotwiki.com/index.php/File:Qt_large.jpg
~2025-41080-50 (talk) 09:17, 18 December 2025 (UTC)

Expanding problems

Dear ∀,

Take

{{#ifexist:{{#switch:MediaWiki |mediawiki |MEDIAWIKI=MediaWiki |x=y |#default=MediaWiki}}:Common.css||no}}

Why will

{{#ifexist:{{subst:#switch:MediaWiki |mediawiki |MEDIAWIKI=MediaWiki |x=y |#default=MediaWiki}}:Common.css||no}}

resolve to nothing, but

{{subst:#ifexist:{{#switch:MediaWiki |mediawiki |MEDIAWIKI=MediaWiki |x=y |#default=MediaWiki}}:Common.css||no}}

will resolve to no?

How can I tell mediawiki to wait with #ifexist until #switch has been expanded?

Thank you in advance!

Yours, Ciciban (talk) 11:05, 18 December 2025 (UTC)

You should substitute the #switch also:
{{subst:#ifexist:{{subst:#switch:MediaWiki |mediawiki |MEDIAWIKI=MediaWiki |x=y |#default=MediaWiki}}:Common.css||no}} – Ammarpad (talk) 16:26, 19 December 2025 (UTC)

Fatal exception of type 'Wikimedia\Rdbms\DBQueryError'

[67ef726f760a0f7a9b21c7ba] 2025-12-20 11:29:30: Fatal exception of type 'Wikimedia\Rdbms\DBQueryError'

This error happened when i tried to import a template to my project on Miraheze. I actually dont know anything about Wiki engine, so...can someone help with it?

Clueless Guy221 (talk) 13:18, 20 December 2025 (UTC)

Please contact Miraheze Support desk. – Ammarpad (talk) 14:45, 20 December 2025 (UTC)

Trying to use the gerrit web interface to add a new file

Hi, long story short I tried to contribute via git, but stuck on git-review (installed but kept saying 'review' is not a git command), so I can't push my commit. So I tried the Gerrit/Web tutorial to do the small change. Tried it and success for updating a file, but when I tried to upload a new file to mediawiki-core /language/messages/, I'm stuck, because the tutorial only cover how to change a file, nothing about how to upload a new file.

Screenshot of the error

Thanks beforehand for anyone who are able to help me with this. Bennylin (talk) 15:50, 20 December 2025 (UTC)

Extension development problem

I has a extension.json:

{
	"name": "ProtectEntireWiki",
	"author": "LBLaiSiNanHai",
	"description": "This extension can protect entire wiki",
	"version": "indev",
	"license-name": "BSD-3-Clause",
	"type": "antispam",
	"manifest_version": 2,
	"AutoloadedClasses": {
		"ProtectEntireWiki": "includes/ProtectEntireWiki.php",
		"PEWEditingUIHooksRw": "includes/PEWEditingUIHooksRw.php"
	},
	"HookHandlers": {
		"PEWEditingUIRwHookHandler": {
			"class": "PEWEditingUIHooksRw",
			"services": []
		}
	},
	"Hooks": {
		"onEditPage::showEditForm:initial": "PEWEditingUIRwHookHandler"
	}
}

But the PEWEditingUIHooksRw class is not loading, why and how to solve? LBLaiSiNanHai (talk) 10:26, 22 December 2025 (UTC)

My mediawiki is 1.39.15 LBLaiSiNanHai (talk) 10:41, 22 December 2025 (UTC)
also, i saw it in Special:Version
ProtectEntireWiki
indev (e96aae5)
BSD-3-Clause
This extension can protect entire wiki
LBLaiSiNanHai LBLaiSiNanHai (talk) 10:42, 22 December 2025 (UTC)
Solved now LBLaiSiNanHai (talk) 11:32, 22 December 2025 (UTC)
The following discussion is closed and will soon be archived.
LBLaiSiNanHai (talk) 11:33, 22 December 2025 (UTC)

What the hell UI bug?

I never saw it before, what the bug it is and how to fix. LBLaiSiNanHai (talk) 11:34, 22 December 2025 (UTC)

@LBLaiSiNanHai It looks like some CSS was added that is interfering with the layout of the page. Try loading a page and adding &safemode=true to the url, which should disable modifications in gadgets and Common.css etc. Try disabling all extensions and see if it disappears. —TheDJ (Not WMF) (talkcontribs) 15:06, 22 December 2025 (UTC)
I am trying enabled Safe Mode in the pref, still not working LBLaiSiNanHai (talk) 04:23, 23 December 2025 (UTC)
Solved...
The following discussion is closed and will soon be archived.
LBLaiSiNanHai (talk) 06:07, 23 December 2025 (UTC)
I was add $wgHooks['BeforePageDisplay'][] = function ( $out, $skin ) {
$out->addInlineStyle( 'body { white-space: pre-wrap !important; }' );
return true;
}; in my localsettings LBLaiSiNanHai (talk) 06:07, 23 December 2025 (UTC)

errors installing extensions

lsb_release -a Debian GNU/Linux 12 (bookworm)

php -v PHP 8.4.16

sudo /usr/sbin/apache2ctl -v Apache/2.4.65

composer -v Composer version 2.9.2

Fatal error: Uncaught Error: Class "Wikimedia\Services\ServiceContainer" not found in /var/www/mediawiki/includes/MediaWikiServices.php:251 Stack trace: #0 /var/www/mediawiki/includes/AutoLoader.php(273): require_once() #1 /var/www/mediawiki/extensions/Maps/src/MapsHooks.php(179): AutoLoader::autoload() #2 /var/www/mediawiki/extensions/Maps/src/MapsRegistration.php(26): Maps\MapsHooks::registerHookHandlers() #3 /var/www/mediawiki/includes/registration/ExtensionRegistry.php(586): Maps\MapsRegistration::onRegistration() #4 /var/www/mediawiki/includes/registration/ExtensionRegistry.php(332): MediaWiki\Registration\ExtensionRegistry->exportExtractedData() #5 /var/www/mediawiki/includes/Setup.php(280): MediaWiki\Registration\ExtensionRegistry->loadFromQueue() #6 /var/www/mediawiki/includes/WebStart.php(72): require_once('...') #7 /var/www/mediawiki/index.php(36): require('...') #8 {main} thrown in /var/www/mediawiki/includes/MediaWikiServices.php on line 251


Meini2025 (talk) 19:09, 23 December 2025 (UTC)

Extension:Maps has a note; it only supports MediaWiki LTS releases. Ensure you're mixing compatible versions. – Ammarpad (talk) 22:51, 23 December 2025 (UTC)

Declaration of Wikimedia\ObjectCache\BagOStuff::setLogger must be compatible with Psr\Log\LoggerAwareInterface::setLogger

Hi,

can someone give me a hint why this error occurs please? Could it be related to an specific extension?

PHP Fatal error:  Declaration of Wikimedia\ObjectCache\BagOStuff::setLogger(Psr\Log\LoggerInterface $logger) must be compatible with Psr\Log\LoggerAwareInterface::setLogger(Psr\Log\LoggerInterface $logger): void in /var/www/html/includes/libs/objectcache/BagOStuff.php on line 187

Thank you in advance

S0ring (talk) 15:15, 17 December 2025 (UTC)

Looks like you figured out what was wrong. Tactica (talk) 08:28, 25 December 2025 (UTC)

Translation error

The following discussion is closed and will soon be archived.

Hello, the page Category:Wikimedia engineering reports/id was deleted by FuzzyBot, and this is disrupting some Indonesian translation units. Could someone please recreate the page? Penyuwangi (talk) 06:08, 25 December 2025 (UTC)

No any page in this category has id language, this auto-deletion is correct.LBLaiSiNanHai (talk) 06:50, 25 December 2025 (UTC)

Install Mediawiki from Docker

Hi everyone

I'm trying to install Mediawiki from Docker (I'm new to Docker things so I apologize if I'm not understanding something obvious) but I have an issue (this is why I post this message)

I don't know what to say else, I can give any further information if you need


Thank you for your help and sorry for posting this message in the middle of Christmas holidays. Jamblond (talk) 18:32, 25 December 2025 (UTC)

@Jamblond disable connect over ssl. SSL is generally only used when your database is exposed to the Internet —TheDJ (Not WMF) (talkcontribs) 18:33, 26 December 2025 (UTC)

I forget to share the docker compose:

https://cosmos-cloud.io/cosmos-ui/market-listing/cosmos-cloud/MediaWiki

I use a pre-built Docker image from Cosmos cloud

The language is didn't include

the box of language in mainspace is didn't have '''Tagalog''' Which are can be helpful Nicedudebro (talk) 02:05, 26 December 2025 (UTC)

@Nicedudebro where ? —TheDJ (Not WMF) (talkcontribs) 19:41, 26 December 2025 (UTC)

Scribunto/Lua Error when Importing Pages

(Copying from Phabricator per request of User:Pppery)

I'm running a wiki through Pony ICU using MediaWiki 1.44 and the Scribunto extension. When attempting to import a Lua Module from Wikipedia onto my wiki, the import crashes and fails, and generates the following error:

Import failed: The lua binary (/home/vol15_5/pony.icu/<database username redacted>/htdocs/extensions/Scribunto/includes/Engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua) is not executable.

I followed the backtrace and confirmed that the specific file and folders mentioned do indeed exist in my directory, and they are in the proper locations. I'm honestly not sure whether I'm just doing something wrong (this is my first time trying to fully self-manage) or if there is a bug with the Scribunto extension or elsewhere. Any advice would be appreciated. The Boston Railfan (talk) 19:08, 11 December 2025 (UTC)

Update: I was able to get the import to go through and finish, but now I get the following "Internal Error" when loading any of the Module pages or the templates that invoke said modules:
[aTsjkMqGrctEMNMfYlZ2GgAAAAw] 2025-12-11 20:03:33: Fatal exception of type "MediaWiki\Extension\Scribunto\Engines\LuaCommon\LuaInterpreterNotExecutableError"
This make it seem like it's an extension issue, but perhaps not? The Boston Railfan (talk) 20:07, 11 December 2025 (UTC)
You need to make that specific file in the error message to be executable. You can search how to do that. – Ammarpad (talk) 17:46, 14 December 2025 (UTC)
  1. Enable LuaSandbox in PHP settings In the hosting control panel (Advanced → PHP configuration), make sure that luasandbox is enabled. Without this, Scribunto will fail even if the Lua binary exists.
  2. Fix file permissions on the Lua binary The Lua executable mentioned in the error must actually be executable by the system. I had to set permissions to 777 on the Lua binary file: Right-click the lua file → Permissions → check all (read/write/execute)
Nachum1 (talk) 05:45, 16 December 2025 (UTC)
This file:
/extensions/Scribunto/includes/Engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua
Permissions 755 should be sufficient. Flounder ceo (talk) 21:38, 27 December 2025 (UTC)

How to permanently remove all deleted revisions of files from database?

I want to delete all the deleted revisions of files from my database in order to save space. How do I do it, and will it affect/break anything on the wiki? Tang Empire (talk) 01:46, 16 December 2025 (UTC)

@Tang Empire: You can use the deleteArchivedFiles.php maintenance script to delete the files themselves. That's probably going to save you the most space, more than the database rows. There's the deleteArchivedRevisions.php maintenance script for deleting rows in the archive table, but I'm not sure if there's anything similar for the filearchive table. Sam Wilson 02:30, 16 December 2025 (UTC)
Not quite what you asked, but if you need to save space check out the thumbnails directory. On my wiki it's absolutely massive. You might want to look into whatever settings there are for thumbnail creation and storage. And I'm pretty certain you can just delete them as a temporary measure (they will be recreated). Jonathan3 (talk) 11:44, 17 December 2025 (UTC)
Alright, thank you. I will do this later. Tang Empire (talk) 23:53, 28 December 2025 (UTC)

Error 403 for pages above a certain size

Recently, as in the last few days, we've started receiving and error 403 when saving pages greater than 5946 bytes, an unusual size. The same pages were saved greater than 14k just last month, and no configuration changes have been made. It occurs whether we use the visual editor of editing source. Mediawiki version 1.44.0 PHP 8.4.8 CharlesCivi (talk) 16:23, 30 December 2025 (UTC)

Our wiki is running on an AWS EC2 instance. An AWS Web Access Firewall was recently installed. that seems to have caused the problem. When it's disabled everything works. When I find the offending rule, I'll update the issue. CharlesCivi (talk) 16:44, 30 December 2025 (UTC)
The offending rule was SizeRestrictions_BODY changed that from block to count and all is well. CharlesCivi (talk) 17:17, 30 December 2025 (UTC)

Fatal-Error

Hallo, ich wollte eine PNG-Datei in mein Media-Wiki hochladen und erhielt diese Meldung:

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 31991520 bytes) in /users/xxx/www/includes/media/BitmapHandler.php on line 475

Das Bild ist aber in meinem Wiki vorhanden, lässt sich einbinden, aber beim direkten Bild-Aufruf zum Zwecke der Löschung erscheint wieder nur die Error-Meldung.

Wie kann ich die Bild-Datei aus dem Wiki löschen??

Vielen Dank für eine Lösung.

Liebe Grüße

~2025-44090-69 (talk) 14:18, 31 December 2025 (UTC)

A normal out of memory, try this way:
  • Refresh, 90% out of memory only happens when cold run
  • Update php.ini, change memory_limit=XXM to memory_limit=256M
LBLaiSiNanHai (talk) 14:19, 31 December 2025 (UTC)
Hello LaiSiNanHai, the php.ini is laying on the providers server and not to change. Have you a better way? LG ~2025-44090-69 (talk) 15:07, 31 December 2025 (UTC)
My last message: I convert png to jpg and all is clear. But who and where I can delete the old png ????? LG ~2025-44090-69 (talk) 17:15, 31 December 2025 (UTC)
No maintenance script can do this, try check images/ dir, files in it LBLaiSiNanHai (talk) 03:09, 1 January 2026 (UTC)
Yes Done: Problem solved
The following discussion is closed and will soon be archived.
LBLaiSiNanHai (talk) 10:36, 1 January 2026 (UTC)

Cannot reset my password, no email was sent

My username is MadamePhoton, and my primary email is floweringyaksha@gmail.com I've sent multiple password reset requests to that email, but nothing comes up. I've even checked the spam folder, and nothing shows up. What do I do, then? ~2025-44226-44 (talk) 21:18, 31 December 2025 (UTC)

ask on Project:Village pump pls LBLaiSiNanHai (talk) 06:52, 1 January 2026 (UTC)
N Not done: Bad place
The following discussion is closed and will soon be archived.
LBLaiSiNanHai (talk) 10:37, 1 January 2026 (UTC)

Is it possible to block an account from being created?

Weird question, I know, but it will help me to figure something out. I act as an administrator on an external wiki which uses Mediawiki as a base. We have several language versions of this site, and recently we have had a persistent vandal who has a grudge against our staff.

Last night they created a username on one of the other language versions, which was intended to attack a member of our staff. Knowing who they were, I salted the user and talk pages with that username on the English version of our site, in the hopes that they would realise they'd been rumbled.

What I'd like to know is if there is a way to block an account as a preventative measure, before it's actually been created on the site. Hopeful that there is a way, because it would put us one step ahead of this malevolant user!

Thank you for any help you can offer. DaneGeld (talk) 21:23, 2 January 2026 (UTC)

The simplest approach would be to create the offending account yourself. Alternatively, you can request a bureaucrat or anyone with the required access to install Extension:TitleBlacklist. Tactica (talk) 21:45, 2 January 2026 (UTC)
Excellent. I think we already have the TitleBlacklist extension installed, but I will check. If it is, great, I'll get round to learning how to use it! If it's not, I'll drop a message to one of our bureaucrats and get them to install it. I appreciate your help, and thank you. DaneGeld (talk) 21:49, 2 January 2026 (UTC)

Error at end of update from 1.44.2 to 1.45.1

What is this and how do I fix it?

Modifying primary key on table categorylinks...Wikimedia\Rdbms\DBQueryError from line 1225 of /var/www/html/w/includes/libs/rdbms/database/Database.php: Error 1091: Can't DROP 'primary'; check that column/key exists Function: Wikimedia\Rdbms\Database::sourceFile( /var/www/html/w/sql/mysql/patch-categorylinks-pk.sql ) Query: DROP INDEX `primary` ON `categorylinks` Flounder ceo (talk) 20:38, 27 December 2025 (UTC)

Extension:CategoryLink's problem, please ask for author of it, workaround is disable this extension LBLaiSiNanHai (talk) 08:24, 28 December 2025 (UTC)
Oh, it only supports 1.9.3-1.22.4, you are luck, you ran it in 1.44 LBLaiSiNanHai (talk) 08:31, 28 December 2025 (UTC)
Extension:CategoryLink is not installed. Never was. Flounder ceo (talk) 15:09, 28 December 2025 (UTC)
@LBLaiSiNanHai Posting nonsense is not welcome and may lead to disabling your account. Malyacko (talk) 14:52, 3 January 2026 (UTC)

I also see similar problems in PHP 8.2. - Ellif (talk) 03:58, 4 January 2026 (UTC)

Modifying primary key on table categorylinks...Wikimedia\Rdbms\DBQueryError from line 1225 of /home2/ellifgkr/wiki1/includes/libs/rdbms/database/Database.php: Error 1062: Duplicate entry '633-13745' for key 'PRIMARY'
Function: Wikimedia\Rdbms\Database::sourceFile( /home2/ellifgkr/wiki1/sql/mysql/patch-categorylinks-pk.sql )
Query: ALTER TABLE `medialifcategorylinks`
 ADD PRIMARY KEY (cl_from, cl_target_id)

#0 /home2/ellifgkr/wiki1/includes/libs/rdbms/database/Database.php(1209): Wikimedia\Rdbms\Database->getQueryException('Duplicate entry...', 1062, 'ALTER TABLE `me...', 'Wikimedia\\Rdbms...')
#1 /home2/ellifgkr/wiki1/includes/libs/rdbms/database/Database.php(1183): Wikimedia\Rdbms\Database->getQueryExceptionAndLog('Duplicate entry...', 1062, 'ALTER TABLE `me...', 'Wikimedia\\Rdbms...')
#2 /home2/ellifgkr/wiki1/includes/libs/rdbms/database/Database.php(640): Wikimedia\Rdbms\Database->reportQueryError('Duplicate entry...', 1062, 'ALTER TABLE `me...', 'Wikimedia\\Rdbms...', false)
#3 /home2/ellifgkr/wiki1/includes/libs/rdbms/database/Database.php(2853): Wikimedia\Rdbms\Database->query(Object(Wikimedia\Rdbms\Query), 'Wikimedia\\Rdbms...')
#4 /home2/ellifgkr/wiki1/includes/libs/rdbms/database/Database.php(2790): Wikimedia\Rdbms\Database->sourceStream(Resource id #1081, NULL, NULL, 'Wikimedia\\Rdbms...', NULL)
#5 /home2/ellifgkr/wiki1/includes/libs/rdbms/database/DBConnRef.php(127): Wikimedia\Rdbms\Database->sourceFile('/home2/ellifgkr...')
#6 /home2/ellifgkr/wiki1/includes/libs/rdbms/database/DBConnRef.php(922): Wikimedia\Rdbms\DBConnRef->__call('sourceFile', Array)
#7 /home2/ellifgkr/wiki1/includes/installer/DatabaseUpdater.php(742): Wikimedia\Rdbms\DBConnRef->sourceFile('/home2/ellifgkr...')
#8 /home2/ellifgkr/wiki1/includes/installer/DatabaseUpdater.php(1046): MediaWiki\Installer\DatabaseUpdater->applyPatch('/home2/ellifgkr...', false, 'Modifying prima...')
#9 /home2/ellifgkr/wiki1/includes/installer/DatabaseUpdater.php(531): MediaWiki\Installer\DatabaseUpdater->modifyPrimaryKey('categorylinks', Array, 'patch-categoryl...')
#10 /home2/ellifgkr/wiki1/includes/installer/DatabaseUpdater.php(483): MediaWiki\Installer\DatabaseUpdater->runUpdates(Array, false)
#11 /home2/ellifgkr/wiki1/maintenance/update.php(184): MediaWiki\Installer\DatabaseUpdater->doUpdates(Array)
#12 /home2/ellifgkr/wiki1/maintenance/includes/MaintenanceRunner.php(696): UpdateMediaWiki->execute()
#13 /home2/ellifgkr/wiki1/maintenance/run.php(53): MediaWiki\Maintenance\MaintenanceRunner->run()
#14 {main}

Error in the name field

When I was installing MediaWiki, after I filled in all the data in the name field, the following error appeared:

[aUZ2f@9pi2Qw339zE5T9wgAAAB0] /mw-config/index.php?page=Name Error: Failed opening required '/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/wikimedia/common-passwords/src/common.php' (include_path='/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/console_getopt:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/mail:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/mail_mime:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/net_smtp:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/net_socket:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/net_url2:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/pear-core-minimal/src:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/pear_exception:.:/usr/share/pear/')
Backtrace:
from /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/wikimedia/common-passwords/src/CommonPasswords.php(14)
#0 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/wikimedia/common-passwords/src/CommonPasswords.php(24): Wikimedia\CommonPasswords\CommonPasswords::getData()
#1 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/password/PasswordPolicyChecks.php(161): Wikimedia\CommonPasswords\CommonPasswords::isCommon(string)
#2 [internal function]: MediaWiki\Password\PasswordPolicyChecks::checkPasswordNotInCommonList(bool, MediaWiki\User\User, string)
#3 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/password/UserPasswordPolicy.php(150): call_user_func(array, bool, MediaWiki\User\User, string)
#4 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/password/UserPasswordPolicy.php(115): MediaWiki\Password\UserPasswordPolicy->checkPolicies(MediaWiki\User\User, string, array, array)
#5 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/installer/WebInstallerName.php(236): MediaWiki\Password\UserPasswordPolicy->checkUserPasswordForGroups(MediaWiki\User\User, string, array)
#6 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/installer/WebInstallerName.php(42): MediaWiki\Installer\WebInstallerName->submit()
#7 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/installer/WebInstaller.php(257): MediaWiki\Installer\WebInstallerName->execute()
#8 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/mw-config/index.php(93): MediaWiki\Installer\WebInstaller->execute(array)
#9 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/mw-config/index.php(43): wfInstallerMain()
#10 {main}

I want to know how to solve this, thank you. I am just a beginner. The MediaWiki version is 1.43.6 XiaoyuWhaoYu (talk) 10:13, 20 December 2025 (UTC)

Your copy of MediaWiki is broken, may you need download it again LBLaiSiNanHai (talk) 10:25, 22 December 2025 (UTC)
@XiaoyuWhaoYu Specifically, MediaWiki is trying to access the file vendor/wikimedia/common-passwords/src/common.php of your install and is unable to do so. In a proper install this should work. Either you have a partial install, an install with incorrect file permissions or file owners, or you are running from git and you have incorrectly installed. —TheDJ (Not WMF) (talkcontribs) 15:00, 22 December 2025 (UTC)
This rings a bell, from a mistake I've made in the past. On https://releases.wikimedia.org/mediawiki/1.45/, for instance, there are some downloads with "core" in the filename. You don't want any of them. Jonathan3 (talk) 22:46, 4 January 2026 (UTC)

Extension returning arbitrary page content

I'm looking to make an extension that creates an RSS feed based on a category, but can't work out if it's possible to hook before any other content is sent to the client and replace it with an RSS or Atom feed?

I'm aware of external tools that do this, but it'd be nice having it integrated properly. DOSKEL (talk) 06:07, 23 December 2025 (UTC)

Im not sure, most related hook is BeforePageDisplay LBLaiSiNanHai (talk) 11:44, 31 December 2025 (UTC)
May u need create a new special page LBLaiSiNanHai (talk) 11:45, 31 December 2025 (UTC)
This old extension managed it and I bet there are stable extensions that do it also: Extension:Bullet Feed. You could maybe modify them. Jonathan3 (talk) 22:42, 4 January 2026 (UTC)

How to list names in Defaultsort

How should names be listed in Defaultsort that contain de, di, van, von?. Hiart (talk) 03:18, 1 January 2026 (UTC)

what do u mean? please give me more details. LBLaiSiNanHai (talk) 06:52, 1 January 2026 (UTC)
@Hiart, I see you edit English Wikipedia and Wikimedia Commons. This support desk is for running your own wiki. In relation to those wikis, Defaultsort (a Category feature)...
English Wikipedia’s guidance is:
  • Generally, Dutch, French, German, Italian, Portuguese, Spanish, and Swedish names do not include lowercase particles in sorting, but do include uppercase particles. For example, Otto von Bismarck is sorted {{DEFAULTSORT:Bismarck, Otto von}}, Jean de La Fontaine is sorted {{DEFAULTSORT:La Fontaine, Jean de}}, and Alberto Di Chiara is sorted {{DEFAULTSORT:Di Chiara, Alberto}}.
c:Commons:Sorting of categories named after people doesn't give specific advice and is only a proposed guideline, but the English Wikipedia guidance map apply there too. Commander Keane (talk) 08:27, 6 January 2026 (UTC)

Wikibase Error

Hello MediaWiki, could you help? The MediaWiki team updated the Wikibase extension two months ago, and I installed it according to the instructions, but I'm getting an error. I downloaded Wikibase version 1.45.1 and added # Load Wikibase repository to the LocalSettings.php file. wfLoadExtension( 'WikibaseRepository', "$IP/extensions/Wikibase/extension-repo.json" ); require_once "$IP/extensions/Wikibase/repo/ExampleSettings.php"; and started updating the wiki script, but I encountered an error: An error occurred: No such service: WikibaseRepo.SettingsHello MediaWiki, could you help? The MediaWiki team updated the Wikibase extension two months ago, and I installed it according to the instructions, but I'm getting an error. I downloaded Wikibase version 1.45.1 and added # Load Wikibase repository to the LocalSettings.php file. wfLoadExtension( 'WikibaseRepository', "$IP/extensions/Wikibase/extension-repo.json" ); Therudekiweweffffffff (talk) 13:48, 5 January 2026 (UTC)

Started updating how? Please provide a list of steps to reproduce with exact commands. Downloaded to where exactly? Which version of MediaWiki is this about? Also, this might be better suited for Talk:Wikibase/Installation. Also, no, "The MediaWiki team" (which does not exist) did not update the Wikibase extension two months ago; updates happen much more regularly. Malyacko (talk) 21:16, 5 January 2026 (UTC)
I downloaded the MediaWiki 1.45 archive for Wiki 1.45.1 from your site MediaWiki.org. In the Installation section, I copied the code for this file, LocalSettings.php, and placed it at the end of the file. I ran the update script, and it returned an error. Therudekiweweffffffff (talk) 04:26, 6 January 2026 (UTC)
@Therudekiweweffffffff: How did you install the Wikibase extension? You may have a version mismatch — double check that you've installed the version of Wikibase for MediaWiki 1.45. Sam Wilson 05:15, 6 January 2026 (UTC)

User logged out after running the update script

I am using mediawiki via NixOS. I noticed I get logging out every time I update the settings, and I have determined this is due to NixOS re-running the update script. The update script call the purgeCache function in DatabaseUpdater.php, which purge the "objectcache" used by CACHE_DB.

I wonder how is the best way to handle that. I have gone over multiple solution, which are:

  • Use a different BafOStuff
    • SQLBagOStuff seems really appropriate. Memcache does not persist and the RestBagOStuff exist, but apparently uses cassandra and a bunch of complex configuration.
  • Use a different table
    • That’s the option I use on my wiki, but it lead to doubt over maintainability, especially when I had to manually create this table.
  • Not purge session
    • I’ve created a patch that purge everything from the objectcache except those MwSession. It works. And only need to patch one line.
  • Not purge the cache
    • I’m worried it might lead to some stale cache. Having the cache cleaning at times is probably a good thing, even with its auto-cleaning. Plus it likely is part of the update script for some reason.

And in the end, I’m not sure which way would be the more appropriate. I think the "using a different table for at least session, and maybe other stash" would be the best, but that would require being able to auto-create this table across mysql, postgresql, mssql and sqlite, in a way that is forward-compatible and fail loudly.

(hmm... I see that the "mediawiki-init" already perform an SQL operation to check if the "user" table exist, and if not run the install script. It might be possible to do something similar with a CREATE TABLE IF NOT EXISTS instruction)

(also, that’s just about the default behavior. It is nice to be able to have a working Mediawiki install with just a few config entry sets)

I have made a ticket on GitHub in the NixOS repo for that: https://github.com/NixOS/nixpkgs/issues/476338 Marius851000 (talk) 17:30, 7 January 2026 (UTC)

My MediaWiki website is not accessible

When I try to access my website, the browser tells me that the site cannot load successfully. Strangely, when I haven't installed localsettings, it can be accessed normally. My MediaWiki version is 1.45.1. Before this, I had installed MediaWiki version 1.39 and was performing an upgrade. I hope to receive a prompt reply. Thank you! XiaoyuWhaoYu (talk) 12:10, 8 January 2026 (UTC)

@XiaoyuWhaoYu have you tried reading the documentation ? —TheDJ (Not WMF) (talkcontribs) 18:37, 8 January 2026 (UTC)
Review Manual:Upgrading#Adapt_your_LocalSettings.php.
Check your extensions and skins. Comment them out in LocalSettings and then uncomment them a few at a time while running the update to see if it works. Flounder ceo (talk) 16:49, 9 January 2026 (UTC)

Is Manual:$wgAutoCreateTempUser still "experimental"?

Manual:$wgAutoCreateTempUser says "Warning: This configuration parameters is considered EXPERIMENTAL!."

Is it still experimental and, if not, when did that happen? I'm on MW1.43 now. I heard that Wikipedia is using it. Thanks. Jonathan3 (talk) 14:55, 9 January 2026 (UTC)

@Jonathan3 I've removed the experimental warning. With it being on production at WMF, it's as stable as most other config flags. —TheDJ (Not WMF) (talkcontribs) 20:58, 9 January 2026 (UTC)
Thank you. Can I double check that it was already stable on MW1.43.6? Jonathan3 (talk) 00:29, 10 January 2026 (UTC)

"InvalidArgumentException: Invalid expiry value: 1 year" when trying to edit page after upgrade to 1.45

Hello, I've just upgraded my mediawiki installation from 1.39 to 1.45. Viewing pages works fine, but when I try to edit a page, I get the following exception:

[a53582294da78d8dbaf739cc] /w/index.php?title=Warlords_Wiki:Sandbox&action=submit InvalidArgumentException: Invalid expiry value: 1 year

Backtrace:

from /var/www/html/w/includes/libs/ParamValidator/TypeDef/ExpiryDef.php(108)
#0 /var/www/html/w/includes/libs/ParamValidator/TypeDef/ExpiryDef.php(169): Wikimedia\ParamValidator\TypeDef\ExpiryDef::normalizeExpiry()
#1 /var/www/html/w/includes/libs/ParamValidator/TypeDef/ExpiryDef.php(144): Wikimedia\ParamValidator\TypeDef\ExpiryDef::expiryExceedsMax()
#2 /var/www/html/w/includes/watchlist/WatchedItemStore.php(1051): Wikimedia\ParamValidator\TypeDef\ExpiryDef::normalizeUsingMaxExpiry()
#3 /var/www/html/w/includes/watchlist/WatchedItemStore.php(998): MediaWiki\Watchlist\WatchedItemStore->addWatchBatchForUser()
#4 /var/www/html/w/includes/watchlist/WatchlistManager.php(367): MediaWiki\Watchlist\WatchedItemStore->addWatch()
#5 /var/www/html/w/includes/watchlist/WatchlistManager.php(499): MediaWiki\Watchlist\WatchlistManager->addWatchIgnoringRights()
#6 /var/www/html/w/includes/editpage/EditPage.php(2723): MediaWiki\Watchlist\WatchlistManager->setWatch()
#7 /var/www/html/w/includes/editpage/EditPage.php(2579): MediaWiki\EditPage\EditPage->updateWatchlist()
#8 /var/www/html/w/includes/editpage/EditPage.php(1819): MediaWiki\EditPage\EditPage->internalAttemptSave()
#9 /var/www/html/w/includes/editpage/EditPage.php(710): MediaWiki\EditPage\EditPage->attemptSave()
#10 /var/www/html/w/includes/actions/EditAction.php(55): MediaWiki\EditPage\EditPage->edit()
#11 /var/www/html/w/includes/actions/SubmitAction.php(29): MediaWiki\Actions\EditAction->show()
#12 /var/www/html/w/includes/actions/ActionEntryPoint.php(734): MediaWiki\Actions\SubmitAction->show()
#13 /var/www/html/w/includes/actions/ActionEntryPoint.php(505): MediaWiki\Actions\ActionEntryPoint->performAction()
#14 /var/www/html/w/includes/actions/ActionEntryPoint.php(143): MediaWiki\Actions\ActionEntryPoint->performRequest()
#15 /var/www/html/w/includes/MediaWikiEntryPoint.php(184): MediaWiki\Actions\ActionEntryPoint->execute()
#16 /var/www/html/w/index.php(44): MediaWiki\MediaWikiEntryPoint->run()
#17 {main}

I've tried searching this error up but I've found nothing useful. Does anyone know what could be causing this? Below is my LocalSettings.php if that's helpful (with some parts omitted for security reasons):

<?php
# This file was automatically generated by the MediaWiki 1.39.2
# installer. If you make manual changes, please keep track in case you
# need to recreate them later.
#
# See docs/Configuration.md for all configurable settings
# and their default values, but don't forget to make changes in _this_
# file, not there.
#
# Further documentation for configuration settings may be found at:
# https://www.mediawiki.org/wiki/Manual:Configuration_settings

# Protect against web entry
if ( !defined( 'MEDIAWIKI' ) ) {
	exit;
}


## Uncomment this to disable output compression
# $wgDisableOutputCompression = true;

$wgSitename = "Warlords Wiki";
$wgMetaNamespace = "Warlords_Wiki";

## The URL base path to the directory containing the wiki;
## defaults for all runtime URL paths are based off of this.
## For more information on customizing the URLs
## (like /w/index.php/Page_title to /wiki/Page_title) please see:
## https://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = "/w";
$wgArticlePath = "/wiki/$1";

## The protocol and server name to use in fully-qualified URLs
$wgServer = "https://www.mcwarlords.net";

## The URL path to static resources (images, scripts, etc.)
$wgResourceBasePath = $wgScriptPath;

## The URL paths to the logo.  Make sure you change this from the default,
## or else you'll overwrite your logo when you upgrade!
$wgLogos = [
	# '1x' => "$wgResourceBasePath/resources/assets/wlwiki-135.png",
	'tagline' => [
		"src" => "warring the lords",
		"width" => 117,
		"height" => 13
	],
	'icon' => "$wgResourceBasePath/resources/assets/wlwiki.png",
];
$wgLogo = "{$wgScriptPath}/resources/assets/wlwiki-135.png";

## UPO means: this is also a user preference option

$wgEnableEmail = true;
$wgEnableUserEmail = true; # UPO

$wgEmergencyContact = "";
$wgPasswordSender = "";

$wgEnotifUserTalk = false; # UPO
$wgEnotifWatchlist = false; # UPO
$wgEmailAuthentication = true;

## Database settings
$wgDBtype = "mysql";
$wgDBserver = [[[omitted]]];
$wgDBname = [[[omitted]]];
$wgDBuser = [[[omitted]]];
$wgDBpassword = [[[omitted]]];

# MySQL specific settings
$wgDBprefix = "";

# MySQL table options to use during installation or update
$wgDBTableOptions = "ENGINE=InnoDB, DEFAULT CHARSET=binary";

# Shared database table
# This has no effect unless $wgSharedDB is also set.
$wgSharedTables[] = "actor";

## Shared memory settings
$wgMainCacheType = CACHE_NONE;
$wgMemCachedServers = [];

## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads = true;
#$wgUseImageMagick = true;
#$wgImageMagickConvertCommand = "/usr/bin/convert";

# InstantCommons allows wiki to use images from https://commons.wikimedia.org
$wgUseInstantCommons = false;

# Periodically send a pingback to https://www.mediawiki.org/ with basic data
# about this MediaWiki instance. The Wikimedia Foundation shares this data
# with MediaWiki developers to help guide future development efforts.
$wgPingback = false;

# Site language code, should be one of the list in ./includes/languages/data/Names.php
$wgLanguageCode = "en";

# Time zone
$wgLocaltimezone = "Europe/London";

## Set $wgCacheDirectory to a writable directory on the web server
## to make your wiki go slightly faster. The directory should not
## be publicly accessible from the web.
#$wgCacheDirectory = "$IP/cache";

$wgSecretKey = [[[omitted]]];

# Changing this will log out all existing sessions.
$wgAuthenticationTokenVersion = "1";

# Site upgrade key. Must be set to a string (default provided) to turn on the
# web installer while LocalSettings.php is in place
$wgUpgradeKey = [[[omitted]]];

## For attaching licensing metadata to pages, and displaying an
## appropriate copyright notice / icon. GNU Free Documentation
## License and Creative Commons licenses are supported so far.
$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright
$wgRightsUrl = "https://creativecommons.org/licenses/by-sa/4.0/";
$wgRightsText = "Creative Commons Attribution-ShareAlike";
$wgRightsIcon = "$wgResourceBasePath/resources/assets/licenses/cc-by-sa.png";

# Path to the GNU diff3 utility. Used for conflict resolution.
$wgDiff3 = "/usr/bin/diff3";

## Default skin: you can change the default skin. Use the internal symbolic
## names, e.g. 'vector' or 'monobook':
# $wgDefaultSkin = "darkvector";
$wgDefaultSkin = "vector";

# Enabled skins.
# The following skins were automatically enabled:
wfLoadSkin( 'MinervaNeue' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Timeless' );
wfLoadSkin( 'Vector' );
# wfLoadSkin( 'DarkVector' );

# Enabled extensions. Most of the extensions are enabled by adding
# wfLoadExtension( 'ExtensionName' );
# to LocalSettings.php. Check specific extension documentation for more details.
# The following extensions were automatically enabled:
wfLoadExtension( 'CodeEditor' );
# wfLoadExtension( 'VisualEditor' );
wfLoadExtension( 'WikiEditor' );

wfLoadExtension('Cite');



# End of automatically generated settings.
# Add more configuration options below.

$wgGroupPermissions['approved'] = $wgGroupPermissions['user'];

$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['user']['edit'] = false;

$wgGroupPermissions['approved']['edit'] = true;
$wgGroupPermissions['approved']['upload'] = true;
$wgGroupPermissions['sysop']['edit'] = true;

$wgAddGroups['sysop']['approved'] = true;
$wgRemoveGroups['sysop']['approved'] = true;

wfLoadExtension("ParserFunctions");
wfLoadExtension("TemplateStyles");
wfLoadExtension("Scribunto");
$wgScribuntoDefaultEngine = 'luastandalone';
$wgScribuntoEngineConf['luastandalone']['luaPath'] = '/usr/bin/lua5.1';
wfLoadExtension("Math");

$wgFileExtensions = [
	'png', 'gif', 'jpg', 'jpeg', 'bmp', 'svg'
];

$wgUploadDirectory = "{$IP}/images";
$wgMaxUploadSize = 1024*1024*100;

$wgJobRunRate = 0;
wfLoadExtension( 'PageImages' );
// wfLoadExtension( 'WikiSEO' );
$wgSkinMetaTags = ["og:image", "og:site_name", "og:title", "og:type", "twitter:card"];

define("NS_TEXT", 3000);
define("NS_TEXT_TALK", 3001);
$wgExtraNamespaces[NS_TEXT] = "Text";
$wgExtraNamespaces[NS_TEXT_TALK] = "Text_talk";
define("NS_ESSAY", 3002);
define("NS_ESSAY_TALK", 3003);
$wgExtraNamespaces[NS_ESSAY] = "Essay";
$wgExtraNamespaces[NS_ESSAY_TALK] = "Essay_talk";
define("NS_CODE", 3004);
define("NS_CODE_TALK", 3005);
$wgExtraNamespaces[NS_CODE] = "Code";
$wgExtraNamespaces[NS_CODE_TALK] = "Code_talk";
define("NS_RULES", 3006);
define("NS_RULES_TALK", 3007);
$wgExtraNamespaces[NS_RULES] = "Rules";
$wgExtraNamespaces[NS_RULES_TALK] = "Rules_talk";
wfLoadExtension( 'ConfirmAccount' );
$wgGroupPermissions['*']['createaccount'] = false; // REQUIRED to enforce account requests via this extension
$wgGroupPermissions['bureaucrat']['createaccount'] = true; // optional to allow account creation by this trusted user group
$wgConfirmAccountRequestFormItems = [
	'UserName'        => [ 'enabled' => true ],
	'RealName'        => [ 'enabled' => false ],
	'Biography'       => [ 'enabled' => false, 'minWords' => 50 ],
	'AreasOfInterest' => [ 'enabled' => false ],
	'CV'              => [ 'enabled' => false ],
	'Notes'           => [ 'enabled' => true ],
	'Links'           => [ 'enabled' => false ],
	'TermsOfService'  => [ 'enabled' => false ],
];

$wgSessionCacheType = CACHE_DB;
$wgSecureLogin = true;
$wgCookieHttpOnly = true;
$wgCookieSecure = 'detect';

$wgShowExceptionDetails = true;

TheZipCreator (talk) 00:07, 10 January 2026 (UTC)

I can't answer your question but want to say thank you for the LocalSettings.php. I installed MediaWiki at about version 1.5 so some of the new contents had passed me by! Jonathan3 (talk) 14:49, 10 January 2026 (UTC)

Internal error in MediaWiki version 1.45.1

When I successfully updated from version 1.39 to 1.45.1, I visited the website homepage and encountered the following error:

MediaWiki internal error.

Original exception: [aWHabhDbcSWMES5syHuY3gAAAAA] /index.php/%E9%A6%96%E9%A1%B5 Error: Failed opening required '/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/extensions/SecureLinkFixer/includes/../domains.php' (include_path='/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/console_getopt:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/mail:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/mail_mime:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/net_smtp:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/net_socket:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/net_url2:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/pear-core-minimal/src:/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/vendor/pear/pear_exception:.:/usr/share/pear/')
Backtrace:
from /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/extensions/SecureLinkFixer/includes/HSTSPreloadLookup.php(38)
#0 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/extensions/SecureLinkFixer/includes/Hooks.php(62): MediaWiki\SecureLinkFixer\HSTSPreloadLookup->isPreloaded(string)
#1 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/HookContainer/HookContainer.php(134): MediaWiki\SecureLinkFixer\Hooks->onLinkerMakeExternalLink(string, string, string, array, string)
#2 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/HookContainer/HookRunner.php(2638): MediaWiki\HookContainer\HookContainer->run(string, array)
#3 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/linker/LinkRenderer.php(407): MediaWiki\HookContainer\HookRunner->onLinkerMakeExternalLink(string, string, string, array, string)
#4 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/parser/Parser.php(2145): MediaWiki\Linker\LinkRenderer->makeExternalLink(string, string, MediaWiki\Title\Title, string, array)
#5 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/parser/Parser.php(1549): MediaWiki\Parser\Parser->handleExternalLinks(string)
#6 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/parser/Parser.php(606): MediaWiki\Parser\Parser->internalParse(string)
#7 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/content/WikitextContentHandler.php(375): MediaWiki\Parser\Parser->parse(string, MediaWiki\Title\Title, MediaWiki\Parser\ParserOptions, bool, bool, int)
#8 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/content/ContentHandler.php(1574): MediaWiki\Content\WikitextContentHandler->fillParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams, MediaWiki\Parser\ParserOutput)
#9 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/content/Renderer/ContentRenderer.php(67): MediaWiki\Content\ContentHandler->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Content\Renderer\ContentParseParams)
#10 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/Revision/RenderedRevision.php(246): MediaWiki\Content\Renderer\ContentRenderer->getParserOutput(MediaWiki\Content\WikitextContent, MediaWiki\Page\PageIdentityValue, MediaWiki\Revision\RevisionStoreRecord, MediaWiki\Parser\ParserOptions, array)
#11 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/Revision/RenderedRevision.php(219): MediaWiki\Revision\RenderedRevision->getSlotParserOutputUncached(MediaWiki\Content\WikitextContent, array)
#12 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/Revision/RevisionRenderer.php(225): MediaWiki\Revision\RenderedRevision->getSlotParserOutput(string, array)
#13 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/Revision/RevisionRenderer.php(158): MediaWiki\Revision\RevisionRenderer->combineSlotOutput(MediaWiki\Revision\RenderedRevision, MediaWiki\Parser\ParserOptions, array)
#14 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/Revision/RenderedRevision.php(182): MediaWiki\Revision\RevisionRenderer->MediaWiki\Revision\{closure}(MediaWiki\Revision\RenderedRevision, array)
#15 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/page/ParserOutputAccess.php(586): MediaWiki\Revision\RenderedRevision->getRevisionParserOutput()
#16 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/page/ParserOutputAccess.php(672): MediaWiki\Page\ParserOutputAccess->renderRevision(MediaWiki\Page\WikiPage, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, array)
#17 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/poolcounter/PoolCounterWorkViaCallback.php(68): MediaWiki\Page\ParserOutputAccess->MediaWiki\Page\{closure}()
#18 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/poolcounter/PoolCounterWork.php(159): MediaWiki\PoolCounter\PoolCounterWorkViaCallback->doWork()
#19 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/page/ParserOutputAccess.php(489): MediaWiki\PoolCounter\PoolCounterWork->execute()
#20 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/page/Article.php(824): MediaWiki\Page\ParserOutputAccess->getParserOutput(MediaWiki\Page\WikiPage, MediaWiki\Parser\ParserOptions, MediaWiki\Revision\RevisionStoreRecord, array)
#21 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/page/Article.php(537): MediaWiki\Page\Article->generateContentOutput(MediaWiki\User\User, MediaWiki\Parser\ParserOptions, int, MediaWiki\Output\OutputPage, array)
#22 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/actions/ViewAction.php(71): MediaWiki\Page\Article->view()
#23 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/actions/ActionEntryPoint.php(734): MediaWiki\Actions\ViewAction->show()
#24 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/actions/ActionEntryPoint.php(505): MediaWiki\Actions\ActionEntryPoint->performAction(MediaWiki\Page\Article, MediaWiki\Title\Title)
#25 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/actions/ActionEntryPoint.php(143): MediaWiki\Actions\ActionEntryPoint->performRequest()
#26 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/MediaWikiEntryPoint.php(184): MediaWiki\Actions\ActionEntryPoint->execute()
#27 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/index.php(44): MediaWiki\MediaWikiEntryPoint->run()
#28 {main}

Exception caught inside exception handler: [aWHabhDbcSWMES5syHuY3gAAAAA] /index.php/%E9%A6%96%E9%A1%B5 Wikimedia\Rdbms\DBQueryError: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading or after adding a new extension?

Please see https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Upgrading and https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:How_to_debug for more information.

Error 1146: Table 'if0_40723530_wkx.echo_event' doesn't exist
Function: MediaWiki\Extension\Notifications\Mapper\EventMapper::fetchUnreadByUserAndPage
Query: SELECT event_id,event_type,event_agent_id,event_agent_ip,event_extra,event_page_id,event_deleted,notification_timestamp FROM `echo_event` JOIN `echo_notification` ON ((notification_event=event_id)) JOIN `echo_target_page` ON ((etp_event=event_id)) WHERE event_deleted = 0 AND notification_user = 1 AND notification_read_timestamp IS NULL AND etp_page = 1

Backtrace:
from /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/database/Database.php(1225)
#0 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/database/Database.php(1209): Wikimedia\Rdbms\Database->getQueryException(string, int, string, string)
#1 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/database/Database.php(1183): Wikimedia\Rdbms\Database->getQueryExceptionAndLog(string, int, string, string)
#2 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/database/Database.php(640): Wikimedia\Rdbms\Database->reportQueryError(string, int, string, string, bool)
#3 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/database/Database.php(1363): Wikimedia\Rdbms\Database->query(Wikimedia\Rdbms\Query, string)
#4 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/database/DBConnRef.php(127): Wikimedia\Rdbms\Database->select(array, array, array, string, array, array)
#5 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/database/DBConnRef.php(384): Wikimedia\Rdbms\DBConnRef->__call(string, array)
#6 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/libs/rdbms/querybuilder/SelectQueryBuilder.php(761): Wikimedia\Rdbms\DBConnRef->select(array, array, array, string, array, array)
#7 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/extensions/Echo/includes/Mapper/EventMapper.php(177): Wikimedia\Rdbms\SelectQueryBuilder->fetchResultSet()
#8 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/extensions/Echo/includes/Hooks.php(709): MediaWiki\Extension\Notifications\Mapper\EventMapper->fetchUnreadByUserAndPage(MediaWiki\User\User, int)
#9 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/extensions/Echo/includes/Hooks.php(811): MediaWiki\Extension\Notifications\Hooks->processMarkAsRead(MediaWiki\User\User, MediaWiki\Request\WebRequest, MediaWiki\Title\Title)
#10 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/HookContainer/HookContainer.php(134): MediaWiki\Extension\Notifications\Hooks->onSkinTemplateNavigation__Universal(MediaWiki\Skins\Vector\SkinVector22, array)
#11 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/HookContainer/HookRunner.php(4089): MediaWiki\HookContainer\HookContainer->run(string, array, array)
#12 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/SkinTemplate.php(971): MediaWiki\HookContainer\HookRunner->onSkinTemplateNavigation__Universal(MediaWiki\Skins\Vector\SkinVector22, array)
#13 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/skins/Vector/includes/SkinVector22.php(52): MediaWiki\Skin\SkinTemplate->runOnSkinTemplateNavigationHooks(MediaWiki\Skins\Vector\SkinVector22, array)
#14 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/SkinTemplate.php(1375): MediaWiki\Skins\Vector\SkinVector22->runOnSkinTemplateNavigationHooks(MediaWiki\Skins\Vector\SkinVector22, array)
#15 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/SkinTemplate.php(599): MediaWiki\Skin\SkinTemplate->buildContentNavigationUrlsInternal()
#16 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/SkinTemplate.php(180): MediaWiki\Skin\SkinTemplate->getPortletsTemplateData()
#17 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/SkinMustache.php(117): MediaWiki\Skin\SkinTemplate->getTemplateData()
#18 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/skins/Vector/includes/SkinVector22.php(302): MediaWiki\Skin\SkinMustache->getTemplateData()
#19 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/SkinMustache.php(79): MediaWiki\Skins\Vector\SkinVector22->getTemplateData()
#20 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/SkinTemplate.php(173): MediaWiki\Skin\SkinMustache->generateHTML()
#21 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/skins/Skin.php(661): MediaWiki\Skin\SkinTemplate->outputPage()
#22 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/Output/OutputPage.php(3296): MediaWiki\Skin\Skin->outputPageFinal(MediaWiki\Output\OutputPage)
#23 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/exception/MWExceptionRenderer.php(185): MediaWiki\Output\OutputPage->output()
#24 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/exception/MWExceptionRenderer.php(103): MediaWiki\Exception\MWExceptionRenderer::reportHTML(Error)
#25 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/exception/MWExceptionHandler.php(123): MediaWiki\Exception\MWExceptionRenderer::output(Error, int)
#26 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/exception/MWExceptionHandler.php(224): MediaWiki\Exception\MWExceptionHandler::report(Error)
#27 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/MediaWikiEntryPoint.php(204): MediaWiki\Exception\MWExceptionHandler::handleException(Error, string)
#28 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/actions/ActionEntryPoint.php(79): MediaWiki\MediaWikiEntryPoint->handleTopLevelError(Error)
#29 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/includes/MediaWikiEntryPoint.php(190): MediaWiki\Actions\ActionEntryPoint->handleTopLevelError(Error)
#30 /home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/index.php(44): MediaWiki\MediaWikiEntryPoint->run()
#31 {main}

Among other things, it tells me whether the updater was used, and I'm sure I have used it. I thought it might be missing files, because it told me it couldn't open the required files, but after checking, I found that wasn't the case. Of course, some files are indeed missing, but the source code archive downloaded from your site doesn't have those files either. Asking for your help is my only option, and I hope to resolve this as soon as possible. Thank you!I come from another country and I am a beginner. I cannot fully understand these errors. XiaoyuWhaoYu (talk) 05:01, 10 January 2026 (UTC)

Solved, thank you XiaoyuWhaoYu (talk) 01:41, 11 January 2026 (UTC)
I don't know so I can only give a few hints. It looks like two extensions are involved: SecureLinkFixer and Echo (=Notifications).
"the source code archive downloaded from your site doesn't have those files either" - both extensions come bundled with MediaWiki if you download the package as instructed (https://www.mediawiki.org/wiki/Download). Did you perhaps download the package from an alternative location like Github (which uses submodules and the like)?
To rule out other factors, could you disable those extensions and see if MediaWiki works fine without them?
Rand(1,2022) (talk)

403 error when using the search Api and special:export from Supabase edge function (using axios)

Hello,

We're getting 403 error when we request the search Api and special:export

Edge function source code snippet:


import axios, { AxiosRequestConfig } from "npm:axios@^1.8.4";

const USER_AGENT = 'MyApp/1.0 (https://mywebsite.com; contact@mydomain.com)';

axios.interceptors.request.use((config: AxiosRequestConfig) => {

config.headers = {

...config.headers,

"User-Agent": USER_AGENT,

};

});

async getWikipediaArticles(term: string, language: string) {

const domain = this.getDomain(language);

const response = await axios.get(

`${domain}/w/api.php`,

{

params: {

action: "query",

format: "json",

generator: "prefixsearch",

prop: "pageimages|description|pageprops",

ppprop: "displaytitle",

piprop: "thumbnail",

pithumbsize: 60,

pilimit: WikipediaApi.searchResultsLimit,

gpssearch: term,

gpsnamespace: 0,

gpslimit: WikipediaApi.searchResultsLimit,

origin: "*",

...(this.wpProxy && { lang: language }),

},

},

);

return response.data?.query?.pages;

}

We already did the following:

  • Setup a User Agent as recommended here
  • Self-host Supabase in our own server instead of using SaaS in case of shared IP range is being blocked Yet, still same errors


We appreciate any help, Thanks! Zied dhf (talk) 15:54, 19 December 2025 (UTC)

Please provide the error message, I CANNOT analyze error without any useful information, I am NOT Amitabha, thanks. LBLaiSiNanHai (talk) 12:36, 22 December 2025 (UTC)
What have you done to the fonts and sizes - all of this is very difficult to read. I think the letters are too thick - and short - which make it difficult and uncomfortable to read. It all seems to blur together. Someone made a very bad decision. Also, why is my page suddenly shifting to German or Basque? rather than English as it has always been????? Javerdas@gmail.com username AlexandreCornille AlexandreCornille (talk) 03:27, 12 January 2026 (UTC)
Sorry for not adding an error, here is it
::"event loop error: Error: Error converting HTML to Wikitext: AxiosError: Request failed with status code 403\n    at ParsoidHtmlToWikitext (file:///home/runner/work/wikiadviser/wikiadviser/supabase/functions/_shared/mediawikiAPI/ParasoidApi.ts:54:13)\n    at Object.runMicrotasks (ext:core/01_core.js:683:26)\n    at processTicksAndRejections (ext:deno_node/_next_tick.ts:59:10)\n    at runNextTicks (ext:deno_node/_next_tick.ts:76:3)\n    at eventLoopTick (ext:core/01_core.js:182:21)\n    at async file:///home/runner/work/wikiadviser/wikiadviser/supabase/functions/_shared/helpers/parsingHelper.ts:247:22\n    at async Promise.all (index 0)\n    at async parseWikidataTemplate (file:///home/runner/work/wikiadviser/wikiadviser/supabase/functions/_shared/helpers/parsingHelper.ts:255:27)\n    at async processExportedArticle (file:///home/runner/work/wikiadviser/wikiadviser/supabase/functions/_shared/helpers/parsingHelper.ts:287:28)\n    at async IncomingMessageForClient.<anonymous> (file:///home/runner/work/wikiadviser/wikiadviser/supabase/functions/_shared/wikipedia/WikipediaApi.ts:103:22)"

Zied dhf (talk) 14:00, 22 December 2025 (UTC)

I mean the response text of api LBLaiSiNanHai (talk) 11:47, 31 December 2025 (UTC)

LintErrors/missing-end-tag

This line:

Het land kent een {{Split|{{#statements:regeringsvorm}}|, |1}}, met {{#statements:staatshoofd}} aan het hoofd.

in b:nl:Atlas van Europa/Monaco gives a lint error "missing-end-tag in span" and "Output not from a single template". What is wrong with it, please? - Erik Baas (talk) 10:01, 27 December 2025 (UTC) PS.: The template "Split" is also used on 86 other pages, without any problems.

In your Split template (https://nl.wikibooks.org/w/index.php?title=template:split&action=edit) maybe "{Split" should be "{{Split".
|#default=<span class="error">&#123;{Split {{!}} <string> {{!}} <marker> [ {{!}} <deel#> ] }&#125;</span> Jonathan3 (talk) 22:38, 4 January 2026 (UTC)
Thank you, but... I don't think so. That line evaluates to
{{Split | <string> | <marker> [ | <deel#> ] }}
(&#123; gives a curly brace) and is correctly shown in case of an error, and does not generate a lint error. I'll look into it again. - Erik Baas (talk) 23:32, 4 January 2026 (UTC)
Sorry for barking up the wrong tree. I've not used Linter yet but am going to guess that your code is fine but just too convoluted for the extension to understand :-) Jonathan3 (talk) 23:46, 4 January 2026 (UTC)
I found the problem! One would expect {{#statements:regeringsvorm|from=Q235}} to return "constitutional monarchy, hereditary monarchy", but instead I see this in the HTML source:
<span><span>constitutionele monarchie</span>, <span>erfopvolging</span></span> (in Dutch)!
What remains after splitting the string is "<span><span>constitutionele monarchie</span>", which indeed contains a lint error.
Three useless spans...  :-( - Erik Baas (talk) 00:15, 5 January 2026 (UTC)

I just found that all data from Wikidata is embedded in span tags, and when this data contains more than one item the total string is also in span tags. This is from the HTML source of b:nl:Atlas van Europa/Noorwegen:

<span><span>Oslo</span></span>
<span><span>5.594.340</span></span> (50% mannen, 50% vrouwen)
<span><span>Bokmål</span>, <span>Samisch</span>, <span>Nynorsk</span>, <span><a href="/wiki/Noors" title="Noors">Noors</a></span></span>

Why?? I don't know... - Erik Baas (talk) 00:31, 5 January 2026 (UTC)

@Erik Baas: If you use {{#property:}} to get the raw value (rather than {{#statements:}}) does it work? Sam Wilson 07:03, 5 January 2026 (UTC)
Yes, #property works fine, without lint errors, because no span tags are inserted. But that's not the point, is it? Right now I can't use Template:Split with #statements! And, again: can anyone explain why those span tags are there?? - Erik Baas (talk) 21:31, 7 January 2026 (UTC)
Maybe you could improve your Split template :-) If you don't want to alter the template you could add something like this to either side of it: {{#replace:{{#replace:....................||}}||}}. Jonathan3 (talk) 23:20, 11 January 2026 (UTC)

Unable to import page

I get the following error when I import the page:

The lua binary (/home/vol8_6/infinityfree.com/if0_40723530/wkx.ct.ws/htdocs/extensions/Scribunto/includes/Engines/LuaStandalone/binaries/lua5_1_5_linux_64_generic/lua) is not executable.

I have installed Scribunto. The mediawiki version is 1.45.1 XiaoyuWhaoYu (talk) 10:25, 11 January 2026 (UTC)

I can't make this file "Lua" executable. XiaoyuWhaoYu (talk) 10:27, 11 January 2026 (UTC)
Why can't you? It's necessary. – Ammarpad (talk) 14:40, 11 January 2026 (UTC)

DBQueryError while migrating table 'categoryLinks' on PostgreSQL

Error while migrating DB PostgreSQL after MediaWiki update from 1.44.3 to 1.45.1. Reproduce rate: 100%. Multiple instances affected, true blocker. How to continue updating?

# php maintenance/run.php update

MediaWiki 1.45.1 Updater

Your composer.lock file is up to date with current dependencies!
Going to run database updates for mediawikilite-public-
Depending on the size of your database this may take a while!
Abort with control-c in the next five seconds (skip this countdown with --quick) ...0
...user_autocreate_serial table already exists.
Running MigrateRevisionActorTemp...
...Update 'MigrateRevisionActorTemp' already logged as completed. Use --force to run it again.
done.
...revision_actor_temp doesn't exist.
Running UpdateRestrictions...
Migration is not needed.
done.
...page table does not contain page_restrictions field.
...templatelinks table has already been migrated.
...column 'templatelinks.tl_target_id' is already set as NOT NULL
...no need to change primary key of 'templatelinks'
...templatelinks table does not contain tl_title field.
...have el_to_path field in externallinks table.
...have user_is_temp field in user table.
Running MigrateRevisionCommentTemp...
...Update 'MigrateRevisionCommentTemp' already logged as completed. Use --force to run it again.
done.
...revision_comment_temp doesn't exist.
Running MigrateExternallinks...
...Update 'MigrateExternallinks' already logged as completed. Use --force to run it again.
done.
...el_to field does not exist in externallinks table, skipping modify field patch.
...have pl_target_id field in pagelinks table.
...externallinks table does not contain el_to field.
Running FixInconsistentRedirects...
...Update 'FixInconsistentRedirects' already logged as completed. Use --force to run it again.
done.
...img_size in table image already modified by patch patch-image-img_size_to_bigint.sql.
...fa_size in table filearchive already modified by patch patch-filearchive-fa_size_to_bigint.sql.
...oi_size in table oldimage already modified by patch patch-oldimage-oi_size_to_bigint.sql.
...us_size in table uploadstash already modified by patch patch-uploadstash-us_size_to_bigint.sql.
...have uas_year field in user_autocreate_serial table.
...block_target table already exists.
...cl_collation_ext key doesn't exist.
Running PopulateUserIsTemp...
...Update 'PopulateUserIsTemp' already logged as completed. Use --force to run it again.
done.
...skipping: index sites_group doesn't exist.
...site_type key doesn't exist.
...site_group key doesn't exist.
...site_source key doesn't exist.
...site_language key doesn't exist.
...site_protocol key doesn't exist.
...site_domain key doesn't exist.
...site_forward key doesn't exist.
...iwl_prefix_from_title key doesn't exist.
...pagelinks table has already been migrated.
...column 'revision.rev_id' is already of type 'BIGINT'
...column 'revision.rev_parent_id' is already of type 'BIGINT'
...column 'recentchanges.rc_id' is already of type 'BIGINT'
...column 'change_tag.ct_rc_id' is already of type 'BIGINT'
Running MigrateBlocks...
...Update 'MigrateBlocks' already logged as completed. Use --force to run it again.
done.
...ipblocks doesn't exist.
...pagelinks table does not contain pl_title field.
...searchindex table has already been migrated.
...file table already exists.
...have cl_target_id field in categorylinks table.
...collation table already exists.
...module_deps doesn't exist.
Creating existencelinks table...done.
Running FixWrongPasswordPrefixes...
Wrongly prefixed user password hashes, if present, have been fixed.
done.
Adding index cl_timestamp_id to table categorylinks...done.
Running migrateLinksTable.php on categorylinks...
Populating the cl_target_id column
Wikimedia\Rdbms\DBQueryError from line 1225 of /var/www/html/includes/libs/rdbms/database/Database.php: Error 42601: ERROR:  syntax error at or near ")"
LINE 1: ...E (cl_target_id = 0 OR cl_target_id IS NULL) AND () AND cl_t...
                                                             ^

Function: MigrateLinksTable::handlePageBatch
Query: UPDATE  "categorylinks" SET cl_target_id = 17 WHERE (cl_target_id = 0 OR cl_target_id IS NULL) AND () AND cl_to = 'Templates:Formatting' AND (cl_from >= 0) AND (cl_from <= 999)

# 0 /var/www/html/includes/libs/rdbms/database/Database.php(1209): Wikimedia\Rdbms\Database->getQueryException('ERROR:  syntax ...', '42601', 'UPDATE  "catego...', 'MigrateLinksTab...')
# 1 /var/www/html/includes/libs/rdbms/database/Database.php(1183): Wikimedia\Rdbms\Database->getQueryExceptionAndLog('ERROR:  syntax ...', '42601', 'UPDATE  "catego...', 'MigrateLinksTab...')
# 2 /var/www/html/includes/libs/rdbms/database/Database.php(640): Wikimedia\Rdbms\Database->reportQueryError('ERROR:  syntax ...', '42601', 'UPDATE  "catego...', 'MigrateLinksTab...', false)
# 3 /var/www/html/includes/libs/rdbms/database/Database.php(1526): Wikimedia\Rdbms\Database->query(Object(Wikimedia\Rdbms\Query), 'MigrateLinksTab...')
# 4 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(127): Wikimedia\Rdbms\Database->update('categorylinks', Array, Array, 'MigrateLinksTab...', Array)
# 5 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(462): Wikimedia\Rdbms\DBConnRef->__call('update', Array)
# 6 /var/www/html/includes/libs/rdbms/querybuilder/UpdateQueryBuilder.php(332): Wikimedia\Rdbms\DBConnRef->update('categorylinks', Array, Array, 'MigrateLinksTab...', Array)
# 7 /var/www/html/maintenance/migrateLinksTable.php(137): Wikimedia\Rdbms\UpdateQueryBuilder->execute()
# 8 /var/www/html/maintenance/migrateLinksTable.php(90): MigrateLinksTable->handlePageBatch(0, Array, 'categorylinks')
# 9 /var/www/html/maintenance/includes/LoggedUpdateMaintenance.php(38): MigrateLinksTable->doDBUpdates()
# 10 /var/www/html/includes/installer/DatabaseUpdater.php(1424): MediaWiki\Maintenance\LoggedUpdateMaintenance->execute()
# 11 /var/www/html/includes/installer/DatabaseUpdater.php(531): MediaWiki\Installer\DatabaseUpdater->migrateCategorylinks()
# 12 /var/www/html/includes/installer/DatabaseUpdater.php(483): MediaWiki\Installer\DatabaseUpdater->runUpdates(Array, false)
# 13 /var/www/html/maintenance/update.php(184): MediaWiki\Installer\DatabaseUpdater->doUpdates(Array)
# 14 /var/www/html/maintenance/includes/MaintenanceRunner.php(696): UpdateMediaWiki->execute()
# 15 /var/www/html/maintenance/run.php(53): MediaWiki\Maintenance\MaintenanceRunner->run()
# 16 {main}

Don't be confused with "Templates:Formatting", it's actually Category name "Category:Templates:Formatting".

MidnightLG (talk) 15:52, 26 December 2025 (UTC)

"AND ()" that is strange. This should not be empty. It should be 14 = 14 I think.? The migration fetches a value directly from a mapping table, and the other values it fetches from that mapping table seem to be there listed in the query. Can you try running the migration separately ? It should be ./maintenance/run migrateLinksTable --table categorylinks --force.TheDJ (Not WMF) (talkcontribs) 19:34, 26 December 2025 (UTC)
It should say the same, then you can try adding some $this->output() logging to the values around line 123 and see what the values of this are when the script fails. —TheDJ (Not WMF) (talkcontribs) 19:40, 26 December 2025 (UTC)
It should be 14 = 14 I think.? - I think that's "14 => null" at least because of the output. $ns there retreived from the $row[14] which means the value of the 14th column which is not present in the table and returns null, right? That's maybe intentional but resulted in a bug. Btw, I don't know how exactly the $row works. 14 = 14 means $row[14] = 14 but by the code of migrateLinksTable.php, line 123: $ns = $row[$mapping[$table]['ns']]; where $mapping[$table]['ns'] is 14, then we have literally $ns = $row[14] MidnightLG (talk) 21:45, 26 December 2025 (UTC)
Also look at includes/libs/rdbms/SQLPlatform.php, line 228. That line gives the output. There's no way to get "14 = 14" even if the value was exactly 14 not null. If it was 14, then we would have something like "AND (14)". MidnightLG (talk) 21:58, 26 December 2025 (UTC)
Sure. The output is the same.

Running migration separately

# maintenance/run migrateLinksTable --table categorylinks
Populating the cl_target_id column
Wikimedia\Rdbms\DBQueryError from line 1225 of /var/www/html/includes/libs/rdbms/database/Database.php: Error 42601: ERROR:  syntax error at or near ")"
LINE 1: ...E (cl_target_id = 0 OR cl_target_id IS NULL) AND () AND cl_t...
                                                             ^

Function: MigrateLinksTable::handlePageBatch
Query: UPDATE  "categorylinks" SET cl_target_id = 17 WHERE (cl_target_id = 0 OR cl_target_id IS NULL) AND () AND cl_to = 'Templates:Formatting' AND (cl_from >= 0) AND (cl_from <= 999)

#0 /var/www/html/includes/libs/rdbms/database/Database.php(1209): Wikimedia\Rdbms\Database->getQueryException('ERROR:  syntax ...', '42601', 'UPDATE  "catego...', 'MigrateLinksTab...')
#1 /var/www/html/includes/libs/rdbms/database/Database.php(1183): Wikimedia\Rdbms\Database->getQueryExceptionAndLog('ERROR:  syntax ...', '42601', 'UPDATE  "catego...', 'MigrateLinksTab...')
#2 /var/www/html/includes/libs/rdbms/database/Database.php(640): Wikimedia\Rdbms\Database->reportQueryError('ERROR:  syntax ...', '42601', 'UPDATE  "catego...', 'MigrateLinksTab...', false)
#3 /var/www/html/includes/libs/rdbms/database/Database.php(1526): Wikimedia\Rdbms\Database->query(Object(Wikimedia\Rdbms\Query), 'MigrateLinksTab...')
#4 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(127): Wikimedia\Rdbms\Database->update('categorylinks', Array, Array, 'MigrateLinksTab...', Array)
#5 /var/www/html/includes/libs/rdbms/database/DBConnRef.php(462): Wikimedia\Rdbms\DBConnRef->__call('update', Array)
#6 /var/www/html/includes/libs/rdbms/querybuilder/UpdateQueryBuilder.php(332): Wikimedia\Rdbms\DBConnRef->update('categorylinks', Array, Array, 'MigrateLinksTab...', Array)
#7 /var/www/html/maintenance/migrateLinksTable.php(137): Wikimedia\Rdbms\UpdateQueryBuilder->execute()
#8 /var/www/html/maintenance/migrateLinksTable.php(90): MigrateLinksTable->handlePageBatch(0, Array, 'categorylinks')
#9 /var/www/html/maintenance/includes/LoggedUpdateMaintenance.php(38): MigrateLinksTable->doDBUpdates()
#10 /var/www/html/maintenance/includes/MaintenanceRunner.php(696): MediaWiki\Maintenance\LoggedUpdateMaintenance->execute()
#11 /var/www/html/maintenance/run.php(53): MediaWiki\Maintenance\MaintenanceRunner->run()
#12 /var/www/html/maintenance/run(3): require('/var/www/html/m...')
#13 {main}

MidnightLG (talk) 21:22, 26 December 2025 (UTC)

This looks like a bug having to do with the categorylinks table. Flounder ceo (talk) 21:14, 27 December 2025 (UTC)
Yeah I think this is bug. Should be reported in phbrictor —TheDJ (Not WMF) (talkcontribs) 21:35, 3 January 2026 (UTC)
I'm just a user not a developer thus have no idea how to do that. I hope that someone from WMF will help. MidnightLG (talk) 09:45, 9 January 2026 (UTC)
WMF, any chance to get it fixed? MidnightLG (talk) 06:58, 15 January 2026 (UTC)

Moved to SQLite from MariaDB; now thinking of reverting...

So I decided to move from MariaDB to SQLite due to resource hogging concerns, but I'd like to note that I naively set up the wiki I have without taking to account any caching. For the time being I migrated to SQLite in an effort to ease the load on my site, but in case I do revert, how do I set up a basic caching system? And would that ease the CPU load off somehow? My wiki ends up eating 100% processor time at certain moments, sometimes for a while to the point that the VPS I am using stalls. Blakegripling ph (talk) 01:25, 14 January 2026 (UTC)

The built-in file caching system that is quite good, and easy to enable. See Manual:File cache.
For more advanced tuning, check Manual:Performance tuning. Flounder ceo (talk) 18:39, 14 January 2026 (UTC)

Math equation errors

We are have a lot of issues on our site displaying Math equations. we are getting the error - Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":)

we are running on version 1.42.3

https://epg.modot.org/index.php?title=751.2_Loads

any help would be appreciated Rshoskins71 (talk) 16:07, 14 January 2026 (UTC)

This documentation is showing it as deprecated? https://www.mediawiki.org/w/index.php?api=wmf-restbase&title=Special%3ARestSandbox#/Math Flounder ceo (talk) 18:48, 14 January 2026 (UTC)

I think is may need some update

Hello mediawiki I wanna request a some update to the Mainpages Nicedudebro (talk) 02:03, 26 December 2025 (UTC)

N Not done: bad place, request on village pump or talk page of home page LBLaiSiNanHai (talk) 11:42, 31 December 2025 (UTC)
@LBLaiSiNanHai Why do you post links to non-existing pages? Malyacko (talk) 14:53, 3 January 2026 (UTC)
PLease sign up in dash.cloudflare.com to approve your device in the webpage or main page. You need to connect with the existing admin and present email support Khusser@Aol.com using your personal email in App.link.com. To be counted as mediawiki.org users in the main page, sign up in lists.wikimedia.org. Thank you.
Provided by: reihusser04@proton.me Reihusser04 (talk) 10:43, 15 January 2026 (UTC)

I have no $wgSecretKey setting in my LocalSettings.php

Should I add one (it looks like I should) and how? It might be because I installed MediaWiki years ago and didn't read the release notes carefully enough over the years. Thanks. Jonathan3 (talk) 14:53, 10 January 2026 (UTC)

Always state your MediaWiki version. And why do you think you need it if it's not there? – Ammarpad (talk) 14:56, 11 January 2026 (UTC)
"Always state your MediaWiki version."
MW 1.43.
"And why do you think you need it if it's not there?"
Partly because of the wording on the manual page:
  • "This should always be customized to a secret, unique string in LocalSettings.php."
  • "This should always be customized to a secret, unique string in LocalSettings.php. Installer.php sets it to a 64-character random string generated by MWCryptRand::generateHex( 64 );"
  • "On modern PHP versions with access to /dev/urandom, mcrypt random, or openssl random, these functions are used in lieu of this variable for the purpose of token generation. However this variable is still used for other purposes, so it is still very important it be set to a unique random value even on modern PHP." (emphasis added)
Also:
  • My LocalSettings.php was generated in version 1.5 so I thought it had been introduced since, but I see from Manual:$wgSecretKey that the variable had apparently been introduced in MW 1.4. I note, though, that an unanswered question on the talk page 18 years ago says: "Since this replaces $wgProxyKey, should there be any concern that there is no value specified in the auto-generated LocalSettings.php in 1.9.3?"
  • There is also an unanswered question from 11 years ago: "What should one do in the event of an accidental deletion of $wgSecretKey from LocalSettings.php? Is there a way to regenerate it?"
What do you think? Should I add a value for this variable and, if so, how? Thank you. Jonathan3 (talk) 23:02, 11 January 2026 (UTC)
You can generate a vanilla LocalSettings.php if you rename your live LocalSettings.php and run the web-updater.
At the end you will get a download of a LocalSettings.php for your current mediawiki version. Remove the vanilla LocalSettings.php file from your web space and rename your old one back to LocalSettings.php to make it live and and try adding/changing anything from the vanilla one you downloaded to your live file, save after each change, and reload your wiki to check if the changes lead your wiki install to throw errors to get a recent version including the wgSecrectKey value. UsualyWeJustSayPlease (talk) 22:35, 15 January 2026 (UTC)

Visual Editor doesn 't run after upgrade

I have upgraded from v1.40.0 to v1.45.1, and the editor doesn't run at all - when pressing the Edit button, nothing happens; pressing the Edit Source button brings up source editing as usual. This occurs on Firefox, Chrome, and Edge, so I don't think this is a browser-specific issue. I have cleared cookies, and enabled debug logging, although this just displays a long screed which means nothing to me. I'm not sure this is related, but I also use the CategoryTree extension, which has an expand/collpase tree button, which also doesn't respond, so there seems to be a common "extension buttons not responding" issue. I can't help feeling this is down to a simple setting somewhere, but I am far from being an expert on this software, so I have run out of ideas. ~2026-20446-3 (talk) 15:10, 10 January 2026 (UTC)

I'm not sure but maybe it's just JavaScript not running. You can press F12 to see the errors as they happen. Jonathan3 (talk) 01:42, 11 January 2026 (UTC)
I had some issues with several core Extensions not working because when I uploaded the new mediawiki version (I updated frp 1.39x to 1.43.x) some files weren't uploaded/updated properly. I downloaded the extension manually and updated them via FTP once more, which resolved my issue, maybe this will work for you as well? UsualyWeJustSayPlease (talk) 22:22, 15 January 2026 (UTC)

?: Template parameter, "|" character inclusion, Subst(?).

How would I force "|" characters to be included in one parameter that than would, for example, contain xxx|zzz or(SMW usage related) xxx||zzz ?

I do know about the existence of subst & savesubst ... But that's about it. Understanding multi level substitution details have so far still eluded me big time.

MvGulik (talk) 09:30, 13 January 2026 (UTC)

@MvGulik: Does the {{!}} magic word help? Sam Wilson 03:21, 14 January 2026 (UTC)
Well ... Yes & No.
The xxx||zzz part is used inside a initial #ask call, which triggers a secondary template call (+other #ask).
In the initial #ask call I use the code ... |introtemplate=<template-name>{{!}}<parm1...n>{{!}}xxx{{!}}zzz |.... The {{!}} is already used/needed here to not break the initial #ask call itself.
... Hmm.
... I did some other changes to the code after posting this question. Which moved the xxx||zzz data parts, from inside the template, to the initial template call. Figure here I can merge those two parms into one. ie: <my-template>|<some-name>|xxx{{!!}}zzz ... Which worked as I hoped. :-)
Thanks for making me look at it again, as that kinda fixed it. ;-) (without having to use any subst's, phew.) MvGulik (talk) 17:59, 15 January 2026 (UTC)
Correction.
The merged xxx{{!!}}zzz parmameters trick worked fine for the for the first #ask (data)call. But when passing it on to the second template call in the first #ask (template-call) part it (ofc) processes those included "||" as parameter separators.
.
Guess I got some more thinking to do, although that is more out of personal interest. As its currently working across the board while using <my-template>|<some-name>|xxx|zzz and {{{2}}}{{#if:{{{3|}}}|{{!}}...}} where needed. While the whole template is still relative clean, although a bit compressed.
.
(ie:Resolution: (still) Fixed) MvGulik (talk) 11:00, 16 January 2026 (UTC)