jenkins-bot [Thu, 4 Jul 2019 19:40:39 +0000 (19:40 +0000)]
Merge "PreferencesFormOOUI: Avoid Phan warning with weird signature of TabPanelLayout"
jenkins-bot [Thu, 4 Jul 2019 19:25:12 +0000 (19:25 +0000)]
Merge "resourceloader: Set value for getStoreKey in server-side"
jenkins-bot [Thu, 4 Jul 2019 19:25:03 +0000 (19:25 +0000)]
Merge "resourceloader: Set value for getVary in server-side"
Timo Tijhof [Wed, 26 Jun 2019 23:20:33 +0000 (00:20 +0100)]
resourceloader: Only output ResourceLoaderDynamicStyles when needed
In mediawiki.js, this marker has always been optional, falling back to
appending to <head>. When no stylesheets need to be after the marker
(e.g. no site styles on the wiki, and user is not logged-in), then
there is no need for the marker to exist.
In a previous refactor, I was going to do this and created an
"$append" variable in the function to do what this commit does,
but I forgot to actually use it for anything.
Test Plan:
* Local wiki, with no MediaWiki:Common/{Skinname}.css pages existing.
* When logged-out, before this change, there is a marker, now there is not.
* When creating "MediaWiki:Group-user.css" and logging in, there is still
a marker, and it is still above the <link> for that user styles request
in the <head>.
Bug: T219342
Change-Id: I2e9657f318088860916823efeb96ae4f1532974c
DannyS712 [Thu, 4 Jul 2019 19:08:31 +0000 (19:08 +0000)]
Add "help" link to Special:Unblock
Bug: T227295
Change-Id: I53712b6f4fc071fecc413f41e8815b73417c205b
jenkins-bot [Thu, 4 Jul 2019 19:04:26 +0000 (19:04 +0000)]
Merge "Remove "successfully" from specialmute-success and add a link title"
Aaron Schulz [Thu, 4 Jul 2019 06:29:06 +0000 (23:29 -0700)]
rdbms: fix typo and clean up some cruft in MWLBFactory
Change-Id: Ib51dfee9ed06326a8b3acfed136e75b13fc4e234
Bartosz Dziewoński [Thu, 4 Jul 2019 17:38:58 +0000 (19:38 +0200)]
PreferencesFormOOUI: Avoid Phan warning with weird signature of TabPanelLayout
TabPanelLayout is documented to take two parameters, $name and $config.
The $name position parameter can also be passed as a named config option
in the $config array, but doing so confuses Phan, since there's no good
way to document it. Just don't do it.
Bug: T227144
Change-Id: Ifbd776844d722d58bf9f13cacc490407320731c6
Fomafix [Sat, 29 Jun 2019 07:47:57 +0000 (09:47 +0200)]
resourceloader: Set value for getStoreKey in server-side
This change reduces the size of the JavaScript resources.
Change-Id: I850249f910f6275c1b963dc5421ba706ed6e9a56
Fomafix [Fri, 28 Jun 2019 13:06:42 +0000 (15:06 +0200)]
resourceloader: Set value for getVary in server-side
This change makes ResourceLoaderStorageVersion a private variable.
The JavaScript global variable wgResourceLoaderStorageVersion is now
removed.
This change makes the JavaScript code smaller.
Change-Id: I8e31b95d4c44ba653bedb6be500011a39bc6abd8
Amir Aharoni [Tue, 2 Jul 2019 09:39:24 +0000 (12:39 +0300)]
Remove "successfully" from specialmute-success and add a link title
The word "successfully" is unnecessary, according to
https://www.mediawiki.org/wiki/Localisation#Avoid_jargon_and_slang
The link title will make the whole message more readable in English,
and easier to translate into all languages.
Change-Id: I840bd385f6918658b4a02df4c3ac0a60814abf5a
Timo Tijhof [Thu, 4 Jul 2019 16:29:29 +0000 (17:29 +0100)]
resourceloader: Remove 'mw.legacy' placeholder object
This was very briefly used during the development cycle of
MediaWiki 1.16 in 2010. The idea was to port some pre-RL legacy
modules from global variables to mw.legacy.* (such as sajax,
wikibits and other such 'mediawiki.legacy.*' modules),
with a back-compat deprecate-warning alias from their old global
names to the mw.legacy.* namespace.
This was abandoned prior to stable release and never used again,
and properly deprecated after years of no use in MediaWiki 1.22.
Remove this now, finally.
Change-Id: I9ef0984da7a07d4778fbeb71f3d4a7ebba97f29f
Aaron Schulz [Sat, 29 Jun 2019 08:36:01 +0000 (01:36 -0700)]
objectcache: optimize lock() and unlock() methods in SqlBagOStuff
Also clean up base method in BagOStuff.
Bug: T113916
Change-Id: I3a1c6afe531a8eae34608bc7fe0aa6f9f4d439fe
jenkins-bot [Thu, 4 Jul 2019 13:58:54 +0000 (13:58 +0000)]
Merge "Rename various $wikiId fields/parameters to $dbDomain in user classes"
jenkins-bot [Thu, 4 Jul 2019 13:58:16 +0000 (13:58 +0000)]
Merge "rdbms: make implement IResultWrapper directly instead of via inheritence"
Aaron Schulz [Thu, 20 Jun 2019 22:17:22 +0000 (23:17 +0100)]
rdbms: make implement IResultWrapper directly instead of via inheritence
Change-Id: If1b15c0c21d0ee336025fb99f47fc19ddf1d5435
Aaron Schulz [Sat, 8 Jun 2019 06:32:27 +0000 (07:32 +0100)]
rdbms: make temp table tracking in Database more robust
Do not register table changes until query success
Change-Id: I8c0eeb510d15e2f4cc014f62b7a0f146e31b6613
Bill Pirkle [Thu, 13 Jun 2019 03:39:43 +0000 (22:39 -0500)]
Update populateRevisionSha1.php for MCR schema changes
Maintenance script populateRevisionSha1.php was using the deprecated
Revision class. Instead, use the new RevisionRecord class if
possible, and custom code otherwise.
Bug: T217829
Change-Id: I0c22286a16d7b243306447d8948428702269a4bd
daniel [Thu, 4 Jul 2019 08:52:55 +0000 (10:52 +0200)]
SlotRecord:compute sha1 if empty.
The SHA1 should be computed automatically if empty, not just if it is
missing entirely. This is needed since rev_sha1 may contain an empty
string for old revisions.
Bug: T200653
Bug: T219816
Change-Id: Ia6870a828bc9661fb05085e36315a86483ec48c4
Matěj Suchánek [Thu, 4 Jul 2019 08:02:28 +0000 (10:02 +0200)]
Don't process "all" option in Html::namespaceSelectorOptions
The value of "all" can be completely arbitrary and in practice
it's usually an empty string. Avoid attempting to filter it out
and format anyhow.
Bug: T227202
Change-Id: I371466407bd038914faa4dc3b0cae9547cf427eb
Aaron Schulz [Thu, 4 Jul 2019 06:39:30 +0000 (23:39 -0700)]
rdbms: optimize DatabaseDomain::newFromId() to remember the string form
Change-Id: I9505a17e25589a77b898d300ad318c92ccc6a94b
Roan Kattouw [Thu, 4 Jul 2019 00:28:07 +0000 (17:28 -0700)]
Follow-up
9c9cfa2ec3d7: fix non-session entry point error
Even though we shouldn't really need to, we have to set the language on
the RawMessage we generate when the tag message doesn't exist. Because
both MessageLocalizer and RawMessage are kind of hacky and not fully
supported, I had to hack around the various gaps in our infrastructure.
See my comment on the task for details.
Bug: T227233
Change-Id: I5ab3e9b1e8d34b1af531dba33b2f92fcd7f12192
jenkins-bot [Wed, 3 Jul 2019 22:28:52 +0000 (22:28 +0000)]
Merge "Remove JavaScript global variable wgLoadScript"
jenkins-bot [Wed, 3 Jul 2019 22:28:44 +0000 (22:28 +0000)]
Merge "Update OOUI to v0.33.1"
jenkins-bot [Wed, 3 Jul 2019 21:58:35 +0000 (21:58 +0000)]
Merge "rcfilters: Simplify FormWrapperWidget submit code by reducing jQuery use"
James D. Forrester [Wed, 3 Jul 2019 21:12:48 +0000 (14:12 -0700)]
Update OOUI to v0.33.1
Release notes:
https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v0.33.1
Bug: T226819
Bug: T226822
Depends-On: Ibff36df9866dd0c8c6fbd2ca4ce0decc633976b0
Change-Id: Ibff36df9866dd0c8c6fbd2ca4ce0decc633976ba
Umherirrender [Wed, 3 Jul 2019 20:11:51 +0000 (22:11 +0200)]
Fix type hints in objectcache related classes
handleException is only used for RedisException
doWrite is also used with single array
Change-Id: I3010457ce2f143f41c4748ec957dfc3333af9761
Translation updater bot [Wed, 3 Jul 2019 20:06:00 +0000 (22:06 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I2186b60bd72677933ee92b1b6f60a75d0adfbb5d
jenkins-bot [Wed, 3 Jul 2019 19:42:13 +0000 (19:42 +0000)]
Merge "mediawiki.action.edit.preview: Use CSS instead of jQuery for animation"
jenkins-bot [Wed, 3 Jul 2019 18:49:45 +0000 (18:49 +0000)]
Merge "LogFormatter::formatParameterValue: handle bad user names"
Fomafix [Wed, 3 Jul 2019 16:02:35 +0000 (18:02 +0200)]
mediawiki.action.edit.preview: Use CSS instead of jQuery for animation
Change-Id: I9f79ddf2cf4548dbf8b8553da030d6da4772187e
jenkins-bot [Wed, 3 Jul 2019 16:55:34 +0000 (16:55 +0000)]
Merge "Ensure canHaveTalkPage returns false when getTalkPage would fail."
daniel [Wed, 3 Jul 2019 16:49:58 +0000 (18:49 +0200)]
LogFormatter::formatParameterValue: handle bad user names
This makes LogFormatter more robust against bad user names coming from
broken log records.
Bug: T224368
Change-Id: Ifce9e86bddba274182253cd25338766e8093d6ad
jenkins-bot [Wed, 3 Jul 2019 15:57:29 +0000 (15:57 +0000)]
Merge "Revert "rdbms: codify DatabaseDomain table "_" prefix convention""
jenkins-bot [Wed, 3 Jul 2019 15:22:12 +0000 (15:22 +0000)]
Merge "Improve documentation of getJoin() methods for static analysis"
jenkins-bot [Wed, 3 Jul 2019 14:49:05 +0000 (14:49 +0000)]
Merge "Fix API message maps for block errors"
Gergő Tisza [Wed, 3 Jul 2019 11:26:02 +0000 (11:26 +0000)]
Revert "rdbms: codify DatabaseDomain table "_" prefix convention"
This partially reverts commit
c4e284f1130cdc2a4811120594bdb8013d17eaaa
(adding _ to prefixes in tests and readbility / code style fixes are preserved).
It broke all installations which used a table prefix not ending in underscore.
Bug: T227147
Change-Id: I99fc0a2f0fc7b5b321d75fd885763688f92f6d04
Gergő Tisza [Wed, 3 Jul 2019 13:45:01 +0000 (15:45 +0200)]
Improve documentation of getJoin() methods for static analysis
Change-Id: I3943b4b4a630777d06d1689714d8f36c4430cd24
jenkins-bot [Wed, 3 Jul 2019 12:35:00 +0000 (12:35 +0000)]
Merge "Assert that LocalSettings file exists"
Aaron Schulz [Fri, 28 Jun 2019 02:59:04 +0000 (19:59 -0700)]
rdbms: make DatabaseSqlite try harder to make named locks work
Also make unlock() calls to non-existing locks return false
Change-Id: I9f0cd63e85392d1fab1868638896492bbd8e6531
Ariel T. Glenn [Wed, 3 Jul 2019 08:44:33 +0000 (11:44 +0300)]
Restore previous export behavior with respect to empty comment text
Bug: T174031
Change-Id: I0df1be8cb832e94ecda3db57b5fee5922a866aea
daniel [Mon, 3 Jun 2019 22:56:22 +0000 (00:56 +0200)]
Ensure canHaveTalkPage returns false when getTalkPage would fail.
This causes Title::getTalkPage and NamespaceInfo::getTitle() to throw
an MWException when called on a LinkTarget that is an interwiki link
or a relative section link. These methods were already throwing
MWException when called on a link to a Special page.
Bug: T224814
Change-Id: I525c186a5b8b8fc22bca195da48afead3bfbd402
Thalia [Wed, 3 Jul 2019 06:47:01 +0000 (07:47 +0100)]
Fix API message maps for block errors
* Add composite block error message key to ApiBase
* Fix partial block error message key to point to partial block API
error message key
* Add partial and composite block message keys to ApiMessageTrait
Bug: T227167
Bug: T227168
Change-Id: I5c354d2f038c5b02837268584eb43750a9ebb712
Fomafix [Tue, 2 Jul 2019 17:06:49 +0000 (19:06 +0200)]
Remove JavaScript global variable wgLoadScript
Use
mw.util.wikiScript( 'load' )
instead of
mw.config.get( 'wgLoadScript' )
The module 'mediawiki.util' now gets the value from a private config
variable.
Change-Id: Iae4f4754f40999ba9d7c7161e9a37820c4b5931c
jenkins-bot [Wed, 3 Jul 2019 02:29:54 +0000 (02:29 +0000)]
Merge "Add @var annotations to XmlTypeCheck class"
jenkins-bot [Tue, 2 Jul 2019 22:22:22 +0000 (22:22 +0000)]
Merge "lockmanager: make NullLockManager do reference counting for consistency"
jenkins-bot [Tue, 2 Jul 2019 22:20:39 +0000 (22:20 +0000)]
Merge "lockmanager: disable internal QuorumLockManager methods that should never be reached"
jenkins-bot [Tue, 2 Jul 2019 22:20:01 +0000 (22:20 +0000)]
Merge "filebackend: remove wfTimestamp() dependency from FileJournal"
jenkins-bot [Tue, 2 Jul 2019 22:17:53 +0000 (22:17 +0000)]
Merge "filerepo: remove pointless "foreign" flag in ForeignDBRepo::getMasterDB()"
Aaron Schulz [Fri, 28 Jun 2019 23:56:16 +0000 (16:56 -0700)]
lockmanager: make NullLockManager do reference counting for consistency
Change-Id: I9ebdad0544ffcf87e671f4aca81a91e377c2c7ed
jenkins-bot [Tue, 2 Jul 2019 21:57:10 +0000 (21:57 +0000)]
Merge "Make UserEditCountUpdate::doUpdate avoid comparing IDatabase instances"
jenkins-bot [Tue, 2 Jul 2019 21:57:04 +0000 (21:57 +0000)]
Merge "rdbms: add SHOW to isTransactableQuery() and add QUERY_IGNORE_DBO_TRX uses"
Aaron Schulz [Sat, 29 Jun 2019 02:11:43 +0000 (19:11 -0700)]
Make UserEditCountUpdate::doUpdate avoid comparing IDatabase instances
Also make User::initEditCountInternal take the specific DB handle that
was waited on for replication. This shouldn't make a difference but makes
things more explicit.
Change-Id: Ibb8e083406eb4f4453afce94a2b33450239fce94
jenkins-bot [Tue, 2 Jul 2019 21:35:21 +0000 (21:35 +0000)]
Merge "rdbms: fix comment for Database::runOnAtomicSectionCancelCallbacks()"
jenkins-bot [Tue, 2 Jul 2019 21:05:53 +0000 (21:05 +0000)]
Merge "tests: Use a fancy generator provider in ReleaseNotesTest"
Translation updater bot [Tue, 2 Jul 2019 20:00:50 +0000 (22:00 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I2bd83f45ca37191f255513b0def3a65dbdf08bc3
jenkins-bot [Tue, 2 Jul 2019 19:41:49 +0000 (19:41 +0000)]
Merge "LanguageConverter performance: Reuse the same string object for regexp"
Timo Tijhof [Tue, 2 Jul 2019 19:00:15 +0000 (20:00 +0100)]
rcfilters: Simplify FormWrapperWidget submit code by reducing jQuery use
None of this really benefits from the indirection of jQuery objects,
CSS selector matching, property accessors.
Somewhat follows
fa261ed50f3a8c6e.
Change-Id: I22ea5216324c6bc9221ce77006430290c79d454f
jenkins-bot [Tue, 2 Jul 2019 19:20:32 +0000 (19:20 +0000)]
Merge "Improve LanguageConverter performance on pages with many HTML tags"
jenkins-bot [Tue, 2 Jul 2019 19:19:46 +0000 (19:19 +0000)]
Merge "objectcache: Hard deprecate ObjectCache::getMainStashInstance()"
jenkins-bot [Tue, 2 Jul 2019 19:01:28 +0000 (19:01 +0000)]
Merge "when getting file (img) properties, suppress whines that it's not xml"
Timo Tijhof [Tue, 2 Jul 2019 18:48:20 +0000 (19:48 +0100)]
tests: Use a fancy generator provider in ReleaseNotesTest
Follows-up
ffc23ee333fffb.
Change-Id: I99bf0d7115f6d2a84eb499d104d9cd227331c20f
jenkins-bot [Tue, 2 Jul 2019 18:47:38 +0000 (18:47 +0000)]
Merge "Move trivial unit tests, round II"
C. Scott Ananian [Tue, 2 Jul 2019 18:04:39 +0000 (14:04 -0400)]
LanguageConverter performance: Reuse the same string object for regexp
The regular expression used by LanguageConverter::autoConvert() is a
constant, but it is being created on-the-fly by every invocation.
This causes an expensive full-string comparison when the compiled
regular expression is fetched from the cache -- since the regex is 332
bytes long, the time taken for this comparison can add up quickly: on
page with a lot of tags, the regexp cache may spend more time looking
up the regexp than it takes to execute it.
Bug: T223969
Change-Id: I53c3e631e47a791cf3f0844dd79d4357605c59e3
C. Scott Ananian [Tue, 2 Jul 2019 18:02:33 +0000 (14:02 -0400)]
Improve LanguageConverter performance on pages with many HTML tags
We were concatenating a single character to the end of the wikitext
source (which copies the entire string) every time through an inner
loop; when the page was large and the loop count was large this took
an excessive amount of time.
Bug: T223969
Change-Id: Ib80306b0bc6c73b750d492764f0e2dfd3a7a5450
jenkins-bot [Tue, 2 Jul 2019 17:55:15 +0000 (17:55 +0000)]
Merge "test: refactor/speed up release note file test"
Amir Sarabadani [Tue, 2 Jul 2019 17:04:44 +0000 (19:04 +0200)]
Move trivial unit tests, round II
Change-Id: I18e5a1514d7372b34f7fb460adf506a1ac65001f
Derick Alangi [Tue, 2 Jul 2019 16:58:13 +0000 (17:58 +0100)]
objectcache: Hard deprecate ObjectCache::getMainStashInstance()
This method was soft deprecated in 1.28 and usage is no longer in core
except for FlaggedRevs ext (here in removed in patch I3ada0b53e8b2a6f118f).
Usage
=====
https://codesearch.wmflabs.org/search/?q=getMainStashInstance&i=nope&files=&repos=
Depends-On: I3ada0b53e8b2a6f118fae37e7fc644b187bf95f8
Change-Id: I3f06b3732f67b703cdc12ec5849b67067475cdda
jenkins-bot [Tue, 2 Jul 2019 16:46:07 +0000 (16:46 +0000)]
Merge "Move MultiHttpClient.php to libs/http"
jenkins-bot [Tue, 2 Jul 2019 16:45:23 +0000 (16:45 +0000)]
Merge "s/Import Images/Importing Files/ in importImages.php"
jenkins-bot [Tue, 2 Jul 2019 16:38:43 +0000 (16:38 +0000)]
Merge "Add 1.33.0 to HISTORY"
jenkins-bot [Tue, 2 Jul 2019 16:37:06 +0000 (16:37 +0000)]
Merge "Add 1.31.3/1.32.3 to HISTORY"
jenkins-bot [Tue, 2 Jul 2019 16:23:36 +0000 (16:23 +0000)]
Merge "API: Removed unused local variable `$p` from ApiQueryDeletedrevs"
Kosta Harlan [Mon, 1 Jul 2019 20:31:48 +0000 (16:31 -0400)]
Assert that LocalSettings file exists
This time, use $IP to get correct path to LocalSettings so that tests can be run
from outside MediaWiki root.
Change-Id: I0dd3dd281cff67b0d8acdc09b97328c44eca2bb6
Follows-Up: Ia36d22217f94e019bb5945705243bd0daace72e0
Bug: T226977
Derick Alangi [Tue, 2 Jul 2019 13:28:52 +0000 (14:28 +0100)]
API: Removed unused local variable `$p` from ApiQueryDeletedrevs
This local var was introduced in
fdddf94 and usage of it removed in
4e6810e. This is no longer used so cleaned up.
Change-Id: I2acf28b3a027284adbda70f50bee3c4a6b4a68b2
Reedy [Tue, 2 Jul 2019 14:43:53 +0000 (15:43 +0100)]
Add 1.33.0 to HISTORY
Change-Id: I11cfe407745ef7a3f2b48dc78f62cd1657290522
Reedy [Tue, 2 Jul 2019 14:41:23 +0000 (15:41 +0100)]
Add 1.31.3/1.32.3 to HISTORY
Change-Id: Ie7ae1bda5ffc910954852eb412ed30cb56810cb5
Timo Tijhof [Fri, 14 Jun 2019 17:30:28 +0000 (18:30 +0100)]
specials: Combine small miscellaneous 'mediawiki.special.*' modules
The format for this would be cleaner if T225842 were solved.
Bug: T193826
Bug: T219342
Change-Id: I9aaa52b567db254e1e79649b3b99260214da74b3
Antoine Musso [Tue, 2 Jul 2019 10:07:50 +0000 (12:07 +0200)]
test: refactor/speed up release note file test
The test ReleaseNotesTest:testReleaseNotesFilesExistAndAreNotMalformed
takes 4 seconds on my machine. That is due to assertLessThanOrEqual
being invoked for each lines of various files at the root of the
repository. HISTORY has more than 20000 lines and assert functions are
rather slow.
Refactor the test:
* extract the logic to verify the file length of various files to a
standalone test and with a dataprovider.
* flip the boolean logic ensuring whether the file exists. When it does
not, PHP emit a warning which breaks the test anyway.
* Check the line lenght and collect errors in an array, then for each
file run a single assertion to ensure the array of errors is empty.
That effectively get rid of assertLessThanOrEqual overhead.
* Use assertSame() to show the full faulty line. assertEqual() shorten
the arrays content.
Running tests went from 4 seconds to 700 ms on my machine.
Bug: T227067
Change-Id: I9bbbc6647ba9732b462e331e4b6d4acffe35e7cd
WMDE-Fisch [Tue, 2 Jul 2019 10:11:09 +0000 (12:11 +0200)]
Type hint using interface
Fixes phan errors in FileImporter
Change-Id: I4ea2d081062f5f509040c73ff5f59ee5ffd700ad
Aaron Schulz [Tue, 2 Jul 2019 07:33:27 +0000 (00:33 -0700)]
rdbms: fix comment for Database::runOnAtomicSectionCancelCallbacks()
Change-Id: I9ab830be69fdaa46629edb4d96c29aa99005f92f
Ariel T. Glenn [Thu, 13 Jun 2019 14:18:58 +0000 (17:18 +0300)]
when getting file (img) properties, suppress whines that it's not xml
Imports eventually succeed but the log fills up with stack traces
needlessly.
Bug: T206013
Change-Id: Icb004954272ea8fc6fbc4fd5090cd1310d66946c
jenkins-bot [Tue, 2 Jul 2019 01:08:10 +0000 (01:08 +0000)]
Merge "Type hint against interface for LoadBalancer in MediaWikiServices"
jenkins-bot [Mon, 1 Jul 2019 23:25:12 +0000 (23:25 +0000)]
Merge "Unit tests: Support unit tests in extensions and skins"
jenkins-bot [Mon, 1 Jul 2019 23:06:57 +0000 (23:06 +0000)]
Merge "Remove group validator from UnitTestCase"
jenkins-bot [Mon, 1 Jul 2019 21:42:10 +0000 (21:42 +0000)]
Merge "GlobalFunctions: Tighten version number type for wfDeprecated()"
jenkins-bot [Mon, 1 Jul 2019 21:34:31 +0000 (21:34 +0000)]
Merge "ApiBase: Drop get(Examples|(Param)?Description(Message)?)\(\), deprecated since 1.25 and 1.30"
Derick Alangi [Wed, 15 May 2019 14:24:46 +0000 (15:24 +0100)]
GlobalFunctions: Tighten version number type for wfDeprecated()
To avoid cases like:
facddc4 and Ifaf6ab0d36bc02bd170, make sure the
value of the mediawiki version must be a string (e.g. '1.33') or a
boolean (e.g. `false`).
For some reason, typos can slip through for this value to be a float.
Let's safe guard for future cases like this.
Change-Id: I52bdf94c957bda67548a937d51649e925195f926
James D. Forrester [Mon, 24 Jun 2019 23:43:59 +0000 (16:43 -0700)]
ApiBase: Drop get(Examples|(Param)?Description(Message)?)\(\), deprecated since 1.25 and 1.30
Change-Id: Ie62436692f39825237d36002aa01bedf1caa1fa3
jenkins-bot [Mon, 1 Jul 2019 21:02:45 +0000 (21:02 +0000)]
Merge "Title: ensure getBaseTitle and getRootTitle return valid Titles"
Reedy [Mon, 1 Jul 2019 20:47:57 +0000 (21:47 +0100)]
Move MultiHttpClient.php to libs/http
Change-Id: I199e615fad363b1439604c9d01a9a475856d6128
jenkins-bot [Mon, 1 Jul 2019 20:27:28 +0000 (20:27 +0000)]
Merge "Pass column as string to IDatabase::selectField"
daniel [Fri, 14 Jun 2019 09:01:22 +0000 (11:01 +0200)]
Title: ensure getBaseTitle and getRootTitle return valid Titles
Since getBaseText() and getRootText() may return text with trailing
whitespace, getBaseTitle and getRootTitle must use makeTitleSafe instead
of makeTitle.
Bug: T225585
Change-Id: Id92df552f05e6a9ed7c9259a8779fa94c3587a3e
Kosta Harlan [Mon, 1 Jul 2019 19:33:54 +0000 (15:33 -0400)]
Unit tests: Support unit tests in extensions and skins
For now only extensions with skin/extension.json which follow PSR-4 are
supported.
DefaultSettings is loaded in bootstrap to work around errors when unit tests are
run followed by integration tests (e.g. `vendor/bin/phpunit`)
Usage:
- composer phpunit:unit will run all unit tests in core and any tests in
`{extensions/skins}/tests/phpunit/unit` which also extend
MediaWikiUnitTestCase, and which have an extension.json file
- Pass a specific directory to only run unit tests for a particular extension,
e.g. `composer phpunit:unit -- extensions/GrowthExperiments`
Bug: T226911
Change-Id: I237a9f82e4d1b05cf2f08b3e4bb7ffcd8d47111c
Translation updater bot [Mon, 1 Jul 2019 19:58:20 +0000 (21:58 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I4c609d902775f74131d2dc16ac0aef3bc418c140
jenkins-bot [Mon, 1 Jul 2019 19:52:30 +0000 (19:52 +0000)]
Merge "RCFilters: Reduce startup overhead from 'config.json' computation"
RazeSoldier [Sun, 30 Jun 2019 18:56:29 +0000 (02:56 +0800)]
Drop APIEditBeforeSave hook
Removed the source code and the test code.
Bug: T220656
Change-Id: I3674da6d9c33c08ec2f1774cb793b3a952480571
jenkins-bot [Mon, 1 Jul 2019 18:40:36 +0000 (18:40 +0000)]
Merge "htmlform: Reveal method getOOUI() is called from when spitting deprecation notice"
Kosta Harlan [Mon, 1 Jul 2019 15:42:21 +0000 (11:42 -0400)]
Remove group validator from UnitTestCase
Whether a unit test has `@group Database` is irrelevant, since it will simply
not work if it relies on database access.
Change-Id: Ibe01d4912160ae44ca86ef6f7c3946501a8c067e
Amir Sarabadani [Mon, 1 Jul 2019 15:15:35 +0000 (17:15 +0200)]
Drop the check for existences of LocalSettings.php in MediaWikiIntegrationTestCase
This is not needed and we should let testers run integration tests without
the need to define LocalSettings.php
This reverts small part of Ie717b0ecf4fcfd089d46248f14853c80b7ef4a76
Bug: T226977
Change-Id: Ia36d22217f94e019bb5945705243bd0daace72e0