lhc/web/wiklou.git
4 years agoMerge "installer: Add a defined check to overrideConfig method"
jenkins-bot [Sat, 20 Jul 2019 06:20:45 +0000 (06:20 +0000)]
Merge "installer: Add a defined check to overrideConfig method"

4 years agoMerge "Increase test coverage for BlockManager class"
jenkins-bot [Sat, 20 Jul 2019 06:17:12 +0000 (06:17 +0000)]
Merge "Increase test coverage for BlockManager class"

4 years agoMerge "resourceloader: Complete test coverage for FilePath"
jenkins-bot [Fri, 19 Jul 2019 23:13:58 +0000 (23:13 +0000)]
Merge "resourceloader: Complete test coverage for FilePath"

4 years agoresourceloader: Complete test coverage for FilePath
Timo Tijhof [Fri, 19 Jul 2019 22:36:06 +0000 (23:36 +0100)]
resourceloader: Complete test coverage for FilePath

The 'getLocalBasePath' and 'getRemoteBasePath' methods were not
yet covered.

Change-Id: If2eacca3a908048ec62b357e14e4e2322363e296

4 years agoMerge "API: Fix 'user_id' field of ApiCSPReport"
jenkins-bot [Fri, 19 Jul 2019 22:34:12 +0000 (22:34 +0000)]
Merge "API: Fix 'user_id' field of ApiCSPReport"

4 years agoMerge "API: Add test case for ApiCSPReportTest"
jenkins-bot [Fri, 19 Jul 2019 22:33:00 +0000 (22:33 +0000)]
Merge "API: Add test case for ApiCSPReportTest"

4 years agoAPI: Fix 'user_id' field of ApiCSPReport
Timo Tijhof [Fri, 19 Jul 2019 21:34:34 +0000 (22:34 +0100)]
API: Fix 'user_id' field of ApiCSPReport

Was accidentally turned into an always-true boolean in 5f343617,
due to confusion with JavaScript's default '||' operator.

Change-Id: I24071e22f8bb7a296ae138303f63acdb8ea4950a

4 years agoAPI: Add test case for ApiCSPReportTest
Timo Tijhof [Fri, 19 Jul 2019 21:33:31 +0000 (22:33 +0100)]
API: Add test case for ApiCSPReportTest

Covers the basic functioning of the class, as well as the specific
behaviours introduced or changed by 5f34361759 and 0ca1b8a0e621c9.

Also includes a (bad) expectation for 'user_id' (bool instead of string),
which is a bug caused by 5f34361759 that the next commit will fix.

Change-Id: I2c57c813b8a31e51a61778951227ccbd1217a547

4 years agoMerge "DevelopmentSettings: Disable legacy javascript globals in CI and for devs"
jenkins-bot [Fri, 19 Jul 2019 21:53:46 +0000 (21:53 +0000)]
Merge "DevelopmentSettings: Disable legacy javascript globals in CI and for devs"

4 years agoDevelopmentSettings: Disable legacy javascript globals in CI and for devs
James D. Forrester [Fri, 19 Jul 2019 20:53:57 +0000 (13:53 -0700)]
DevelopmentSettings: Disable legacy javascript globals in CI and for devs

Bug: T72470
Change-Id: Iedd3a9c8e541bc4cc657753e6ae3389f0393ed64

4 years agoDrop UploadBase:: and UploadFromChunks::stashFileGetKey() and stashSession(), depreca...
James D. Forrester [Tue, 2 Jul 2019 21:58:36 +0000 (14:58 -0700)]
Drop UploadBase:: and UploadFromChunks::stashFileGetKey() and stashSession(), deprecated in 1.28

Change-Id: I2411753a24092a5c37434b095e594831ecff04e1

4 years agoDrop the UploadVerification hook, deprecated in 1.28
James D. Forrester [Tue, 2 Jul 2019 21:49:49 +0000 (14:49 -0700)]
Drop the UploadVerification hook, deprecated in 1.28

Change-Id: Ic1917fc95223cbf97845c2702ddf98accf8ba9c2

4 years agoMerge "objectcache: add MediumSpecificBagOStuff base class for non-proxy subclasses"
jenkins-bot [Fri, 19 Jul 2019 20:32:44 +0000 (20:32 +0000)]
Merge "objectcache: add MediumSpecificBagOStuff base class for non-proxy subclasses"

4 years agoMerge "objectcache: refactor WANObjectCache::fetchOrRegenerate() locking code stylist...
jenkins-bot [Fri, 19 Jul 2019 20:24:06 +0000 (20:24 +0000)]
Merge "objectcache: refactor WANObjectCache::fetchOrRegenerate() locking code stylistically"

