lhc/web/wiklou.git
5 years agoMerge "Add tests to ensure that retrieved actions match passed in restrictions"
jenkins-bot [Wed, 27 Feb 2019 17:25:09 +0000 (17:25 +0000)]
Merge "Add tests to ensure that retrieved actions match passed in restrictions"

5 years agoAdd tests to ensure that retrieved actions match passed in restrictions
David Barratt [Wed, 20 Feb 2019 03:18:14 +0000 (22:18 -0500)]
Add tests to ensure that retrieved actions match passed in restrictions

This is a theoretical issue where a passed in restriction does not match the
retrieved actions. There are no actions like this in MediaWiki core or known
extensions, but since the possibility exists, tests should exist to prevent
the issue before it happens.

Bug: T213220
Change-Id: I58da016768a3ee958baa2a25b8177a9e667fa955

5 years agoFix warning on QUnit modules without dependencies
Elliott Eggleston [Wed, 27 Feb 2019 15:48:58 +0000 (10:48 -0500)]
Fix warning on QUnit modules without dependencies

Check if $module['dependencies'] is set before checking whether
it's a string.

Change-Id: I9ece83d4ec92d0d3a41a1c6863492e646f011eab

5 years agoMerge "Document type for class properties in ResourceLoaderImageModule"
jenkins-bot [Wed, 27 Feb 2019 14:28:01 +0000 (14:28 +0000)]
Merge "Document type for class properties in ResourceLoaderImageModule"

5 years agoMerge "Fix read-only mode for LoadBalancerSingle"
jenkins-bot [Wed, 27 Feb 2019 04:53:16 +0000 (04:53 +0000)]
Merge "Fix read-only mode for LoadBalancerSingle"

5 years agoMerge "mw.ui forms: Style individual form field warnings, as well as errors"
jenkins-bot [Wed, 27 Feb 2019 01:50:37 +0000 (01:50 +0000)]
Merge "mw.ui forms: Style individual form field warnings, as well as errors"

5 years agomw.ui forms: Style individual form field warnings, as well as errors
Roan Kattouw [Wed, 27 Feb 2019 01:24:10 +0000 (17:24 -0800)]
mw.ui forms: Style individual form field warnings, as well as errors

If you put a <span class="error"> inside a vform-field, it would display
correctly, but a <span class="warning"> wouldn't. Make it work for both.

Change-Id: I9e582ade2fca87782aa7be38774fa4943dc196da

5 years agoMerge "Remove unnecessary variable from UserTest"
jenkins-bot [Tue, 26 Feb 2019 23:22:59 +0000 (23:22 +0000)]
Merge "Remove unnecessary variable from UserTest"

5 years agoMerge "resourceloader: Add getScript() method for loading scripts with callback"
jenkins-bot [Tue, 26 Feb 2019 22:44:51 +0000 (22:44 +0000)]
Merge "resourceloader: Add getScript() method for loading scripts with callback"

5 years agoRemove unnecessary variable from UserTest
Thalia [Tue, 26 Feb 2019 22:15:31 +0000 (22:15 +0000)]
Remove unnecessary variable from UserTest

Change-Id: I2aaae36cc3102b309aa8f5ab05f512c4fbf9810c

5 years agordbms: make safeWaitForMasterPos() handle master connection failure
Aaron Schulz [Wed, 23 Jan 2019 19:32:18 +0000 (11:32 -0800)]
rdbms: make safeWaitForMasterPos() handle master connection failure

Previously, in such cases where a master connection was needed
and could not be acquired, a fatal error would occur. Instead,
throw a DBReplicationWaitError exception.

Also removed a redundant documentation block for the method.

Change-Id: Ide3015d57673df0876daf265a0182fe41004052d

5 years agoEmit new style API action logs into Monolog.
Petr Pchelko [Thu, 21 Feb 2019 02:09:41 +0000 (18:09 -0800)]
Emit new style API action logs into Monolog.

Bug: T214080
Depends-On: I454d3d12dcc1d7e525dc468df90424e68df59d78
Change-Id: Id0be845884cd834d89df897cc8a862904caeb09a

5 years agoFix lowercase in namespace of LogCapturingSpi.php
Amir Sarabadani [Tue, 26 Feb 2019 12:17:09 +0000 (13:17 +0100)]
Fix lowercase in namespace of LogCapturingSpi.php

Basically turning Mediawiki to MediaWiki as all other classes exist
in that namespace

Bug: T217128
Change-Id: I95039a1a54c9900a2f2414b5a6ccce5fb6e5e612

5 years agoMerge "selenium: improve ffmpeg reporting"
jenkins-bot [Tue, 26 Feb 2019 11:03:17 +0000 (11:03 +0000)]
Merge "selenium: improve ffmpeg reporting"

