lhc/web/wiklou.git
4 years agoMerge "Allow skins/extensions to define custom OOUI themes"
jenkins-bot [Mon, 15 Jul 2019 20:21:01 +0000 (20:21 +0000)]
Merge "Allow skins/extensions to define custom OOUI themes"

4 years agoMerge "Drop remnants of wgHtml5/wgJsMimeType/wgXhtmlDefaultNamespace support, killed...
jenkins-bot [Mon, 15 Jul 2019 20:09:10 +0000 (20:09 +0000)]
Merge "Drop remnants of wgHtml5/wgJsMimeType/wgXhtmlDefaultNamespace support, killed in 1.22"

4 years agoDrop remnants of wgHtml5/wgJsMimeType/wgXhtmlDefaultNamespace support, killed in...
James D. Forrester [Fri, 12 Jul 2019 23:30:07 +0000 (16:30 -0700)]
Drop remnants of wgHtml5/wgJsMimeType/wgXhtmlDefaultNamespace support, killed in 1.22

Change-Id: I6bb849543fb3cfd50a4d99bb6a69e228913b9def

4 years agoMerge "Add change-tags to MessagePoster"
jenkins-bot [Mon, 15 Jul 2019 18:40:11 +0000 (18:40 +0000)]
Merge "Add change-tags to MessagePoster"

4 years agoMerge "Add success variables to message group and unify values"
jenkins-bot [Mon, 15 Jul 2019 17:33:32 +0000 (17:33 +0000)]
Merge "Add success variables to message group and unify values"

4 years agoMerge "objectcache: make getMultiWith(Union)SetCallback() usage easier"
jenkins-bot [Mon, 15 Jul 2019 17:26:45 +0000 (17:26 +0000)]
Merge "objectcache: make getMultiWith(Union)SetCallback() usage easier"

4 years agoMerge "objectcache: add regen_walltime metric to WANObjectCache::getWithSetCallback()"
jenkins-bot [Mon, 15 Jul 2019 15:48:04 +0000 (15:48 +0000)]
Merge "objectcache: add regen_walltime metric to WANObjectCache::getWithSetCallback()"

4 years agoMerge "Allow setting email even when blocked from sending emails"
jenkins-bot [Mon, 15 Jul 2019 14:07:50 +0000 (14:07 +0000)]
Merge "Allow setting email even when blocked from sending emails"

4 years agoAdd success variables to message group and unify values
Volker E [Mon, 15 Jul 2019 12:34:56 +0000 (05:34 -0700)]
Add success variables to message group and unify values

Adding `@*success` variables to “Message” variable group and
unifying values with Style Guide.
Also renaming `@colorErrorText` to @colorError` &
`@colorWarningText` to @colorWarning` to stay in naming
convention.

Bug: T226795
Change-Id: I49ca4b8f510888dff7a2487470174666143bcd76

4 years agoMerge "resourceloader: Speed up dependency checks in structure/ResourcesTest"
jenkins-bot [Mon, 15 Jul 2019 02:30:01 +0000 (02:30 +0000)]
Merge "resourceloader: Speed up dependency checks in structure/ResourcesTest"

4 years agoAdd change-tags to MessagePoster
Sam Wilson [Thu, 11 Jul 2019 04:59:32 +0000 (12:59 +0800)]
Add change-tags to MessagePoster

Add the ability to add change tags to talk page messages submitted
via wikitext MessagePoster, via a new 'options' parameter to the post()
function.

Bug: T227161
Change-Id: I80c401c56e231b34822791faffebc84d4933b922

4 years agoresourceloader: Speed up dependency checks in structure/ResourcesTest
Timo Tijhof [Sun, 14 Jul 2019 23:49:30 +0000 (00:49 +0100)]
resourceloader: Speed up dependency checks in structure/ResourcesTest

Stats from wmf-quibble-core-vendor-mysql-php72-docker builds.
Before:
* testIllegalDependencies (+21ms)
* testMissingDependencies (+254ms)
After:
* testValidDependencies (+17ms)

Bug: T225730
Change-Id: Idf760a27c7ad16d4838ae82e7895b659934fbf93

4 years agoMerge "Load GlobalFunctions.php to tests/phpunit/bootstrap.php"
jenkins-bot [Mon, 15 Jul 2019 01:56:45 +0000 (01:56 +0000)]
Merge "Load GlobalFunctions.php to tests/phpunit/bootstrap.php"

4 years agoMerge "resourceloader: Remove register() 'object' use in OutputPageTest"
jenkins-bot [Mon, 15 Jul 2019 01:56:36 +0000 (01:56 +0000)]
Merge "resourceloader: Remove register() 'object' use in OutputPageTest"