4 years agoobjectcache: refactor WANObjectCache::fetchOrRegenerate() locking code stylistically
Aaron Schulz [Thu, 18 Jul 2019 22:43:45 +0000 (15:43 -0700)]
objectcache: refactor WANObjectCache::fetchOrRegenerate() locking code stylistically

Change-Id: I5e289989ef91923b650a9c325febd7410d1b2caf

4 years agoobjectcache: add MediumSpecificBagOStuff base class for non-proxy subclasses
Aaron Schulz [Thu, 11 Jul 2019 12:35:07 +0000 (05:35 -0700)]
objectcache: add MediumSpecificBagOStuff base class for non-proxy subclasses

This make it much clearer what needs to be overridden

Change-Id: I3073f8a0605f557c6a3a93d0d8401cddd0fb8dbe

4 years agoMerge "MediaWikiUnitTestCase: Use DIRECTORY_SEPARATOR instead of `/`"
jenkins-bot [Fri, 19 Jul 2019 20:00:47 +0000 (20:00 +0000)]
Merge "MediaWikiUnitTestCase: Use DIRECTORY_SEPARATOR instead of `/`"

4 years agoMediaWikiUnitTestCase: Use DIRECTORY_SEPARATOR instead of `/`
RazeSoldier [Wed, 17 Jul 2019 17:52:18 +0000 (01:52 +0800)]
MediaWikiUnitTestCase: Use DIRECTORY_SEPARATOR instead of `/`

`strpos( $reflection->getFilename(), '/unit/' )` will always
return FALSE under Windows

Change-Id: Ib13d32858e238b9a18094f829939f6bba08366ab

4 years agoMerge "wdio-mediawiki: Release 0.4.0"
jenkins-bot [Fri, 19 Jul 2019 18:36:42 +0000 (18:36 +0000)]
Merge "wdio-mediawiki: Release 0.4.0"

4 years agoMerge "Improve links in several specialmute-*"
jenkins-bot [Fri, 19 Jul 2019 14:00:28 +0000 (14:00 +0000)]
Merge "Improve links in several specialmute-*"

4 years agoMerge "Allow empty input in namespaces multiselect on Special:Block"
jenkins-bot [Fri, 19 Jul 2019 13:09:11 +0000 (13:09 +0000)]
Merge "Allow empty input in namespaces multiselect on Special:Block"

4 years agoMerge "Clarify WikiRevision::downloadSource() and related code"
jenkins-bot [Fri, 19 Jul 2019 11:53:58 +0000 (11:53 +0000)]
Merge "Clarify WikiRevision::downloadSource() and related code"

4 years agoMerge "resourceloader: Add Config parameter to packageFiles callbacks"
jenkins-bot [Thu, 18 Jul 2019 23:24:28 +0000 (23:24 +0000)]
Merge "resourceloader: Add Config parameter to packageFiles callbacks"

4 years agoMerge "Clean up DeferredUpdates transaction handling"
jenkins-bot [Thu, 18 Jul 2019 22:19:49 +0000 (22:19 +0000)]
Merge "Clean up DeferredUpdates transaction handling"

4 years agoImprove links in several specialmute-*
Amir Aharoni [Fri, 5 Jul 2019 20:19:21 +0000 (23:19 +0300)]
Improve links in several specialmute-*

* Remove namespace prefix from user page links
* Add "user" as translatable text instead

Bug: T218265
Change-Id: If20b9023379f00e0b82992322e340362613dce09

4 years agoresourceloader: Add Config parameter to packageFiles callbacks
Roan Kattouw [Thu, 18 Jul 2019 21:48:42 +0000 (14:48 -0700)]
resourceloader: Add Config parameter to packageFiles callbacks

Callbacks used to generate the contents of virtual files in packageFiles
modules only received a ResourceLoaderContext object. They could access
the Config object through ResourceLoaderContext::getConfig(), but that
method is deprecated. Pass the Config object as a second parameter to
these callbacks, so that they don't have to use a deprecated method.

Change-Id: Ia4666914e9b07f298ee5ae30ae8c70a3e83b0910

4 years agoIncrease test coverage for BlockManager class
Thalia [Mon, 17 Jun 2019 16:59:02 +0000 (17:59 +0100)]
Increase test coverage for BlockManager class

Change-Id: If2c50248448f3f633d9531039094f12c7d712c41

4 years agoMerge "SiteConfigurationTest: Fix recurring typo ("an non-existing")"
jenkins-bot [Thu, 18 Jul 2019 20:49:41 +0000 (20:49 +0000)]
Merge "SiteConfigurationTest: Fix recurring typo ("an non-existing")"

4 years agoClean up DeferredUpdates transaction handling
Aaron Schulz [Thu, 18 Jul 2019 19:27:07 +0000 (12:27 -0700)]
Clean up DeferredUpdates transaction handling

