2 years agoMerge "Add schema version param for API export."
jenkins-bot [Fri, 28 Jun 2019 04:26:04 +0000 (04:26 +0000)]
Merge "Add schema version param for API export."

2 years agoMerge "Add support for xml dump schema 0.11"
jenkins-bot [Fri, 28 Jun 2019 04:23:58 +0000 (04:23 +0000)]
Merge "Add support for xml dump schema 0.11"

2 years agoMerge "Join slot and content tables when dumping XML"
jenkins-bot [Fri, 28 Jun 2019 04:20:16 +0000 (04:20 +0000)]
Merge "Join slot and content tables when dumping XML"

2 years agordbms: Add callback for atomic section cancellation
Brad Jorsch [Tue, 4 Jun 2019 18:43:18 +0000 (14:43 -0400)]
rdbms: Add callback for atomic section cancellation

The callback will be called immediately when the section is cancelled,
whether that occurs directly, or via cancelling of an outer section, or
via rollback of the entire transaction.

Change-Id: Id05296948b52b95544547bd38c4387496b6c83b9

2 years agoMerge "Tablesorter: Use localeCompare"
jenkins-bot [Fri, 28 Jun 2019 02:54:17 +0000 (02:54 +0000)]
Merge "Tablesorter: Use localeCompare"

2 years agoMerge "storage: rename various $wikiId fields/parameters to $dbDomain"
jenkins-bot [Fri, 28 Jun 2019 01:09:10 +0000 (01:09 +0000)]
Merge "storage: rename various $wikiId fields/parameters to $dbDomain"

2 years agoMerge "rdbms: make connection counting logic in LoadBalancer less stateful"
jenkins-bot [Fri, 28 Jun 2019 01:08:00 +0000 (01:08 +0000)]
Merge "rdbms: make connection counting logic in LoadBalancer less stateful"

2 years agostorage: rename various $wikiId fields/parameters to $dbDomain
Aaron Schulz [Thu, 27 Jun 2019 01:32:34 +0000 (18:32 -0700)]
storage: rename various $wikiId fields/parameters to $dbDomain

These fields are passed to methods like LoadBalancer::getConnection() and are
already expected to be DB domains. Update various comments as well.

Fix a few minor IDEA warnings.

Change-Id: If480cc4d7d4a3c2d176ab346e6307e80cd2540c5

2 years agoAdd schema version param for API export.
daniel [Mon, 17 Dec 2018 21:21:34 +0000 (22:21 +0100)]
Add schema version param for API export.

Bug: T174031
Change-Id: I991809acf08563ffb71305d1df682d9e45b34831

2 years agoAdd support for xml dump schema 0.11
daniel [Fri, 5 Oct 2018 08:36:37 +0000 (10:36 +0200)]
Add support for xml dump schema 0.11

Bug: T174031
Change-Id: I2717019ea7efe36694bd2b2fba4dc2952a987cfc

2 years agoMerge "MediaWiki\Block namespace minor tweaks"
jenkins-bot [Thu, 27 Jun 2019 21:17:38 +0000 (21:17 +0000)]
Merge "MediaWiki\Block namespace minor tweaks"

2 years agoMerge "Update OOUI to v0.33.0"
jenkins-bot [Thu, 27 Jun 2019 21:03:45 +0000 (21:03 +0000)]
Merge "Update OOUI to v0.33.0"

2 years agoMediaWiki\Block namespace minor tweaks
Max Semenik [Thu, 27 Jun 2019 20:42:54 +0000 (13:42 -0700)]
MediaWiki\Block namespace minor tweaks

* Visibility
* Parameter type hints and docs
* Minor doc fixes

Change-Id: I46d4b99e18cffdf8323fb01b7ed30f3eda2906d1

2 years agoJoin slot and content tables when dumping XML
daniel [Sun, 19 May 2019 08:48:10 +0000 (10:48 +0200)]
Join slot and content tables when dumping XML

This introduces a way to construct a RevisionRecord based on a
known set of SlotRecords. To allow this to be used consistently
with the legacy revision schema, some tweaks had to be made
to getSlotsQueryInfo().

Bug: T220493
Change-Id: I5ea972bb07ca1cfb3a2ad8ef120aef77e460745c

2 years agoMerge "Skin: Hard deprecate escapeSearchLink()"
jenkins-bot [Thu, 27 Jun 2019 19:28:37 +0000 (19:28 +0000)]
Merge "Skin: Hard deprecate escapeSearchLink()"