4 years agoMerge "Split HttpTest and SessionTest to unit and integration"
jenkins-bot [Sun, 14 Jul 2019 23:40:17 +0000 (23:40 +0000)]
Merge "Split HttpTest and SessionTest to unit and integration"

4 years agoMerge "tests: Move unit/languages to unit/includes/language"
jenkins-bot [Sun, 14 Jul 2019 23:36:24 +0000 (23:36 +0000)]
Merge "tests: Move unit/languages to unit/includes/language"

4 years agotests: Move unit/languages to unit/includes/language
Timo Tijhof [Sun, 14 Jul 2019 19:57:00 +0000 (20:57 +0100)]
tests: Move unit/languages to unit/includes/language

These source classes they test were also moved from
languages/ to includes/languages/.

Bug: T225756
Change-Id: I6931d459bbfa243d2a28f391f92bce70f1e52256

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 14 Jul 2019 20:16:41 +0000 (22:16 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I530ffee4e3aa0dd4b1e38ca12f70d02ad5c5447e

4 years agoresourceloader: Remove register() 'object' use in OutputPageTest
Timo Tijhof [Fri, 12 Jul 2019 17:30:06 +0000 (18:30 +0100)]
resourceloader: Remove register() 'object' use in OutputPageTest

Follows-up d6dd6e4d7220a7b, missed one :)

Bug: T222637
Change-Id: I105772d655ce1b64e3eb1d6222b57adfb69ec51d

4 years agoMerge "Setup: Remove $wgDebugPrintHttpHeaders option"
jenkins-bot [Sun, 14 Jul 2019 17:18:35 +0000 (17:18 +0000)]
Merge "Setup: Remove $wgDebugPrintHttpHeaders option"

4 years agoobjectcache: add regen_walltime metric to WANObjectCache::getWithSetCallback()
Aaron Schulz [Fri, 12 Jul 2019 18:24:51 +0000 (11:24 -0700)]
objectcache: add regen_walltime metric to WANObjectCache::getWithSetCallback()

Change-Id: I7918a6ed7a5d3d845c640aeeb78c88f1345f5157

4 years agoMerge "Import PSR NullLogger instead of using absolute class references"
jenkins-bot [Sun, 14 Jul 2019 17:03:37 +0000 (17:03 +0000)]
Merge "Import PSR NullLogger instead of using absolute class references"

4 years agoobjectcache: make getMultiWith(Union)SetCallback() usage easier
Aaron Schulz [Fri, 12 Jul 2019 22:48:25 +0000 (15:48 -0700)]
objectcache: make getMultiWith(Union)SetCallback() usage easier

Add WANObjectCache::multiRemap() as an array_combine() wrapper for
easily working with IDs after getMultiWith(Union)SetCallback() calls.
Make the enforcement of uniqueness in makeMultiKeys() stricter and
discourage poor key design in comments. Add WANObjectCache::hash256()
method for getting good key component hashes.

Also avoid pointless use of ArrayIterator::getArrayCopy().

Change-Id: I61ffdbf4af4374864bac180df590b4dddc8da56b

4 years agoRaise default reqTimeout in MultiHttpClient
Martin Urbanec [Sun, 14 Jul 2019 13:02:19 +0000 (15:02 +0200)]
Raise default reqTimeout in MultiHttpClient

Bug: T226979
Change-Id: If55329ff561ab3facdba5a89fd429577d986c43e

4 years agoMerge "When title contains only slashes, Title::getRootText() shouldn't return false"
jenkins-bot [Sun, 14 Jul 2019 12:40:30 +0000 (12:40 +0000)]
Merge "When title contains only slashes, Title::getRootText() shouldn't return false"

4 years agoWhen title contains only slashes, Title::getRootText() shouldn't return false
Martin Urbanec [Sat, 13 Jul 2019 22:27:43 +0000 (00:27 +0200)]
When title contains only slashes, Title::getRootText() shouldn't return false

Otherwise, Title::makeTitleSafe() will return null, which
breaks the assumption that Title::makeTitleSafe() always
returns something meaningful for strings
returned by Title::getRootText().

Bug: T227816
Change-Id: If79a12bb8d23f1eafc10017d56c62566f39347ad

4 years agoImport PSR NullLogger instead of using absolute class references
Aaron Schulz [Fri, 28 Jun 2019 16:45:15 +0000 (09:45 -0700)]
Import PSR NullLogger instead of using absolute class references

Change-Id: Ie09170f51e203e0a4c9a780a53cc9f3829139c31