Bail out in attemptUpdate() if the transaction state is dirty rather
that failing at some later point. Also, flush implicit transaction
rounds before calling DeferrableUpdate::doUpdate() for fresher data.

Bug: T225103
Change-Id: I4f5d2f9814a562069619f05e003663fcedbd3f64

4 years agoMerge "Separate right for foreign user js redirects"
jenkins-bot [Thu, 18 Jul 2019 19:39:10 +0000 (19:39 +0000)]
Merge "Separate right for foreign user js redirects"

4 years agoMerge "Revert "objectcache: fix race conditions in RedisBagOStuff::incr()""
jenkins-bot [Thu, 18 Jul 2019 18:46:17 +0000 (18:46 +0000)]
Merge "Revert "objectcache: fix race conditions in RedisBagOStuff::incr()""

4 years agoRevert "objectcache: fix race conditions in RedisBagOStuff::incr()"
Krinkle [Thu, 18 Jul 2019 16:41:24 +0000 (16:41 +0000)]
Revert "objectcache: fix race conditions in RedisBagOStuff::incr()"

This commit reverts most of 7e647d2f0f5b, but keeps unrelated code
clean ups from it, as well as the conflicting changes from d8b952ae47.

From WMF production nutcracker:

> nc_redis.c parsed unsupported command 'WATCH'

The use of WATCH, in addition to failing the commands that use it,
also appears to also have caused a chain reaction making nutcracker
intermittently unavailable to other web requests.

Bug: T228303
Change-Id: Ic37efc2963b147e461837571ae0b65acf3f60cb4

4 years agoMerge "GlobalFunctions: Hard deprecate `wfGlobalCacheKey()` function"
jenkins-bot [Thu, 18 Jul 2019 17:43:16 +0000 (17:43 +0000)]
Merge "GlobalFunctions: Hard deprecate `wfGlobalCacheKey()` function"

4 years agoMerge "Fix param doc of TitleArrayFromResult::setCurrent"
jenkins-bot [Thu, 18 Jul 2019 17:37:07 +0000 (17:37 +0000)]
Merge "Fix param doc of TitleArrayFromResult::setCurrent"

4 years agoPass message params as array to RawMessage
Umherirrender [Tue, 2 Jul 2019 20:00:14 +0000 (22:00 +0200)]
Pass message params as array to RawMessage

To match documentation of RawMessage::__construct

Change-Id: I4d9fce6b63af89a0012c9eaac72c0b46f75b43ac

4 years agoFix param doc of TitleArrayFromResult::setCurrent
Umherirrender [Sat, 29 Jun 2019 16:14:36 +0000 (18:14 +0200)]
Fix param doc of TitleArrayFromResult::setCurrent

$row is a stdClass, not the ResultWrapper, which is a list of stdClass

Change-Id: Ic96354a6283fcf42ac1c75f524f1da45117100ce

4 years agoAllow empty input in namespaces multiselect on Special:Block
Thalia [Thu, 18 Jul 2019 14:48:09 +0000 (15:48 +0100)]
Allow empty input in namespaces multiselect on Special:Block

Follow-up to 83ebbb519f

Bug: T219882
Change-Id: I5f3d907a8f8be02f9e2c23d2a66c42752daa38b5

4 years agoMerge "Add support for extentions to change Special:Mute form"
Dbarratt [Thu, 18 Jul 2019 15:39:09 +0000 (15:39 +0000)]
Merge "Add support for extentions to change Special:Mute form"

4 years agoMerge "objectcache: optimize MemcachedPeclBagOStuff::*Multi() write methods"
jenkins-bot [Thu, 18 Jul 2019 15:28:13 +0000 (15:28 +0000)]
Merge "objectcache: optimize MemcachedPeclBagOStuff::*Multi() write methods"

4 years agowdio-mediawiki: Release 0.4.0
Pablo Grass [Thu, 18 Jul 2019 14:08:54 +0000 (16:08 +0200)]
wdio-mediawiki: Release 0.4.0

a1e51bf94325130fa3d54d65c071d3ab57a4ab79 unpublished 3 RunJobs methods
They do not appear to be used according to wmf codesearch
and, given their limited usefulness, are unlikely to be used elsewhere.

Change-Id: Iaefe6f71320c2c3ab86468bf827b6e8d2e80095d

4 years agoAdd support for extentions to change Special:Mute form
Dayllan Maza [Mon, 1 Jul 2019 14:14:42 +0000 (10:14 -0400)]
Add support for extentions to change Special:Mute form

The hook (SpecialMuteModifyFormFields) is used to append
the option to mute/unmute notifications from a specified user.

