lhc/web/wiklou.git
4 years agordbms: avoid dbSchema() in Database::replaceLostConnection() and Database::__clone()
Aaron Schulz [Thu, 11 Jul 2019 01:21:51 +0000 (18:21 -0700)]
rdbms: avoid dbSchema() in Database::replaceLostConnection() and Database::__clone()

Since dbSchema() always casts the result to a string, using this method
with a call to open() is broken if the RDBMs does not support DB schemas
and thus requires null

Follows-up 7911da9c6f (last week), which added the check in
DatabaseMysqlBase::open() check. Also follows fe0af6cad (last year),
which made dbSchema() consistently return string. Before that, an
implicit null was passed in from Database::factory for mysql, which hid
the class default of empty string.

Bug: T227708
Change-Id: I67207fbaa39c5cc3fe062077cc654f048090e009

4 years agoMerge "objectcache: remove inheritence from CachedBagOStuff"
jenkins-bot [Wed, 10 Jul 2019 23:17:24 +0000 (23:17 +0000)]
Merge "objectcache: remove inheritence from CachedBagOStuff"

4 years agoMerge "objectcache: use OPT_TCP_NODELAY for MemcachedPeclBagOStuff"
jenkins-bot [Wed, 10 Jul 2019 23:16:23 +0000 (23:16 +0000)]
Merge "objectcache: use OPT_TCP_NODELAY for MemcachedPeclBagOStuff"

4 years agoobjectcache: use OPT_TCP_NODELAY for MemcachedPeclBagOStuff
Aaron Schulz [Sat, 29 Jun 2019 19:12:03 +0000 (12:12 -0700)]
objectcache: use OPT_TCP_NODELAY for MemcachedPeclBagOStuff

Clean up the option setting code in __construct() as well
and make it more strict in terms of checking bogus options

Make mctest.php recognize when memcached is used more easily

Change-Id: I77be506e80478ddbb4fcfa44d82aba8162fa984f

4 years agoMerge "Allow false as return type of FileBackendStore::doGetFileXAttributes"
jenkins-bot [Wed, 10 Jul 2019 21:49:59 +0000 (21:49 +0000)]
Merge "Allow false as return type of FileBackendStore::doGetFileXAttributes"

4 years agoobjectcache: remove inheritence from CachedBagOStuff
Aaron Schulz [Wed, 10 Jul 2019 21:32:08 +0000 (14:32 -0700)]
objectcache: remove inheritence from CachedBagOStuff

Change-Id: I24e5b6a95d74730c1679bdc7b7b394adcb6bd794

4 years agoMerge "build: Updating mediawiki/mediawiki-phan-config to 0.6.1"
jenkins-bot [Wed, 10 Jul 2019 21:23:53 +0000 (21:23 +0000)]
Merge "build: Updating mediawiki/mediawiki-phan-config to 0.6.1"

4 years agoMerge "PHPUnit bootstrap: less aggressive unsetting of globals"
jenkins-bot [Wed, 10 Jul 2019 20:58:00 +0000 (20:58 +0000)]
Merge "PHPUnit bootstrap: less aggressive unsetting of globals"

4 years agoMerge "User: support setting custom fields + array autocreation in non-existent field"
jenkins-bot [Wed, 10 Jul 2019 20:53:02 +0000 (20:53 +0000)]
Merge "User: support setting custom fields + array autocreation in non-existent field"

4 years agoUser: support setting custom fields + array autocreation in non-existent field
Gergő Tisza [Wed, 10 Jul 2019 18:46:21 +0000 (20:46 +0200)]
User: support setting custom fields + array autocreation in non-existent field

I889924037 added a __set method which did not actually handle fields being set.
For better or worse, setting custom fields on ubiquitous objects like User is a
common form of in-process caching, so this is a B/C break; restore for now.

PHP allows creating an array in a previously non-existent object property
with $o->foo['bar'] = $val, but doesn't properly handle that on objects
which have magic getter/setter. Add an ugly hack to make it work (but warn).

Depends on I15090ae9e4b66ac25f631f6179c4394ce8c445a9.

Bug: T227688
Change-Id: I62b80ab4fa10de984cf2c879ab12d91b0fd9bc1c