4 years agoRemove $wgSiteStatsAsyncFactor feature and related $wgMainStash use
Aaron Schulz [Sat, 6 Jul 2019 20:36:43 +0000 (13:36 -0700)]
Remove $wgSiteStatsAsyncFactor feature and related $wgMainStash use

Also include ss_row_id = 1 in the UPDATE query to avoid gap locks

Bug: T227376
Change-Id: I7b730bab05e6d8b6799b623e0aff089c1103c3c2

4 years agoMerge "objectcache: make BagOStuff::getMulti() preserve order and omit keys with...
jenkins-bot [Sun, 14 Jul 2019 00:44:37 +0000 (00:44 +0000)]
Merge "objectcache: make BagOStuff::getMulti() preserve order and omit keys with missing segments"

4 years agoobjectcache: make BagOStuff::getMulti() preserve order and omit keys with missing...
Aaron Schulz [Sat, 13 Jul 2019 20:16:44 +0000 (13:16 -0700)]
objectcache: make BagOStuff::getMulti() preserve order and omit keys with missing segments

A key missing segments should count as non-existing, meaning that it should
not appear in the return value at all

Change-Id: I0f08b3dba77e0d335ebb2d75061927ebd36570d2

4 years agoMerge "Removed deprecated WikiMap::getWikiIdFromDomain() method"
jenkins-bot [Sun, 14 Jul 2019 00:31:23 +0000 (00:31 +0000)]
Merge "Removed deprecated WikiMap::getWikiIdFromDomain() method"

4 years agoMerge "Switch various LoadBalancer::getConnection() callers to getConnectionRef()"
jenkins-bot [Sun, 14 Jul 2019 00:22:39 +0000 (00:22 +0000)]
Merge "Switch various LoadBalancer::getConnection() callers to getConnectionRef()"

4 years agoRemoved deprecated WikiMap::getWikiIdFromDomain() method
Aaron Schulz [Wed, 3 Jul 2019 16:51:23 +0000 (09:51 -0700)]
Removed deprecated WikiMap::getWikiIdFromDomain() method

Also simplify WikiMap::isCurrentWikiDbDomain() slightly

Change-Id: I21358c5e5ae1d229228fc416894f50b4ee444182

4 years agoMerge "objectcache: fix race conditions in RedisBagOStuff::incr()"
jenkins-bot [Sat, 13 Jul 2019 23:57:32 +0000 (23:57 +0000)]
Merge "objectcache: fix race conditions in RedisBagOStuff::incr()"

4 years agoobjectcache: fix race conditions in RedisBagOStuff::incr()
Aaron Schulz [Fri, 12 Jul 2019 15:29:10 +0000 (08:29 -0700)]
objectcache: fix race conditions in RedisBagOStuff::incr()

The exist() check was not atomic, so a non-expiring TTL could be
make by mistake on race conditions. Use the redis WATCH command
for CAS-style atomicity of the exists()/incrBy() cycle.

Also optimized RedisBagOStuff::incrWithInit().

Change-Id: Ia003e054a41d4b4bbe73508e39d6606d8cc47291

4 years agoMerge "jobqueue: migrate root job deduplication to the WAN cache"
jenkins-bot [Sat, 13 Jul 2019 23:30:56 +0000 (23:30 +0000)]
Merge "jobqueue: migrate root job deduplication to the WAN cache"

4 years agoLoad GlobalFunctions.php to tests/phpunit/bootstrap.php
Amir Sarabadani [Sat, 13 Jul 2019 20:50:28 +0000 (22:50 +0200)]
Load GlobalFunctions.php to tests/phpunit/bootstrap.php

That mostly enables testing global functions

Bug: T87781
Change-Id: Ib42c56a67926ebcdba53f4c6c54a5bff98cb77a3

4 years agoMerge "rdbms: fix some phpstorm warnings database classes"
jenkins-bot [Sat, 13 Jul 2019 23:22:51 +0000 (23:22 +0000)]
Merge "rdbms: fix some phpstorm warnings database classes"

4 years agojobqueue: migrate root job deduplication to the WAN cache
Aaron Schulz [Sat, 6 Jul 2019 05:43:45 +0000 (22:43 -0700)]
jobqueue: migrate root job deduplication to the WAN cache

If the root job timestamp keys are lost or otherwise unknown, they
will now be deductively recached with the best known values as jobs
are popped and executed. This means the running any of many child
jobs of a root job can restore the root timestamp if it was lost.
This does not need to use the main stash given this fact.

Bug: T227376
Change-Id: Iae0f3af15803af048ff49f3bf281b2bde18c87f2