Special:Mute handles posting and saving the fields, the only
requirement is that the field name is the same as the property
that wants to be modified.

Currently there are only two notifications "blacklists":
* `email-blacklist` is directly handled in this page 'cause it is part of core.
* `echo-notifications-blacklist` is part of Echo, so this change is required
  to support it. See I77b3ccfdce9b501e

Bug: T220163
Change-Id: I2b3eee0802cb086091f35ecce13ae77a8e7d518d

4 years agoGlobalFunctions: Hard deprecate `wfGlobalCacheKey()` function
Derick Alangi [Thu, 18 Jul 2019 08:22:01 +0000 (09:22 +0100)]
GlobalFunctions: Hard deprecate `wfGlobalCacheKey()` function

The only extension that used this was ConfirmEdit and it has been
cleaned up with Ia7b276ee65fdf58c, so is it time we hard deprecate
it?

Usage
=====

https://codesearch.wmflabs.org/search/?q=%5CbwfGlobalCacheKey%5Cb&i=nope&files=&repos=

Depends-On: Ia7b276ee65fdf58c4fc0859563930528d44a03ca
Change-Id: I3fda797c64ec62df4454625ad1a3bf89f6a88246

4 years agoDelete very incomplete translation
Raymond [Thu, 18 Jul 2019 07:49:57 +0000 (09:49 +0200)]
Delete very incomplete translation