5 years agoMerge "DatabasePostgres: Ignore "IGNORE" option to update()"
jenkins-bot [Tue, 26 Feb 2019 05:30:36 +0000 (05:30 +0000)]
Merge "DatabasePostgres: Ignore "IGNORE" option to update()"

5 years agoresourceloader: Add getScript() method for loading scripts with callback
Evad37 [Sat, 2 Feb 2019 05:42:00 +0000 (13:42 +0800)]
resourceloader: Add getScript() method for loading scripts with callback

Provides a friendly wrapper for loading scripts using $.ajax().
Returns a promise when the script dependency -- a single
script url -- has been loaded. This matches how mw.loader.load
is able to load a script url, and how mw.loader.using will
return a promised that is resolved when dependecies are loaded,
or rejected if there is an error.

Added as a separate function mw.loader.getScript(), rather
than adding this functionality to using(), as it is a separate
use case, less confusing for users, and there is no shared or
duplicated code between loading a script and loading one
or more named modules.

Bug: T27962
Change-Id: I13be426d03261a2d0c6a1631af94a9f9af58394b

5 years agoMerge "debug: Add basic accessibility support to debug console"
jenkins-bot [Mon, 25 Feb 2019 22:00:27 +0000 (22:00 +0000)]
Merge "debug: Add basic accessibility support to debug console"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 25 Feb 2019 21:46:14 +0000 (22:46 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Id54b521705d09e65558ed7ce20f67280c7eac13d

5 years agoMerge "Remove Target/User validation from Block::appliesToUsertalk()"
jenkins-bot [Mon, 25 Feb 2019 21:11:19 +0000 (21:11 +0000)]
Merge "Remove Target/User validation from Block::appliesToUsertalk()"

5 years agoDocument type for class properties in ResourceLoaderImageModule
Umherirrender [Sat, 23 Feb 2019 20:35:15 +0000 (21:35 +0100)]
Document type for class properties in ResourceLoaderImageModule

Also declare missing properties

Change-Id: Ia63597fa996e7050b29ff6df0694dd7e036800d8

5 years agoMerge "Add Priority Hints support"
jenkins-bot [Mon, 25 Feb 2019 20:31:59 +0000 (20:31 +0000)]
Merge "Add Priority Hints support"

5 years agoMerge "Chrome Origin Trial support"
jenkins-bot [Mon, 25 Feb 2019 20:31:48 +0000 (20:31 +0000)]
Merge "Chrome Origin Trial support"

5 years agoRemove Target/User validation from Block::appliesToUsertalk()
David Barratt [Mon, 25 Feb 2019 18:35:35 +0000 (13:35 -0500)]
Remove Target/User validation from Block::appliesToUsertalk()

This fixes a regression in I0e131696419211319082cb454f4f05297e55d22e where
an IP block that also blocks logged in users from editing, throws an exception.

The target/user validation in Block::appliesToUsertalk() does not work well
when an IP block prevents logged in users from editing. This case throws a
validation error, when in reality it should make a judgement.

This change means that the method will now trust whatever is passed into it as
the current user's talk page.

Bug: T211578
Change-Id: I3bb27cf7bec8421d31aa4de28a0e658365bb5bf2

5 years agoAdd Priority Hints support
Gilles Dubuc [Wed, 20 Feb 2019 14:06:36 +0000 (15:06 +0100)]
Add Priority Hints support

When the option is enabled, the first non-icon
thumbnail encountered has a "high" importance.

Bug: T216499
Change-Id: I8d3c1b3e2d136ba16bd7de4809ee3ca63ab462fe

5 years agoChrome Origin Trial support
Gilles Dubuc [Wed, 20 Feb 2019 08:49:28 +0000 (09:49 +0100)]
Chrome Origin Trial support

Bug: T216595
Change-Id: I74b8824a87e6f52a84d2f8a9708501fc05f73266

5 years agoMerge "objectcache: improve set() slam prevention in getWithSetCallback()"
jenkins-bot [Mon, 25 Feb 2019 17:05:36 +0000 (17:05 +0000)]
Merge "objectcache: improve set() slam prevention in getWithSetCallback()"

5 years agoMerge "media: Mark ImageHandler::getScriptParams() as protected"
jenkins-bot [Mon, 25 Feb 2019 16:40:50 +0000 (16:40 +0000)]
Merge "media: Mark ImageHandler::getScriptParams() as protected"

5 years agoMerge "media: Mark public MediaHandler/ImageHandler methods as such"
jenkins-bot [Mon, 25 Feb 2019 16:40:45 +0000 (16:40 +0000)]
Merge "media: Mark public MediaHandler/ImageHandler methods as such"

5 years agoselenium: improve ffmpeg reporting
Antoine Musso [Thu, 21 Feb 2019 16:00:32 +0000 (17:00 +0100)]
selenium: improve ffmpeg reporting

1) stdout/stderr log improvement