4 years agoobjectcache: only process cache non-LB connections in SqlBagOStuff
Aaron Schulz [Sat, 13 Jul 2019 21:52:15 +0000 (14:52 -0700)]
objectcache: only process cache non-LB connections in SqlBagOStuff

LB should manage any such process caching otherwise as it owns the handles

Change-Id: Ic9cd84c7c3cba790eb127e70f6506270e5bec2a1

4 years agordbms: fix some phpstorm warnings database classes
Aaron Schulz [Fri, 3 May 2019 19:19:18 +0000 (12:19 -0700)]
rdbms: fix some phpstorm warnings database classes

Change-Id: Ib3b8aaadda8101ed82158b1260f10f6d7be16783

4 years agoMove the showMissingArticle() cache from $wgMainStash to "db-replicated"
Aaron Schulz [Sat, 6 Jul 2019 07:08:39 +0000 (00:08 -0700)]
Move the showMissingArticle() cache from $wgMainStash to "db-replicated"

Bug: T227376
Change-Id: Ice3b3b1bc8a09f66c4f02bb233a1992ed6d46ab7

4 years agoMerge "upload: move UploadBase status store from $wgMainStash to "db-replicated""
jenkins-bot [Sat, 13 Jul 2019 21:34:34 +0000 (21:34 +0000)]
Merge "upload: move UploadBase status store from $wgMainStash to "db-replicated""

4 years agoMerge "objectcache: Hard deprecate `ObjectCache::getMainWANInstance()`"
jenkins-bot [Sat, 13 Jul 2019 21:34:28 +0000 (21:34 +0000)]
Merge "objectcache: Hard deprecate `ObjectCache::getMainWANInstance()`"

4 years agoSetup: Remove $wgDebugPrintHttpHeaders option
Timo Tijhof [Sat, 13 Jul 2019 01:08:30 +0000 (02:08 +0100)]
Setup: Remove $wgDebugPrintHttpHeaders option

This is always true and has been for years. I don't know of any
reason why someone would want to disable it, as the information
is only ever logged when the debug log is enabled, at which point
why not?

Bug: T189966
Change-Id: I17b9f564a61a0f76f2fc8c0006dc13997857829a

4 years agoupload: move UploadBase status store from $wgMainStash to "db-replicated"
Aaron Schulz [Sat, 6 Jul 2019 06:00:53 +0000 (23:00 -0700)]
upload: move UploadBase status store from $wgMainStash to "db-replicated"

This is only triggered for chunked uploads and does not need anything
more special the local objectcache table.

Also add comments and fix numerous IDEA warnings.

Bug: T227376
Change-Id: Ia61855293a265306c5a27a9dfc0139c4d0b04c4f

4 years agoSplit HttpTest and SessionTest to unit and integration
Amir Sarabadani [Thu, 11 Jul 2019 18:56:41 +0000 (20:56 +0200)]
Split HttpTest and SessionTest to unit and integration

This way it moves 73 more tests to unit tests

Bug: T87781
Change-Id: I963488450bb355573d71ae31b57d71683ce51683

4 years agoMerge "Chinese Conversion Table Update 2019-2"
jenkins-bot [Sat, 13 Jul 2019 18:33:04 +0000 (18:33 +0000)]
Merge "Chinese Conversion Table Update 2019-2"

4 years agoMerge "Title: Title::getSubpage should not lose the interwiki prefix"
jenkins-bot [Sat, 13 Jul 2019 18:02:27 +0000 (18:02 +0000)]
Merge "Title: Title::getSubpage should not lose the interwiki prefix"

4 years agoTitle: Title::getSubpage should not lose the interwiki prefix
daniel [Fri, 12 Jul 2019 10:21:44 +0000 (12:21 +0200)]
Title: Title::getSubpage should not lose the interwiki prefix

This issue was discovered while investigating T227700, and added some
confusion. This patch is necessary for Special:MyLanguage to behave
correctly in all cases, but it's not necessary for fixing the primary
critical problem.

Bug: T227700
Change-Id: Ib4cbeec47a877c473cbd501cc964cc66d169b99e

4 years agostorage: remove wfWikiId() call from RevisionStore::checkDatabaseDomain()
Aaron Schulz [Thu, 4 Jul 2019 07:46:39 +0000 (00:46 -0700)]
storage: remove wfWikiId() call from RevisionStore::checkDatabaseDomain()

This should only already be comparing DB domains

Change-Id: If2d40fe1ce4698d71d8a29f8a43b40a8fbb746e8

