22 months agoMerge "Provide command to adjust phpunit.xml for code coverage"
jenkins-bot [Mon, 9 Sep 2019 19:25:32 +0000 (19:25 +0000)]
Merge "Provide command to adjust phpunit.xml for code coverage"

22 months agoMerge "maintenance: Explicitly declare all used properties"
jenkins-bot [Mon, 9 Sep 2019 19:11:52 +0000 (19:11 +0000)]
Merge "maintenance: Explicitly declare all used properties"

22 months agoMerge "Remove spurious `@class` tags in two files"
jenkins-bot [Mon, 9 Sep 2019 18:51:39 +0000 (18:51 +0000)]
Merge "Remove spurious `@class` tags in two files"

22 months agoMerge "Special:Contributions - use `label` instead of `radioLabel` for username"
jenkins-bot [Mon, 9 Sep 2019 18:49:08 +0000 (18:49 +0000)]
Merge "Special:Contributions - use `label` instead of `radioLabel` for username"

22 months agoMerge "Use @phan-template instead of @template"
jenkins-bot [Mon, 9 Sep 2019 18:41:03 +0000 (18:41 +0000)]
Merge "Use @phan-template instead of @template"

22 months agoMerge "DifferenceEngine: Use quickUserCan for display of rollback link"
jenkins-bot [Mon, 9 Sep 2019 18:39:39 +0000 (18:39 +0000)]
Merge "DifferenceEngine: Use quickUserCan for display of rollback link"

22 months agoMerge "mediawiki.util: Move mw.RegExp over as well to simplify migration"
jenkins-bot [Mon, 9 Sep 2019 18:28:51 +0000 (18:28 +0000)]
Merge "mediawiki.util: Move mw.RegExp over as well to simplify migration"

22 months agoRemove spurious `@class` tags in two files
Timo Tijhof [Mon, 9 Sep 2019 18:00:28 +0000 (19:00 +0100)]
Remove spurious `@class` tags in two files

This was only used in two PHP files in all of core. It is not
needed (the block above the class keyword is naturally for that
class) and only emits a warning from Doxygen:

> PHPVersionCheck.php:35: warning: missing argument after \class.
> SpecialPageData.php:28: warning: missing argument after \class.

This is unlike JSDuck, where it is used to differentiate a function
from a constructor/class.

In Doxygen, `@class` is only used to create a virtual class within
the docs that isn't explicitly in an indexed file, and thus
requires a name.

Bug: T232104
Change-Id: Ie504a8e2b72be8f370dc0c90da6a03f64d93df2d

22 months agoMerge "Follow-up 8697ba8: No need for two dependencies on the same module"
jenkins-bot [Mon, 9 Sep 2019 17:56:26 +0000 (17:56 +0000)]
Merge "Follow-up 8697ba8: No need for two dependencies on the same module"

22 months agoUse @phan-template instead of @template
Daimona Eaytoy [Mon, 9 Sep 2019 17:29:22 +0000 (19:29 +0200)]
Use @phan-template instead of @template

And move it after the method description to avoid doxygen messing up
with it.

Change-Id: I0f93050b390ffab1a88cbdc7c2d7a7a2a50ce3bf

22 months agomediawiki.util: Move mw.RegExp over as well to simplify migration
Timo Tijhof [Mon, 9 Sep 2019 17:23:34 +0000 (18:23 +0100)]
mediawiki.util: Move mw.RegExp over as well to simplify migration

Follows-up 8697ba835463c94. In order to allow for a simpler migration
and to keep compatibility over 1 stable release at least, deprecate
the module only, and keep the alias in the destination module.

This means 'mediawiki.RegExp' can be replaced with 'mediawiki.util',
without it causing code to break. It will still warn about
the method being deprecated, which can then be fixed separately,
depending on whether compat is needed.

This is mainly to reduce risk from mass migrations in user scripts
and gadgets (to do in two separate passes).

Bug: T218339
Change-Id: I07ba0a481b83fe704be3a17199070bafba4d5233

22 months agoMerge "mediawiki.Title: Minor optimizations for mw.Title JavaScript code"
jenkins-bot [Mon, 9 Sep 2019 17:16:56 +0000 (17:16 +0000)]
Merge "mediawiki.Title: Minor optimizations for mw.Title JavaScript code"

22 months agoMerge "mediawiki.Title: Change internal 'title' field to include file extension"
jenkins-bot [Mon, 9 Sep 2019 17:15:29 +0000 (17:15 +0000)]
Merge "mediawiki.Title: Change internal 'title' field to include file extension"