4 years agoMerge "Localisation updates from https://translatewiki.net."
jenkins-bot [Wed, 10 Jul 2019 19:58:37 +0000 (19:58 +0000)]
Merge "Localisation updates from https://translatewiki.net."

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 10 Jul 2019 19:57:53 +0000 (21:57 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I1a847d840c4263f055261c78fc9b487fc0537ffe

4 years agoobjectcache: rename "slaveOnly" parameter to "replicaOnly" in SQLBagOStuff
Aaron Schulz [Wed, 10 Jul 2019 06:51:43 +0000 (23:51 -0700)]
objectcache: rename "slaveOnly" parameter to "replicaOnly" in SQLBagOStuff

Also removed redundant check

Change-Id: I9f454eb15f223f5a9816dca4510c1a9add540b49

4 years agoMerge "Tests: Assert that integration tests are not in unit test directory"
jenkins-bot [Wed, 10 Jul 2019 19:10:25 +0000 (19:10 +0000)]
Merge "Tests: Assert that integration tests are not in unit test directory"

4 years agoMerge "Pass in ServiceOptions to BlockManager"
jenkins-bot [Wed, 10 Jul 2019 18:02:43 +0000 (18:02 +0000)]
Merge "Pass in ServiceOptions to BlockManager"

4 years agoMerge "Tidy up conditions for applying a block from a cookie"
jenkins-bot [Wed, 10 Jul 2019 18:02:36 +0000 (18:02 +0000)]
Merge "Tidy up conditions for applying a block from a cookie"

4 years agoPHPUnit bootstrap: less aggressive unsetting of globals
Kosta Harlan [Wed, 10 Jul 2019 17:20:00 +0000 (13:20 -0400)]
PHPUnit bootstrap: less aggressive unsetting of globals

Previous approach caused breakage with "Notice: Undefined index: _SERVER"
messages, see e.g.
https://gerrit.wikimedia.org/r/c/mediawiki/core/+/521268#message-4502e6c209f53f6dc1c7cdf4f60e5045bbfb6ee4

Change-Id: Ief20e4e21fd99d219ebef865c603e336c2609ce2
Follows-Up: I16691fc8ac063705ba0c2bc63b96c4534ca8660b
Bug: T87781

4 years agoTests: Assert that integration tests are not in unit test directory
Kosta Harlan [Wed, 10 Jul 2019 17:41:44 +0000 (13:41 -0400)]
Tests: Assert that integration tests are not in unit test directory

Bug: T87781
Change-Id: If82efb1829095a6cf76435921f1328801508a70a

4 years agoLinker: Fix incorrect test added in Ib9816d8b
Brad Jorsch [Wed, 10 Jul 2019 17:30:03 +0000 (13:30 -0400)]
Linker: Fix incorrect test added in Ib9816d8b

The test was intended to check for whether we have a user ID *or* a user
name. Instead, it's checking if we have a user ID *and* a user name. And
it also failed to consider User:0.

Bug: T227656
Change-Id: Ia1b5c4a6ae028513b73a65cd2c885459327d29c3

4 years agoMerge "Make RouterTest extend MediawikiUnitTestCase and not integration"
jenkins-bot [Wed, 10 Jul 2019 17:28:35 +0000 (17:28 +0000)]
Merge "Make RouterTest extend MediawikiUnitTestCase and not integration"

4 years agobuild: Updating mediawiki/mediawiki-phan-config to 0.6.1
James D. Forrester [Mon, 10 Jun 2019 19:48:13 +0000 (12:48 -0700)]
build: Updating mediawiki/mediawiki-phan-config to 0.6.1

Change-Id: I370fed5248c8b243527cafb77d80ddb6f4bc7064

4 years agoMerge "Replace old URLs in SampleTest"
jenkins-bot [Wed, 10 Jul 2019 17:02:17 +0000 (17:02 +0000)]
Merge "Replace old URLs in SampleTest"

4 years agoMake RouterTest extend MediawikiUnitTestCase and not integration
Amir Sarabadani [Wed, 10 Jul 2019 16:47:39 +0000 (18:47 +0200)]
Make RouterTest extend MediawikiUnitTestCase and not integration

it's in unit directory, it causes things to break

Change-Id: Ibeafafde5a3b9f3f8e6fda0ceef8575aa544e20b

4 years agoMerge "bagostuff: optimize SqlBagOStuff and fix failing segmentation tests"
jenkins-bot [Wed, 10 Jul 2019 16:34:47 +0000 (16:34 +0000)]
Merge "bagostuff: optimize SqlBagOStuff and fix failing segmentation tests"

4 years agoMerge "rdbms: make IDatabase::isReadOnly() return true for replica DBs managed by...
jenkins-bot [Wed, 10 Jul 2019 16:12:54 +0000 (16:12 +0000)]
Merge "rdbms: make IDatabase::isReadOnly() return true for replica DBs managed by LoadBalancer"

4 years agoPass in ServiceOptions to BlockManager
Thalia [Wed, 26 Jun 2019 14:06:01 +0000 (15:06 +0100)]
Pass in ServiceOptions to BlockManager

Change-Id: Ic63d7ff35a71e36c4e6157e9d472e2870f95f00d

4 years agoTidy up conditions for applying a block from a cookie
Thalia [Wed, 26 Jun 2019 10:04:50 +0000 (11:04 +0100)]
Tidy up conditions for applying a block from a cookie

Change-Id: Id9dd6ae395f5bb811db4c741be9db8aa2eb6fb70

4 years agoMerge "Update OOUI to v0.33.2"
jenkins-bot [Wed, 10 Jul 2019 15:28:25 +0000 (15:28 +0000)]
Merge "Update OOUI to v0.33.2"

4 years agoMerge "Remove references to db field ar_text_id"
jenkins-bot [Wed, 10 Jul 2019 15:01:18 +0000 (15:01 +0000)]
Merge "Remove references to db field ar_text_id"

4 years agoUpdate OOUI to v0.33.2
Volker E [Wed, 10 Jul 2019 14:07:23 +0000 (07:07 -0700)]
Update OOUI to v0.33.2

Release notes:
 https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v0.33.2

Bug: T158708
Bug: T226780
Bug: T227040
Bug: T227275
Depends-on: I3d7a990d0f32734a9048ec55d22035150a562f04
Change-Id: I4287a6f2e950a8ad0511b24f4a1c8074e4f427b3

4 years agoMerge "Isolate globals for ContentSecurityPolicy tests"
jenkins-bot [Wed, 10 Jul 2019 14:09:26 +0000 (14:09 +0000)]
Merge "Isolate globals for ContentSecurityPolicy tests"

4 years agoReplace old URLs in SampleTest
Thalia [Mon, 27 May 2019 12:35:18 +0000 (13:35 +0100)]
Replace old URLs in SampleTest

Update URLs to point to documentation for version 6.5, and fix a
couple of broken URLs.

Change-Id: I25211d4da19a40837d7fb7fc6219486f1a7a7c0e

4 years agoMerge "REST: add write access checks to BasicAccess"
jenkins-bot [Wed, 10 Jul 2019 10:41:11 +0000 (10:41 +0000)]
Merge "REST: add write access checks to BasicAccess"

4 years agoMerge "Add rest.php (REST API endpoint) with feature flag"
jenkins-bot [Wed, 10 Jul 2019 10:26:33 +0000 (10:26 +0000)]
Merge "Add rest.php (REST API endpoint) with feature flag"

4 years agoMerge "REST: basic read restrictions"
jenkins-bot [Wed, 10 Jul 2019 10:26:26 +0000 (10:26 +0000)]
Merge "REST: basic read restrictions"

4 years agordbms: make IDatabase::isReadOnly() return true for replica DBs managed by LoadBalancer
Aaron Schulz [Wed, 10 Jul 2019 06:51:24 +0000 (23:51 -0700)]
rdbms: make IDatabase::isReadOnly() return true for replica DBs managed by LoadBalancer

Change-Id: I25b70fe0ea113c6741601cf0366a0fe9dc5cc3ef

4 years agoMerge "maintenance: Script to rename titles for Unicode uppercasing changes"
jenkins-bot [Wed, 10 Jul 2019 06:42:16 +0000 (06:42 +0000)]
Merge "maintenance: Script to rename titles for Unicode uppercasing changes"

4 years agobagostuff: optimize SqlBagOStuff and fix failing segmentation tests
Aaron Schulz [Sat, 29 Jun 2019 17:26:37 +0000 (10:26 -0700)]
bagostuff: optimize SqlBagOStuff and fix failing segmentation tests

In SqlBagOStuff:
* Add modifyMulti() helper method to reduce code duplication
* Improve atomicity of add(), cas(), and changeTTL() queries
* Avoid integer serialization and improve atomicity of incr()
* Optimize new BagOStuff::changeTTLMulti() method

In BagOStuff:
* Add changeTTLMulti() method for subclasses to optimize
* Make set() ignore WRITE_ALLOW_SEGMENTS for integers so incr() works
* Strip WRITE_ALLOW_SEGMENTS flag from the setMulti() call in set() to
  avoid triggering bogus sanity check exceptions
* Fix BagOStuffTest::testSetSegmentable failures via the above changes
* Enforce WRITE_ALLOW_SEGMENTS sanity check in setMulti() for all the
  subclasses by using a final wrapper method
* Add WRITE_ALLOW_SEGMENTS sanity check to deleteMulti()

Bug: T113916
Change-Id: I25d1790fa9b0d1837643efccfa94a12043cfbf42

4 years agoMerge "Fix typo in table documentation"
jenkins-bot [Wed, 10 Jul 2019 02:38:59 +0000 (02:38 +0000)]
Merge "Fix typo in table documentation"

4 years agoMerge "Add safemode to special redirect parameters that are preserved"
jenkins-bot [Wed, 10 Jul 2019 01:40:38 +0000 (01:40 +0000)]
Merge "Add safemode to special redirect parameters that are preserved"

4 years agoMerge "config: Change ConfigException to extend LogicException"
jenkins-bot [Tue, 9 Jul 2019 22:14:49 +0000 (22:14 +0000)]
Merge "config: Change ConfigException to extend LogicException"

4 years agordbms: rename LoadMonitor "parent" field to "lb"
Aaron Schulz [Sat, 6 Jul 2019 03:29:39 +0000 (20:29 -0700)]
rdbms: rename LoadMonitor "parent" field to "lb"

Change-Id: I21246ca1ba00280839216b378899f2fcae266857

4 years agoRemove references to db field ar_text_id
Bill Pirkle [Wed, 24 Apr 2019 21:46:12 +0000 (16:46 -0500)]
Remove references to db field ar_text_id

Field ar_text_id is being removed as part of MCR schema changes.
Remove references to this field. These references were already
unnecessary due to commit 07842be3.

Bug: T198341
Change-Id: I3dbf12abf3f67fa0ea07c535e830c9d40b46fdc3

4 years agoMerge "Move unit tests, round III"
jenkins-bot [Tue, 9 Jul 2019 20:36:37 +0000 (20:36 +0000)]
Merge "Move unit tests, round III"

4 years agoMove unit tests, round III
Amir Sarabadani [Sun, 7 Jul 2019 23:28:25 +0000 (01:28 +0200)]
Move unit tests, round III

Depends-On: I16691fc8ac063705ba0c2bc63b96c4534ca8660b
Bug: T87781
Change-Id: I5e1ab06e3decef6cc6090551d54dc4314ab9314a

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 9 Jul 2019 19:57:36 +0000 (21:57 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: If1fe24c743ae95416ff816989ec15d4042612604

4 years agoMerge "Add fields and docs to WikiExporter"
jenkins-bot [Tue, 9 Jul 2019 19:52:07 +0000 (19:52 +0000)]
Merge "Add fields and docs to WikiExporter"

4 years agoMerge "rdbms: avoid recursion in LoadBalancer when the master has non-zero load"
jenkins-bot [Tue, 9 Jul 2019 19:48:58 +0000 (19:48 +0000)]
Merge "rdbms: avoid recursion in LoadBalancer when the master has non-zero load"

4 years agoMerge "jobqueue: mention more methods in RunnableJob to fix various IDEA warnings"
jenkins-bot [Tue, 9 Jul 2019 19:36:07 +0000 (19:36 +0000)]
Merge "jobqueue: mention more methods in RunnableJob to fix various IDEA warnings"

4 years agordbms: avoid recursion in LoadBalancer when the master has non-zero load
Aaron Schulz [Thu, 27 Jun 2019 18:52:04 +0000 (11:52 -0700)]
rdbms: avoid recursion in LoadBalancer when the master has non-zero load

Add and use IDatabase::getServerConnection() method to avoid loops caused
caused by pickReaderIndex() calling getConnection() for the master server.
That lead to getReadOnlyReason() triggering pickReaderIndex() again.

Make getLaggedReplicaMode() apply when the master has non-zero load and
the replicas are all lagged.

Remove "allReplicasDownMode" in favor of checking getExistingReaderIndex()
instead. This reduces the amount of state to keep track of a bit.

Follow-up to 95e2c990940f

Bug: T226678
Bug: T226770
Change-Id: Id932c3fcc00625e3960f76d054d38d9679d25ecc

4 years agoMerge "Unset all globals unneeded for unit tests, assert correct directory"
jenkins-bot [Tue, 9 Jul 2019 18:57:55 +0000 (18:57 +0000)]
Merge "Unset all globals unneeded for unit tests, assert correct directory"

4 years agoUnset all globals unneeded for unit tests, assert correct directory
Amir Sarabadani [Mon, 8 Jul 2019 13:25:31 +0000 (15:25 +0200)]
Unset all globals unneeded for unit tests, assert correct directory

* Unset globals to avoid tests that look like unit tests but actually rely on
  globals
* move some tests out of unit directory so that the test suite will pass.
* Assert that tests which extend MediaWikiUnitTestCase are in a directory with
  "/unit/" in its path name

Depends-On: I67b37b1bde94eaa3d4298d9bd98ac57995ce93b9
Depends-On: I90921679518ee95fe393f8b1bbd9134daf0ba032
Bug: T87781
Change-Id: I16691fc8ac063705ba0c2bc63b96c4534ca8660b

4 years agoMerge "objectcache: simplify WANObjectCache version handling code"
jenkins-bot [Tue, 9 Jul 2019 18:00:06 +0000 (18:00 +0000)]
Merge "objectcache: simplify WANObjectCache version handling code"

4 years agomaintenance: Script to rename titles for Unicode uppercasing changes
Brad Jorsch [Tue, 30 Apr 2019 15:33:06 +0000 (11:33 -0400)]
maintenance: Script to rename titles for Unicode uppercasing changes

This uses MovePage where possible to try to better keep data in sync.
Archives, log entries, and so on can't do that though.

The script skips User and User_talk pages for registered users, as
renaming the users is more complicated than makes sense to try to
implement here. Use something like Extension:Renameuser to clean those
up; this script can provide a list of user names affected.

Bug: T219279
Change-Id: I157577cb5bedfd347b808c254fb19ae8088818ab

4 years agoMerge "jobqueue: remove unused "aggregator" field reference in JobQueueFederated"
jenkins-bot [Tue, 9 Jul 2019 17:47:24 +0000 (17:47 +0000)]
Merge "jobqueue: remove unused "aggregator" field reference in JobQueueFederated"

4 years agoMerge "objectcache: deleteObjectsExpiringBefore() signature and code improvements"
jenkins-bot [Tue, 9 Jul 2019 17:47:17 +0000 (17:47 +0000)]
Merge "objectcache: deleteObjectsExpiringBefore() signature and code improvements"

4 years agoMerge "Run SpecialPageFatalTest with lang=qqx"
jenkins-bot [Tue, 9 Jul 2019 17:34:22 +0000 (17:34 +0000)]
Merge "Run SpecialPageFatalTest with lang=qqx"

4 years agoFix typo in table documentation
Thalia [Tue, 9 Jul 2019 17:31:21 +0000 (18:31 +0100)]
Fix typo in table documentation

Change-Id: Ifa9839567797921ca81938e5c77a1a53a42eef94

4 years agoMerge "Correct typo `notMinimumVerisonMessage'"
jenkins-bot [Tue, 9 Jul 2019 17:22:23 +0000 (17:22 +0000)]
Merge "Correct typo `notMinimumVerisonMessage'"

4 years agoMerge "Recognizes Open Document Database"
jenkins-bot [Tue, 9 Jul 2019 16:11:09 +0000 (16:11 +0000)]
Merge "Recognizes Open Document Database"

4 years agoMerge "Improve type hints in parser related classes"
jenkins-bot [Tue, 9 Jul 2019 15:11:57 +0000 (15:11 +0000)]
Merge "Improve type hints in parser related classes"

4 years agoRecognizes Open Document Database
Antoine Musso [Mon, 31 Dec 2018 17:30:00 +0000 (18:30 +0100)]
Recognizes Open Document Database

Mediawiki does not recognizes the mime type of an OpenOffice / Libre
Office Database Frontend Document and thus uses application/zip.

Our MimeAnalyzer::detectZipType() looks at the Zip files to detect known
signatures, however it is based on a reference from 2005 which did not
have the Database type yet.

OASIS Open Document Format v1.2 specify non normative MIME types, the
reference supposedly being the ones registered with the IANA, but we
have some dispredancy: ODF recommends 'base' while the IANA got
'database' registered: https://www.iana.org/assignments/media-types/

I supposed the format got approved as is, the Database mime type being
'recommended' probably because the IANA registration was pending.

Add the 'base' type which is being used by OpenOffice 3.x and later as
well as at least Libre Office 5.x.
Document my findings in code comments.
Add a test.

Bug: T35515
Change-Id: If0210a87067358612ecb8b3edd001fb05d01653d

4 years agoobjectcache: deleteObjectsExpiringBefore() signature and code improvements
Aaron Schulz [Tue, 9 Jul 2019 06:02:05 +0000 (23:02 -0700)]
objectcache: deleteObjectsExpiringBefore() signature and code improvements

Make the method use a callable type hint for $progressCallback.

Also make the SQLBagOStuff subclass shuffle() the array of server and table
indexes in case the limit keeps getting applied. Only garbage collect on DBs
that were going to be written to anyway. Also use DeferredUpdates if possible.

Change-Id: I723e6377c26750ff98e33f7ab103c6162ae65f43

4 years agoAdd fields and docs to WikiExporter
Daimona Eaytoy [Tue, 9 Jul 2019 08:33:03 +0000 (10:33 +0200)]
Add fields and docs to WikiExporter

Three fields were undeclared, thus raising some phan warnings.

Change-Id: Ib7934b507cb69d29a3d2422dadc24b12207a12ad

4 years agojobqueue: remove unused "aggregator" field reference in JobQueueFederated
Aaron Schulz [Tue, 9 Jul 2019 05:56:25 +0000 (22:56 -0700)]
jobqueue: remove unused "aggregator" field reference in JobQueueFederated

Change-Id: I355d1669a3845508d9be3ad11653f1b98446d9be

4 years agoREST: add write access checks to BasicAccess
Tim Starling [Tue, 9 Jul 2019 02:39:06 +0000 (12:39 +1000)]
REST: add write access checks to BasicAccess

This is a stub implementation which just checks for the apiwrite
permission.

Change-Id: Ib84cd93e7f0f5e31cf620b2d30609035c4448c95

4 years agoAdd rest.php (REST API endpoint) with feature flag
Tim Starling [Thu, 16 May 2019 04:36:45 +0000 (14:36 +1000)]
Add rest.php (REST API endpoint) with feature flag

Change-Id: I0f9aaa9cc81f93c00f7a28041615d7290b453803

4 years agoREST: basic read restrictions
Tim Starling [Wed, 26 Jun 2019 02:33:35 +0000 (12:33 +1000)]
REST: basic read restrictions

Protect private wikis by providing basic read restrictions,
closely following the example of the action API.

The BasicAccess module provides a narrow interface for this
functionality, without exposing the whole session/user concept to the
router.

Also, add RouterTest and fix a bug in Router::getRelativePath() thus
discovered.

Change-Id: I82319d56f08b2eec4a585ff6dbd348ccdbadc5b5

4 years agoobjectcache: simplify WANObjectCache version handling code
Aaron Schulz [Tue, 9 Jul 2019 01:17:04 +0000 (18:17 -0700)]
objectcache: simplify WANObjectCache version handling code

Make getWithSetCallback() check for unversioned values instead
of doing it in multiple isValid() checks.

Also rename some variables in doGetWithSetCallback() for clarity.

Change-Id: I27fe0b2351643009d090964b9b57fa82ba658235

4 years agoMerge "installer: Avoid <doclink/> hack for 'config-sidebar' rendering"
jenkins-bot [Mon, 8 Jul 2019 23:53:10 +0000 (23:53 +0000)]
Merge "installer: Avoid <doclink/> hack for 'config-sidebar' rendering"

4 years agoMerge "installer: Convert <downloadlink/> hack to raw message param"
jenkins-bot [Mon, 8 Jul 2019 23:51:45 +0000 (23:51 +0000)]
Merge "installer: Convert <downloadlink/> hack to raw message param"

4 years agoMerge "installer: Call getInfoBox() with raw wikitext, not transformed text"
jenkins-bot [Mon, 8 Jul 2019 23:51:38 +0000 (23:51 +0000)]
Merge "installer: Call getInfoBox() with raw wikitext, not transformed text"

4 years agoMerge "installer: Fix Html::infoBox param docs and mark as internal"
jenkins-bot [Mon, 8 Jul 2019 23:49:14 +0000 (23:49 +0000)]
Merge "installer: Fix Html::infoBox param docs and mark as internal"

4 years agoMerge "build: Remove reference of non-existent "Fuzz" and "Stub" PHPUnit groups"
jenkins-bot [Mon, 8 Jul 2019 23:47:49 +0000 (23:47 +0000)]
Merge "build: Remove reference of non-existent "Fuzz" and "Stub" PHPUnit groups"

4 years agoMerge "build: Remove redundant 'vendor/bin' prefix from composer commands"
jenkins-bot [Mon, 8 Jul 2019 23:44:40 +0000 (23:44 +0000)]
Merge "build: Remove redundant 'vendor/bin' prefix from composer commands"

4 years agoMerge "mediawiki.util: Simplify test-only setOptions methods"
jenkins-bot [Mon, 8 Jul 2019 23:21:26 +0000 (23:21 +0000)]
Merge "mediawiki.util: Simplify test-only setOptions methods"

4 years agoMerge "lockmanager: tweak FSLockManager permission handling in doSingleLock()"
jenkins-bot [Mon, 8 Jul 2019 23:07:09 +0000 (23:07 +0000)]
Merge "lockmanager: tweak FSLockManager permission handling in doSingleLock()"

4 years agoMerge "objectcache: tweak SqlBagOStuff purging to happen on write only"
jenkins-bot [Mon, 8 Jul 2019 23:07:02 +0000 (23:07 +0000)]
Merge "objectcache: tweak SqlBagOStuff purging to happen on write only"

4 years agoMerge "objectcache: add IStoreKeyEncoder interface for key generation helper methods"
jenkins-bot [Mon, 8 Jul 2019 22:48:55 +0000 (22:48 +0000)]
Merge "objectcache: add IStoreKeyEncoder interface for key generation helper methods"

4 years agoMerge "Fix IDEA warnings in Xhprof class"
jenkins-bot [Mon, 8 Jul 2019 22:44:41 +0000 (22:44 +0000)]
Merge "Fix IDEA warnings in Xhprof class"

4 years agoobjectcache: add IStoreKeyEncoder interface for key generation helper methods
Aaron Schulz [Mon, 8 Jul 2019 19:12:16 +0000 (12:12 -0700)]
objectcache: add IStoreKeyEncoder interface for key generation helper methods

If a key is stored in both BagOStuff and WANObjectCache, it useful to have
one common method for generating the cache and storage keys.

Change-Id: I8b77651746a55e8a98a79db298226e334d15a494

4 years agoFix IDEA warnings in Xhprof class
Aaron Schulz [Mon, 8 Jul 2019 21:54:27 +0000 (14:54 -0700)]
Fix IDEA warnings in Xhprof class

Change-Id: Ie4bb1792e45380240f2507e3aca25dc94b78f57e

4 years agoMerge "Remove `@author Timo Tijhof` from various file headers"
jenkins-bot [Mon, 8 Jul 2019 22:10:41 +0000 (22:10 +0000)]
Merge "Remove `@author Timo Tijhof` from various file headers"

4 years agoMerge "entrypoint: Avoid random Doxygen block from api.php and opensearch_desc.php"
jenkins-bot [Mon, 8 Jul 2019 22:07:28 +0000 (22:07 +0000)]
Merge "entrypoint: Avoid random Doxygen block from api.php and opensearch_desc.php"

4 years agobuild: Remove reference of non-existent "Fuzz" and "Stub" PHPUnit groups
Timo Tijhof [Mon, 8 Jul 2019 22:03:13 +0000 (23:03 +0100)]
build: Remove reference of non-existent "Fuzz" and "Stub" PHPUnit groups

These were removed from the phpunit.xml file recently (after having
been unused for many years), but between the revert and resplit
of the recent MediaWikiTestCase refactor, that change was lost
and the group exclusion re-introduced.

This removes it again, following 214750d8d224fc7.

Change-Id: I9448854e5f1587b1083e78f61ef8b520722ad2b9

4 years agobuild: Remove redundant 'vendor/bin' prefix from composer commands
Timo Tijhof [Mon, 8 Jul 2019 21:59:19 +0000 (22:59 +0100)]
build: Remove redundant 'vendor/bin' prefix from composer commands

Follows 214750d8d224. This isn't needed because they run with
that directory already in their PATH.

Change-Id: I855bbe53c2b5c87afa425b7b6d3ec920c452cc99

4 years agoRemove `@author Timo Tijhof` from various file headers
Timo Tijhof [Mon, 8 Jul 2019 21:31:25 +0000 (22:31 +0100)]
Remove `@author Timo Tijhof` from various file headers

Also remove a few redundant file-level descriptions in favour
of their class entity describing the same already.

Change-Id: I1a43fc402b5bd106931062a399952ba1e48beb48

4 years agomediawiki.util: Simplify test-only setOptions methods
Timo Tijhof [Mon, 8 Jul 2019 21:54:53 +0000 (22:54 +0100)]
mediawiki.util: Simplify test-only setOptions methods

Follows-up 1c7c9bdf1f.

* Define the method only in test context, instead of
  a run-time check.

* Return the old value, and re-use function for restoring
  the result afterwards.

* Make the test define its options by default, so at to not
  rely on local-wiki defaults in any way.

Change-Id: I71e92d5b9ee789b594e6e64ca3e425583fc1ee1c

4 years agoresourceloader: Remove 'user.groups' module alias
Timo Tijhof [Mon, 8 Jul 2019 21:20:28 +0000 (22:20 +0100)]
resourceloader: Remove 'user.groups' module alias

Deprecated since MediaWiki 1.28. Follows 06ab9c0942f66.

Change-Id: Iedaa61d82b72ccf852975057d3d88f2bf7ddead6

4 years agoentrypoint: Avoid random Doxygen block from api.php and opensearch_desc.php
Timo Tijhof [Mon, 8 Jul 2019 20:24:45 +0000 (21:24 +0100)]
entrypoint: Avoid random Doxygen block from api.php and opensearch_desc.php

These two entry points have themselves partly indexed by Doxygen
in a very strange way where these two comments cause part of an
if-statement to be seen as the name of a local variable.
Probably due to some kind of bad interaction with the
maintenance/mwdoc-filter.php filter applied to the file before
it gets indexed.

Fix it for now by avoiding use of /** blocks for something that
isn't a class, function, class member or documented global var.

Change-Id: I4903069e704c3283e6ec7a39999a489d0117cc71

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 8 Jul 2019 20:14:36 +0000 (22:14 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I608a6689cf784c6826bd45e9836d3ed00a2f1602

4 years agoMerge "rdbms: normalize Database/LBFactory logging and add snapshot flushing warnings"
jenkins-bot [Mon, 8 Jul 2019 18:53:38 +0000 (18:53 +0000)]
Merge "rdbms: normalize Database/LBFactory logging and add snapshot flushing warnings"

4 years agoMake MSCompoundFileReader::readFile platform-agnostic
Máté Szabó [Mon, 8 Jul 2019 16:05:22 +0000 (18:05 +0200)]
Make MSCompoundFileReader::readFile platform-agnostic

MSCompoundFileReader::readFile uses iconv to convert information
given in UTF-16 character set with little-endian byte order to
the UTF-8 character set. The input string has no BOM and the byte order
is not explicitly given, causing iconv to try to guess the byte order
based on the host operating system. This causes the method to return
different results for the same file in different environments.

This patch explicitly provides the byte order for the input to be
converted (UTF-16LE) to ensure portability and predictability.

As part of this, move MSCompoundFileReaderTest into the unit test tree.

Bug: T225019
Change-Id: I62154897d303b28c288c3a4f2f5456bedcc81852

4 years agoMerge "Selenium: replace UserLoginPage with BlankPage where possible"
jenkins-bot [Mon, 8 Jul 2019 17:00:13 +0000 (17:00 +0000)]
Merge "Selenium: replace UserLoginPage with BlankPage where possible"

4 years agoMerge "build: use the latest webdriverio 4.x related packages"
jenkins-bot [Mon, 8 Jul 2019 15:59:18 +0000 (15:59 +0000)]
Merge "build: use the latest webdriverio 4.x related packages"

4 years agoMerge "Improve specialmute-email-footer description"
jenkins-bot [Mon, 8 Jul 2019 15:50:44 +0000 (15:50 +0000)]
Merge "Improve specialmute-email-footer description"

4 years agobuild: use the latest webdriverio 4.x related packages
Željko Filipin [Mon, 8 Jul 2019 13:29:06 +0000 (15:29 +0200)]
build: use the latest webdriverio 4.x related packages

Updating packages removes dependency on cryptiles. We were using
version 3.1.4 that had a vulnerability.

Bug: T226586
Change-Id: Idccc7f418ed6fce7452a6f0d403477953448a541

4 years agoImprove specialmute-email-footer description
Dayllan Maza [Mon, 8 Jul 2019 14:25:11 +0000 (10:25 -0400)]
Improve specialmute-email-footer description

Change-Id: I058d3477b0707e2fbf09a94517a6005e0694dbae

4 years agoSelenium: replace UserLoginPage with BlankPage where possible
Željko Filipin [Fri, 10 May 2019 15:56:42 +0000 (17:56 +0200)]
Selenium: replace UserLoginPage with BlankPage where possible

When using local storage, any page has to be open. UserLoginPage is usually used.
BlankPage should be slightly faster to load. It also makes it more clear than
any page would do the job.

Change-Id: I50b23993065ad6b093a6cc951d00b0bf7a3d5e68

4 years agoRun SpecialPageFatalTest with lang=qqx
Amir Sarabadani [Mon, 8 Jul 2019 12:52:06 +0000 (14:52 +0200)]
Run SpecialPageFatalTest with lang=qqx

SpecialPageFatalTest:testSpecialPageDoesNotFatal is one of the slowest
tests (specially running Special:Version) due to the fact that it needs
to translate so many message keys.

3206ms to run SpecialPageFatalTest:testSpecialPageDoesNotFatal with data set "Version"

Running with lang=qqx would ensure that the special doesn't fatal but also avoid
unnecessary message translations

Change-Id: I8ff715ac539e93915c98f7209523df1b3ea3a7e8