4 years agoMerge "Setup: Make wfMemoryLimit() internal and simplify"
jenkins-bot [Sat, 13 Jul 2019 02:27:43 +0000 (02:27 +0000)]
Merge "Setup: Make wfMemoryLimit() internal and simplify"

4 years agoMerge "Setup: Move mb_internal_encoding() call earlier"
jenkins-bot [Sat, 13 Jul 2019 02:25:54 +0000 (02:25 +0000)]
Merge "Setup: Move mb_internal_encoding() call earlier"

4 years agoMerge "rdbms: switch to AtEast warning suppression in Database classes"
jenkins-bot [Sat, 13 Jul 2019 02:06:55 +0000 (02:06 +0000)]
Merge "rdbms: switch to AtEast warning suppression in Database classes"

4 years agordbms: switch to AtEast warning suppression in Database classes
Aaron Schulz [Thu, 11 Jul 2019 09:32:27 +0000 (02:32 -0700)]
rdbms: switch to AtEast warning suppression in Database classes

Change-Id: Ia32f1ba048a540438f78b11a1e94f80acfc7bf50

4 years agoSetup: Make wfMemoryLimit() internal and simplify
Timo Tijhof [Sat, 13 Jul 2019 01:05:54 +0000 (02:05 +0100)]
Setup: Make wfMemoryLimit() internal and simplify

Bug: T189966
Change-Id: I4fa3d66dbf2e2d05a0d1868329a16dfb1959498f

4 years agoMerge "objectcache: Document WANObjectCache statsd metrics"
Krinkle [Sat, 13 Jul 2019 00:48:56 +0000 (00:48 +0000)]
Merge "objectcache: Document WANObjectCache statsd metrics"

4 years agoSetup: Move mb_internal_encoding() call earlier
Timo Tijhof [Sat, 13 Jul 2019 00:46:56 +0000 (01:46 +0100)]
Setup: Move mb_internal_encoding() call earlier

This is an unconditional and unconfigurable changes to PHP behaviour.
The earlier the better so that there is less code that can run
without it.

Also improve some documentation of other setup logic bits being
documented by the referenced task.

Bug: T189966
Change-Id: Ia8e1478cf0841d80b1c61c266f2ece75be2303e1

4 years agoMerge "Drop ChangePasswordForm hook, deprecated in 1.27"
jenkins-bot [Sat, 13 Jul 2019 00:32:46 +0000 (00:32 +0000)]
Merge "Drop ChangePasswordForm hook, deprecated in 1.27"

4 years agoMerge "Bring legacy/mediawiki.ui messages closer to Style Guide & ensure contrast"
jenkins-bot [Fri, 12 Jul 2019 18:59:04 +0000 (18:59 +0000)]
Merge "Bring legacy/mediawiki.ui messages closer to Style Guide & ensure contrast"

4 years agoobjectcache: Document WANObjectCache statsd metrics
Timo Tijhof [Sat, 1 Jun 2019 19:06:44 +0000 (20:06 +0100)]
objectcache: Document WANObjectCache statsd metrics

Bug: T197849
Change-Id: If0211f512500cce0decd70cebfe8c5731e85478b

4 years agoMerge "objectcache: move version numbers to the main wrapper in WANObjectCache"
jenkins-bot [Fri, 12 Jul 2019 18:16:10 +0000 (18:16 +0000)]
Merge "objectcache: move version numbers to the main wrapper in WANObjectCache"

4 years agoSwitch various LoadBalancer::getConnection() callers to getConnectionRef()
Aaron Schulz [Fri, 28 Jun 2019 16:40:05 +0000 (09:40 -0700)]
Switch various LoadBalancer::getConnection() callers to getConnectionRef()

This is the preferred method as it enforces read-only mode for DB_REPLICA
and handles LoadBalancer::reuseConnection() calls automatically.

Change-Id: Iab9439ba8e0810fa14c302661ed7a3534f6bfc0d

4 years agoBring legacy/mediawiki.ui messages closer to Style Guide & ensure contrast
Volker E [Fri, 28 Jun 2019 04:45:13 +0000 (21:45 -0700)]
Bring legacy/mediawiki.ui messages closer to Style Guide & ensure contrast

Also updating mediawiki.ui variables and reflecting WikimediaUI Base
variable name structure for future merge.

Bug: T226795
Change-Id: Ifd01161f718f35fb3cce94efdad43a069ae8ae13

4 years agoDrop ChangePasswordForm hook, deprecated in 1.27
James D. Forrester [Tue, 2 Jul 2019 21:30:39 +0000 (14:30 -0700)]
Drop ChangePasswordForm hook, deprecated in 1.27