Our wdio test suite records video of Selenium test session using ffmpeg,
its stdout/stderr are relayed via console.log() however the new line was
not stripped which is confusing and in case the buffer contains multiple
lines, only the first line had the 'ffmpeg stderr: ' prefix.

Ensure each ffmpeg line is prefixed by logging them individually.

2) exit code / signal

childProcess 'close' event is being passed the exit code and the signal.
We only handled the exit code, thus when ffmpeg is send a signal we
logged:

  ffmpeg exited with code null

Handle the case when the childProcess is send a signal (typically
SIGINT).

Change-Id: I9f509690baa9b7981399a09448582f45c30800d7

5 years agoactions: Improve Action class code for clarity & consistency
Derick Alangi [Mon, 25 Feb 2019 12:28:37 +0000 (13:28 +0100)]
actions: Improve Action class code for clarity & consistency

~ Move local variable $obj to one liner as it's redundant in
  this case.
~ Use === check instead of == as in order case above for the
  purpose of consistency.
~ Make use of single quotes for strings literals instead of
  double quotes.

Change-Id: I69650cacb0658a7369147ea5e9933fb5585e3376

5 years agomedia: Mark ImageHandler::getScriptParams() as protected
Thiemo Kreuz [Mon, 25 Feb 2019 09:20:28 +0000 (10:20 +0100)]
media: Mark ImageHandler::getScriptParams() as protected

Proof this method is really not called from anywhere else, except the
ImageHandler class itself, and one subclass:

https://codesearch.wmflabs.org/search/?q=%5CSgetScriptParams&i=1

Change-Id: I57e75ce0cb7c9e52d545b8e8226610bcc6e06c44

5 years agomedia: Mark public MediaHandler/ImageHandler methods as such
Thiemo Kreuz [Mon, 25 Feb 2019 09:16:30 +0000 (10:16 +0100)]
media: Mark public MediaHandler/ImageHandler methods as such

Note I'm intentionally not touching the entire file, but only methods
I'm absolutely sure are already called from outside, e.g. from
MediaHandlerFactory, and must be public because of this.

I'm intentionally not doing anything with private or protected in this
patch, as such changes are much more fragile.

This is a direct follow up for the changes proposed in Iaa4f60d.

Change-Id: Ida817b289ddd5e9a8c162cc1fa3335c639a0bbe5

5 years agoMerge "Return the page_id in list=langbacklinks as an int"
jenkins-bot [Mon, 25 Feb 2019 02:45:42 +0000 (02:45 +0000)]
Merge "Return the page_id in list=langbacklinks as an int"

5 years agoReturn the page_id in list=langbacklinks as an int
Reedy [Mon, 25 Feb 2019 00:18:47 +0000 (00:18 +0000)]
Return the page_id in list=langbacklinks as an int

Bug: T216968
Change-Id: I5b16779be7b24b1e46d4787a82a8daa3611f67b1

5 years agoUse (int) rather than intval()
Reedy [Mon, 25 Feb 2019 00:38:33 +0000 (00:38 +0000)]
Use (int) rather than intval()

Bug: T216969
Change-Id: I4c06716c83b69d128f26fa7f68736808aa2d3d64

5 years agoMerge "Return the page_id in list=iwbacklinks as an int rather than string"
jenkins-bot [Mon, 25 Feb 2019 00:31:59 +0000 (00:31 +0000)]
Merge "Return the page_id in list=iwbacklinks as an int rather than string"

5 years agoReturn the page_id in list=iwbacklinks as an int rather than string
setian [Sun, 24 Feb 2019 21:43:33 +0000 (16:43 -0500)]
Return the page_id in list=iwbacklinks as an int rather than string

Bug: T216968
Change-Id: I6645c5f1c6e76be3187c24053ed430e99c03bff4

5 years agoMerge "resourceloader: Make JSMinPlus allow reserved words as property name (ES5)"
jenkins-bot [Sun, 24 Feb 2019 22:49:26 +0000 (22:49 +0000)]
Merge "resourceloader: Make JSMinPlus allow reserved words as property name (ES5)"

5 years agoresourceloader: Make JSMinPlus allow reserved words as property name (ES5)
Ebrahim Byagowi [Wed, 20 Feb 2019 23:41:08 +0000 (03:11 +0330)]
resourceloader: Make JSMinPlus allow reserved words as property name (ES5)

This makes parse of "var a = { true: 12 };" and "var a = { true: 12 };"
possible thus making JSMinPlus ES5 compatible.