22 months agoMerge "Fix typo in ChangesListSpecialPageTest"
jenkins-bot [Mon, 9 Sep 2019 17:10:43 +0000 (17:10 +0000)]
Merge "Fix typo in ChangesListSpecialPageTest"

22 months agoMerge "Mostly drop old pre-actor user schemas"
jenkins-bot [Mon, 9 Sep 2019 17:09:39 +0000 (17:09 +0000)]
Merge "Mostly drop old pre-actor user schemas"

22 months agoFollow-up 8697ba8: No need for two dependencies on the same module
James D. Forrester [Mon, 9 Sep 2019 17:00:39 +0000 (10:00 -0700)]
Follow-up 8697ba8: No need for two dependencies on the same module

Change-Id: I1ac1cbe20bc66092ce15d426d0d6a8e0c8c8d815

22 months agoMerge "maintenance/Maintenance.php: Fix MW_ENTRY_POINT definition (followup I24099f4c)"
jenkins-bot [Mon, 9 Sep 2019 16:55:17 +0000 (16:55 +0000)]
Merge "maintenance/Maintenance.php: Fix MW_ENTRY_POINT definition (followup I24099f4c)"

22 months agoMerge "maintenance/getReplicaServer.php: Remove reference to long-deleted config...
jenkins-bot [Mon, 9 Sep 2019 16:33:19 +0000 (16:33 +0000)]
Merge "maintenance/getReplicaServer.php: Remove reference to long-deleted config var"

22 months agomaintenance/Maintenance.php: Fix MW_ENTRY_POINT definition (followup I24099f4c)
Brad Jorsch [Mon, 9 Sep 2019 15:56:57 +0000 (11:56 -0400)]
maintenance/Maintenance.php: Fix MW_ENTRY_POINT definition (followup I24099f4c)

Quotes were omitted. This currently works in PHP, but raises a warning.

Change-Id: I4c9ce4b5ea9fb9f30215f646cc8fa60db0ed7d1c

22 months agoFix typo in ChangesListSpecialPageTest
Brad Jorsch [Wed, 7 Aug 2019 21:37:19 +0000 (17:37 -0400)]
Fix typo in ChangesListSpecialPageTest

Change-Id: I812853ccbb8e0747bf5dbe5650d5b3ebb4dd38b5

22 months agoMostly drop old pre-actor user schemas
Brad Jorsch [Tue, 23 Jul 2019 17:40:52 +0000 (13:40 -0400)]
Mostly drop old pre-actor user schemas

This removes most of the pre-actor user and user_text columns, and the
$wgActorTableSchemaMigrationStage setting that used to determine
whether the columns were used.

rev_user and rev_user_text remain in the code, as on Wikimedia wikis the
revision table is too large to alter at this time. A future change will
combine that with the removal of rev_comment, rev_content_model, and
rev_content_format (and the addition of rev_comment_id and rev_actor).

ActorMigration's constructor continues to take a $stage parameter, and
continues to have the logic for handling it, for the benefit of
extensions that might need their own migration process. Code using
ActorMigration for accessing the core fields should be updated to use
the new actor fields directly. That will be done for in a followup.

Bug: T188327
Change-Id: Id35544b879af1cd708f3efd303fce8d9a1b9eb02

22 months agoDifferenceEngine: Use quickUserCan for display of rollback link
Daimona Eaytoy [Fri, 12 Apr 2019 09:17:57 +0000 (11:17 +0200)]
DifferenceEngine: Use quickUserCan for display of rollback link

Title::userCan is too expensive for this, as it queries the master DB
just to decide whether a link should be shown.
The DBPerformance warning for this is seen roughly 8000 times per day on

Bug: T232258
Change-Id: I33eab493273ed4790645e338c83993043e76e1d7

22 months agoMerge "Add MW_REST_API and MW_ENTRY_POINT"
jenkins-bot [Mon, 9 Sep 2019 15:29:21 +0000 (15:29 +0000)]

22 months agomaintenance/getReplicaServer.php: Remove reference to long-deleted config var
Brad Jorsch [Mon, 9 Sep 2019 14:22:43 +0000 (10:22 -0400)]
maintenance/getReplicaServer.php: Remove reference to long-deleted config var

$wgAllDBsAreLocalhost was removed 3 years ago, in I54b23654. This
maintenance script kept working because it just saw null for the

But then Id67d0759 changed the code to access it via Config, which does
checking for accessing of nonexistent config vars and so broke things.

Bug: T232268
Change-Id: I4fc39cccfd9041c76f734a1a85c2b34fc84218f0

22 months agoMerge "Make DBAccessBase use DBConnRef, rename $wiki, and hide getLoadBalancer()"
jenkins-bot [Mon, 9 Sep 2019 13:19:04 +0000 (13:19 +0000)]
Merge "Make DBAccessBase use DBConnRef, rename $wiki, and hide getLoadBalancer()"

