* Pass $flags down from purgeTitleUrls() to getUrls().
* Avoid purging of action=history URLs (and its mobile variant,
if MobileFrontend is installed) when the purge is only for a
recursive LinksUpdate.
Bug: T250261
Change-Id: I1a05ae028b9b44ec8d66211f94e64c7e3f48d6ff
* Move the Title::getCdnUrls() logic to the new HtmlCacheUpdater service.
* Introduce a runtime option to decide whether this is for a direct
revision or a cascading LinksUpdate.
Bug: T250261
Change-Id: I514b9052761e0d949234996e97fdef255582df86
Private method, no need to worry about deprecation
Most of its uses in the class called Revision methods that were
identical to the RevisionRecord methods, and didn't need to change
to reflect the new type being returned.
Remove a use of Revision::getUserText
Bug: T249393
Bug: T250579
Change-Id: Ide0dcd01caee3d3388038e6f40edda25528f55d8
Mocking is not needed here and furthermore it failed on PHP 8
due to the way PHPUnit works with it.
Bug: T248925
Change-Id: Ia6edd8fb714f36255f4ed7ebf58fc663520b4602
Per 0adc5f3, this method was added in MediaWiki 1.35. It's important
to add this indicator for extension developers when requiring certain
MW versions so they don't assume.
Change-Id: Iaebf127be14e0346f6ef7e520102b466a407ce9b
This allows indirection between the values in $wgSearchType and
$wgSearchTypeAlternatives where the underlying class name
doesn't match the actual class name that subclasses
SearchEngine.
Bug: T250977
Change-Id: Ib9634128f07d428276e80a6f2f492b850eef17e8
* Use querySelector() which naturally returns the first match only.
$().first() on the other hand basically does querySelectorAll(),
then wraps that in a jQuery object, then creates a second jQuery
object for nodes[0], and also retains the first object indefinitely
for compat with $().addBack() which potentially leaks memory and
isn't actually wanted here.
* Inline the defaulting logic with the native '||' operator.
* Add proper test coverage.
* Don't call `$(init)` during the test suite to avoid creating
weird creating non-sensical global state in mw.util.$content,
which nothing should rely on..
* Fix one source file (mediawiki.notification), which was loaded under
test to export its public class but its UI logic was also being run,
which previously worked by accident, but didn't do anything useful.
Change-Id: I3fbfa256c6b9a5a89c38bca3d545795e1fb4f2a9
In the new hook system, it is invalid to have two hooks that differ only
in case.
This reverts commit afb5b38e15.
Change-Id: I160ece0a7bc68c748037b383137364b787be86a0
The message 'ipb_cant_unblock' can receive a user, IP, IP range or
block ID. Before this, the message was translated and documented as
though the parameter would always be an ID.
Change-Id: I2f729ace6e12bb437b4ac8c9c17075af831497b6
In order to prevent possible performance or replication issues, empty condition
for 'update' queries shouldn't be allowed. This patch introduces the constant that
should be passed explicitly in update/delete function to update/delete all rows in
the table.
Bug: T243619
Change-Id: I8442363bb85b2a782ee435a91540823d6962c9cd