Bug: T215280
Change-Id: I84bcacf26ab8900d09958b5d961cc40e1a046698

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 24 Feb 2019 21:23:34 +0000 (22:23 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Iaa33d306da2a1daf0f99f7432b542f7bdbd72eca

5 years agoMerge "specials: Cleanup and fix PHPDoc comments"
jenkins-bot [Sun, 24 Feb 2019 18:17:35 +0000 (18:17 +0000)]
Merge "specials: Cleanup and fix PHPDoc comments"

5 years agospecials: Cleanup and fix PHPDoc comments
Derick Alangi [Sat, 23 Feb 2019 14:17:53 +0000 (15:17 +0100)]
specials: Cleanup and fix PHPDoc comments

Fix and cleanup code documentation in PHPDoc for clarity. This involves
correcting return types, parameter types and errors expected to be thrown
by methods within a class.

Change-Id: I30ba4b99d25460f84d348dd96480df67e92c69a6

5 years agoMerge "Upgrade moment from 2.19.3 to 2.24.0"
jenkins-bot [Sun, 24 Feb 2019 00:38:34 +0000 (00:38 +0000)]
Merge "Upgrade moment from 2.19.3 to 2.24.0"

5 years agoMerge "Remove comments literally documenting unit tests being unit tests"
jenkins-bot [Sun, 24 Feb 2019 00:19:54 +0000 (00:19 +0000)]
Merge "Remove comments literally documenting unit tests being unit tests"

5 years agoMerge "Sanitizer: remove deprecated parameter to escapeIdReferenceList()"
jenkins-bot [Sat, 23 Feb 2019 10:46:56 +0000 (10:46 +0000)]
Merge "Sanitizer: remove deprecated parameter to escapeIdReferenceList()"

5 years agoregistration: Fix 'ResourceLoaderWikiModule' schema validation
Kunal Mehta [Sat, 23 Feb 2019 01:17:05 +0000 (17:17 -0800)]
registration: Fix 'ResourceLoaderWikiModule' schema validation

There is a full schema for ResourceModules when the
class: ResourceLoaderWikiModule is used. Except it doesn't actually work,
since it it fails validating against that schema, it will continue to check
the other anyOf schemas, find the arbitrary class one, and pass that one.

Blacklisting ResourceLoaderWikiModule from the arbitrary class schema means
that it has to pass the specified schema for it, or fail validation.

I verified that all extensions and skins in Gerrit pass validation with this
patch.

Change-Id: Icb862088c0ca1f89ed5a57a4286dd9049d213021

5 years agoregistration: Fix 'arbitrary ResourceLoaderModule definition' schema regex
Kunal Mehta [Sat, 23 Feb 2019 01:03:01 +0000 (17:03 -0800)]
registration: Fix 'arbitrary ResourceLoaderModule definition' schema regex

We want this regex to match on everything that is not the literal string
'ResourceFileModule' or 'ResourceImageModule' (actually
'ResourceLoaderWikiModule' should be in this too, but I'll fix that in a
follow-up). But the current regex would not match if one of those was in a
substring.

The new regex should match everything that is *not* those two strings.

Bug: T216861
Change-Id: I7d888adfdc67b2075028e49432710308aa0125af

5 years agoMerge "resourceloader: Remove back compat for old packageFiles format"
jenkins-bot [Fri, 22 Feb 2019 23:32:54 +0000 (23:32 +0000)]
Merge "resourceloader: Remove back compat for old packageFiles format"

5 years agoUpgrade moment from 2.19.3 to 2.24.0
James D. Forrester [Fri, 22 Feb 2019 10:34:40 +0000 (10:34 +0000)]
Upgrade moment from 2.19.3 to 2.24.0

Bug: T191339
Change-Id: I15034d88fabd9185f3eb5ffff98ee6f9922a7bc2

5 years agoMerge "Add .phar to $wgFileBlacklist as a paranoia measure"
jenkins-bot [Fri, 22 Feb 2019 20:54:04 +0000 (20:54 +0000)]
Merge "Add .phar to $wgFileBlacklist as a paranoia measure"

5 years agoMerge "foreign-resources: Pull all moment locales, even the ones we don't yet use"
jenkins-bot [Fri, 22 Feb 2019 19:33:48 +0000 (19:33 +0000)]
Merge "foreign-resources: Pull all moment locales, even the ones we don't yet use"

5 years agoMerge "foreign-resources: Add moment to our list of resources"
jenkins-bot [Fri, 22 Feb 2019 19:33:43 +0000 (19:33 +0000)]
Merge "foreign-resources: Add moment to our list of resources"

5 years agoMerge "resourceloader: Change 'packageFiles' format to be JSON-compatible"
jenkins-bot [Fri, 22 Feb 2019 19:30:40 +0000 (19:30 +0000)]
Merge "resourceloader: Change 'packageFiles' format to be JSON-compatible"

5 years agoforeign-resources: Pull all moment locales, even the ones we don't yet use
James D. Forrester [Fri, 22 Feb 2019 10:30:11 +0000 (10:30 +0000)]
foreign-resources: Pull all moment locales, even the ones we don't yet use

This makes things simpler for configuration at a trivial cost of bytes.

Change-Id: I2d7a0dd4136ccccf1eba6c93af4ba34acfbf0886

5 years agoforeign-resources: Add moment to our list of resources
James D. Forrester [Wed, 23 Jan 2019 00:51:45 +0000 (16:51 -0800)]
foreign-resources: Add moment to our list of resources

Because we don't pull down all the locales, we current have to list
each of them. To be fixed in a follow-up.

Also add the changelog for in-repo visibility about changes, as we
have begun to make standard.

Change-Id: I839301d05877eb63279cc1dc94ffbe05f8bb0bfc

5 years agoresourceloader: Remove back compat for old packageFiles format
Roan Kattouw [Fri, 22 Feb 2019 01:31:22 +0000 (17:31 -0800)]
resourceloader: Remove back compat for old packageFiles format

Was introduced as a transitional measure in Ic566a1cd7efd075c3.

Depends-On: I717f03caf9ea8266e6a4d2b6daf4c543c0815931
Change-Id: I6ae615ea38572042f8ba705338067b393827153a

5 years agoresourceloader: Change 'packageFiles' format to be JSON-compatible
Roan Kattouw [Fri, 22 Feb 2019 01:26:23 +0000 (17:26 -0800)]
resourceloader: Change 'packageFiles' format to be JSON-compatible

The module definition format for 'packageFiles', as initially designed,
mixes sequential and associative arrays. This works in PHP, but not in
JSON. To make the format JSON compatible, use a 'name' key instead of
using the key in the main array.

Leave backwards compatibility in place so that extensions using the old
format can be migrated. This will be removed in the next commit.

Before:

'packageFiles' => [
'script.js',
'script2.js',
'config.json' => [ 'config' => [ 'Foo', 'Bar' ] ],
'data.json' => [ 'callback' => function () { ... } ],
],

After:

'packageFiles' => [
'script.js',
'script2.js',
[ 'name' => 'config.json', 'config' => [ 'Foo', 'Bar' ] ],
[ 'name' => 'data.json', 'callback' => function () { ... } ],
],

This can then be written in extension.json as:
"packageFiles": [
"script.js",
"script2.js",
[ "name": "config.json", "config": [ "Foo", "Bar" ] ],
[ "name": "data.json", "callback: [ "MyExtHooks", "getData" ] ]
]

Change-Id: Ic566a1cd7efd075c380bc50ba0cc2c329a2041d7

5 years agoMerge "Return early in Title::checkUserBlock() if user does not have a block."
jenkins-bot [Fri, 22 Feb 2019 17:37:38 +0000 (17:37 +0000)]
Merge "Return early in Title::checkUserBlock() if user does not have a block."

5 years agoselenium: prevent webdriverio automatic screenshot
Antoine Musso [Fri, 22 Feb 2019 13:58:27 +0000 (14:58 +0100)]
selenium: prevent webdriverio automatic screenshot

When the wdio configuration has screenshotPath, when a test fail a
screenshot is automatically taken. However there is no support to
specify a filename, we thus went with our own handler in afterTest hook
to have the screenshot names after the full test name.

As a result we had two screenshots taken:

A) CHROME-Error-xxx.png
B) Suite-Sometest.png

