lhc/web/wiklou.git
4 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
engines.

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
highlighting.
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

4 years agomakeCollapsible: Avoid Sizzle selectors
Ed Sanders [Thu, 27 Jun 2019 15:37:12 +0000 (16:37 +0100)]
makeCollapsible: Avoid Sizzle selectors

Change-Id: I1a36e66fd18249b064ebb66fa558743c162e0ec8

4 years agoTOC: Avoid Sizzle selectors
Ed Sanders [Thu, 27 Jun 2019 15:35:37 +0000 (16:35 +0100)]
TOC: Avoid Sizzle selectors

Change-Id: I06486234dd42260e696250a702f406eb043d159e

4 years agoTableSorter: Avoid Sizzle selectors
Ed Sanders [Thu, 27 Jun 2019 15:34:36 +0000 (16:34 +0100)]
TableSorter: Avoid Sizzle selectors

Change-Id: I7637395afcc7bee3a81f959569ee32ab5b83040c

4 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"

4 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"

4 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"

4 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:
 https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v0.33.0

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

4 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"

4 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

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

4 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"

4 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

4 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'"

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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

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

4 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"

4 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

4 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

4 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

4 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"

4 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"

4 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"

4 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"

4 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

4 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"

4 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"

4 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"

4 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"

4 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"

4 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

4 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

4 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

4 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

4 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

4 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

4 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

4 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"

4 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"

4 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

4 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

4 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

4 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()"

4 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"

4 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"

4 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"

4 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

4 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

4 years agoRest API: urldecode path parameters
Gergő Tisza [Mon, 24 Jun 2019 11:14:46 +0000 (13:14 +0200)]
Rest API: urldecode path parameters

Change-Id: I4df4ec11820fa4009a0a2d1790c1d7792e946434

4 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

4 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
<https://github.com/phan/phan/wiki/Annotating-Your-Source-Code>.

Bug: T226223
Change-Id: I33c729506c271de0f051b77d5f6aafd7a8705745

4 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"

4 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

4 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"

4 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

4 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"

4 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

4 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

4 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

4 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

4 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""

4 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

4 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"

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

Change-Id: I064f563cb54a50c3292b1f9e24b0bb467f69af9b

4 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

4 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

4 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"

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

4 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

4 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"

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

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

4 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"

4 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"

4 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"

4 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"

4 years agoGlobalFunctions: Remove deprecated wfCountDown() function from core
Derick Alangi [Thu, 20 Jun 2019 21:49:04 +0000 (22:49 +0100)]
GlobalFunctions: Remove deprecated wfCountDown() function from core

The global function `wfCountDown()` was deprecated in 1.31 and a replacement
made available (\Maintenance::countdown()) in 1.31 as well. Currently, the few
usage in BSF have been cleaned up, hence can be removed.

Usage
=====

https://codesearch.wmflabs.org/search/?q=wfCountDown&i=nope&files=&repos=

Depends-On: Iae61d36899036ecdc0341feb3f1bcaa6b38dbf44
Depends-On: Id202148c6a6ceaadcefcf7a4ab8360edd9fe3b0b
Bug: T220656
Change-Id: Ic7460f1d35cb6f2eb8bf60694cdd4c55b2e001c0

4 years agoMerge "Filter out duplicate autoblocks when checking for blocks"
jenkins-bot [Thu, 20 Jun 2019 21:41:45 +0000 (21:41 +0000)]
Merge "Filter out duplicate autoblocks when checking for blocks"

4 years agoFilter out duplicate autoblocks when checking for blocks
Thalia [Thu, 20 Jun 2019 10:29:01 +0000 (11:29 +0100)]
Filter out duplicate autoblocks when checking for blocks

Follow-up to I7654907.

Bug: T225919
Change-Id: I67e72d6c88e3cbfd9515a016b2782d1d9b123775

4 years agoRemove global function wfBCP47, deprecated in 1.31
C. Scott Ananian [Wed, 19 Jun 2019 19:00:09 +0000 (15:00 -0400)]
Remove global function wfBCP47, deprecated in 1.31

Change-Id: I8b9956bec18cc7bbc9aafeec124e6c1fef262dc6

4 years agoMerge "languages: Use "your" instead of "my" in the updatedmarker value"
jenkins-bot [Thu, 20 Jun 2019 20:38:38 +0000 (20:38 +0000)]
Merge "languages: Use "your" instead of "my" in the updatedmarker value"

4 years agoMerge "config: ServiceOptions O(1) assert time in the common case"
jenkins-bot [Thu, 20 Jun 2019 19:53:20 +0000 (19:53 +0000)]
Merge "config: ServiceOptions O(1) assert time in the common case"