22 months agoProvide command to adjust phpunit.xml for code coverage
Kosta Harlan [Sun, 21 Jul 2019 18:34:23 +0000 (20:34 +0200)]
Provide command to adjust phpunit.xml for code coverage

Our current recommendation for adjusting PHPUnit configuration for
extension code coverage reports is to manually modify
tests/phpunit/suite.xml. This is cumbersome and annoying, since
suite.xml is version controlled.

This patch proposes a composer script to simplify editing
the (non-version controlled) phpunit.xml config in the root of the
MediaWiki repo. It is useful if you are interested in generating
code coverage reports based on unit tests only, not integration tests.

Usage: composer phpunit:coverage-edit -- extensions/GrowthExperiments

When you're done, you can run `rm phpunit.xml` to switch back to the
default phpunit.xml.dist.

The script will use the default includes/src/maintenance directories,
but a future improvement would be to identify the relevant directories
via the AutoloadClasses property of extension.json.

Another improvement would be to provide an option for passing
arbitrary paths in core, in case you are working on tests for a
specific class and want to generate coverage reports instantly.

We could probably also remove
dockerfiles/quibble-coverage/phpunit-suite-edit.py (which inspired
this patch) and use composer phpunit:coverage-edit instead.

Bug: T100294
Change-Id: Ia0ef41f67ca4a64b0d1ca0ddcee488c29630af0b

22 months agoMerge "Support the creation of special pages with services injected"
jenkins-bot [Mon, 9 Sep 2019 12:21:24 +0000 (12:21 +0000)]
Merge "Support the creation of special pages with services injected"

22 months agomaintenance: Explicitly declare all used properties
Daimona Eaytoy [Mon, 9 Sep 2019 09:11:50 +0000 (11:11 +0200)]
maintenance: Explicitly declare all used properties

All uses were checked with codesearch, and the visibility was chosen as
strict as possible.

Change-Id: I56666299cc04ccc418e05949422876583982eb3c

