lhc/web/wiklou.git
2 years agoMerge "localisation: Remove PHP5-specific perf optimisation"
jenkins-bot [Sat, 21 Sep 2019 03:29:49 +0000 (03:29 +0000)]
Merge "localisation: Remove PHP5-specific perf optimisation"

2 years agoMerge "jquery.makeCollapsible: Add toggleARIA option and enable for plain toggle"
jenkins-bot [Sat, 21 Sep 2019 03:06:27 +0000 (03:06 +0000)]
Merge "jquery.makeCollapsible: Add toggleARIA option and enable for plain toggle"

2 years agojquery.makeCollapsible: Add toggleARIA option and enable for plain toggle
Volker E [Fri, 20 Sep 2019 03:14:46 +0000 (20:14 -0700)]
jquery.makeCollapsible: Add toggleARIA option and enable for plain toggle

Adding `aria-expanded` attributes to `$toggle`.
That is not resolving each and every issue, but it gives at least
a valuable hint for screen readers and resolves the situation for
togglers, where the toggled content comes directly after `$toggle`.

Bug: T222904
Change-Id: Ic457bda58e56fb9ba2dce6df195e9fb48afb07f6

2 years agolocalisation: Remove PHP5-specific perf optimisation
Timo Tijhof [Sat, 21 Sep 2019 01:31:04 +0000 (02:31 +0100)]
localisation: Remove PHP5-specific perf optimisation

The `apc.cache_by_default` setting is a PHP5-era setting relating
to the part of php5-apc now known as opcache (as opposed to the
part now known as apcu).

This setting doesn't exist in PHP 7, and trying to set it doesn't
do anything useful.

Bug: T206986
Change-Id: I46a91897b2b33b5ce6505beb74d404982cb0641c

2 years agoMerge "Messages collected above the form are meant to live as boxed messages"
jenkins-bot [Fri, 20 Sep 2019 23:33:04 +0000 (23:33 +0000)]
Merge "Messages collected above the form are meant to live as boxed messages"

2 years agoMerge "Remove `inline-block` from message boxes"
jenkins-bot [Fri, 20 Sep 2019 23:18:09 +0000 (23:18 +0000)]
Merge "Remove `inline-block` from message boxes"

2 years agoMerge "Use mw.util.getUrl( null ) to get the default mw.config.get( 'wgPageName' )"
jenkins-bot [Fri, 20 Sep 2019 23:01:10 +0000 (23:01 +0000)]
Merge "Use mw.util.getUrl( null ) to get the default mw.config.get( 'wgPageName' )"

2 years agoMerge "HTMLTitleTextField: Remove incorrect check for unsubmitted GET forms"
jenkins-bot [Fri, 20 Sep 2019 22:45:24 +0000 (22:45 +0000)]
Merge "HTMLTitleTextField: Remove incorrect check for unsubmitted GET forms"

2 years agoRemove `inline-block` from message boxes
Volker E [Thu, 19 Sep 2019 20:51:58 +0000 (13:51 -0700)]
Remove `inline-block` from message boxes

Removing `inline-block` from message boxes as they're outlined as
block level elements in UI standardization work.
Back in Ibb9371eec in 2013 those were used in various contexts and
tried to resolve the back then stated need of intrinsic width by
`inline-block`. That doesn't seem to be appropriate for the general
use case any more.
If used in other contexts or on inline elements, product owners and
implementors need to act on specifically adapting them.

Bug: T233359
Change-Id: I530fda47b3d7b99f782b421abbde8957026570cd

2 years agoMerge "Do not output wikitext in maintenance script"
jenkins-bot [Fri, 20 Sep 2019 21:07:20 +0000 (21:07 +0000)]
Merge "Do not output wikitext in maintenance script"

2 years agoMerge "Gallery: Don't fire wikipage.content hook twice during init"
jenkins-bot [Fri, 20 Sep 2019 19:59:53 +0000 (19:59 +0000)]
Merge "Gallery: Don't fire wikipage.content hook twice during init"

2 years agoMerge "selenium: Only load 'sauce' service when needed"
jenkins-bot [Fri, 20 Sep 2019 18:53:04 +0000 (18:53 +0000)]
Merge "selenium: Only load 'sauce' service when needed"

2 years agoselenium: Only load 'sauce' service when needed
Timo Tijhof [Fri, 20 Sep 2019 17:52:20 +0000 (18:52 +0100)]
selenium: Only load 'sauce' service when needed