4 years agoconfig: ServiceOptions O(1) assert time in the common case
Tim Starling [Thu, 20 Jun 2019 16:45:19 +0000 (11:45 -0500)]
config: ServiceOptions O(1) assert time in the common case

Check if the key array passed in the constructor is identical to the key
array passed to assertRequiredOptions(). This takes O(1) time if the key
arrays have the same underlying storage pointer, which is the common
case.

If the arrays have a different order but are otherwise identical, the
slow path is taken instead. The comparison will add O(N) overhead in
addition to the overhead of the array_diff() calls.

Change-Id: Icb9040ab66286b72a270e84f910cb578bed105b0

4 years agoMerge "Remove OutputPage::enableSectionEditLinks(), ParserOptions::get/setEditSection()"
jenkins-bot [Thu, 20 Jun 2019 19:18:41 +0000 (19:18 +0000)]
Merge "Remove OutputPage::enableSectionEditLinks(), ParserOptions::get/setEditSection()"

4 years agoFollow up to 'Remove support for the deprecated Key header'
C. Scott Ananian [Thu, 18 Oct 2018 16:01:23 +0000 (12:01 -0400)]
Follow up to 'Remove support for the deprecated Key header'

Clean up a few more code paths and documentation bits left behind by
Ia53d07cd8ce8ab1497294ea244c13c7499f632c7.

Change-Id: I2bb1749c45bb79b27c5a3b2e1b8ed3395e8c11e0

4 years agoDeprecate Sanitizer::setupAttributeWhitelist/attributeWhitelist
C. Scott Ananian [Tue, 23 Apr 2019 17:09:36 +0000 (13:09 -0400)]
Deprecate Sanitizer::setupAttributeWhitelist/attributeWhitelist

These methods should be made private in the next release, but
hard-deprecate them for 1.34.

Tweak the return value of the attribute whitelist to be an
associative rather than a sequential array, which makes the
lookup of allowed attributes more efficient and avoids an
array_flip for every html element sanitized.

Bug: T221677
Change-Id: I17d734937accec6c2679dbe17328cf9554bd556a

4 years agoMerge "Parser: Remove deprecated method Parser::fetchFile()"
jenkins-bot [Thu, 20 Jun 2019 18:02:25 +0000 (18:02 +0000)]
Merge "Parser: Remove deprecated method Parser::fetchFile()"

4 years agoMerge "installer: Remove deprecated method WebInstallerOutput::addWikiText()"
jenkins-bot [Thu, 20 Jun 2019 17:58:54 +0000 (17:58 +0000)]
Merge "installer: Remove deprecated method WebInstallerOutput::addWikiText()"

4 years agoAPI: Update api-help-datatypes for Timestamp library changes
Brad Jorsch [Thu, 20 Jun 2019 16:55:34 +0000 (12:55 -0400)]
API: Update api-help-datatypes for Timestamp library changes

Instead of reproducing the documentation that's now at
https://www.mediawiki.org/wiki/Timestamp, let's just link to it.

Bug: T224730
Change-Id: I26c3bafc7cc9145b573c3ef84877633733be3cb1

4 years agoresourceloader: Remove 'Series60' from Grade C regex
Timo Tijhof [Thu, 20 Jun 2019 17:38:57 +0000 (18:38 +0100)]
resourceloader: Remove 'Series60' from Grade C regex

This existed to match UAs from the now-discontinued SymbianOS browser,
however, we already have 'SymbianOS' in the regex and all known
UA variants (which we have tests for) contain that phrase as well.

Change-Id: I643eb1e1df6a09873cda7d6fe2f325cd722b3ee5

4 years agoParser: Remove deprecated method Parser::fetchFile()
Derick Alangi [Wed, 5 Jun 2019 16:38:39 +0000 (17:38 +0100)]
Parser: Remove deprecated method Parser::fetchFile()

Deprecated in 1.32 and no longer used, see usage below;

Usage
=====

https://codesearch.wmflabs.org/search/?q=%5CbfetchFile%5C(%20(.*%3F)%2C%20(.*%3F)%20%5C)&i=nope&files=&repos=

Change-Id: Id0f76ee5c0e2a230dabb563c9d9e5c0a584f6b2c

4 years agoinstaller: Remove deprecated method WebInstallerOutput::addWikiText()
Derick Alangi [Wed, 5 Jun 2019 16:26:59 +0000 (17:26 +0100)]
installer: Remove deprecated method WebInstallerOutput::addWikiText()

Was deprecated in 1.32 and no longer used, hence removing from MW core.

Change-Id: I93c5dc1d74fd856c07b09e4c3028e223d2939522

4 years agoSome love to UserDupes
Reedy [Tue, 18 Jun 2019 19:41:38 +0000 (20:41 +0100)]
Some love to UserDupes

Change-Id: I9c0310c928a518e6f0ed13998603544fe441358e