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
jenkins-bot [Wed, 10 Jul 2019 02:38:59 +0000 (02:38 +0000)]
Merge "Fix typo in table documentation"
jenkins-bot [Wed, 10 Jul 2019 01:40:38 +0000 (01:40 +0000)]
Merge "Add safemode to special redirect parameters that are preserved"
jenkins-bot [Tue, 9 Jul 2019 22:14:49 +0000 (22:14 +0000)]
Merge "config: Change ConfigException to extend LogicException"
Aaron Schulz [Sat, 6 Jul 2019 03:29:39 +0000 (20:29 -0700)]
rdbms: rename LoadMonitor "parent" field to "lb"
Change-Id: I21246ca1ba00280839216b378899f2fcae266857
jenkins-bot [Tue, 9 Jul 2019 20:36:37 +0000 (20:36 +0000)]
Merge "Move 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
Translation updater bot [Tue, 9 Jul 2019 19:57:36 +0000 (21:57 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: If1fe24c743ae95416ff816989ec15d4042612604
jenkins-bot [Tue, 9 Jul 2019 19:52:07 +0000 (19:52 +0000)]
Merge "Add fields and docs to WikiExporter"
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"
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"
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
jenkins-bot [Tue, 9 Jul 2019 18:57:55 +0000 (18:57 +0000)]
Merge "Unset 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
jenkins-bot [Tue, 9 Jul 2019 18:00:06 +0000 (18:00 +0000)]
Merge "objectcache: simplify WANObjectCache version handling code"
jenkins-bot [Tue, 9 Jul 2019 17:47:24 +0000 (17:47 +0000)]
Merge "jobqueue: remove unused "aggregator" field reference in JobQueueFederated"
jenkins-bot [Tue, 9 Jul 2019 17:47:17 +0000 (17:47 +0000)]
Merge "objectcache: deleteObjectsExpiringBefore() signature and code improvements"
jenkins-bot [Tue, 9 Jul 2019 17:34:22 +0000 (17:34 +0000)]
Merge "Run SpecialPageFatalTest with lang=qqx"
Thalia [Tue, 9 Jul 2019 17:31:21 +0000 (18:31 +0100)]
Fix typo in table documentation
Change-Id: Ifa9839567797921ca81938e5c77a1a53a42eef94
jenkins-bot [Tue, 9 Jul 2019 17:22:23 +0000 (17:22 +0000)]
Merge "Correct typo `notMinimumVerisonMessage'"
jenkins-bot [Tue, 9 Jul 2019 16:11:09 +0000 (16:11 +0000)]
Merge "Recognizes Open Document Database"
jenkins-bot [Tue, 9 Jul 2019 15:11:57 +0000 (15:11 +0000)]
Merge "Improve type hints in parser related classes"
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
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
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
Aaron Schulz [Tue, 9 Jul 2019 05:56:25 +0000 (22:56 -0700)]
jobqueue: remove unused "aggregator" field reference in JobQueueFederated
Change-Id: I355d1669a3845508d9be3ad11653f1b98446d9be
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
jenkins-bot [Mon, 8 Jul 2019 23:53:10 +0000 (23:53 +0000)]
Merge "installer: Avoid <doclink/> hack for 'config-sidebar' rendering"
jenkins-bot [Mon, 8 Jul 2019 23:51:45 +0000 (23:51 +0000)]
Merge "installer: Convert <downloadlink/> hack to raw message param"
jenkins-bot [Mon, 8 Jul 2019 23:51:38 +0000 (23:51 +0000)]
Merge "installer: Call getInfoBox() with raw wikitext, not transformed text"
jenkins-bot [Mon, 8 Jul 2019 23:49:14 +0000 (23:49 +0000)]
Merge "installer: Fix Html::infoBox param docs and mark as internal"
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"
jenkins-bot [Mon, 8 Jul 2019 23:44:40 +0000 (23:44 +0000)]
Merge "build: Remove redundant 'vendor/bin' prefix from composer commands"
jenkins-bot [Mon, 8 Jul 2019 23:21:26 +0000 (23:21 +0000)]
Merge "mediawiki.util: Simplify test-only setOptions methods"
jenkins-bot [Mon, 8 Jul 2019 23:07:09 +0000 (23:07 +0000)]
Merge "lockmanager: tweak FSLockManager permission handling in doSingleLock()"
jenkins-bot [Mon, 8 Jul 2019 23:07:02 +0000 (23:07 +0000)]
Merge "objectcache: tweak SqlBagOStuff purging to happen on write only"
jenkins-bot [Mon, 8 Jul 2019 22:48:55 +0000 (22:48 +0000)]
Merge "objectcache: add IStoreKeyEncoder interface for key generation helper methods"
jenkins-bot [Mon, 8 Jul 2019 22:44:41 +0000 (22:44 +0000)]
Merge "Fix IDEA warnings in Xhprof class"
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
Aaron Schulz [Mon, 8 Jul 2019 21:54:27 +0000 (14:54 -0700)]
Fix IDEA warnings in Xhprof class
Change-Id: Ie4bb1792e45380240f2507e3aca25dc94b78f57e
jenkins-bot [Mon, 8 Jul 2019 22:10:41 +0000 (22:10 +0000)]
Merge "Remove `@author Timo Tijhof` from various file headers"
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"
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
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
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
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
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
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
Translation updater bot [Mon, 8 Jul 2019 20:14:36 +0000 (22:14 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I608a6689cf784c6826bd45e9836d3ed00a2f1602
jenkins-bot [Mon, 8 Jul 2019 18:53:38 +0000 (18:53 +0000)]
Merge "rdbms: normalize Database/LBFactory logging and add snapshot flushing warnings"
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
jenkins-bot [Mon, 8 Jul 2019 17:00:13 +0000 (17:00 +0000)]
Merge "Selenium: replace UserLoginPage with BlankPage where possible"
jenkins-bot [Mon, 8 Jul 2019 15:59:18 +0000 (15:59 +0000)]
Merge "build: use the latest webdriverio 4.x related packages"
jenkins-bot [Mon, 8 Jul 2019 15:50:44 +0000 (15:50 +0000)]
Merge "Improve specialmute-email-footer description"
Ž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
Dayllan Maza [Mon, 8 Jul 2019 14:25:11 +0000 (10:25 -0400)]
Improve specialmute-email-footer description
Change-Id: I058d3477b0707e2fbf09a94517a6005e0694dbae
Ž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
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
jenkins-bot [Mon, 8 Jul 2019 12:49:17 +0000 (12:49 +0000)]
Merge "Move unit tests FormatJsonTest.php to a dedicated file in unit tests"
jenkins-bot [Mon, 8 Jul 2019 12:40:50 +0000 (12:40 +0000)]
Merge "Split SanitizerTest to unit and integration tests"
Amir Sarabadani [Mon, 8 Jul 2019 00:05:57 +0000 (02:05 +0200)]
Split SanitizerTest to unit and integration tests
Out of 150 tests of SanitizerTest.php, 100 of them are pure unit tests
they are moved to the new file in the new structure, the rest stay
Change-Id: I366d37607abff4bcd624a56fb8b2299729fbc088
jenkins-bot [Mon, 8 Jul 2019 07:47:41 +0000 (07:47 +0000)]
Merge "Reorganize testsuites"
jenkins-bot [Mon, 8 Jul 2019 06:31:42 +0000 (06:31 +0000)]
Merge "Change the autonym of Minangkabau from "Baso Minangkabau" to "Minangkabau""
jenkins-bot [Mon, 8 Jul 2019 05:44:07 +0000 (05:44 +0000)]
Merge "Tell users how they can force a maintenance script to run again."
Mahuton [Mon, 8 Jul 2019 05:04:17 +0000 (07:04 +0200)]
Change the autonym of Minangkabau from "Baso Minangkabau" to "Minangkabau"
Change requested on the Minangkabau Wikipedia village pump
Bug: T224806
Change-Id: I40ddc71f4f6ab73b6d4c4f19ec57bc9c9e221b14
DannyS712 [Mon, 8 Jul 2019 04:39:24 +0000 (04:39 +0000)]
Correct typo `notMinimumVerisonMessage'
Bug: T224449
Change-Id: I4d76f900770f74ce668abf71ea5e7a9f167f5950
Amir Sarabadani [Sun, 7 Jul 2019 22:23:30 +0000 (00:23 +0200)]
Move unit tests FormatJsonTest.php to a dedicated file in unit tests
Out of 140 tests of this file, 131 one of them are pure unit test
Let's keep the 9 in the original file and move the rest
Bug: T87781
Change-Id: I86dfe17f794c615048b3c20487b0e84d38d13b93
Kosta Harlan [Fri, 5 Jul 2019 15:33:08 +0000 (11:33 -0400)]
Reorganize testsuites
The idea is that `vendor/bin/phpunit` could run all of the tests contained in
core + extensions + skins with no overlap, but that we can also provide
granularity for CI which wants to run some testsuites (e.g. core:unit and
core:integration) before extensions/skins, as well as running unit before
integration tests.
Bug: T87781
Change-Id: I2fb57f4a9a58ec7a4042d9cc1821cc484661a6b9
Translation updater bot [Sun, 7 Jul 2019 20:08:26 +0000 (22:08 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I3f6364eed16e0f0479410147d289b4197c563643
Aaron Schulz [Sat, 29 Jun 2019 03:21:28 +0000 (20:21 -0700)]
rdbms: normalize Database/LBFactory logging and add snapshot flushing warnings
Make flushSnapshot() logging more detailed and check for explicit transaction
rounds. Also removing periods and trailing newlines from log/exception messages.
Change-Id: I0f6520f563680ab3a65b6338ced59ba25a2ec7b5
Aaron Schulz [Wed, 3 Jul 2019 10:38:48 +0000 (03:38 -0700)]
lockmanager: tweak FSLockManager permission handling in doSingleLock()
Change-Id: Ia0070cc727ca622e127456ddb0e39d007e19f169
jenkins-bot [Sat, 6 Jul 2019 15:17:54 +0000 (15:17 +0000)]
Merge "Don't process "all" option in Html::namespaceSelectorOptions"
Aaron Schulz [Sat, 6 Jul 2019 07:02:13 +0000 (00:02 -0700)]
objectcache: tweak SqlBagOStuff purging to happen on write only
Also adjust the frequency default and put in a 100 row limit for
randomized purges. This adds a $limit parameter to the BagOStuff
method deleteObjectsExpiringBefore().
Change-Id: I66bfcc67e8e118f8c659dbbee13d54bf2cd937f5
Aaron Schulz [Sat, 6 Jul 2019 04:02:17 +0000 (21:02 -0700)]
jobqueue: mention more methods in RunnableJob to fix various IDEA warnings
Change-Id: I156411062ae7831c935869d226fc4934bde55107
jenkins-bot [Sat, 6 Jul 2019 01:00:54 +0000 (01:00 +0000)]
Merge "OutputPage: Load html5shiv without indirection of load.php"
Timo Tijhof [Thu, 4 Jul 2019 15:54:24 +0000 (16:54 +0100)]
OutputPage: Load html5shiv without indirection of load.php
This library was introduced in
3a30e03645f, to make sure Grade C
stylesheets that apply to HTML5 elements that older browsers might
not know yet, work as expected in old IE.
It originally committed a minified version and loaded it directly
as an HTML script tag in a conditional comment. This had minimal
impact on anything else, and was easy to maintain.
In
68237fb1a74, this was changed to commit the unminified version
instead because Debian maintainers don't like packaging software
that contain minified files, despite being a simple file,
unmodified from the original (upstream publishes it in minified
form, with license header), published under a compatible free
license, and embedded in a license-compliant manner. We then
registered it as an unused ResourceLoader module, to be minified
on-the-fly at run-time.
Support for "server-registered client-unregistered" modules was
removed last week in
c554ee8e64e because nothing needed it
anymore (except html5shiv apparently), which resulted in this
module being registered client-side on all page views for all
users (in latest master). This doesn't break anything, but it
is a regression performance-wise.
Restore this by (mostly) going to how it was before: A simple static
file, committed to Git, served as-is. Not related to, served by,
pulled through, nor registered with, ResourceLoader in any way.
Only difference with the original approach is that it is no longer
minified, which means a few more bytes transferred on old IE page
views, which is considered an acceptable compromise.
Bug: T201483
Change-Id: Ib0020b6bd015679b61f63eaa8109ed9b83d8ad15
jenkins-bot [Fri, 5 Jul 2019 23:10:40 +0000 (23:10 +0000)]
Merge "Fix type hints in jobqueue related classes"
jenkins-bot [Fri, 5 Jul 2019 23:10:34 +0000 (23:10 +0000)]
Merge "Adjust type hints in file related classes"
jenkins-bot [Fri, 5 Jul 2019 22:00:09 +0000 (22:00 +0000)]
Merge "rdbms: clean up $groups logic in LoadBalancer and expand comments"
jenkins-bot [Fri, 5 Jul 2019 21:32:55 +0000 (21:32 +0000)]
Merge "Adjust type hints in htmlform related classes"
Umherirrender [Mon, 3 Jun 2019 16:08:04 +0000 (18:08 +0200)]
Improve type hints in parser related classes
Change-Id: Ia07a2eb32894f96b195fa3189fb5f617e68f2581
jenkins-bot [Fri, 5 Jul 2019 21:18:30 +0000 (21:18 +0000)]
Merge "build: Update eslint-config-wikimedia to 0.13.0"
jenkins-bot [Fri, 5 Jul 2019 21:02:51 +0000 (21:02 +0000)]
Merge "Pass int for argument to ArchivedFile"
Ed Sanders [Fri, 5 Jul 2019 19:38:29 +0000 (20:38 +0100)]
build: Update eslint-config-wikimedia to 0.13.0
Change-Id: I7df5840bc97f8bbcd8cfc875c2b48b3061ef2c9e
Umherirrender [Fri, 5 Jul 2019 20:20:56 +0000 (22:20 +0200)]
Fix type hints in jobqueue related classes
JobQueueGroup is giving RunnableJob on pop(), so it should take the same
type for ack() and deduplicateRootJob()
JobQueue::ack alsready accept the interface
Also change to RunnableJob in JobRunner to work with the type from the
job queue
Change-Id: I7b09586cff8affabe807ee16e80d04f5137dce45
Umherirrender [Fri, 5 Jul 2019 20:17:53 +0000 (22:17 +0200)]
Pass int for argument to ArchivedFile
ArchivedFile constructor is complex, but use the correct type for
unneeded arguments
Change-Id: I111daf7fb69d4448d8a362ba70735f3312869c7f
jenkins-bot [Fri, 5 Jul 2019 19:25:38 +0000 (19:25 +0000)]
Merge "Bidi isolate user names in block error paramters"
Timo Tijhof [Thu, 4 Jul 2019 22:00:48 +0000 (23:00 +0100)]
installer: Avoid <doclink/> hack for 'config-sidebar' rendering
Use separate messages for the link labels instead.
Bug: T227297
Change-Id: I2fda6ef98117781231a0d42c039d333ef829ea98
Timo Tijhof [Thu, 4 Jul 2019 21:23:11 +0000 (22:23 +0100)]
installer: Convert <downloadlink/> hack to raw message param
Bug: T227297
Change-Id: I9a50342aa0c9525893085e1b8d428556f0262f5c
Timo Tijhof [Thu, 4 Jul 2019 21:17:16 +0000 (22:17 +0100)]
installer: Call getInfoBox() with raw wikitext, not transformed text
This will be run through the parser by getInfoBox(), and is documented
as taking raw wikitext, such as from Message::plain(). Calling with
text() is needlessly slower and may product incorrect results due to
applying transformations twice.
Also fix indentation for a wfMessage() call that was confusing
previously, seemingly passing 5 parameters with $4 being '<downloadlink/>'
when actually it is $3 and the line above continues a previous parameter.
Bug: T227297
Change-Id: Ice432e08b1c5f52db097f7c9f4fe6d69e1b04c2d
Timo Tijhof [Thu, 4 Jul 2019 21:13:18 +0000 (22:13 +0100)]
installer: Fix Html::infoBox param docs and mark as internal
This method is very specific to the installer and is only used in one
place, in WebInstaller, and should probably be moved there.
For now, make its documentation less confusing, more correct, and
mark it as `@internal`, this is not a supported public interface.
Bug: T227297
Change-Id: I8902fe34b80c5152bfd37e9c24427ad48b5f4167
Umherirrender [Mon, 1 Jul 2019 20:30:14 +0000 (22:30 +0200)]
Adjust type hints in file related classes
Change-Id: I3811e0d9a3297293bc52c1a98f3e8fdb5a3d0e85
Umherirrender [Tue, 18 Jun 2019 20:16:31 +0000 (22:16 +0200)]
Adjust type hints in htmlform related classes
The return type of HTMLFormField::loadDataFromRequest to mixed
Some sub classes returning arrays or bools, not everytime strings
HTMLCheckField is working with arrays, so also allow array on getTableRow
Change-Id: I076feea76d8e296f27c8a9fb4cbd9368584ba187
jenkins-bot [Fri, 5 Jul 2019 15:40:45 +0000 (15:40 +0000)]
Merge "PopulateContentTables: compute sha1 and length if needed."
jenkins-bot [Fri, 5 Jul 2019 15:40:38 +0000 (15:40 +0000)]
Merge "Add "help" link to Special:Unblock"
jenkins-bot [Fri, 5 Jul 2019 15:02:57 +0000 (15:02 +0000)]
Merge "Follow-up
9c9cfa2ec3d7: fix non-session entry point error"
Thalia [Thu, 27 Jun 2019 18:24:52 +0000 (19:24 +0100)]
Bidi isolate user names in block error paramters
This fixes parameters returned by AbstractBlock::getBlockErrorParams,
but not those from ApiBlockInfoTrait.
Change-Id: I122017808766de1e9a9035f2f39a7b08607e56c1
daniel [Thu, 4 Jul 2019 11:54:20 +0000 (13:54 +0200)]
PopulateContentTables: compute sha1 and length if needed.
PopulateContentTables tries to copy rev_sha1 to content_sha1 and rev_len
to content_size, but when updating directly from on old version of
MediaWiki, these fields may be empty or NULL. To ensure that the content
table gets the correct value, we have to compute them on the fly.
Note that PopulateRevisionSha1 runs *after* the normal database updates.
So even though it was introduced in 1.19, it will run after the schema
updates for 1.32, which include PopulateContentTables. This means that
PopulateContentTables can't rely on rev_sha1 to have been filled in
already. But per I0c22286a16d7b, it also means that PopulateRevisionSha1
can make use of the hash in content_sha1 instead of re-calculating.
Bug: T217831
Bug: T200653
Change-Id: I69e91a812ad5f038562220b02c3634589667cdb6
daniel [Fri, 5 Jul 2019 13:20:02 +0000 (15:20 +0200)]
Tell users how they can force a maintenance script to run again.
Subclasses of LoggedUpdateMaintenance tell the user that "Update
'{$key}' already logged as completed". This adds "Use --force to
run it again."
Bug: T200653
Change-Id: I8cf3c5383c0fecdc92b58048138332855b5602a6
jenkins-bot [Fri, 5 Jul 2019 06:59:10 +0000 (06:59 +0000)]
Merge "Import the PSR logger classes in Message"