Set screenshotPath to null which disable the automatic screenshoting.
Adjust rest of code to use logPath as a base path to save screenshots.

As a side effect, it works around a nasty race condition in the
reporting. The report is generated while some test still has an
afterTest hook running. The report fail to generate and cause nodejs to
exit. The exact fix still has to be figured out though. T216818.

Bug: T216818
Change-Id: I4b53c98bd4de0d9ff850bb883ba899dd1dce0274

5 years agoobjectcache: improve set() slam prevention in getWithSetCallback()
Aaron Schulz [Fri, 22 Feb 2019 12:47:32 +0000 (04:47 -0800)]
objectcache: improve set() slam prevention in getWithSetCallback()

* Make the SET_DELAY_HIGH_SEC check more sensitive to other types
  of delay, such as increased get() latency. Any such slowness is
  relevant to the set() stampede concern.
* Also added a statsd timing metric for this delay.

Change-Id: I053a73b40dc7e566cc59fc97aeab1a4e1bee0f28

5 years agoMerge "ForeignResourceManager: Catch responses other than 200 OK"
jenkins-bot [Fri, 22 Feb 2019 10:44:16 +0000 (10:44 +0000)]
Merge "ForeignResourceManager: Catch responses other than 200 OK"

5 years agoMerge "Fix grammar in UserPasswordPolicy documentation"
jenkins-bot [Fri, 22 Feb 2019 09:33:27 +0000 (09:33 +0000)]
Merge "Fix grammar in UserPasswordPolicy documentation"