Also, remove the redundant unprefixed `user` and `key` options.
These would be cleaner to set through `sauceConnectOpts`
as `sauceConnectOpts { username: …, accesskey: … }`, but even
that isn't needed because wdio-sauce-service already reads these
same environment variables directly. No further config needed.

Also remove the duplication of default variables we don't have
any particular preference for yet so that enjoy improvements to
these when upgrading.

Change-Id: I0d4802f83509b0b49f775560b508d9929ae9979e

2 years agoMerge "Mark consistently with any edit summaries"
jenkins-bot [Fri, 20 Sep 2019 17:45:07 +0000 (17:45 +0000)]
Merge "Mark consistently with any edit summaries"

2 years agoDo not output wikitext in maintenance script
Umherirrender [Mon, 19 Aug 2019 16:12:32 +0000 (18:12 +0200)]
Do not output wikitext in maintenance script

Also remove print_r with a string
Always use english for maintenance scripts

Bug: T229843
Change-Id: I539a1ac1f6a201dd8ee9ce89599cc34bebfba79f

2 years agoMerge "filebackend: reduce hashing I/O in SwiftFileBackend::doStoreInternal()"
jenkins-bot [Fri, 20 Sep 2019 16:12:25 +0000 (16:12 +0000)]
Merge "filebackend: reduce hashing I/O in SwiftFileBackend::doStoreInternal()"

2 years agoMerge "tests: Prefer PHPUnit's assertSame() when comparing empty strings"
jenkins-bot [Fri, 20 Sep 2019 15:55:08 +0000 (15:55 +0000)]
Merge "tests: Prefer PHPUnit's assertSame() when comparing empty strings"

2 years agoMerge "tests: Prefer assertSame() when comparing the integer 0"
jenkins-bot [Fri, 20 Sep 2019 15:33:02 +0000 (15:33 +0000)]
Merge "tests: Prefer assertSame() when comparing the integer 0"

2 years agotests: Prefer PHPUnit's assertSame() when comparing empty strings
Thiemo Kreuz [Tue, 17 Sep 2019 14:28:35 +0000 (16:28 +0200)]
tests: Prefer PHPUnit's assertSame() when comparing empty strings

assertSame() is guaranteed to never do any magic type conversion.
This can be critical when accidentially comparing empty strings (a
value PHP considers to be "falsy") to false, 0, 0.0, null, and such.

Change-Id: I2e2685c5992cae252f629a68ffe1a049f2e5ed1b

2 years agoGallery: Don't fire wikipage.content hook twice during init
Ed Sanders [Fri, 20 Sep 2019 12:22:04 +0000 (13:22 +0100)]
Gallery: Don't fire wikipage.content hook twice during init

We know the hook has already been fired once, because we listen
to it to start the gallery.

Firing it again here can cause other listeners to fail as only
the last-fired argument is stored.

Bug: T233401
Change-Id: I32ca866964c7a1f644a3cc28d636ec1430b8ef58

2 years agoMerge "Refactor MediaWikiIntegrationTestCase::resetDB() for readability"
jenkins-bot [Fri, 20 Sep 2019 12:05:18 +0000 (12:05 +0000)]
Merge "Refactor MediaWikiIntegrationTestCase::resetDB() for readability"

2 years agoMerge "phan: Enable PhanTypeMismatchArgument issue"
jenkins-bot [Fri, 20 Sep 2019 10:38:52 +0000 (10:38 +0000)]
Merge "phan: Enable PhanTypeMismatchArgument issue"

2 years agoMerge "Fix namespace handling on Special:PagesWithProp"
jenkins-bot [Fri, 20 Sep 2019 10:32:31 +0000 (10:32 +0000)]
Merge "Fix namespace handling on Special:PagesWithProp"

2 years agoFix namespace handling on Special:PagesWithProp
Matěj Suchánek [Fri, 20 Sep 2019 09:41:58 +0000 (11:41 +0200)]
Fix namespace handling on Special:PagesWithProp

Firstly, restore the availability to query all namespaces.
There is no reason to remove this feature.

Secondly, fix code not to treat '0' as falsy. Instead, use
the request object to get an integer or null.

Bug: T50247
Change-Id: I182e25be2d694d010a1e8382a461c5c08f898581

2 years agoMerge "Use BlobStore::getBlobBatch for RevisionStore::newRevisionsFromBatch"
jenkins-bot [Fri, 20 Sep 2019 09:39:17 +0000 (09:39 +0000)]
Merge "Use BlobStore::getBlobBatch for RevisionStore::newRevisionsFromBatch"