22 months agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 9 Sep 2019 06:27:07 +0000 (08:27 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ie7693a53321a045a50fca3d41b0c168717db7dd9

22 months agoMerge "Remove support for wgUseESI"
jenkins-bot [Sun, 8 Sep 2019 22:27:43 +0000 (22:27 +0000)]
Merge "Remove support for wgUseESI"

22 months agoparser: Declare some dynamic properties
Daimona Eaytoy [Sun, 8 Sep 2019 17:18:27 +0000 (19:18 +0200)]
parser: Declare some dynamic properties

Mostly via the @property annotation. This is to make phan a little

Change-Id: I3fde33955240dab20870821e9db93caba163845b

22 months agoMerge "Add docblocks to a bunch of methods"
jenkins-bot [Sun, 8 Sep 2019 18:58:27 +0000 (18:58 +0000)]
Merge "Add docblocks to a bunch of methods"

22 months agoMerge "RequestContext: Declare the dynamic property for language recursion"
jenkins-bot [Sun, 8 Sep 2019 18:57:35 +0000 (18:57 +0000)]
Merge "RequestContext: Declare the dynamic property for language recursion"

22 months agoMerge "auth: Use phan templates for getRequestByClass"
jenkins-bot [Sun, 8 Sep 2019 18:56:38 +0000 (18:56 +0000)]
Merge "auth: Use phan templates for getRequestByClass"

22 months agoAdd docblocks to a bunch of methods
Daimona Eaytoy [Sun, 8 Sep 2019 16:59:52 +0000 (18:59 +0200)]
Add docblocks to a bunch of methods

Copied from I014ea7f048862cc8cc387a68bf0f1cc5acbd9c6e.

Change-Id: Ic3216386af173cfb9cbffda0826879829e52ffbb

22 months agoRequestContext: Declare the dynamic property for language recursion
Daimona Eaytoy [Sun, 8 Sep 2019 16:50:13 +0000 (18:50 +0200)]
RequestContext: Declare the dynamic property for language recursion

Change-Id: I601f98190cb8f760541ba1f05a3070fc43c25ccb

22 months agoMerge "languages: Add NS_CATEGORY and #REDIRECT for hyw"
jenkins-bot [Sun, 8 Sep 2019 17:48:57 +0000 (17:48 +0000)]
Merge "languages: Add NS_CATEGORY and #REDIRECT for hyw"

22 months agoauth: Use phan templates for getRequestByClass
Daimona Eaytoy [Sat, 7 Sep 2019 13:33:24 +0000 (15:33 +0200)]
auth: Use phan templates for getRequestByClass

Phan is clever enough to understand when the return value depends on the
name of the string passed in. This avoids lots of @phan-var annotations
in all subclasses.

Note that PHPCS rejects @template, ref T232256.

Change-Id: I7b7c7fae9c80320cad41bedc2972a3a5e22e19b0

22 months agoMerge "filebackend: use self:: instead of FileBackend:: for some constant uses"
jenkins-bot [Sun, 8 Sep 2019 14:38:17 +0000 (14:38 +0000)]
Merge "filebackend: use self:: instead of FileBackend:: for some constant uses"

22 months agofilebackend: use self:: instead of FileBackend:: for some constant uses
Aaron Schulz [Sun, 8 Sep 2019 06:33:49 +0000 (23:33 -0700)]
filebackend: use self:: instead of FileBackend:: for some constant uses

Change-Id: Iae82a074ef9da3c36b34713d31ec65407d2a90b7

22 months agoSupport the creation of special pages with services injected
mainframe98 [Fri, 6 Sep 2019 09:21:29 +0000 (11:21 +0200)]
Support the creation of special pages with services injected

Now that the ObjectFactory library supports object creation with
services (T222409), the special page factory can use the object
factory to create special pages based off a spec, allowing the
creation of special pages that need services injected.

The object factory now also handles constructing from class name
and from callable.

This also deprecates providing the special page list with an
instance of SpecialPage, which hasn't been necessary since

Bug: T222388
Change-Id: Iabb78ce5c98cfb3b586644be35d984871cb750cb

22 months agoMerge "recompressTracked.php: Fix typehint of RecompressTracked::dispatch()"
jenkins-bot [Sun, 8 Sep 2019 04:34:00 +0000 (04:34 +0000)]
Merge "recompressTracked.php: Fix typehint of RecompressTracked::dispatch()"

22 months agoMerge "parser: Document PPFrame_DOM::expand() as taking DOMNodeList"
jenkins-bot [Sun, 8 Sep 2019 04:29:39 +0000 (04:29 +0000)]
Merge "parser: Document PPFrame_DOM::expand() as taking DOMNodeList"

22 months agoMerge "Document $file in FileDeleteForm as LocalFile (not File)"
jenkins-bot [Sun, 8 Sep 2019 04:29:32 +0000 (04:29 +0000)]
Merge "Document $file in FileDeleteForm as LocalFile (not File)"

22 months agoMerge "watcheditem: Fix bad $options param in NoWriteWatchedItemStore::countWatchersM...
jenkins-bot [Sun, 8 Sep 2019 04:26:31 +0000 (04:26 +0000)]
Merge "watcheditem: Fix bad $options param in NoWriteWatchedItemStore::countWatchersMultiple"

22 months agoMerge "preprocessDump.php: Fix invalid Preprocessor instantiation"
jenkins-bot [Sun, 8 Sep 2019 04:21:32 +0000 (04:21 +0000)]
Merge "preprocessDump.php: Fix invalid Preprocessor instantiation"

22 months agoRemove support for wgUseESI
Timo Tijhof [Sun, 8 Sep 2019 04:11:22 +0000 (05:11 +0100)]
Remove support for wgUseESI

Experimental feature deprecated since 1.33 (d63684a064b09).

Change-Id: I9bab4ad1cd1f2c80a3dfcccdf99ed011c9c8a440

22 months agorecompressTracked.php: Fix typehint of RecompressTracked::dispatch()
Umherirrender [Wed, 4 Sep 2019 20:12:38 +0000 (22:12 +0200)]
recompressTracked.php: Fix typehint of RecompressTracked::dispatch()

Follows-up 4a55e578ff8d73e. This must be the same type as

Caught by PhanTypeMismatchArgument, to be enabled in I34d65fe3ff1916f.

Change-Id: Ifff0d92752e6664d7745efeb4840c8b5ddb974a4

22 months agoparser: Document PPFrame_DOM::expand() as taking DOMNodeList
Umherirrender [Wed, 4 Sep 2019 18:28:46 +0000 (20:28 +0200)]
parser: Document PPFrame_DOM::expand() as taking DOMNodeList

Caught by PhanTypeMismatchArgument, to be enabled with I34d65fe3ff191.

Change-Id: Ifa41f1c8a099a8d6c4e37052c8d93dc8473ec4f0

22 months agoDocument $file in FileDeleteForm as LocalFile (not File)
Umherirrender [Wed, 4 Sep 2019 18:46:57 +0000 (20:46 +0200)]
Document $file in FileDeleteForm as LocalFile (not File)

Deletion is only possible for files on the local wiki, so this is always
a LocalFile. The static self::doDelete already requires a LocalFile.

Caught by PhanTypeMismatchArgument, to be enabled with I34d65fe3ff191.

Change-Id: Iee0774340208b493b075085485343e05f922751c

22 months agowatcheditem: Fix bad $options param in NoWriteWatchedItemStore::countWatchersMultiple
Umherirrender [Sat, 29 Jun 2019 21:33:36 +0000 (23:33 +0200)]
watcheditem: Fix bad $options param in NoWriteWatchedItemStore::countWatchersMultiple

countVisitingWatchersMultiple is documented to take int|null as second
parameter, but array is given here. The options array is documented to
have a minimumWatchers key, so fix it by using that key.

Caught by PhanTypeMismatchArgument, to be enabled with I34d65fe3ff191.

Change-Id: I0271edae3442fc1adafabf623beeb7f2c4411d6c

22 months agopreprocessDump.php: Fix invalid Preprocessor instantiation
Umherirrender [Fri, 5 Jul 2019 20:16:26 +0000 (22:16 +0200)]
preprocessDump.php: Fix invalid Preprocessor instantiation

The Preprocessor constructor needs a Parser object,
not the maintenance object itself.

Change-Id: I0f60b968b52d29c0e7484409cc4aa790ca391303

22 months agoAPI: Remove unused asignment to $titleProvided in ApiExpandTemplates
Fomafix [Fri, 30 Aug 2019 19:10:30 +0000 (21:10 +0200)]
API: Remove unused asignment to $titleProvided in ApiExpandTemplates

The variable $titleProvided is not used in the following code.

Change-Id: I879ecfb589616882ba7193943f843f9226277f3e

22 months agoMake DBAccessBase use DBConnRef, rename $wiki, and hide getLoadBalancer()
Aaron Schulz [Tue, 16 Jul 2019 03:33:38 +0000 (20:33 -0700)]
Make DBAccessBase use DBConnRef, rename $wiki, and hide getLoadBalancer()

Note that only one extension uses this class and should not be affected.
Also, make the constructor take an optional LoadBalancer for DI.

Change-Id: Ibb7192ac199427266d7e3f3f14437d0495061911

22 months agomediawiki.Title: Minor optimizations for mw.Title JavaScript code
Thiemo Kreuz [Mon, 13 May 2019 08:41:47 +0000 (10:41 +0200)]
mediawiki.Title: Minor optimizations for mw.Title JavaScript code

None of these changes implies any functional change. They are all
only done to
* make the code shorter and more light-weight.
* make the code easier to read and to maintain.

Change-Id: I5eee3db59ff352069f6b613a5ca051773338213c

22 months agomediawiki.Title: Change internal 'title' field to include file extension
Thiemo Kreuz [Mon, 13 May 2019 09:20:32 +0000 (11:20 +0200)]
mediawiki.Title: Change internal 'title' field to include file extension

I found the separation of 'ext' from 'title' very suprising, and an actual
source of errors, confusion and misunderstandings.

Before this change, the private parse() helper function returned a "title"
property that did not contain the real title, but only the part of a
file-related title without its file extension, basically assuming
every title is a file name. And for normal titles, every method had to
remember to combine "title" and ext".

This patch moves the file name and file extension extraction code to the
only places where it is actually needed: The two methods getName() and
getExtension() return file name and extension as separate substrings.
Note how this code is barely used anywhere. Almost all code (except a
few places in UploadWizard, MultiMediaViewer, and such) works with the
full title. With this patch constructing mw.Title objects will become a
little faster on average.

Change-Id: I6618118557b12224f2405d83f539bee54646bb63

22 months agoMerge "Make wgDisableAnonTalk disable anon links in automatic edit summaries"
jenkins-bot [Sun, 8 Sep 2019 02:54:56 +0000 (02:54 +0000)]
Merge "Make wgDisableAnonTalk disable anon links in automatic edit summaries"

22 months agoMerge "resourceloader: Add $conf parameter to the 'ResourceLoaderGetConfigVars' hook"
jenkins-bot [Sun, 8 Sep 2019 02:37:44 +0000 (02:37 +0000)]
Merge "resourceloader: Add $conf parameter to the 'ResourceLoaderGetConfigVars' hook"

22 months agofilebackend: optimize 'move' in FSFileBackend to avoid is_file() calls
Aaron Schulz [Sat, 7 Sep 2019 08:25:19 +0000 (01:25 -0700)]
filebackend: optimize 'move' in FSFileBackend to avoid is_file() calls

Also, remove clearstatcache() call that is redundant with moveInternal()

Change-Id: I56e6c3d91427e7d0b49011f884b77daa5eb0b61c

22 months agofilebackend: optimize 'delete' for FSFileBackend to avoid is_file() calls
Aaron Schulz [Sat, 7 Sep 2019 06:21:48 +0000 (23:21 -0700)]
filebackend: optimize 'delete' for FSFileBackend to avoid is_file() calls

This also should reduce the chance of warnings due to race conditions

Change-Id: I06b6bcc5e0f009bb3d5135591d13ff098710a5b3

22 months agofilebackend: optimize the chmod() calls in FSFileBackend
Aaron Schulz [Sat, 7 Sep 2019 05:58:29 +0000 (22:58 -0700)]
filebackend: optimize the chmod() calls in FSFileBackend

Bypass the calls in Windows to avoid the stat overhead. The file system
will almost always be NTFS, in which case it can't do anything since the
ACL model is totally different than that of Unix.

Add chmod calls to the existing command in FSFileOpHandle rather than
doing them all serially afterwards.

Use AtEase class for more simple error suppression cases.

Change-Id: Ib4fae9a1bf64c1a9dfde8debe724556633a5532c

22 months agoMerge "Simplify some code by changing single-scope properties to local variables"
jenkins-bot [Sat, 7 Sep 2019 17:42:09 +0000 (17:42 +0000)]
Merge "Simplify some code by changing single-scope properties to local variables"

22 months agoMerge "Better docs to make phan happy"
jenkins-bot [Sat, 7 Sep 2019 17:35:52 +0000 (17:35 +0000)]
Merge "Better docs to make phan happy"

22 months agoMerge "mediawiki.util: Remove redundant file closures"
jenkins-bot [Sat, 7 Sep 2019 17:19:54 +0000 (17:19 +0000)]
Merge "mediawiki.util: Remove redundant file closures"

22 months agoSimplify some code by changing single-scope properties to local variables
Daimona Eaytoy [Sat, 7 Sep 2019 15:46:11 +0000 (17:46 +0200)]
Simplify some code by changing single-scope properties to local variables

When they're not used outside of the scope where they're defined.

Change-Id: I5ca1de8420c1180bf7f5d9f28f2a7402a256adf8

22 months agomediawiki.util: Remove redundant file closures
Fomafix [Fri, 6 Sep 2019 07:48:58 +0000 (09:48 +0200)]
mediawiki.util: Remove redundant file closures

Modules loaded with packageFiles are always executed in module scope
(with a closure), even in debug mode.

The behaviour of non-packageFiles debug mode is the only reason files
have closures.

Bug: T50886
Change-Id: I4c553961eab0f665e4ae123e11c92b255367fcfb

22 months agoBetter docs to make phan happy
Daimona Eaytoy [Sat, 7 Sep 2019 14:38:07 +0000 (16:38 +0200)]
Better docs to make phan happy

Change-Id: I8a9a6330cf1f889cbb77dfc28c93774204767323

22 months agoSimplify maintenance/dumpUploads
Daimona Eaytoy [Sat, 7 Sep 2019 13:54:20 +0000 (15:54 +0200)]
Simplify maintenance/dumpUploads

Avoid lots of unneeded properties and dynamic names.

Change-Id: I428d0c8a5409558e51bc136463d46192478194fb

22 months agoRemove dead properties
Daimona Eaytoy [Sat, 7 Sep 2019 13:44:01 +0000 (15:44 +0200)]
Remove dead properties

*LogPage::timestamp was introduced with r4919 back in 2004, and is unused
since then.
*ApiMain::mCommit was introduced in r33133, then removed in r33381 but that
line was forgotten.
*SpecialRecentChangesLinked::mResultEmpty was introduced in r36682, then
removed at some point with this leftover.
*SpecialStatistics::hook, introduced in r54511 and unused since then.
*MergeMessageFileList::hasError introduced in Id4b16083435ef7f4fce31861c72889e664d07236
and removed in I3d9cf1d614dacaa91fb2092019ccf1d14d61ccab with a leftover

Change-Id: Ie15c148a3217ee8da62874840f3ef7739893f69e

22 months agoDeprecate mediawiki.RegExp; move only function to mw.util
James D. Forrester [Thu, 5 Sep 2019 22:20:46 +0000 (15:20 -0700)]
Deprecate mediawiki.RegExp; move only function to mw.util

Bug: T218339
Change-Id: I1079e99fc22ed7f3159e7fe45581db799ae7259d

22 months agoresourceloader: Add $conf parameter to the 'ResourceLoaderGetConfigVars' hook
Jack Phoenix [Fri, 6 Sep 2019 16:37:42 +0000 (19:37 +0300)]
resourceloader: Add $conf parameter to the 'ResourceLoaderGetConfigVars' hook

Change-Id: I3cca8ce87b303ef7dfd96bfe1fdda0c51c441f6f

22 months agoSpecial:Contributions - use `label` instead of `radioLabel` for username
DannyS712 [Thu, 5 Sep 2019 23:31:58 +0000 (23:31 +0000)]
Special:Contributions - use `label` instead of `radioLabel` for username

Bug: T232173
Change-Id: I39b25cbd560b4990b978de63ca074d9c5d553a60

22 months agoMake wgDisableAnonTalk disable anon links in automatic edit summaries
DannyS712 [Sun, 25 Aug 2019 21:49:48 +0000 (21:49 +0000)]
Make wgDisableAnonTalk disable anon links in automatic edit summaries

Bug: T31539
Change-Id: Ie866e66b95cb36058a78ad86af8f5fe63f63ab1c

22 months agoMerge "docs: Fix Doxygen parsing of @var descriptions with $var names"
jenkins-bot [Fri, 6 Sep 2019 18:05:51 +0000 (18:05 +0000)]
Merge "docs: Fix Doxygen parsing of @var descriptions with $var names"

22 months agoMerge "docs: Factor out MWDoxygenFilter from mwdoc-filter.php with tests"
jenkins-bot [Fri, 6 Sep 2019 18:05:39 +0000 (18:05 +0000)]
Merge "docs: Factor out MWDoxygenFilter from mwdoc-filter.php with tests"

22 months agoMerge "Fix installation failure due to unexpected dbpath under CLI installation"
jenkins-bot [Fri, 6 Sep 2019 17:38:36 +0000 (17:38 +0000)]
Merge "Fix installation failure due to unexpected dbpath under CLI installation"

22 months agoMerge "Stop mangling $_GET and provide WebRequest::getQueryValuesOnly()"
jenkins-bot [Fri, 6 Sep 2019 17:38:26 +0000 (17:38 +0000)]
Merge "Stop mangling $_GET and provide WebRequest::getQueryValuesOnly()"

22 months agoMerge "mediawiki.util: Merge 'jquery.accessKeyLabel' into this module"
jenkins-bot [Fri, 6 Sep 2019 17:08:04 +0000 (17:08 +0000)]
Merge "mediawiki.util: Merge 'jquery.accessKeyLabel' into this module"

22 months agoMerge "docs: Remove GENERATE_MAN support from Doxyfile"
jenkins-bot [Fri, 6 Sep 2019 17:05:21 +0000 (17:05 +0000)]
Merge "docs: Remove GENERATE_MAN support from Doxyfile"

22 months agomediawiki.util: Merge 'jquery.accessKeyLabel' into this module
Timo Tijhof [Fri, 6 Sep 2019 15:26:12 +0000 (16:26 +0100)]
mediawiki.util: Merge 'jquery.accessKeyLabel' into this module

Bug: T218339
Change-Id: I7aff1cf5a9526ef54cad33f5333361dba0efb1db

22 months agoMerge "Improve various PHP method doc blocks"
jenkins-bot [Fri, 6 Sep 2019 15:36:20 +0000 (15:36 +0000)]
Merge "Improve various PHP method doc blocks"

22 months agoMerge "Unit tests: Whitelist global so LoggerFactory doesn't explode"
jenkins-bot [Fri, 6 Sep 2019 15:27:14 +0000 (15:27 +0000)]
Merge "Unit tests: Whitelist global so LoggerFactory doesn't explode"

22 months agodocs: Remove GENERATE_MAN support from Doxyfile
Timo Tijhof [Fri, 6 Sep 2019 15:06:11 +0000 (16:06 +0100)]
docs: Remove GENERATE_MAN support from Doxyfile

Also remove redundant sections from the config file that all
relate to features that are unconditionally disabled for us
and by default. They were all no-ops because the corresponding
"GENERATE_"- config is NO by default as well.

Per <http://www.doxygen.nl/manual/config.html>.

Bug: T232104
Change-Id: Ibd81f23922f1994be6579fcd8e1ece5e9f995905

22 months agoMerge "DifferenceEngine: show undo links for non-text content"
jenkins-bot [Fri, 6 Sep 2019 14:56:05 +0000 (14:56 +0000)]
Merge "DifferenceEngine: show undo links for non-text content"

22 months agoDifferenceEngine: show undo links for non-text content
daniel [Fri, 6 Sep 2019 13:58:31 +0000 (15:58 +0200)]
DifferenceEngine: show undo links for non-text content

In Ia94521b78 I introduced code that would suppress undo links in diffs
of non-textual content. However, extensions that define non-textual
content, such as Wikibase, may override action handles to provide undo
functionality. So my reasoning for removing these links was flawed.

Bug: T232214
Change-Id: I0316d8c0683b0782b9940e0e1e8f70d5bcb6b468

22 months agoMerge "Discover unit tests in "Unit" directory"
jenkins-bot [Fri, 6 Sep 2019 11:38:27 +0000 (11:38 +0000)]
Merge "Discover unit tests in "Unit" directory"

22 months agoMerge "Pass Title to IndexPager::buildPrevNextNavigation"
jenkins-bot [Fri, 6 Sep 2019 10:08:18 +0000 (10:08 +0000)]
Merge "Pass Title to IndexPager::buildPrevNextNavigation"

22 months agoMerge "Fix use of argument perfLogFilename in convertLinks.php"
jenkins-bot [Fri, 6 Sep 2019 10:04:38 +0000 (10:04 +0000)]
Merge "Fix use of argument perfLogFilename in convertLinks.php"

22 months agoUnit tests: Whitelist global so LoggerFactory doesn't explode
Kosta Harlan [Fri, 6 Sep 2019 09:43:39 +0000 (11:43 +0200)]
Unit tests: Whitelist global so LoggerFactory doesn't explode

Bug: T87781
Change-Id: I78ef16ac3b9efa7059905c44c234065aa68db680

22 months agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 6 Sep 2019 06:49:36 +0000 (08:49 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ib601edd7c66b532d6df30da858be0f7fe85b95c9

22 months agoMerge "rest: Use ParamValidator library, add BodyValidator"
jenkins-bot [Fri, 6 Sep 2019 04:56:06 +0000 (04:56 +0000)]
Merge "rest: Use ParamValidator library, add BodyValidator"

22 months agoMerge "mediawiki.util: Move to its own resources/src/ directory"
jenkins-bot [Fri, 6 Sep 2019 02:00:51 +0000 (02:00 +0000)]
Merge "mediawiki.util: Move to its own resources/src/ directory"

22 months agoMerge "lib/Message: Support MessageValue as a parameter"
jenkins-bot [Fri, 6 Sep 2019 01:51:54 +0000 (01:51 +0000)]
Merge "lib/Message: Support MessageValue as a parameter"

22 months agoMerge "libs/Message: Improve documentation"
jenkins-bot [Fri, 6 Sep 2019 01:45:24 +0000 (01:45 +0000)]
Merge "libs/Message: Improve documentation"

22 months agomediawiki.util: Move to its own resources/src/ directory
Timo Tijhof [Fri, 6 Sep 2019 00:32:38 +0000 (01:32 +0100)]
mediawiki.util: Move to its own resources/src/ directory

It only has one real file right now, but per T193826 modules that are bound
to an explicit directory should have already gotten its own directory.

Anyway, this'll make it easier to add other files in it in a separate

Change-Id: Iae7d270bf08d5a623b0a90c37c7cfc0c8e424a76

22 months agoPrevent all users from having a password in the blacklist
Reedy [Tue, 4 Dec 2018 08:31:11 +0000 (08:31 +0000)]
Prevent all users from having a password in the blacklist

Bug: T151425
Change-Id: I8d8f738176a47ccc5bd0a9eeac3a3385c3809088

22 months agoMerge "Enable $wgCookieSetOnAutoblock and $wgCookieSetOnIpBlock by default"
jenkins-bot [Thu, 5 Sep 2019 22:34:22 +0000 (22:34 +0000)]
Merge "Enable $wgCookieSetOnAutoblock and $wgCookieSetOnIpBlock by default"

22 months agoMerge "mediawiki.htmlform.checker: Remove use of deprecated jquery.throttle-debounce"
jenkins-bot [Thu, 5 Sep 2019 22:16:49 +0000 (22:16 +0000)]
Merge "mediawiki.htmlform.checker: Remove use of deprecated jquery.throttle-debounce"

22 months agoEnable $wgCookieSetOnAutoblock and $wgCookieSetOnIpBlock by default
Dayllan Maza [Thu, 5 Sep 2019 21:41:55 +0000 (17:41 -0400)]
Enable $wgCookieSetOnAutoblock and $wgCookieSetOnIpBlock by default

Bug: T191922
Change-Id: I339f9a23c7f19be97d0b0a1abf0242fdbb6ac891

22 months agomediawiki.htmlform.checker: Remove use of deprecated jquery.throttle-debounce
Timo Tijhof [Thu, 5 Sep 2019 21:14:16 +0000 (22:14 +0100)]
mediawiki.htmlform.checker: Remove use of deprecated jquery.throttle-debounce

Bug: T213426
Change-Id: I21874161dbe258c56376f3761e523dac543db8f4