5 years agodebug: Add basic accessibility support to debug console
Thiemo Kreuz [Tue, 19 Feb 2019 14:12:06 +0000 (15:12 +0100)]
debug: Add basic accessibility support to debug console

The scope tells user agents what the meaning of vertical vs. horizontal
table headers is.

The summary is for screen readers only and usually not visible in
regular web browsers.

Change-Id: I4a2141a462719cfc978ffc18a8c6dfb2bc3cf22d

5 years agoMerge "Print logs generated during unit test when test fails"
jenkins-bot [Fri, 22 Feb 2019 08:01:16 +0000 (08:01 +0000)]
Merge "Print logs generated during unit test when test fails"

5 years agoMerge "build: Increase fresnel runs to 5, and add more scenarios"
jenkins-bot [Fri, 22 Feb 2019 05:02:56 +0000 (05:02 +0000)]
Merge "build: Increase fresnel runs to 5, and add more scenarios"

5 years agoAdd .phar to $wgFileBlacklist as a paranoia measure
Brian Wolff [Fri, 22 Feb 2019 04:31:56 +0000 (04:31 +0000)]
Add .phar to $wgFileBlacklist as a paranoia measure

Seems like it can't hurt.

Change-Id: I833dd95742d7de772833c738ca7f5403e57bc2f4

5 years agoSanitizer: remove deprecated parameter to escapeIdReferenceList()
Max Semenik [Fri, 22 Feb 2019 04:12:22 +0000 (20:12 -0800)]
Sanitizer: remove deprecated parameter to escapeIdReferenceList()

Change-Id: Iacd5796718c1d64e7290cfd9669c99d8f9e85dc5

5 years agoMerge "ApiQueryUserContribs: Only use 'contributions' replica if querying by user ID"
jenkins-bot [Fri, 22 Feb 2019 03:58:47 +0000 (03:58 +0000)]
Merge "ApiQueryUserContribs: Only use 'contributions' replica if querying by user ID"

5 years agoMerge "Follow-up I68179974: Remove from 1.33 RL, backported to 1.32"
jenkins-bot [Fri, 22 Feb 2019 03:55:59 +0000 (03:55 +0000)]
Merge "Follow-up I68179974: Remove from 1.33 RL, backported to 1.32"

5 years agoReturn early in Title::checkUserBlock() if user does not have a block.
David Barratt [Sat, 16 Feb 2019 06:08:10 +0000 (01:08 -0500)]
Return early in Title::checkUserBlock() if user does not have a block.

To reduce the overhead of the block checks, return early if the user does not
have a block.

Bug: T216309
Change-Id: I14930fcb7987cbc83294497ab54fcfeeedc94bfe

5 years agobuild: Increase fresnel runs to 5, and add more scenarios
Timo Tijhof [Tue, 19 Feb 2019 16:28:41 +0000 (16:28 +0000)]
build: Increase fresnel runs to 5, and add more scenarios

Also remove unrecognised 'alerts' property from Fresnel config.
That isn't a feature (yet) :)

Change-Id: I45820de67a20c4f0e614b9e845a186f157cab3f4

5 years agoMerge "Apply the pseudo-css selector rules to diff and changelist pages"
jenkins-bot [Fri, 22 Feb 2019 00:32:52 +0000 (00:32 +0000)]
Merge "Apply the pseudo-css selector rules to diff and changelist pages"

5 years agoApply the pseudo-css selector rules to diff and changelist pages
jdlrobson [Wed, 9 Jan 2019 00:30:18 +0000 (16:30 -0800)]
Apply the pseudo-css selector rules to diff and changelist pages

The styles that we are applying on changelist pages should also
apply on diff pages. This generalises the rules into a new
module.

To avoid problems with cached HTML mediawiki.special.changeslist
temporarily loads resources/src/mediawiki.interface.helpers.styles.
This will be removed after the change has been in production for a
week.

Bug: T212613
Change-Id: I6aad563e48f41c783df8b176a4f437e60a1255cc

5 years agoForeignResourceManager: Catch responses other than 200 OK
Timo Tijhof [Thu, 21 Feb 2019 23:44:56 +0000 (23:44 +0000)]
ForeignResourceManager: Catch responses other than 200 OK

Makes it easier to catch issues like at I839301d05877eb63279c.

Change-Id: I22b9af7bf36a256d8363ed96fe42c087e0c8a895