2 years agoMerge "rdbms: remove $opened field from Database for simplicity"
jenkins-bot [Thu, 27 Jun 2019 17:47:16 +0000 (17:47 +0000)]
Merge "rdbms: remove $opened field from Database for simplicity"

2 years agoMerge "OutputPage::addScriptFile: Drop silencing invalid paths, deprecated in 1.24"
jenkins-bot [Thu, 27 Jun 2019 17:47:08 +0000 (17:47 +0000)]
Merge "OutputPage::addScriptFile: Drop silencing invalid paths, deprecated in 1.24"

2 years agordbms: remove $opened field from Database for simplicity
Aaron Schulz [Thu, 13 Jun 2019 12:46:03 +0000 (13:46 +0100)]
rdbms: remove $opened field from Database for simplicity

This avoids having two similar fields that have to stay
in sync. Clean up the related error handling for connections.
If a connection handle is unusable, like when essential SET
queries fail, then destroy it.

* Avoid use of transactions in DatabasePostgres::determineCoreSchema.
* Make sure all subclasses log on connection failure.
* Add schema sanity checks to mysql/sqlite classes.
* Add IDatabase::QUERY_NO_RETRY flag to simplify reasoning about
  queries that already run on open() to begin with.
* Remove unused return value of Database::open.
* Remove deprecated Database::reportConnectionError method.

Change-Id: I97beba7ead1523085bda8784234d00c69ef1accc

2 years agoSkin: Hard deprecate escapeSearchLink()
Fomafix [Tue, 21 May 2019 08:18:25 +0000 (10:18 +0200)]
Skin: Hard deprecate escapeSearchLink()

Use getSearchLink() instead of escapeSearchLink() in SkinTemplate for
'searchaction'. The skins do the HTML escaping of 'searchaction'

Depends-On: I6493cec99e22f2c56a081f1fc4d96ebc584915de
Depends-On: I268b412d84ba73d6fdae633a343c45865cb8b07b
Change-Id: I32f51a048b7a95e3697eaf18f2bd2f9a3b96065f

2 years agoOutputPage::addScriptFile: Drop silencing invalid paths, deprecated in 1.24
James D. Forrester [Mon, 24 Jun 2019 23:16:58 +0000 (16:16 -0700)]
OutputPage::addScriptFile: Drop silencing invalid paths, deprecated in 1.24

Change-Id: Ia65c70366ab67324ef2a02f9b0e81a6fb7a081cb

2 years agoselenium: Skip flaky rollback test
Kosta Harlan [Thu, 27 Jun 2019 16:06:05 +0000 (12:06 -0400)]
selenium: Skip flaky rollback test

Bug: T219440
Change-Id: I2199b7e7d4f7ba98a80ddfc568cf9957eba36182

2 years agoDeprecate SearchResult::termMatches()
David Causse [Wed, 12 Jun 2019 09:02:10 +0000 (11:02 +0200)]
Deprecate SearchResult::termMatches()

And start indicating that hooks relying on this data might become
unreliable as this data is only populated by SearchDatabase search

This information was only populated by SearchDatabase implementations
and due to bad initial design of SearchResult[Set] (now fixed) it forced
users of these classes to carry this information for the sole purpose of
Because SearchEngine can now own their SearchResult[Set] implementations
nothing that is engine specific should be exposed outside of these
specific implementations.
If there are some logic that still requires access to such list of terms
they should be made engine specific by guarding their code against
instanceof SqlSearchResult.

Change-Id: I38b82c5e4c35309ee447edc3ded60ca6a18b247a
Depends-On: I53fe37c65c7940f696c1e184125e01e592a976e4

2 years agoMerge "Add new public method `addFields()` to HTMLForm"
jenkins-bot [Thu, 27 Jun 2019 14:36:57 +0000 (14:36 +0000)]
Merge "Add new public method `addFields()` to HTMLForm"

2 years agoMerge "search: refactor DatabaseSearch to take a load balancer instance"
jenkins-bot [Thu, 27 Jun 2019 08:05:48 +0000 (08:05 +0000)]
Merge "search: refactor DatabaseSearch to take a load balancer instance"

2 years agoMerge "resourceloader: Remove support for raw modules"
jenkins-bot [Thu, 27 Jun 2019 07:02:38 +0000 (07:02 +0000)]
Merge "resourceloader: Remove support for raw modules"

2 years agoUpdate OOUI to v0.33.0
James D. Forrester [Thu, 27 Jun 2019 04:01:43 +0000 (21:01 -0700)]
Update OOUI to v0.33.0

Release notes:

Bug: T218753
Bug: T218977
Bug: T224657
Bug: T224702
Bug: T224881
Bug: T225021
Bug: T225571
Bug: T225882
Bug: T226031
Bug: T226045
Bug: T226618
Depends-On: I396faea52625a294991f7a473043cb39ed98ca28
Depends-On: I38aa1ce529bed43175d2ecdcecd1c6a2a0ed603f
Change-Id: I396faea52625a294991f7a473043cb39ed98ca20

2 years agoMerge "Output more MW version info in update.php"
jenkins-bot [Thu, 27 Jun 2019 00:18:14 +0000 (00:18 +0000)]
Merge "Output more MW version info in update.php"

2 years agoresourceloader: Remove support for raw modules
Timo Tijhof [Thu, 13 Jun 2019 18:41:56 +0000 (19:41 +0100)]
resourceloader: Remove support for raw modules

Being a raw module means that when it is requested from load.php with
"only=scripts" set, then the output is *not* wrapped in an
'mw.loader.implement' closure *and* there no 'mw.loader.state()' appendix.
Instead, it is served "raw".

Before 2018, the modules 'mediawiki' and 'jquery' were raw modules.
They were needed before the client could define 'mw.loader.implement', and
could never be valid dependencies. Module 'mediawiki' merged to 'startup',
and 'jquery' became a regular module (T192623). Based on the architecture
of modules being deliverable bundles, it doesn't make sense for there to
ever be raw modules again. Anything that 'startup' needs should be bundled
with it. Anything else is a regular module.

On top of that, we never actually needed this feature because specifying
the 'only=scripts' and 'raw=1' parameters does the same thing.

The only special bit about marking modules (not requests) as "raw" was that
it allowed the client to forget to specify "raw=1" and the server would
automatically omit the 'mw.loader.state()' appendix based on whether the
module is marked as raw. As of Ie4564ec8e26ad53f2, the two remaining use
cases for raw responses now specify the 'raw=1' request parameter, and we
can get rid of the "raw module" feature and all the complexity around it.

== Startup module

In the startup module there was an interesting use of isRaw() that has
little to do with the above. The "ATTENTION" warning there applies to the
startup module only, not raw modules in general. This is now fixed by
explicitly checking for StartupModule.

Above that warning, it talked about saving bytes, which was an optimisation
given that "raw" modules don't communicate with mw.loader, they also don't
need to be registered there because even if mw.loader would try to load
them, the server would never inform mw.loader about the module having
arrived. There are now no longer any such modules.

Bug: T201483
Change-Id: I8839036e7b2b76919b6cd3aa42ccfde4d1247899

2 years agoMerge "ResponseFactory: support 302 redirects"
jenkins-bot [Thu, 27 Jun 2019 00:05:34 +0000 (00:05 +0000)]
Merge "ResponseFactory: support 302 redirects"

2 years agoMerge "resourceloader: Set the request base parameters on server-side"
jenkins-bot [Wed, 26 Jun 2019 23:00:05 +0000 (23:00 +0000)]
Merge "resourceloader: Set the request base parameters on server-side"

2 years agoresourceloader: Set the request base parameters on server-side
Fomafix [Mon, 24 Jun 2019 06:02:17 +0000 (08:02 +0200)]
resourceloader: Set the request base parameters on server-side

This change also removes the defaults from the URL parameter:
* lang=qqx
* skin=fallback
* debug=false

Bug: T225899
Change-Id: I4cbc42e39ebc56c3d29f773a275afe2b1a44c913

2 years agoMerge "Follow up to 'Remove support for the deprecated Key header'"
jenkins-bot [Wed, 26 Jun 2019 22:39:11 +0000 (22:39 +0000)]
Merge "Follow up to 'Remove support for the deprecated Key header'"

2 years agoAdd new public method `addFields()` to HTMLForm
Dayllan Maza [Tue, 25 Jun 2019 16:02:33 +0000 (12:02 -0400)]
Add new public method `addFields()` to HTMLForm

Once you instantiate an HTMLForm there was no clear way of adding
new fields except for hidden fields. This is particularly problematic
when the form is passed by reference in Hooks.

NOTE: this is just moving what was previously part of the constructor
into its own method + very small tweaks

Change-Id: I23f983417510841ce76cdefcb076e5ab97b43f10