Change-Id: Ic8df4cc9894a366148632dbb2a97803cd6feccef

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 18 Jul 2019 07:06:38 +0000 (09:06 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I06dcc9ee33533abbfa09d8ae7bafd6f6547f0e22

4 years agoMerge "objectcache: fix WinCacheBagOStuf::doGet() is_string() check"
jenkins-bot [Thu, 18 Jul 2019 06:39:29 +0000 (06:39 +0000)]
Merge "objectcache: fix WinCacheBagOStuf::doGet() is_string() check"

4 years agoobjectcache: fix WinCacheBagOStuf::doGet() is_string() check
Aaron Schulz [Thu, 18 Jul 2019 05:50:14 +0000 (22:50 -0700)]
objectcache: fix WinCacheBagOStuf::doGet() is_string() check

Allow integers to so that incr() and other cases work. This class
now passes all the unit tests again.

Change-Id: Ie7aae36180472a0e913fb8275bccee3fbc6fe7d9

4 years agoMerge "Tests: Remove old TODO file and update README with integration notes"
jenkins-bot [Thu, 18 Jul 2019 05:35:53 +0000 (05:35 +0000)]
Merge "Tests: Remove old TODO file and update README with integration notes"

4 years agoMerge "Remove deprecated mw.Api.errors and mw.Api.warnings"
jenkins-bot [Thu, 18 Jul 2019 02:27:58 +0000 (02:27 +0000)]
Merge "Remove deprecated mw.Api.errors and mw.Api.warnings"

4 years agoMerge "installer: Remove <doclink/> parser function and last use of it"
jenkins-bot [Thu, 18 Jul 2019 02:18:35 +0000 (02:18 +0000)]
Merge "installer: Remove <doclink/> parser function and last use of it"

4 years agoMerge "objectcache: clean up RedisBagOStuff and optimize changeTTLMulti()"
jenkins-bot [Thu, 18 Jul 2019 02:07:31 +0000 (02:07 +0000)]
Merge "objectcache: clean up RedisBagOStuff and optimize changeTTLMulti()"

4 years agoobjectcache: clean up RedisBagOStuff and optimize changeTTLMulti()
Aaron Schulz [Tue, 2 Jul 2019 00:11:06 +0000 (17:11 -0700)]
objectcache: clean up RedisBagOStuff and optimize changeTTLMulti()

Also fix some IDEA warnings in redis classes and make it easy for IDEs
to recognize the Redis (phpredis) class calls to RedisConnRef proxies.

Bug: T113916
Change-Id: If45a37da412ac37e8c07dc3d1053826aa0a62077

4 years agoinstaller: Remove <doclink/> parser function and last use of it
Timo Tijhof [Thu, 18 Jul 2019 00:29:12 +0000 (01:29 +0100)]
installer: Remove <doclink/> parser function and last use of it

Pass the url to the Copying page as a message parameter instead.
This results in identical text and styling. Not even "external link"
vs plain link styling difference, because that doesn't exist in the
installer stylesheet.

The message is renamed in this commit because it is a breaking
change (due to <doclink> being removed, and due to $2 being
required).

Bug: T227297
Change-Id: I73efd9ecb193523a7e384a7a40c768d32b2361b8

4 years agoMerge "Remove pointless PermissionManager::revokeTemporaryUserRights method"
jenkins-bot [Thu, 18 Jul 2019 00:23:33 +0000 (00:23 +0000)]
Merge "Remove pointless PermissionManager::revokeTemporaryUserRights method"

4 years agoMerge "doMaintenance: Try to print errors to stderr"
jenkins-bot [Wed, 17 Jul 2019 23:58:31 +0000 (23:58 +0000)]
Merge "doMaintenance: Try to print errors to stderr"

4 years agoMerge "parser: add vary-revision-sha1 and related ParserOutput methods"
jenkins-bot [Wed, 17 Jul 2019 23:57:17 +0000 (23:57 +0000)]
Merge "parser: add vary-revision-sha1 and related ParserOutput methods"

4 years agoSeparate right for foreign user js redirects
Gergő Tisza [Thu, 1 Nov 2018 23:29:22 +0000 (16:29 -0700)]
Separate right for foreign user js redirects

Require a new editmyuserjsredirect permission for users to edit
Javascript redirects in their userspace when the redirect target
is not in their userspace (unless they have edituserjs and can
edit any user JS anyway). This is to prevent attacks where a
popular userscript has been moved into the system namespace or
another safe location but many users still load it through the
original userspace redirect, and the attacker manages to take
over the userspace by compromising the account or getting it
renamed.

Since this is only a concern on large community wikis, by
default all users have the editmyuserjsredirect permission.

Bug: T207750
Change-Id: I36a879d5da04cb6f49ed1bc40dbe144f6862c6a1
Depends-On: I072cf857c1fff4578402904aa9cb5a0c8833f16f

4 years agoRemove pointless PermissionManager::revokeTemporaryUserRights method
Gergő Tisza [Wed, 17 Jul 2019 12:00:21 +0000 (14:00 +0200)]
Remove pointless PermissionManager::revokeTemporaryUserRights method

Also add missing @since and make phpdoc formatting match (most) other
methods.

Change-Id: I087205ad23836f283e5ba291488a9bc1f4c3ce99

4 years agoMerge "Remember checkbox state on Special:Block if checkbox disabled"
jenkins-bot [Wed, 17 Jul 2019 20:44:38 +0000 (20:44 +0000)]
Merge "Remember checkbox state on Special:Block if checkbox disabled"

4 years agoMerge "rdbms: better handle a non-existing "defaultGroup" in LoadBalancer"
jenkins-bot [Wed, 17 Jul 2019 19:10:49 +0000 (19:10 +0000)]
Merge "rdbms: better handle a non-existing  "defaultGroup" in LoadBalancer"

4 years agoMerge "objectcache: relax WANObjectCache "pcTTL" nesting rule to allow set()"
jenkins-bot [Wed, 17 Jul 2019 17:53:32 +0000 (17:53 +0000)]
Merge "objectcache: relax WANObjectCache "pcTTL" nesting rule to allow set()"

4 years agoobjectcache: relax WANObjectCache "pcTTL" nesting rule to allow set()
Aaron Schulz [Tue, 16 Jul 2019 09:31:54 +0000 (02:31 -0700)]
objectcache: relax WANObjectCache "pcTTL" nesting rule to allow set()

As long as get()s are disallowed from the process cache, the sets() should
at least still be up-to-date, so there is little reason to prevent them.

Change-Id: Ic62c8380801130de7f8412cddcf85b246e33b3cd

4 years agoMerge "Exclude extensions/skins test directories from coverage analysis"
jenkins-bot [Wed, 17 Jul 2019 17:28:11 +0000 (17:28 +0000)]
Merge "Exclude extensions/skins test directories from coverage analysis"

4 years agoTests: Remove old TODO file and update README with integration notes
Kosta Harlan [Wed, 17 Jul 2019 17:00:54 +0000 (13:00 -0400)]
Tests: Remove old TODO file and update README with integration notes

Change-Id: I006a238f5241a70841f0d25ef7196f13654fb7ac

4 years agoMerge "externalstore: unbreak writes to non-default storage clusters due to isReadOnly()"
jenkins-bot [Wed, 17 Jul 2019 16:28:33 +0000 (16:28 +0000)]
Merge "externalstore: unbreak writes to non-default storage clusters due to isReadOnly()"

4 years agoExclude extensions/skins test directories from coverage analysis
Kosta Harlan [Wed, 17 Jul 2019 16:00:58 +0000 (12:00 -0400)]
Exclude extensions/skins test directories from coverage analysis

Follows-Up: I3d19627fa36f6cc6666c29fdb638272fdaa30630

Bug: T192078
Change-Id: I29dec891ee2327dde96dc293f3d9cda0e6a891fc

4 years agoMerge "Remove unused variable"
jenkins-bot [Wed, 17 Jul 2019 15:54:46 +0000 (15:54 +0000)]
Merge "Remove unused variable"

4 years agoMerge "Report more information about composite blocks in block error messages"
jenkins-bot [Wed, 17 Jul 2019 15:53:28 +0000 (15:53 +0000)]
Merge "Report more information about composite blocks in block error messages"

4 years agoReport more information about composite blocks in block error messages
Thalia [Wed, 3 Jul 2019 15:40:44 +0000 (16:40 +0100)]
Report more information about composite blocks in block error messages

For any messages that use CompositeBlock::getPermissionsError, include
details of the original blocks from which the composite block is made.

If there are any database blocks, give their IDs and also explain that
there may also be blocks due to IP blacklisting.

If there are no database blocks, then explain that the IP must be
blacklisted in multiple places.

Bug: T212326
Change-Id: Id6ad0019f8add4d5e000da5e872338e87cca485e

4 years agoRemove unused variable
Dayllan Maza [Wed, 17 Jul 2019 15:13:31 +0000 (11:13 -0400)]
Remove unused variable

Change-Id: I70c76e05e46f3432e580eb6e93d7a49ecfc5cfb4

4 years agoRemember checkbox state on Special:Block if checkbox disabled
Thalia [Mon, 15 Jul 2019 18:39:36 +0000 (19:39 +0100)]
Remember checkbox state on Special:Block if checkbox disabled

Many of the blocking options on Special:Block are only valid for
certain inputs. These options are represented with checkboxes. If
an option is not valid with the current form inputs, its checkbox
is disabled (and not submitted) and it is set to false by default.
To make this clear to the user, we uncheck the checkbox when it
is disabled.

This stores the value of the checkbox before it was disabled and
restores it if the checkbox is enabled again.

Bug: T221117
Change-Id: I3e52d7c3eb70f2798de3fb5ac3824d56e73306a6

4 years agoMessagesKo.php: periodic updates
Yongmin Hong [Wed, 17 Jul 2019 09:53:02 +0000 (18:53 +0900)]
MessagesKo.php: periodic updates

Add Mute and sort BlockList alphabetically.

Change-Id: I8125979b61e489b2c99af258254c4bb83675b9c4
Signed-off-by: Yongmin Hong <revi@pobox.com>
4 years agoparser: add vary-revision-sha1 and related ParserOutput methods
Aaron Schulz [Thu, 4 Jul 2019 10:01:31 +0000 (03:01 -0700)]
parser: add vary-revision-sha1 and related ParserOutput methods

This can be used to avoid double parsed on save if the prior output
can be reused in-spite of involving a self content reference.

Change-Id: Idcd30a3fa3f7012dac76ce8bbf46625453ae331f

4 years agoexternalstore: unbreak writes to non-default storage clusters due to isReadOnly()
Aaron Schulz [Wed, 17 Jul 2019 04:52:32 +0000 (21:52 -0700)]
externalstore: unbreak writes to non-default storage clusters due to isReadOnly()

Instead of telling ExternalStoreMedium classes the default write stores and using
that to make them read-only, let them be configured via other means. For example,
ExternalStoreMwstore already respects FileBackend::isReadOnly() for each location
(e.g. file backends) and ExternalStoreDB checks LoadBalancer::getReadOnlyMode()
for each location (e.g. DB cluster).

Make ExternalStoreAccess::isReadOnly() take a list of base URLs, default to the
default write stores if not specified.

Bug: T227156
Change-Id: I3161890fb2ccb46d6206628f0cd88f8af9f1688c
Follows-Up: I40c3b5534fc8a31116c4c5eb64ee6e4903a6197a

4 years agoMerge "Add mechanism for temporary user rights"
jenkins-bot [Wed, 17 Jul 2019 02:06:04 +0000 (02:06 +0000)]
Merge "Add mechanism for temporary user rights"

4 years agoAdd mechanism for temporary user rights
Gergő Tisza [Thu, 11 Jul 2019 17:22:20 +0000 (19:22 +0200)]
Add mechanism for temporary user rights

Add a mechanism for adding temporary user rights that only exist
for the current request. This is occasionally needed to let normal
users act with a bot flag; traditionally the fact that User::$mRights
was public has been abused to do it, but I88992403 broke that.

Bug: T227772
Change-Id: Ife8f9d8affa750701e4e5d646ed8cd153c1d867b

4 years agoHard-deprecate wgProfileOnly, deprecated in 1.23
James D. Forrester [Fri, 12 Jul 2019 23:42:09 +0000 (16:42 -0700)]
Hard-deprecate wgProfileOnly, deprecated in 1.23

Change-Id: I1b66931ca0d3ae3e044b14f5b97dd98861ec5e23

4 years agoHard-deprecate wgLocalInterwiki, deprecated in 1.23
James D. Forrester [Fri, 12 Jul 2019 23:40:51 +0000 (16:40 -0700)]
Hard-deprecate wgLocalInterwiki, deprecated in 1.23

Change-Id: Ib18c3122c4d9b8a50d314f67004cc73b8c14d40e

4 years agoMerge "Hard-deprecate wgSkipSkin, deprecated in 1.23"
jenkins-bot [Wed, 17 Jul 2019 01:13:24 +0000 (01:13 +0000)]
Merge "Hard-deprecate wgSkipSkin, deprecated in 1.23"

4 years agoMerge "Update OOUI to v0.33.3"
jenkins-bot [Wed, 17 Jul 2019 00:00:37 +0000 (00:00 +0000)]
Merge "Update OOUI to v0.33.3"

4 years agoMerge "Fix OO.ui.infuse error on misc-authed-ooui module"
jenkins-bot [Tue, 16 Jul 2019 23:25:07 +0000 (23:25 +0000)]
Merge "Fix OO.ui.infuse error on misc-authed-ooui module"

4 years agoFix OO.ui.infuse error on misc-authed-ooui module
Dayllan Maza [Mon, 15 Jul 2019 20:04:38 +0000 (16:04 -0400)]
Fix OO.ui.infuse error on misc-authed-ooui module

Follows-up 419849211e3a63.

Change-Id: I1e22c70fa8c467212a02b508c68a17abf79a77e8

4 years agoMerge "Add mute preferences link to the tools menu"
jenkins-bot [Tue, 16 Jul 2019 22:43:22 +0000 (22:43 +0000)]
Merge "Add mute preferences link to the tools menu"

4 years agoMerge "Check namespace exists in HTMLNamespacesMultiselectField validation"
jenkins-bot [Tue, 16 Jul 2019 22:12:17 +0000 (22:12 +0000)]
Merge "Check namespace exists in HTMLNamespacesMultiselectField validation"

4 years agoUpdate OOUI to v0.33.3
Volker E [Tue, 16 Jul 2019 21:59:51 +0000 (14:59 -0700)]
Update OOUI to v0.33.3

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

Bug: T212159
Bug: T225021
Bug: T226045
Bug: T226780
Bug: T226822
Bug: T227666
Bug: T227917
Depends-On: I7dde9d02f94c4e78ef480035d3887b68d0128233
Change-Id: I7800da87a6a10399f705b43e05c8592c766bae6f

4 years agoAdd mute preferences link to the tools menu
Dayllan Maza [Wed, 10 Jul 2019 17:47:07 +0000 (13:47 -0400)]
Add mute preferences link to the tools menu

A link to Special:Mute is added to the tools menu on the sidebar
if the user is logged in and a registered relevant-user* is found
Mute preferences link will not be shown if $wgEnableSpecialMute is false

* From Skin::getRelevantUser: Special pages like Special:Contributions mark
  the user which  they are relevant to so that things like the toolbox can
  display the information they usually are only able to display on a
  user's userpage and talkpage.

Bug: T218270
Change-Id: I89eb8373963d28d52a026b60aa42d1c64b31b7c6

4 years agordbms: better handle a non-existing "defaultGroup" in LoadBalancer
Aaron Schulz [Mon, 15 Jul 2019 23:59:21 +0000 (16:59 -0700)]
rdbms: better handle a non-existing  "defaultGroup" in LoadBalancer

If the specified default group does not have a corresponding server load map
defined, then ignore it and use GROUP_GENERIC.

Also, consolidate the group load and group reader index code for simplicity

Change-Id: Ic8bf9a3ebcbffb81fb14d7b1787a2adb97ac525d

4 years agoCheck namespace exists in HTMLNamespacesMultiselectField validation
Thalia [Tue, 16 Jul 2019 17:07:10 +0000 (18:07 +0100)]
Check namespace exists in HTMLNamespacesMultiselectField validation

Bug: T219882
Change-Id: I710d0abed6bd40dcea5bdd1c59c8d936565961eb

4 years agoRemove deprecated mw.Api.errors and mw.Api.warnings
Fomafix [Tue, 16 Jul 2019 15:36:30 +0000 (17:36 +0200)]
Remove deprecated mw.Api.errors and mw.Api.warnings

This static properties are deprecated since 1.29.

Change-Id: Iaf3de57105d04497026305c27cd1d745820657a4

4 years agoMerge "Revert "RedirectSpecialPage: handle interwiki redirects.""
jenkins-bot [Tue, 16 Jul 2019 12:03:05 +0000 (12:03 +0000)]
Merge "Revert "RedirectSpecialPage: handle interwiki redirects.""

4 years agoRevert "RedirectSpecialPage: handle interwiki redirects."
Krinkle [Tue, 16 Jul 2019 11:50:30 +0000 (11:50 +0000)]
Revert "RedirectSpecialPage: handle interwiki redirects."

This reverts commit 41106688abbe6dfff61c5642924ced42af3f0d33.

The original case is changed by this commit from a MediaWiki fatal
exception with HTTP 500, to a blank 200 response due to silent
failure. Use of GoToInterwiki appears to be invalid at this point in
the code. Reverting to keep prod the same as last week, so as
to unblock the train.

Bug: T227700
Change-Id: Ieece956d2e2e4c21b5ed7a75890b9f11eaf07e66

4 years agodoMaintenance: Try to print errors to stderr
Marius Hoch [Tue, 16 Jul 2019 11:15:57 +0000 (13:15 +0200)]
doMaintenance: Try to print errors to stderr

Don't mix them in with stdout (which might be redirected,
like dump output, making the errors hard to discover).