Change-Id: Ia9281596e0d620b360ccd6cb7392d9516b9240b8

4 years agoMerge "Migrate various callers away from wfWikiId() to WikiMap"
jenkins-bot [Fri, 12 Jul 2019 17:33:51 +0000 (17:33 +0000)]
Merge "Migrate various callers away from wfWikiId() to WikiMap"

4 years agordbms: add ILoadBalancer::getReplicaResumePos method
Aaron Schulz [Tue, 18 Jun 2019 23:57:32 +0000 (00:57 +0100)]
rdbms: add ILoadBalancer::getReplicaResumePos method

This does what ChronologyProtector wants more rigorously and is better
named. Not all replica servers will have the same position, so they
should be compared to get the highest one.

Simplify the getMasterPos() method to only return master positions
as the other current callers do not need anything else. It will now
connect if needed as well. This should make the method naming better.

Reducing the use of replica derived replication postitions (instead
of those from the master) makes certain GTID issues less likely,
such as the matter of obsolete domain IDs.

Increase general test coverage of LoadBalancer.

Bug: T224422
Change-Id: I5420721ee339a24d09c26c38709500c7bbe797c2

4 years agoMerge "rdbms: better normalize and document constructor $params in Database"
jenkins-bot [Fri, 12 Jul 2019 16:58:38 +0000 (16:58 +0000)]
Merge "rdbms: better normalize and document constructor $params in Database"

4 years agordbms: better normalize and document constructor $params in Database
Aaron Schulz [Thu, 11 Jul 2019 20:41:52 +0000 (13:41 -0700)]
rdbms: better normalize and document constructor $params in Database

Change-Id: I6531cd3a34d7d6bdf277db779301d88ca1e45a95

4 years agoFix stale client caching of history pages with $wgShowUpdateMarker enabled
Aaron Schulz [Thu, 9 May 2019 00:21:36 +0000 (17:21 -0700)]
Fix stale client caching of history pages with $wgShowUpdateMarker enabled

Change-Id: I5b9d986e4f34166f2a1602129d2e01573bfe7ac5

4 years agoMerge "Add helper for HTTPFileStreamer header syntax"
jenkins-bot [Fri, 12 Jul 2019 16:07:54 +0000 (16:07 +0000)]
Merge "Add helper for HTTPFileStreamer header syntax"

4 years agoMerge "Update wikimedia/object-factory to 2.1.0"
jenkins-bot [Fri, 12 Jul 2019 15:33:57 +0000 (15:33 +0000)]
Merge "Update wikimedia/object-factory to 2.1.0"

4 years agoUpdate wikimedia/object-factory to 2.1.0
Gergő Tisza [Fri, 12 Jul 2019 14:47:38 +0000 (16:47 +0200)]
Update wikimedia/object-factory to 2.1.0

Vendor patch: I5571d3ea4b50a866b2444af648b22b1c5a1b5ebe

Change-Id: If5884a31c3f468fc55502c27e978f2eb2668441d

4 years agoMerge "RedirectSpecialPage: handle interwiki redirects."
jenkins-bot [Fri, 12 Jul 2019 12:53:36 +0000 (12:53 +0000)]
Merge "RedirectSpecialPage: handle interwiki redirects."

4 years agoRedirectSpecialPage: handle interwiki redirects.
daniel [Fri, 12 Jul 2019 10:13:33 +0000 (12:13 +0200)]
RedirectSpecialPage: handle interwiki redirects.

Previously, WikiPage::performRequest() would assume that Titles returned
by RedirectSpecialPage::getRedirect() are local pages, and would set
$wgTitle to whatever was returned. That would lead to a confused state
where the skin would try to render for an interwiki Title.

Instead, WikiPage::performRequest() should wrap the interwiki redirect
in a call to Special:GoToInterwiki/xyz, just like
Title::getFullUrlForRedirect() does, but still avoid the HTTP redirect,
to avoid leaking private information via view counters (T109724).

There are two things to test:
1) call Special:MyLanguage with an interwiki prefix,
   e.g. Special:MyLanguage/wikipedia:XYZ.
2) create a page that contains an interwiki redirect,
   e.g. #REDIRECT [[wikipedia:XYZ]], then call Special:MyLanguage
   for that page.

For these tests, the user language should be the same as the content
language. That is the critical case. If the user language differs
from the content language, the problem would be obscured by another
bug which is addressed by Ib4cbeec47a877c473.

Bug: T227700
Change-Id: I2852c5a9774f0c76e49f1e3876fcfe85a305f9ce