2 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 26 Jun 2019 19:58:10 +0000 (21:58 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I46af949b153f80aad396460ca109252731f065a9

2 years agoOutput more MW version info in update.php
Reedy [Wed, 26 Jun 2019 14:18:21 +0000 (14:18 +0000)]
Output more MW version info in update.php

Bug: T226636
Change-Id: I0d5b7c3ff7d95fe759f16435da37092df14fd042

2 years agoResponseFactory: support 302 redirects
Gergő Tisza [Thu, 20 Jun 2019 15:17:37 +0000 (17:17 +0200)]
ResponseFactory: support 302 redirects

Needed to match existing Parsoid behavior.

Also fixes redirect factory methods mistaking claiming to support
relative URLs. Most clients accept a relative URL in the Location
header, but the spec requires an absolute one, so better say that.

Change-Id: I03f5e776f7629eff6440698655277d8cd01e4a15

2 years agoAdd Handler::getRouter()
Tim Starling [Sat, 22 Jun 2019 23:08:07 +0000 (16:08 -0700)]
Add Handler::getRouter()

Instead of providing the Router as a service, as previously proposed,
inject it into the handler via init().

Change-Id: I6008a2c5de692c0d56b7db849b28fd82e0196881

2 years agosearch: refactor DatabaseSearch to take a load balancer instance
Aaron Schulz [Thu, 11 Apr 2019 04:45:53 +0000 (21:45 -0700)]
search: refactor DatabaseSearch to take a load balancer instance

Also make the update() methods of the subclasses use DB_MASTER as they
should. This avoids read-only errors.

In addition, avoid passing a dummy argument of null in some cases
within SearchEngineFactory::create(). Fix some dynamic calls to
static methods too.

Change-Id: Id94f34994b0f9c18e23ef30cb2fe895e6dedd09c

2 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 25 Jun 2019 19:58:18 +0000 (21:58 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I85c06c37bff58190b9817e1a2c360ca5bf4edfa8

2 years agoFollowup I54b847192: BIDI isolate usernames in Special:Mute
Moriel Schottlender [Tue, 25 Jun 2019 17:36:17 +0000 (10:36 -0700)]
Followup I54b847192: BIDI isolate usernames in Special:Mute

Usernames can appear in any language in any wiki, so we need
to bidi-isolate them inside a sentence, so they're not broken.

Change-Id: Ic1402a1a5936edcb6e75b4a48d6bbecefad49f66

2 years agoMerge "Fix LocalFile::move"
jenkins-bot [Tue, 25 Jun 2019 17:20:06 +0000 (17:20 +0000)]
Merge "Fix LocalFile::move"

2 years agoMerge "Add Special:Mute as a shortcut for muting notifications"
jenkins-bot [Tue, 25 Jun 2019 17:15:39 +0000 (17:15 +0000)]
Merge "Add Special:Mute as a shortcut for muting notifications"

2 years agoFix LocalFile::move
Gergő Tisza [Tue, 25 Jun 2019 14:30:31 +0000 (16:30 +0200)]
Fix LocalFile::move

Fixes a wfFindFile/wfLocalFile mixup in I9437494d.

Also restore the original behavior in Linker::makeBrokenImageLinkObj
for paranoia - findFile has a local cache so calling it and then
discarding the results is not completely a noop.

Bug: T226448
Change-Id: Ibb9d6f6383eb96ba27e0edd60423552e5cea4688

2 years agoFix meta=languageinfo usage example
Lucas Werkmeister [Tue, 25 Jun 2019 08:43:51 +0000 (10:43 +0200)]
Fix meta=languageinfo usage example

This switched between the generic uselang and a module-specific lilang
parameter a bit during development, and apparently an incorrect version
ended up being merged.

Change-Id: I004be4be318785ee1f59d609d8506d96644bc89d

2 years agoAdd Special:Mute as a shortcut for muting notifications
Dayllan Maza [Tue, 7 May 2019 14:55:48 +0000 (10:55 -0400)]
Add Special:Mute as a shortcut for muting notifications

 - Special:Mute has been added as a quick way for users to block unwanted
   emails from other users originating from Special:EmailUser
 - Special:Mute can be enabled by setting $wgEnableSpecialMute = true.
   This flag default value is `false`. This flag is temporary until
   enough wikis have this feature enabled and then it will go away
 - When Special:Mute is enabled, emails sent from Special:EmailUser
   contain a link to Special:Mute to facilitate access to the page

In the future, Special:Mute will support extensions to append other types
of notifications that could be muted. These are some of the tasks tracking
the rest of the work:
- T218270
- T220163
- T218266

It is worth mentioning that blocking emails from users is already available
via Special:Preferences

Bug: T218265
Change-Id: I54b847192f42ee1f37999d36c3a187f8826f55a8

2 years agoMerge "Tolerate invalid titles in some ChangesFeed and LogFormatter code"
jenkins-bot [Mon, 24 Jun 2019 23:29:11 +0000 (23:29 +0000)]
Merge "Tolerate invalid titles in some ChangesFeed and LogFormatter code"

2 years agoMerge "Follow-up I3e114219: Don't tell people to use the deprecated replacement of...
jenkins-bot [Mon, 24 Jun 2019 23:27:44 +0000 (23:27 +0000)]
Merge "Follow-up I3e114219: Don't tell people to use the deprecated replacement of the deprecated removed code"

2 years agoMerge "Drop wfGetLBFactory, deprecated in 1.27"
jenkins-bot [Mon, 24 Jun 2019 23:20:17 +0000 (23:20 +0000)]
Merge "Drop wfGetLBFactory, deprecated in 1.27"

2 years agoMerge "Drop wfResetSessionID, deprecated in 1.27"
jenkins-bot [Mon, 24 Jun 2019 23:20:11 +0000 (23:20 +0000)]
Merge "Drop wfResetSessionID, deprecated in 1.27"

2 years agoTolerate invalid titles in some ChangesFeed and LogFormatter code
daniel [Mon, 3 Jun 2019 21:29:55 +0000 (23:29 +0200)]
Tolerate invalid titles in some ChangesFeed and LogFormatter code

Bug: T224811
Change-Id: If134e20cc14d80f9186611606df0b860889bd2cf

2 years agoMerge "Drop the UserLoadFromSession hook, deprecated in 1.27"
jenkins-bot [Mon, 24 Jun 2019 23:14:48 +0000 (23:14 +0000)]
Merge "Drop the UserLoadFromSession hook, deprecated in 1.27"

2 years agoMerge "SkinFactory: Drop getDefaultInstance(), deprecated in 1.27"
jenkins-bot [Mon, 24 Jun 2019 23:08:02 +0000 (23:08 +0000)]
Merge "SkinFactory: Drop getDefaultInstance(), deprecated in 1.27"

2 years agoMerge "Drop the UserRights hook, deprecated in 1.26"
jenkins-bot [Mon, 24 Jun 2019 23:06:05 +0000 (23:06 +0000)]
Merge "Drop the UserRights hook, deprecated in 1.26"

2 years agoMerge "PrefixSearch: Drop titleSearch(), deprecated in 1.23"
jenkins-bot [Mon, 24 Jun 2019 23:02:09 +0000 (23:02 +0000)]
Merge "PrefixSearch: Drop titleSearch(), deprecated in 1.23"

2 years agoMerge "Linker::link: Drop support for string query param, deprecated in 1.20"
jenkins-bot [Mon, 24 Jun 2019 22:49:46 +0000 (22:49 +0000)]
Merge "Linker::link: Drop support for string query param, deprecated in 1.20"

2 years agoFollow-up I3e114219: Don't tell people to use the deprecated replacement of the depre...
James D. Forrester [Mon, 24 Jun 2019 22:47:23 +0000 (15:47 -0700)]
Follow-up I3e114219: Don't tell people to use the deprecated replacement of the deprecated removed code

Change-Id: I496ba02f9fc4837f7c7246567d19107ee2baa53d

2 years agoDrop wfGetLBFactory, deprecated in 1.27
James D. Forrester [Fri, 21 Jun 2019 21:17:06 +0000 (14:17 -0700)]
Drop wfGetLBFactory, deprecated in 1.27

Change-Id: I53b5611edc9443f6a684192e5a03bb0100cb448d

2 years agoDrop wfResetSessionID, deprecated in 1.27
James D. Forrester [Fri, 21 Jun 2019 21:16:14 +0000 (14:16 -0700)]
Drop wfResetSessionID, deprecated in 1.27

Change-Id: I14a9c91a43504ee02aac809f5e1124e1cb958e19

2 years agoDrop the UserLoadFromSession hook, deprecated in 1.27
James D. Forrester [Fri, 21 Jun 2019 21:14:23 +0000 (14:14 -0700)]
Drop the UserLoadFromSession hook, deprecated in 1.27

Change-Id: Ic86d9ee1fe6763270e79e31296ecd027e5d41be2

2 years agoSkinFactory: Drop getDefaultInstance(), deprecated in 1.27
James D. Forrester [Fri, 21 Jun 2019 21:10:00 +0000 (14:10 -0700)]
SkinFactory: Drop getDefaultInstance(), deprecated in 1.27

Change-Id: I40313382c77a1521b80b70a55778db5da1a8a866

2 years agordbms: make connection counting logic in LoadBalancer less stateful
Aaron Schulz [Mon, 17 Jun 2019 14:15:12 +0000 (15:15 +0100)]
rdbms: make connection counting logic in LoadBalancer less stateful

Change-Id: I8428897fa5b6d09e5e3fb84b1adc6e55354eb44c

2 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 24 Jun 2019 19:54:41 +0000 (21:54 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I6d78ce99ea53dbbf8f43dc422ef8c0dc6a9f5d2a

2 years agoMerge "rdbms: Type IDatabase::buildLike param as variadic to Phan"
jenkins-bot [Mon, 24 Jun 2019 19:47:53 +0000 (19:47 +0000)]
Merge "rdbms: Type IDatabase::buildLike param as variadic to Phan"

2 years agoMerge "resourceloader: Add method ResourceLoaderModule::getVary"
Fomafix [Mon, 24 Jun 2019 18:38:35 +0000 (18:38 +0000)]
Merge "resourceloader: Add method ResourceLoaderModule::getVary"

2 years agoDrop the UserRights hook, deprecated in 1.26
James D. Forrester [Fri, 21 Jun 2019 21:07:43 +0000 (14:07 -0700)]
Drop the UserRights hook, deprecated in 1.26

Change-Id: Ib4dc6f495c0d1d2aa1f41c1f61e09437f33c9077

2 years agoPrefixSearch: Drop titleSearch(), deprecated in 1.23
James D. Forrester [Fri, 21 Jun 2019 20:59:02 +0000 (13:59 -0700)]
PrefixSearch: Drop titleSearch(), deprecated in 1.23

Change-Id: I3e11421953bfe63856e29b928727c8264275cd25

2 years agoLinker::link: Drop support for string query param, deprecated in 1.20
James D. Forrester [Fri, 21 Jun 2019 20:56:34 +0000 (13:56 -0700)]
Linker::link: Drop support for string query param, deprecated in 1.20

Change-Id: I910cead2c32a3525772ee0640c8ed3b90ad40a84

2 years agoMerge "Replace very trivial mock builders with createMock()"
jenkins-bot [Mon, 24 Jun 2019 17:15:17 +0000 (17:15 +0000)]
Merge "Replace very trivial mock builders with createMock()"

2 years agoMerge "resourceloader: Throw exception in ResourceLoaderImage::getPath"
jenkins-bot [Mon, 24 Jun 2019 17:14:04 +0000 (17:14 +0000)]
Merge "resourceloader: Throw exception in ResourceLoaderImage::getPath"

2 years agoMerge "Use IResultWrapper in code comments instead of ResultWrapper"
jenkins-bot [Mon, 24 Jun 2019 17:03:13 +0000 (17:03 +0000)]
Merge "Use IResultWrapper in code comments instead of ResultWrapper"

2 years agoMerge "rdbms: split out private LoadBalancer::getServerInfoStrict method"
jenkins-bot [Mon, 24 Jun 2019 17:03:05 +0000 (17:03 +0000)]
Merge "rdbms: split out private LoadBalancer::getServerInfoStrict method"

2 years agoresourceloader: Throw exception in ResourceLoaderImage::getPath
Fomafix [Sun, 16 Jun 2019 09:20:11 +0000 (11:20 +0200)]
resourceloader: Throw exception in ResourceLoaderImage::getPath

Throw an exception in ResourceLoaderImage::getPath when there is no
matching path instead of continue with null.

Change-Id: I677f4a53f4c90af27db0cc2fd8ef5f028fb49168

2 years agoresourceloader: Add method ResourceLoaderModule::getVary
Fomafix [Mon, 24 Jun 2019 14:47:23 +0000 (16:47 +0200)]
resourceloader: Add method ResourceLoaderModule::getVary

Change-Id: I79cd3ad7ad65533717bab52462ffaab5b2179789

2 years agoReplace very trivial mock builders with createMock()
Thiemo Kreuz [Wed, 5 Jun 2019 12:54:03 +0000 (14:54 +0200)]
Replace very trivial mock builders with createMock()

It does the exact same before and after. createMock() always disables
the default constructor.

Change-Id: I7b294cc3ee7f245f0aec55d12f1277fca5d39bce

2 years agordbms: Type IDatabase::buildLike param as variadic to Phan
Timo Tijhof [Fri, 21 Jun 2019 20:55:53 +0000 (21:55 +0100)]
rdbms: Type IDatabase::buildLike param as variadic to Phan

Follows-up 725a59f0c7.

* The real method in implementing classes is variadic.

* PHPUnit 6 on HHVM cannot create a mock for a class with a function
  that has a variadic parameter in its actual signature.
  See https://phabricator.wikimedia.org/T191668#5263929 for why.

  This is why the interface (which we use for mock creation)
  currently cannot use the variadic syntax in its signature.

* Documenting the interface as variadic while leaving the actual
  signature without it breaks stuff as well (PHPCS, Phan, ..).

* Documenting it as not variadic works for everyone, but makes
  Phan warn "PhanParamTooMany" at call sites when it is used
  as variadic (to be expected).

We can either try to disable this everywhere in repos that use
this method, but we have another option that might be cleaner.
We can document it as variadic in a way only Phan will consider
and consider only for its call-site analysis.

Hackadihack, Wickedidou, -- introducing `@phan-param`, per

Bug: T226223
Change-Id: I33c729506c271de0f051b77d5f6aafd7a8705745

2 years agoMerge "parser: inject the time for {{REVISIONTIMESTAMP}} on pre-save parse"
jenkins-bot [Sun, 23 Jun 2019 22:13:48 +0000 (22:13 +0000)]
Merge "parser: inject the time for {{REVISIONTIMESTAMP}} on pre-save parse"

2 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 23 Jun 2019 20:01:40 +0000 (22:01 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Iaaf41180bfc0a8931d4426d20fbe0c38641642e0

2 years agoMerge "API: Abstract out parameter validation"
jenkins-bot [Sun, 23 Jun 2019 09:09:52 +0000 (09:09 +0000)]
Merge "API: Abstract out parameter validation"

2 years agoAPI: Abstract out parameter validation
Brad Jorsch [Tue, 22 May 2018 23:23:20 +0000 (19:23 -0400)]
API: Abstract out parameter validation

With the introduction of a REST API into MediaWiki core, we're going to
want to share parameter validation logic rather than having similar code
in both the Action API and the REST API. This abstracts out parameter
validation logic as a library.

There will be at least two follow-up patches:
* One to add calls in the REST API, plus the interface for the REST API
  to do body validation. Should be reasonably straightforward.
* One to adjust the Action API to use this. That'll be much less
  straightforward, as the Action API needs some MediaWiki-specific types
  (which the REST API might use too in the future) and needs to override
  the defaults on some of the library's checks (to maintain back-compat).

Bug: T142080
Bug: T223239
Change-Id: I5c0cc3a8d686ace97596df5832c450a6a50f902c
Depends-On: Iea05dc439688871c574c639e617765ae88a75ff7

2 years agoMerge "Skin::outputPage: Drop support for specifying a context, deprecated in 1.20"
jenkins-bot [Sat, 22 Jun 2019 20:24:25 +0000 (20:24 +0000)]
Merge "Skin::outputPage: Drop support for specifying a context, deprecated in 1.20"

2 years agoSkip ::testT69870() under Windows system
RazeSoldier [Sat, 15 Jun 2019 06:35:18 +0000 (14:35 +0800)]
Skip ::testT69870() under Windows system

Anonymous pipe under Windows does not support asynchronous read and write[1],
and the default buffer is too small (~4K), the test will definitely block it.

Before T69870, anonymous pipe for Windows can no longer hold more than 4K of data.

[1] https://docs.microsoft.com/en-us/windows/desktop/ipc/anonymous-pipe-operations

Bug: T209159
Change-Id: Ie9de36b1e6b68db95c35a0044c5b0d86c0050d33

2 years agordbms: split out private LoadBalancer::getServerInfoStrict method
Aaron Schulz [Tue, 18 Jun 2019 22:54:36 +0000 (23:54 +0100)]
rdbms: split out private LoadBalancer::getServerInfoStrict method

Change-Id: I9f77a07c75696f4a8353872375a7306d7734625a

2 years agoUse IResultWrapper in code comments instead of ResultWrapper
Aaron Schulz [Thu, 20 Jun 2019 19:03:34 +0000 (20:03 +0100)]
Use IResultWrapper in code comments instead of ResultWrapper

Change-Id: Idb813c20bef0d41d0f9f01440daab4fee6cdb38d

2 years agordbms: rename safeWaitForMasterPos() to waitForMasterPos() in ILoadBalancer
Aaron Schulz [Wed, 19 Jun 2019 16:28:09 +0000 (17:28 +0100)]
rdbms: rename safeWaitForMasterPos() to waitForMasterPos() in ILoadBalancer

Change-Id: I2ad0c6f369ba992895a5306a57f1af16a772844c

2 years agoMerge "Revert "Fix testsuites for LogFormatter""
SBassett [Sat, 22 Jun 2019 12:26:41 +0000 (12:26 +0000)]
Merge "Revert "Fix testsuites for LogFormatter""

2 years agoRevert "Fix testsuites for LogFormatter"
SBassett [Sat, 22 Jun 2019 12:25:14 +0000 (12:25 +0000)]
Revert "Fix testsuites for LogFormatter"

This reverts commit d0c2da82616a280f51feafa015dd67608c13e29b.

Reason for revert: Original patch set appeared to work then began failing multiple CI builds post-merge.  Simply reverting for now due for T226293.

Big: T226293
Change-Id: I3e33300cecfe87926fcb8851689d67c3b1258b0f

2 years agoMerge "Remove support for calling OutputPage::wrapWikiMsg() with an options parameter"
Jforrester [Fri, 21 Jun 2019 22:11:42 +0000 (22:11 +0000)]
Merge "Remove support for calling OutputPage::wrapWikiMsg() with an options parameter"

2 years agoFix testsuites for LogFormatter
rxy [Fri, 31 May 2019 20:04:09 +0000 (20:04 +0000)]
Fix testsuites for LogFormatter

Change-Id: I064f563cb54a50c3292b1f9e24b0bb467f69af9b

2 years agoSkin::outputPage: Drop support for specifying a context, deprecated in 1.20
James D. Forrester [Fri, 21 Jun 2019 20:47:38 +0000 (13:47 -0700)]
Skin::outputPage: Drop support for specifying a context, deprecated in 1.20

Bug: T220656
Change-Id: Ie416c88874599dbb196fc0e5abac711345c155a0

2 years agoRemove support for calling OutputPage::wrapWikiMsg() with an options parameter
Reedy [Sat, 11 May 2019 15:25:26 +0000 (16:25 +0100)]
Remove support for calling OutputPage::wrapWikiMsg() with an options parameter

Bug: T220656
Change-Id: If9103eb702f3879172d6e860d974603b7b32d6f5

2 years agoMerge "rdbms: add replica server counting methods to ILoadBalancer"
jenkins-bot [Fri, 21 Jun 2019 20:23:21 +0000 (20:23 +0000)]
Merge "rdbms: add replica server counting methods to ILoadBalancer"

2 years agoMerge "Deprecate Sanitizer::setupAttributeWhitelist/attributeWhitelist"
jenkins-bot [Fri, 21 Jun 2019 16:12:05 +0000 (16:12 +0000)]
Merge "Deprecate Sanitizer::setupAttributeWhitelist/attributeWhitelist"

2 years agoFix excessive whitespace in BitmapMetadataHandlerTest.php
Reedy [Fri, 21 Jun 2019 08:26:36 +0000 (09:26 +0100)]
Fix excessive whitespace in BitmapMetadataHandlerTest.php

Change-Id: Ic801069c1a290626f863723409f156b071dec7f5
Follows-Up: I6705a8d46f53ef807edab10f8f0cb0eba6b560dc

2 years agoMerge "API: Update api-help-datatypes for Timestamp library changes"
jenkins-bot [Fri, 21 Jun 2019 06:07:33 +0000 (06:07 +0000)]
Merge "API: Update api-help-datatypes for Timestamp library changes"

2 years agoMerge "Update ObjectFactory and ConvertibleTimestamp"
jenkins-bot [Fri, 21 Jun 2019 06:06:56 +0000 (06:06 +0000)]
Merge "Update ObjectFactory and ConvertibleTimestamp"

2 years agoMerge "Some love to UserDupes"
jenkins-bot [Fri, 21 Jun 2019 01:26:15 +0000 (01:26 +0000)]
Merge "Some love to UserDupes"

2 years agoMerge "GlobalFunctions: Remove deprecated wfCountDown() function from core"
jenkins-bot [Thu, 20 Jun 2019 22:53:01 +0000 (22:53 +0000)]
Merge "GlobalFunctions: Remove deprecated wfCountDown() function from core"

2 years agoMerge "Update documentation in DefaultSettings to reflect new Preprocessor default"
jenkins-bot [Thu, 20 Jun 2019 22:39:16 +0000 (22:39 +0000)]
Merge "Update documentation in DefaultSettings to reflect new Preprocessor default"

2 years agoMerge "resourceloader: Remove my `@author` comments from unit tests"
jenkins-bot [Thu, 20 Jun 2019 22:28:10 +0000 (22:28 +0000)]
Merge "resourceloader: Remove my `@author` comments from unit tests"

2 years agoMerge "resourceloader: Remove 'Series60' from Grade C regex"
jenkins-bot [Thu, 20 Jun 2019 22:25:52 +0000 (22:25 +0000)]
Merge "resourceloader: Remove 'Series60' from Grade C regex"