2 years agoMerge "import: Update docs about WikiRevision requiring a Config"
jenkins-bot [Fri, 20 Sep 2019 08:19:34 +0000 (08:19 +0000)]
Merge "import: Update docs about WikiRevision requiring a Config"

2 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 20 Sep 2019 06:22:19 +0000 (08:22 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I66ff316a7d099f45e0cff71b7281117ea12a7db0

2 years agoMark consistently with any edit summaries
Volker E [Fri, 20 Sep 2019 01:06:48 +0000 (18:06 -0700)]
Mark consistently with any edit summaries

Marking with `.comment` to be consistent with `Linker:commentBlock`.

Change-Id: Idba91bd3d1345aa18da6745ad86f1bac2628dae7

2 years agoMerge "Log entries can be rendered with parentheses in HTML"
jenkins-bot [Fri, 20 Sep 2019 00:22:16 +0000 (00:22 +0000)]
Merge "Log entries can be rendered with parentheses in HTML"

2 years agoMessages collected above the form are meant to live as boxed messages
Volker E [Thu, 19 Sep 2019 20:36:48 +0000 (13:36 -0700)]
Messages collected above the form are meant to live as boxed messages

Also removing HTMLForm/VForm `.error` and `.warning` classes from
'forms.less'.

Bug: T233362
Change-Id: I4f8d8f228ab07253a7df24470791c26e39bc311a

2 years agoMerge "title: Improve docs of get*URL()"
jenkins-bot [Thu, 19 Sep 2019 20:26:45 +0000 (20:26 +0000)]
Merge "title: Improve docs of get*URL()"

2 years agoMerge "LogPager: separate getter from query filter"
jenkins-bot [Thu, 19 Sep 2019 19:07:34 +0000 (19:07 +0000)]
Merge "LogPager: separate getter from query filter"

2 years agoMerge "Add assertFileContains to MediaWikiTestCaseTrait"
jenkins-bot [Thu, 19 Sep 2019 18:52:09 +0000 (18:52 +0000)]
Merge "Add assertFileContains to MediaWikiTestCaseTrait"

2 years agoUse mw.util.getUrl( null ) to get the default mw.config.get( 'wgPageName' )
Fomafix [Thu, 19 Sep 2019 18:39:57 +0000 (20:39 +0200)]
Use mw.util.getUrl( null ) to get the default mw.config.get( 'wgPageName' )

Change-Id: If802b23285762b0eb0d01eba7fd52761dcf9fb86

2 years agoLogPager: separate getter from query filter
Matěj Suchánek [Fri, 13 Sep 2019 17:40:13 +0000 (19:40 +0200)]
LogPager: separate getter from query filter

The method LogPager::getFilterParams combines data aggregation and query
modification which is problematic: it starts with "get" and is public
but has a side-effect. Instead, make a dedicated private method for
building the query and remove the side-effect.

The new private method is now dedicated to building the query, and so
it can also make sure whether selection by log id is requested. If it's
the case, it won't filter the log types out (fix for T220834).

Also remove redundant comment: it's irrelevant to require callers to
call a private method.

Bug: T220834
Change-Id: I0fb6e6ee30ac626192cdf4ef920a731c03b2732f

2 years agophan: Enable PhanTypeMismatchArgument issue
Umherirrender [Tue, 18 Jun 2019 20:26:00 +0000 (22:26 +0200)]
phan: Enable PhanTypeMismatchArgument issue

Bug: T231636
Depends-On: I5de4f8f32a47c3f41c990ffe2ebd091fc23d1a58
Change-Id: I34d65fe3ff1916f2af675f0b1f19641b0cdfadc0

2 years agoMerge "export: Align docs of close(Rename/Reopen) methods"
jenkins-bot [Thu, 19 Sep 2019 17:52:57 +0000 (17:52 +0000)]
Merge "export: Align docs of close(Rename/Reopen) methods"

2 years agotitle: Improve docs of get*URL()
Daimona Eaytoy [Sun, 15 Sep 2019 08:54:13 +0000 (10:54 +0200)]
title: Improve docs of get*URL()

These functions call fixUrlQueryArgs, which in turns uses wfArrayToCgi,
which can handle array values. Hence, array[] is also valid.

Replace string[] with array, as the values may also be integers.

Change-Id: I5de4f8f32a47c3f41c990ffe2ebd091fc23d1a58

2 years agoexport: Align docs of close(Rename/Reopen) methods
Daimona Eaytoy [Sun, 15 Sep 2019 09:10:29 +0000 (11:10 +0200)]
export: Align docs of close(Rename/Reopen) methods

The base implementation says it can accept an array with a single
element, but the subclasses only had `string` in the docblock (although
they could handle the array case). Hence, replace docblocks in
subclasses with @inheritDoc to copy the parent description and avoid
such discrepancies in the future.

Plus, change `array` to `string[]` for better type inference.

Change-Id: Ica9929fd50f31d8d5f0e29f7c60364086ea39ae5

2 years agodocs: Avoid some scalar juggling
Daimona Eaytoy [Sun, 15 Sep 2019 14:40:42 +0000 (16:40 +0200)]
docs: Avoid some scalar juggling

Phan can treat scalar types as non-interchangeable with
`scalar_implicit_cast` set to false. This patch fixes some of those
issues (which are in total >1000), namely the ones with alphabetic order
< includes/actions.

Change-Id: Ib1c6573ab899088bc319b9da9ceaffc850da3dbe

2 years agoUse BlobStore::getBlobBatch for RevisionStore::newRevisionsFromBatch
Petr Pchelko [Wed, 18 Sep 2019 00:25:43 +0000 (17:25 -0700)]
Use BlobStore::getBlobBatch for RevisionStore::newRevisionsFromBatch

Bug: T233173
Change-Id: I3ffcfabc3524ce137593e0dba32c83f5eb7e5763

2 years agoFix using null for a non-nullable argument
Daimona Eaytoy [Sun, 15 Sep 2019 13:53:14 +0000 (15:53 +0200)]
Fix using null for a non-nullable argument

These are reported by phan as PhanTypeMismatchArgumentNullableInternal
when null_casts_as_any_type is disabled.

Change-Id: I85076ee31c1bfc59a19600e84da0d915e425890a

2 years agoMerge "Remove Revision::getRevisionText from ApiQueryDeletedrevs"
jenkins-bot [Thu, 19 Sep 2019 16:47:51 +0000 (16:47 +0000)]
Merge "Remove Revision::getRevisionText from ApiQueryDeletedrevs"

2 years agoMerge "Sync up with Parsoid parserTests.txt"
jenkins-bot [Thu, 19 Sep 2019 16:05:24 +0000 (16:05 +0000)]
Merge "Sync up with Parsoid parserTests.txt"

2 years agoRemove Revision::getRevisionText from ApiQueryDeletedrevs
Petr Pchelko [Wed, 18 Sep 2019 21:23:09 +0000 (14:23 -0700)]
Remove Revision::getRevisionText from ApiQueryDeletedrevs

This module is deprecated and is scheduled to be removed in T221869
but in order to unblock MCR work we can still remove the method call.

Bug: T198343
Change-Id: I4aed8aa0dedc7284925ce9ba48db71e6ca2db5f0

2 years agoRefactor MediaWikiIntegrationTestCase::resetDB() for readability
Thiemo Kreuz [Fri, 13 Sep 2019 09:47:00 +0000 (11:47 +0200)]
Refactor MediaWikiIntegrationTestCase::resetDB() for readability

This was inspired by I1b2a6eb. As far as I can tell this patch does not
change anything in terms of behavior. My main motivation was to get rid
of the (possibly confusing) duplications, and turn them into a loop.

The special case where TestUserRegistry::clear() is executed appears like
it might not do the exact same as before, but I'm pretty sure it does.
Before, the special case was executed whenever any of the user tables was
present in the $tablesUsed array originally passed to the method. The
same still happens.

Additional changes:
* Strict type hints in the method signature.

Change-Id: I7f292095c0dac99b9cc0b0aa5ce10703f24f8bba

2 years agotests: Prefer assertSame() when comparing the integer 0
Thiemo Kreuz [Tue, 17 Sep 2019 14:31:49 +0000 (16:31 +0200)]
tests: Prefer assertSame() when comparing the integer 0

assertSame() is guaranteed to not do any type conversion. This can be
critical when acciden tially comparing, for example, 0 to 0.0.

Change-Id: Iffcc9bda69573623ba14af655dcd697d0fcce525

2 years agoMerge "Document that services don't normally vary by global state"
jenkins-bot [Thu, 19 Sep 2019 12:11:38 +0000 (12:11 +0000)]
Merge "Document that services don't normally vary by global state"

2 years agoDocument that services don't normally vary by global state
Thalia [Tue, 27 Aug 2019 16:49:36 +0000 (17:49 +0100)]
Document that services don't normally vary by global state

To avoid confusion about passing global state via ServiceWiring.php,
document that cases where this is happening are an exception.

Change-Id: I3b590a816d309b5c7dee08a5baa9b418fb698e56

2 years agoMerge "Update remex-html library to 2.1.0"
jenkins-bot [Thu, 19 Sep 2019 11:34:14 +0000 (11:34 +0000)]
Merge "Update remex-html library to 2.1.0"

2 years agoUpdate remex-html library to 2.1.0
C. Scott Ananian [Wed, 18 Sep 2019 16:22:55 +0000 (12:22 -0400)]
Update remex-html library to 2.1.0

This fixes a lingering incompatibility with PHP 7.4.

Bug: T233012
Bug: T233062
Depends-On: I569cffadcde7a2db36a970cf21da9909d7650cf6
Change-Id: I9939c8697a5c4bbe1694a0e9be22b9efa782f027

2 years agotests: Make SpecialPageDataTest independend from the language
Thiemo Kreuz [Thu, 19 Sep 2019 10:51:54 +0000 (12:51 +0200)]
tests: Make SpecialPageDataTest independend from the language

Required for I67632cc.

Change-Id: Ib1d135a52756939da3c63dfabfe971ed708e8734

2 years agoMerge "generatePhpCharToUpperMappings: Die if fopen fails"
jenkins-bot [Thu, 19 Sep 2019 08:19:53 +0000 (08:19 +0000)]
Merge "generatePhpCharToUpperMappings: Die if fopen fails"

2 years agoMerge "Localisation updates from https://translatewiki.net."
jenkins-bot [Thu, 19 Sep 2019 08:19:47 +0000 (08:19 +0000)]
Merge "Localisation updates from https://translatewiki.net."

2 years agoMerge "StringUtils: Add a utility for checking if a string is a valid regex"
jenkins-bot [Thu, 19 Sep 2019 08:03:33 +0000 (08:03 +0000)]
Merge "StringUtils: Add a utility for checking if a string is a valid regex"

2 years agogeneratePhpCharToUpperMappings: Die if fopen fails
Fomafix [Wed, 18 Sep 2019 19:46:42 +0000 (21:46 +0200)]
generatePhpCharToUpperMappings: Die if fopen fails

This prevents additional errors in the following code.

Change-Id: I27770e6ca09c495ec7b6cb588c251b4014697bfe

2 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 19 Sep 2019 06:48:24 +0000 (08:48 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ia5a76e28cc8a824370748cc719ad76dd7f9f0d02

2 years agoLog entries can be rendered with parentheses in HTML
jdlrobson [Tue, 26 Mar 2019 23:58:19 +0000 (16:58 -0700)]
Log entries can be rendered with parentheses in HTML

Entries such as "User creation log" on Special:RecentChanges can
be wrapped or not wrapped in parentheses

Bug: T219348
Change-Id: Ic764081497dbe8d6d9e5bff6f8a1ceeac4b306e2

2 years agoSync up with Parsoid parserTests.txt
C. Scott Ananian [Wed, 18 Sep 2019 23:45:58 +0000 (19:45 -0400)]
Sync up with Parsoid parserTests.txt

This now aligns with Parsoid commit 4d7cacfedc69ecac6e65f8d62f54583b900a54d2

Change-Id: I14d74032d09da1c6abf478e058e67c4040c1fcd0

2 years agoMake purgeList.php use getCdnUrls()
Gilles Dubuc [Wed, 18 Sep 2019 20:36:26 +0000 (22:36 +0200)]
Make purgeList.php use getCdnUrls()

Bug: T233095
Change-Id: I8c1d3f273ff2d81b9f28403136f4a6e4c3311724

2 years agoMerge "Remove unused `.success-box` class"
jenkins-bot [Wed, 18 Sep 2019 20:21:11 +0000 (20:21 +0000)]
Merge "Remove unused `.success-box` class"

2 years agoAPI: Use ApiBlockInfoTrait in ApiQueryUsers and AllUsers
Brad Jorsch [Thu, 5 Sep 2019 18:24:28 +0000 (14:24 -0400)]
API: Use ApiBlockInfoTrait in ApiQueryUsers and AllUsers

For efficient bulk querying, this means that
ApiQueryBase::showHiddenUsersAddBlockInfo() needs to return everything
needed by DatabaseBlock::newFromRow().

Since we're rewriting it anyway, we may as well also move
ApiQueryBase::showHiddenUsersAddBlockInfo() out into a trait of its own.

Bug: T232021
Change-Id: I9c5b17a232ecbfbffefc7e40608cf5684ce8a644

2 years agoMerge "Remove redundant 'jquery.accessKeylabel' module alias"
jenkins-bot [Wed, 18 Sep 2019 19:02:59 +0000 (19:02 +0000)]
Merge "Remove redundant 'jquery.accessKeylabel' module alias"

2 years agoMerge "Remove unused localisation messages for old edit toolbar"
jenkins-bot [Wed, 18 Sep 2019 19:01:35 +0000 (19:01 +0000)]
Merge "Remove unused localisation messages for old edit toolbar"

2 years agoRemove redundant 'jquery.accessKeylabel' module alias
Timo Tijhof [Wed, 18 Sep 2019 18:37:03 +0000 (19:37 +0100)]
Remove redundant 'jquery.accessKeylabel' module alias

Follows-up f168493b57. This isn't actually used anywhere so might
as well remove right away like we did with some of the other
modules we combined this release.

Change-Id: I6267db732e9835d9dba5cf32d2c6743461f7cb35

2 years agoMerge "wdio-mediawiki: release 0.5.0"
jenkins-bot [Wed, 18 Sep 2019 16:31:56 +0000 (16:31 +0000)]
Merge "wdio-mediawiki: release 0.5.0"

2 years agowdio-mediawiki: release 0.5.0
Lucas Werkmeister [Tue, 17 Sep 2019 16:10:34 +0000 (18:10 +0200)]
wdio-mediawiki: release 0.5.0

Change-Id: Ib6bfcb18aed1ea24753ea8e2e15796c9fff84cf0

2 years agoMobile friendly styling of Special:ListFiles
jdlrobson [Wed, 11 Sep 2019 21:31:56 +0000 (14:31 -0700)]
Mobile friendly styling of Special:ListFiles

This makes core's Special:ListFiles match the styling of
Special:Uploads that is provided by MobileFrontend. The latter
can be removed once this change is incorporated.

The tablet/desktop mode of this page is not impacted except
that the title will be context aware when a username is selected
to show "Uploads by <username>" rather than the generic "list files".

Bug: T102139
Change-Id: I266313b8c71bdf410d336e020aca7dabbe115be5

2 years agoRemove unused localisation messages for old edit toolbar
Bartosz Dziewoński [Wed, 28 Aug 2019 10:33:50 +0000 (12:33 +0200)]
Remove unused localisation messages for old edit toolbar

Not used since cfa70ea6d003ae69d52aad67a543912449c71e00. Also not used
by any extensions (WikiEditor and VisualEditor have their own messages).

The message 'sig-text' used to also be part of the old edit toolbar,
but it is currently still used by WikiEditor.

Bug: T224429
Change-Id: I342351aaa2c69b5a7dde865edd38f1f2f94cfb8c

2 years agoMerge "Set l18n cache to array in DevelopmentSettings.php"
jenkins-bot [Wed, 18 Sep 2019 11:59:57 +0000 (11:59 +0000)]
Merge "Set l18n cache to array in DevelopmentSettings.php"

2 years agoStringUtils: Add a utility for checking if a string is a valid regex
Daimona Eaytoy [Wed, 5 Sep 2018 14:20:13 +0000 (16:20 +0200)]
StringUtils: Add a utility for checking if a string is a valid regex

There's no function to check if a string is a valid regex, and doing it
via preg_match requires error suppression, often performed with @. This
isn't however a good practice, and suppressing errors via functions is
not a one line solution. Adding an utility function would probably be a
benefit for several use cases (try to grep '@preg_match' for a few of
them).

Change-Id: I257a096319f1ec13441e9f745dcd22545fdd5cc6

2 years agoLocalFile: avoid hard failures on non-existing files.
daniel [Fri, 30 Aug 2019 08:55:01 +0000 (10:55 +0200)]
LocalFile: avoid hard failures on non-existing files.

Some methods on LocalFile will fatal if called on a non-existing file.
ApiQueryImageInfo did not take that into account.

This patch changes LocalFile to avoid fatal errors, and ApiQueryImageInfo
to not try and report information on non-existing files.

NOTE: the modified code has NO test coverage! This should be fixed
before this patch is applied, or the patch needs to be thoroughly tested
manually.

Bug: T221812
Change-Id: I9b74545a393d1b7a25c8262d4fe37a6492bbc11e

2 years agoMerge "objectcache: fix DatabaseSqlite::initSqliteDatabase() call location"
jenkins-bot [Wed, 18 Sep 2019 08:39:40 +0000 (08:39 +0000)]
Merge "objectcache: fix DatabaseSqlite::initSqliteDatabase() call location"

2 years agoUse UserIdentity instead of User in REST
Petr Pchelko [Fri, 13 Sep 2019 21:07:59 +0000 (14:07 -0700)]
Use UserIdentity instead of User in REST

Change-Id: Ia6a517c6a64664be2363492108f9497fc949f299

2 years agoMerge "objectcache: Escape dots from cache keys in StatsD metrics"
jenkins-bot [Wed, 18 Sep 2019 02:54:32 +0000 (02:54 +0000)]
Merge "objectcache: Escape dots from cache keys in StatsD metrics"

2 years agoobjectcache: fix DatabaseSqlite::initSqliteDatabase() call location
Aaron Schulz [Wed, 18 Sep 2019 02:22:51 +0000 (19:22 -0700)]
objectcache: fix DatabaseSqlite::initSqliteDatabase() call location

This should be called in the non-LB cause (e.g. custom DBs).

Follow-up mishandled merge conflict in 3298a9db9021.

Bug: T233117
Change-Id: I71a5c28db05a3c294e5c244037be2ee0209d61ad

2 years agoRemove unused `.success-box` class
Volker E [Tue, 17 Sep 2019 22:24:24 +0000 (15:24 -0700)]
Remove unused `.success-box` class

Change-Id: Ie5ecaed60fc7f6342301550c57b238044c20e4a4

2 years agoMerge "docs: Ignore extensions/ and skins/ in mwdocgen.php by default"
jenkins-bot [Tue, 17 Sep 2019 21:53:11 +0000 (21:53 +0000)]
Merge "docs: Ignore extensions/ and skins/ in mwdocgen.php by default"

2 years agoMerge "docs: Ignore README.md by default"
jenkins-bot [Tue, 17 Sep 2019 21:53:04 +0000 (21:53 +0000)]
Merge "docs: Ignore README.md by default"

2 years agoSet l18n cache to array in DevelopmentSettings.php
Amir Sarabadani [Thu, 8 Aug 2019 10:37:48 +0000 (12:37 +0200)]
Set l18n cache to array in DevelopmentSettings.php

Bug: T218207
Change-Id: Ib52d766436f487570b26fde54abfb1ff780c3647

2 years agoMerge "DefaultPreferencesFactory: Remove fallback for null PermissionManager"
jenkins-bot [Tue, 17 Sep 2019 20:32:17 +0000 (20:32 +0000)]
Merge "DefaultPreferencesFactory: Remove fallback for null PermissionManager"

2 years agoMerge "Break PreferencesFormOOUI->PermissionManager dependency"
jenkins-bot [Tue, 17 Sep 2019 20:32:10 +0000 (20:32 +0000)]
Merge "Break PreferencesFormOOUI->PermissionManager dependency"

2 years agoMerge "Improve documentation for the MinimumPasswordLengthToLogin policy"
jenkins-bot [Tue, 17 Sep 2019 20:07:50 +0000 (20:07 +0000)]
Merge "Improve documentation for the MinimumPasswordLengthToLogin policy"

2 years agoMerge "mediawiki.Title: Reduce transfer size of phpCharToUpper.json"
jenkins-bot [Tue, 17 Sep 2019 19:48:47 +0000 (19:48 +0000)]
Merge "mediawiki.Title: Reduce transfer size of phpCharToUpper.json"

2 years agoImprove documentation for the MinimumPasswordLengthToLogin policy
Thalia [Tue, 17 Sep 2019 19:16:05 +0000 (20:16 +0100)]
Improve documentation for the MinimumPasswordLengthToLogin policy

Bug: T233119
Change-Id: I2d0fa6f7116b407cbf62ad93da73d0800c9d14f9

2 years agoMerge "wdio-mediawiki: fix @since versions"
jenkins-bot [Tue, 17 Sep 2019 19:06:31 +0000 (19:06 +0000)]
Merge "wdio-mediawiki: fix @since versions"

2 years agomediawiki.Title: Reduce transfer size of phpCharToUpper.json
Timo Tijhof [Tue, 17 Sep 2019 18:40:03 +0000 (19:40 +0100)]
mediawiki.Title: Reduce transfer size of phpCharToUpper.json

Follows-up 416895821fdb68, which increased this payload by 1-2KB.

Bug: T233095
Change-Id: I90745fe1c1ad4389fef399a30966b123f7812506

2 years agoMerge "REST: Properly handle HEAD requests"
jenkins-bot [Tue, 17 Sep 2019 18:57:18 +0000 (18:57 +0000)]
Merge "REST: Properly handle HEAD requests"

2 years agoMerge "Use TextFormatter in the REST API"
jenkins-bot [Tue, 17 Sep 2019 18:57:09 +0000 (18:57 +0000)]
Merge "Use TextFormatter in the REST API"

2 years agowdio-mediawiki: update signatures in README.md
Lucas Werkmeister [Tue, 17 Sep 2019 16:03:38 +0000 (18:03 +0200)]
wdio-mediawiki: update signatures in README.md

Add parameter types everywhere, and mark the parameters of blockUser and
unblockUser as optional.

Change-Id: I4713fed9f073801333796d974fff9d2d7059d1f0

2 years agoBreak PreferencesFormOOUI->PermissionManager dependency
Petr Pchelko [Fri, 13 Sep 2019 15:26:11 +0000 (08:26 -0700)]
Break PreferencesFormOOUI->PermissionManager dependency

Depends-On: Id0f0bdb39b9e0be4d7c38c229371be04bb5aec5c
Change-Id: I9209cf26a27ab66306f61937b620bfe05c2045b0

2 years agoAdd assertFileContains to MediaWikiTestCaseTrait
David Causse [Tue, 17 Sep 2019 15:23:17 +0000 (17:23 +0200)]
Add assertFileContains to MediaWikiTestCaseTrait

Used by CirrusSearch unit tests.

Change-Id: I1b67a9cddfca7fa06fb0b916981d1efde0764018

2 years agoimport: Update docs about WikiRevision requiring a Config
Thiemo Kreuz [Tue, 17 Sep 2019 14:36:32 +0000 (16:36 +0200)]
import: Update docs about WikiRevision requiring a Config

Change-Id: I5a3d6883150d63d16c1d59ae202e884acb7ec429

2 years agoMerge "Allow logging arbitrary extra data in MWExceptionHandler::logException"
jenkins-bot [Tue, 17 Sep 2019 12:54:18 +0000 (12:54 +0000)]
Merge "Allow logging arbitrary extra data in MWExceptionHandler::logException"

2 years agoMerge "Make WatchedItemQueryService depend on PermissionManager"
jenkins-bot [Tue, 17 Sep 2019 10:11:26 +0000 (10:11 +0000)]
Merge "Make WatchedItemQueryService depend on PermissionManager"

2 years agoDeprecate `$wgSysopEmailBans`
DannyS712 [Thu, 5 Sep 2019 22:57:06 +0000 (22:57 +0000)]
Deprecate `$wgSysopEmailBans`

Bug: T232169
Change-Id: Iba2493eb2f49d32c5aa1b4da53c9c221847fb125

2 years agoMergeHistory: Update revactor_page too
Brad Jorsch [Tue, 10 Sep 2019 15:24:24 +0000 (11:24 -0400)]
MergeHistory: Update revactor_page too

When using MergeHistory, we need to update the denormalized
revision_actor_temp.revactor_page to match the update we do for
revision.rev_page.

Also, we need a maintenance script to clean up the rows that were broken
by our failure to do that before.

Bug: T232464
Change-Id: Ib819a9d9fc978d75d7cc7e53f361483b69ab8020

2 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 17 Sep 2019 06:23:10 +0000 (08:23 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I5c4e2bd9d76c70622b408f870ac11af9739dad73

2 years agoREST: Properly handle HEAD requests
Tim Starling [Tue, 10 Sep 2019 06:26:53 +0000 (16:26 +1000)]
REST: Properly handle HEAD requests

Just handle a HEAD request as a GET request, if no specific HEAD handler
exists. This is simple and similar to what the rest of MediaWiki does in
response to a HEAD request.

Bug: T226043
Change-Id: I7b2bd657c20b56844459874131a3d85fabe7db3d

2 years agoUse TextFormatter in the REST API
Tim Starling [Tue, 16 Jul 2019 22:43:43 +0000 (08:43 +1000)]
Use TextFormatter in the REST API

* Add ResponseFactory::createLocalizedHttpError(), which generates a
  JSON response body from a MessageValue
* ResponseFactory::__construct() accepts an array of TextFormatter
  objects. For ease of testing, the array may be empty. The integrated
  ResponseFactory has a TextFormatter for English, and one for
  $wgContLang if that is different.
* Use createLocalizedHttpError() to show helpful error messages for
  errors generated by Router.

Change-Id: I897a0aee42227916c568333ab384966f1b87f599