5 years agoMerge "RCFilters: Export config vars in the RL modules where possible (take 2)"
jenkins-bot [Thu, 21 Feb 2019 21:57:49 +0000 (21:57 +0000)]
Merge "RCFilters: Export config vars in the RL modules where possible (take 2)"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 21 Feb 2019 20:55:49 +0000 (21:55 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Ibb1121f0765cd41ba7f8b6cfafb6e88d30021820

5 years agoMerge "Block: Remove unnecessary lines related to old use of Block::prevents"
jenkins-bot [Thu, 21 Feb 2019 20:29:54 +0000 (20:29 +0000)]
Merge "Block: Remove unnecessary lines related to old use of Block::prevents"

5 years agoBlock: Remove unnecessary lines related to old use of Block::prevents
Thalia [Wed, 20 Feb 2019 10:40:59 +0000 (10:40 +0000)]
Block: Remove unnecessary lines related to old use of Block::prevents

Block::prevents simply returns true for 'edit'. In Block::newLoad,
prevents was called as a setter with 'edit', but there was nothing
to set - this call was removed in I0e1316964192113. This patch
removes some more lines related to that call.

Originally added in r84475 (6dbcdc1be097) for T15611.

Change-Id: I8778229d7adfcdee9e21cf560462ef7e7d1c67b3

5 years agoMerge "mediawiki.ui: Align button height to standard (and input)"
jenkins-bot [Thu, 21 Feb 2019 20:01:50 +0000 (20:01 +0000)]
Merge "mediawiki.ui: Align button height to standard (and input)"

5 years agoMerge "Separate out different functionalities of Block::prevents"
jenkins-bot [Thu, 21 Feb 2019 19:20:03 +0000 (19:20 +0000)]
Merge "Separate out different functionalities of Block::prevents"

5 years agoSeparate out different functionalities of Block::prevents
Thalia [Sat, 9 Feb 2019 12:17:54 +0000 (12:17 +0000)]
Separate out different functionalities of Block::prevents

Block::prevents plays several different roles:
* acts as get/setter for Boolean properties that correspond to
ipb_create_account, ipb_block_email and ipb_allow_usertalk
* calculates whether a block blocks a given right, based on Block
properties, global configs, white/blacklists and anonymous user
rights
* decides whether a block prevents editing of the target's own
user talk page (listed separately because 'editownusertalk' is
not a right)

This patch:
* renames mDisableUsertalk to allowEditUsertalk (and reverses the
value), to match the field ipb_allow_usertalk and make this logic
easier to follow
* renames mCreateAccount to blockCreateAccount, to make it clear
that the flag blocks account creation when true, and make this
logic easier to follow
* decouples the block that is stored in the database (which now
reflects the form that the admin submitted) and the behaviour of
the block on enforcement (since the properties set by the admin
can be overridden by global configs) - so if the global configs
change, the block behaviour could too
* creates get/setters for blockCreateAccount, mBlockEmail and
allowEditUsertalk properties
* creates appliesToRight, exclusively for checking whether the
block blocks a given right, taking into account the block
properties, global configs and anonymous user rights
* creates appliesToUsertalk, for checking whether the block
blocks a user from editing their own talk page. The block is
unaware of the user trying to make the edit, and this user is not
always the same as the block target, e.g. if the block target is
an IP range. Therefore the user's talk page is passed in to this
method. appliesToUsertalk can be called from anywhere where the
user is known
* uses the get/setters wherever Block::prevents was being used as
such
* uses appliesToRight whenever Block::prevents was being used to
determine if the block blocks a given right
* uses appliesToUsertalk in User::isBlockedFrom

Bug: T211578
Bug: T214508
Change-Id: I0e131696419211319082cb454f4f05297e55d22e

5 years agoMerge "Add language support for Saisiyat (xsy)"
jenkins-bot [Thu, 21 Feb 2019 18:03:10 +0000 (18:03 +0000)]
Merge "Add language support for Saisiyat (xsy)"

5 years agoMerge "Uncheck "create account" on Special:Block for partial blocks"
jenkins-bot [Thu, 21 Feb 2019 17:45:46 +0000 (17:45 +0000)]
Merge "Uncheck "create account" on Special:Block for partial blocks"

5 years agoAdd language support for Saisiyat (xsy)
MarcoAurelio [Tue, 19 Feb 2019 21:21:22 +0000 (22:21 +0100)]
Add language support for Saisiyat (xsy)

Bug: T216479
Change-Id: Ide1c708c2cf3124794da650667ab140b1f4e9f5e

5 years agoApiQueryUserContribs: Only use 'contributions' replica if querying by user ID
Brad Jorsch [Thu, 21 Feb 2019 15:47:07 +0000 (10:47 -0500)]
ApiQueryUserContribs: Only use 'contributions' replica if querying by user ID

When querying by user name or actor ID, the partitioning on the
'contributions' replicas makes things worse rather than better.

Bug: T216656
Change-Id: Ib4caf19d8fad64c527dee99667e425fd3e4b1a16

5 years agoMerge "Update OOUI to v0.30.3"
jenkins-bot [Thu, 21 Feb 2019 15:58:49 +0000 (15:58 +0000)]
Merge "Update OOUI to v0.30.3"

5 years agoMerge "Remove suggestions for negative namespaces in Page Restrictions"
jenkins-bot [Thu, 21 Feb 2019 15:26:35 +0000 (15:26 +0000)]
Merge "Remove suggestions for negative namespaces in Page Restrictions"

5 years agoMerge "mw.widgets.TitleWidget: Add 'excludeDynamicNamespaces' config"
jenkins-bot [Thu, 21 Feb 2019 15:26:00 +0000 (15:26 +0000)]
Merge "mw.widgets.TitleWidget: Add 'excludeDynamicNamespaces' config"

5 years agomediawiki.ui: Align button height to standard (and input)
Volker E [Thu, 21 Feb 2019 07:56:44 +0000 (23:56 -0800)]
mediawiki.ui: Align button height to standard (and input)

Aligning to standard height of `32px` at base font size of `14px`,
mediawiki.ui's inputs and OOUI.

Bug: T209455
Change-Id: I3ef5bb0920aadd22667f0a9b3701e6714bc04133

5 years agoUpdate OOUI to v0.30.3
James D. Forrester [Thu, 21 Feb 2019 11:08:08 +0000 (11:08 +0000)]
Update OOUI to v0.30.3

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

Bug: T215559
Bug: T216070
Bug: T216075
Bug: T216578
Bug: T216582
Depends-On: Ic5a4598bbb222fa4b98c2706fe909aa9eb297f4b
Change-Id: Ic5a4598bbb222fa4b98c2706fe909aa9eb297f4a

5 years agoMerge "build: Update eslint-config-wikimedia to 0.11.0"
jenkins-bot [Thu, 21 Feb 2019 10:37:50 +0000 (10:37 +0000)]
Merge "build: Update eslint-config-wikimedia to 0.11.0"

5 years agoMerge "Add support for Argon2 password hashing"
jenkins-bot [Thu, 21 Feb 2019 07:24:52 +0000 (07:24 +0000)]
Merge "Add support for Argon2 password hashing"

5 years agoMerge "Set $wgMediaInTargetLanguage to true by default"
jenkins-bot [Thu, 21 Feb 2019 06:54:45 +0000 (06:54 +0000)]
Merge "Set $wgMediaInTargetLanguage to true by default"

5 years agoMerge "Set BlockDisablesLogin false for Blocking group tests that assume this"
jenkins-bot [Thu, 21 Feb 2019 04:30:09 +0000 (04:30 +0000)]
Merge "Set BlockDisablesLogin false for Blocking group tests that assume this"

5 years agoSet $wgMediaInTargetLanguage to true by default
Max Semenik [Thu, 21 Feb 2019 04:26:46 +0000 (20:26 -0800)]
Set $wgMediaInTargetLanguage to true by default

This feature flag is still unreleased, flipping it on by default
in preparation for removal.

Change-Id: Ice3c3d7e35023d93afb85d43f838c18dae9a9c3a

5 years agoRCFilters: Export config vars in the RL modules where possible (take 2)
Catrope [Fri, 15 Feb 2019 22:12:02 +0000 (22:12 +0000)]
RCFilters: Export config vars in the RL modules where possible (take 2)

This reverts commit 492969e12bb34c6832213769d822d0b3d564550c
and reinstates commit bf4f9d0313495dd67a53b9925edf9a3cc6ef36fe.

Bug: T201574
Depends-On: I58901657daf3e82229a303d8fe7a2c051ffe7634
Change-Id: I1b0a777760d4c2a149415da0d2068e6bfea5b917

5 years agobuild: Update eslint-config-wikimedia to 0.11.0
Ed Sanders [Wed, 20 Feb 2019 22:53:09 +0000 (22:53 +0000)]
build: Update eslint-config-wikimedia to 0.11.0

Change-Id: Iee025a518962e68c5ec2c07d952f402cd2a7f69b

5 years agoMerge "Database: Have buildStringCast() actually cast for MySQL, MSSQL"
jenkins-bot [Wed, 20 Feb 2019 22:14:37 +0000 (22:14 +0000)]
Merge "Database: Have buildStringCast() actually cast for MySQL, MSSQL"

5 years agoMerge "Fix password policy handling in temporary password provider"
jenkins-bot [Wed, 20 Feb 2019 20:48:33 +0000 (20:48 +0000)]
Merge "Fix password policy handling in temporary password provider"

5 years agoMerge "Make uca-tr use I as uppercase of dotless ı instead of reverse"
jenkins-bot [Wed, 20 Feb 2019 20:25:59 +0000 (20:25 +0000)]
Merge "Make uca-tr use I as uppercase of dotless ı instead of reverse"