4 years agoMerge "Some fixes to page updater docs"
jenkins-bot [Fri, 12 Jul 2019 08:40:28 +0000 (08:40 +0000)]
Merge "Some fixes to page updater docs"

4 years agoMerge "resourceloader: Remove use of object registering in test suites"
jenkins-bot [Fri, 12 Jul 2019 01:58:53 +0000 (01:58 +0000)]
Merge "resourceloader: Remove use of object registering in test suites"

4 years agoMerge "mediawiki.dic: Remove Zero-related stuff"
jenkins-bot [Fri, 12 Jul 2019 01:29:22 +0000 (01:29 +0000)]
Merge "mediawiki.dic: Remove Zero-related stuff"

4 years agoresourceloader: Remove use of object registering in test suites
Timo Tijhof [Thu, 11 Jul 2019 19:48:57 +0000 (20:48 +0100)]
resourceloader: Remove use of object registering in test suites

This was done as a "clever" shortcut to make sure tests a little
but shorter, but also made them less consistent with normal code.

Remove this in favour of 'class' or 'factory' options as needed.
Also remove a bunch of unneeded register() calls.

The tests cover everything affected by this change.

Side fix - isFileModule should reject modules with 'factory'
the same way it rejected raw objects and non-FileModule 'class'
cases already. This is now covered by tests as well.

Bug: T222637
Change-Id: I3996317dbcd780cc6e0f82c84e769c08a3fc42bb

4 years agoobjectcache: move version numbers to the main wrapper in WANObjectCache
Aaron Schulz [Tue, 9 Jul 2019 01:17:04 +0000 (18:17 -0700)]
objectcache: move version numbers to the main wrapper in WANObjectCache

Add FLD_VALUE_VERSION key to the value wrapper array to hold the version
number used in getWithSetCallback(). Remove the VFLD_* wrapper array from
FLD_VALUE for versioned values.

Keys stored with the old VFLD_VERSION and VFLD_DATA fields will be seen as
having the wrong version. The previous WAN cache code will see the new keys
that use FLD_VALUE_VERSION as having the wrong version too. In either case,
the usual variant key logic applies, so there should not be any issues.

This means that moving from a non-versioned to a versioned cache key is no
longer a breaking change when, for the same key, some code passes a version
number to getWithSetCallback() while other code does not.

Also:
* Make "pcTTL" respect the version number for sanity
* Make sure set() respects TTL_UNCACHEABLE for completeness
* Track slow regeneration callback runtime in FLD_GENERATION_TIME
* Remove is_callable() check overhead and rely on PHP Error instances
* Refactor unwrap() to return a more immediately useful value
* Simplify getNonProcessCachedKeys() signature by using $opts
* Split out PURGE_* constants for purge entries since those keys are
  never stored in any serialize value but are only in PHP arrays
* Rename doGetWithSetCallback() to be more succinct
* Rename and reorganize some variables for clarity

Change-Id: I4060b19583cdfd9fa36c91d7014441eeef4b3609

4 years agoMigrate various callers away from wfWikiId() to WikiMap
Aaron Schulz [Thu, 4 Jul 2019 07:31:06 +0000 (00:31 -0700)]
Migrate various callers away from wfWikiId() to WikiMap

Change-Id: Idc2980c05873c428fb5ffa6ab89f723d33217a8e

4 years agoAdd helper for HTTPFileStreamer header syntax
Gergő Tisza [Sat, 20 Apr 2019 00:12:59 +0000 (17:12 -0700)]
Add helper for HTTPFileStreamer header syntax

Adds a helper function for transforming an intuitive header array
to the peculiar syntax expected by HTTPFileStreamer and the related
FileRepo/FileBackend streaming methods.

Change-Id: Idac9281b0f1b3c93f4ec1d1c3f336db110e5d260

4 years agoMerge "Log errors in DeferredUpdates::handleUpdateQueue()"
jenkins-bot [Thu, 11 Jul 2019 22:50:50 +0000 (22:50 +0000)]
Merge "Log errors in DeferredUpdates::handleUpdateQueue()"

4 years agoMerge "Reduce contention of getScopedLockAndFlush() callers by using the DB domain...
jenkins-bot [Thu, 11 Jul 2019 22:47:11 +0000 (22:47 +0000)]
Merge "Reduce contention of getScopedLockAndFlush() callers by using the DB domain in the key"

4 years agoMerge "Avoid using deprecated SiteStatsUpdate constructor"
jenkins-bot [Thu, 11 Jul 2019 22:42:44 +0000 (22:42 +0000)]
Merge "Avoid using deprecated SiteStatsUpdate constructor"