Change-Id: Ibed8c0e8dde3e44de60bf32abd3fc5ce5d29e1ba

4 years agoMerge "resourceloader: Replace some Xml::encodeJs calls with RL's own encodeJson"
jenkins-bot [Tue, 16 Jul 2019 06:26:42 +0000 (06:26 +0000)]
Merge "resourceloader: Replace some Xml::encodeJs calls with RL's own encodeJson"

4 years agoLinker: Force type Language for $lang in tocList and generateTOC
Fomafix [Tue, 5 Jun 2018 11:46:57 +0000 (13:46 +0200)]
Linker: Force type Language for $lang in tocList and generateTOC

The call of wfGetLangObj( $lang ) is not necessary anymore.

$lang still defaults to user interface language on unset parameter.

This change is a follow-up to I15b65fec987641885374dfef9e1229ea405f7c30.

Change-Id: I6f12097a0e6cf7d6035d1164092c8b87c58e2bee

4 years agoobjectcache: optimize MemcachedPeclBagOStuff::*Multi() write methods
Aaron Schulz [Sun, 30 Jun 2019 00:41:46 +0000 (17:41 -0700)]
objectcache: optimize MemcachedPeclBagOStuff::*Multi() write methods

Make use of Memcached::OPT_NO_BLOCK and Memcached::OPT_BUFFER_WRITES
at selective points to avoid slow internal blocking for loops in the
PECL extension methods. As this mode makes the return values less
meaningful, this is only triggered only if WRITE_BACKGROUND is
provided (it only catches some glaring format or size errors that the
client runs into).