4 years agoMerge "Optimize JobQueue utilization in UserGroupMembership::insert()"
jenkins-bot [Thu, 11 Jul 2019 22:42:37 +0000 (22:42 +0000)]
Merge "Optimize JobQueue utilization in UserGroupMembership::insert()"

4 years agoMerge "Remove unused methods and bogus method call in Title"
jenkins-bot [Thu, 11 Jul 2019 22:42:31 +0000 (22:42 +0000)]
Merge "Remove unused methods and bogus method call in Title"

4 years agoMerge "Fix various fatals and IDEA warnings in CopyFileBackend"
jenkins-bot [Thu, 11 Jul 2019 22:35:17 +0000 (22:35 +0000)]
Merge "Fix various fatals and IDEA warnings in CopyFileBackend"

4 years agoReduce contention of getScopedLockAndFlush() callers by using the DB domain in the key
Aaron Schulz [Sat, 6 Jul 2019 22:57:20 +0000 (15:57 -0700)]
Reduce contention of getScopedLockAndFlush() callers by using the DB domain in the key

Change-Id: Ie9fb6a9ff384c72cca559f74d8e409d108207ae3

4 years agoMerge "Add "help" links for Special:BrokenRedirects, Special:DoubleRedirects, and...
jenkins-bot [Thu, 11 Jul 2019 22:16:22 +0000 (22:16 +0000)]
Merge "Add "help" links for Special:BrokenRedirects, Special:DoubleRedirects, and Special:ListRedirects"

4 years agoMerge "Release notes for ResultWrapper indexing change"
jenkins-bot [Thu, 11 Jul 2019 22:15:06 +0000 (22:15 +0000)]
Merge "Release notes for ResultWrapper indexing change"

4 years agoLog errors in DeferredUpdates::handleUpdateQueue()
Aaron Schulz [Thu, 11 Jul 2019 19:47:48 +0000 (12:47 -0700)]
Log errors in DeferredUpdates::handleUpdateQueue()

Other cleanups and fixes:
* Split up handleUpdate() method into run() and jobify()
* Handle Throwable errors
* Use 'cli' in stats keys in CLI mode instead of "get"
* Tweak some code comments

Change-Id: I7749465df2d7b58e66ee5ebdd3c3d25aea52eeb3

4 years agoMerge "rdbms: cleanup some Database error message wording for consistency"
jenkins-bot [Thu, 11 Jul 2019 21:52:23 +0000 (21:52 +0000)]
Merge "rdbms: cleanup some Database error message wording for consistency"

4 years agoMerge "rdbms: cleanup DatabaseSqlite::lock() error handling"
jenkins-bot [Thu, 11 Jul 2019 21:50:38 +0000 (21:50 +0000)]
Merge "rdbms: cleanup DatabaseSqlite::lock() error handling"

4 years agoMerge "WatchedItemStore: Fix fatal when revision is deleted"
jenkins-bot [Thu, 11 Jul 2019 21:46:48 +0000 (21:46 +0000)]
Merge "WatchedItemStore: Fix fatal when revision is deleted"

4 years agordbms: cleanup some Database error message wording for consistency
Aaron Schulz [Sat, 6 Jul 2019 19:36:54 +0000 (12:36 -0700)]
rdbms: cleanup some Database error message wording for consistency

Change-Id: I7b338e6e856c62ecaab2ef97f76431c2220b430d

4 years agoMerge "installer: make SqliteInstaller set "synchronous" for the job queue DB like...
jenkins-bot [Thu, 11 Jul 2019 21:30:40 +0000 (21:30 +0000)]
Merge "installer: make SqliteInstaller set "synchronous" for the job queue DB like the other DBs"

4 years agoMerge "Add NS_MEDIAWIKI to LinkCache::isCacheable() to help MessageBlobStore cache...
jenkins-bot [Thu, 11 Jul 2019 21:29:19 +0000 (21:29 +0000)]
Merge "Add NS_MEDIAWIKI to LinkCache::isCacheable() to help MessageBlobStore cache regeneration"

4 years agoMerge "Make MapCacheLRU::get() accept a default value and improve $maxAge default"
jenkins-bot [Thu, 11 Jul 2019 21:16:28 +0000 (21:16 +0000)]
Merge "Make MapCacheLRU::get() accept a default value and improve $maxAge default"

4 years agoMerge "Correctly distinguish the latest revision in action=history"
jenkins-bot [Thu, 11 Jul 2019 21:12:10 +0000 (21:12 +0000)]
Merge "Correctly distinguish the latest revision in action=history"