Leave changeTTLMulti() to the default as the above approach would not
make it faster, since the diver does not buffer for that command.

Expand mctest.php to include *Multi() methods and also break down the
single key method timings by method.

Change-Id: I11fc58e1a2296778b2526a0b2f3103fef1baba0c

4 years agoMerge "resourceloader: Remove support for 'object' in wgResourceModules"
jenkins-bot [Tue, 16 Jul 2019 00:29:27 +0000 (00:29 +0000)]
Merge "resourceloader: Remove support for 'object' in wgResourceModules"

4 years agoresourceloader: Replace some Xml::encodeJs calls with RL's own encodeJson
Timo Tijhof [Tue, 16 Jul 2019 00:15:32 +0000 (01:15 +0100)]
resourceloader: Replace some Xml::encodeJs calls with RL's own encodeJson

Bug: T32956
Change-Id: I614fe0e80ff308b857639a27d7772f969899b468

4 years agoMerge "Remove $purgeBlobs parameter from LocalisationCacheRecache hook"
jenkins-bot [Tue, 16 Jul 2019 00:13:53 +0000 (00:13 +0000)]
Merge "Remove $purgeBlobs parameter from LocalisationCacheRecache hook"

4 years agoMerge "Add ImgAuthModifyHeaders hook to img_auth.php to modify headers"
markahershberger [Tue, 16 Jul 2019 00:03:12 +0000 (00:03 +0000)]
Merge "Add ImgAuthModifyHeaders hook to img_auth.php to modify headers"

4 years agoresourceloader: Remove support for 'object' in wgResourceModules
Timo Tijhof [Thu, 11 Jul 2019 17:09:23 +0000 (18:09 +0100)]
resourceloader: Remove support for 'object' in wgResourceModules

Obsolete since MediaWiki 1.17alpha, no known usage since.

Bug: T222637
Change-Id: Ie820b16022ced6767c32aee7f2497a99260b1641

4 years agoMerge "resourceloader: Add test coverage for WikiModule::getType"
jenkins-bot [Mon, 15 Jul 2019 22:55:49 +0000 (22:55 +0000)]
Merge "resourceloader: Add test coverage for WikiModule::getType"