lhc/web/wiklou.git
2 years agoresourceloader: Use AND instead of OR for upsert conds in saveFileDependencies()
Reedy [Thu, 23 May 2019 23:16:42 +0000 (00:16 +0100)]
resourceloader: Use AND instead of OR for upsert conds in saveFileDependencies()

Follows-up e7b57d881a, which changed it from replace() to upsert()
but lost one of the wrapping arrays in doing so.

Previously updated many more rows than expected on Postgresql, when it
should only be updating individual rows, not all rows that match either
criteria.

SQL query before:
 WHERE ((md_module = 'jquery.makeCollapsible.styles') OR (md_skin = 'vector|en-gb'))

SQL query after:
 WHERE ((md_module = 'jquery.makeCollapsible.styles' AND md_skin = 'vector|en-gb'))

Not a problem on MySQL as upsert() is implemented differently there.

Bug: T222385
Change-Id: If8a458bf4543b297b3a06f31e09c0e77666bf7e6

2 years agoMerge "Pass in __METHOD__ to upsert() in ResourceLoaderModule::saveFileDependencies()"
jenkins-bot [Thu, 23 May 2019 23:42:36 +0000 (23:42 +0000)]
Merge "Pass in __METHOD__ to upsert() in ResourceLoaderModule::saveFileDependencies()"

2 years agoPass in __METHOD__ to upsert() in ResourceLoaderModule::saveFileDependencies()
Reedy [Thu, 23 May 2019 22:59:42 +0000 (23:59 +0100)]
Pass in __METHOD__ to upsert() in ResourceLoaderModule::saveFileDependencies()

Change-Id: I9cc7636d14dbfc57ad9f21a0d8bbd7dd4c86760d

2 years agoMerge "Fix user talk checkbox enabling/disabling on Special:Block"
jenkins-bot [Thu, 23 May 2019 22:10:27 +0000 (22:10 +0000)]
Merge "Fix user talk checkbox enabling/disabling on Special:Block"

2 years agoMerge "Introduce MovePage::moveSubpages(IfAllowed)"
jenkins-bot [Thu, 23 May 2019 20:25:01 +0000 (20:25 +0000)]
Merge "Introduce MovePage::moveSubpages(IfAllowed)"

2 years agoMerge "logger: Produce traces for all Throwables"
jenkins-bot [Thu, 23 May 2019 20:20:46 +0000 (20:20 +0000)]
Merge "logger: Produce traces for all Throwables"

2 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 23 May 2019 20:13:29 +0000 (22:13 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Icedbc0be6be532f0d6d3324dbcd2be43da25f5da

2 years agoFix user talk checkbox enabling/disabling on Special:Block
Thalia [Wed, 22 May 2019 21:47:54 +0000 (22:47 +0100)]
Fix user talk checkbox enabling/disabling on Special:Block

Partial blocks ignore the ipb_allow_usertalk field, so the user
talk checkbox should be disabled on Special:Block when creating
a partial block.

The checkbox is already disabled for partial blocks against
editing. This also disables the checkbox for partial blocks that
do not involve editing.

Bug: T224032
Change-Id: I2519ab30a90872d90f05861c65ab943d7937d9fa

2 years agoMerge "Fix variable in ApiQueryProtectedTitles"
jenkins-bot [Thu, 23 May 2019 18:40:21 +0000 (18:40 +0000)]
Merge "Fix variable in ApiQueryProtectedTitles"

2 years agoMerge "ApiSandbox: Move labels outside progress bars"
jenkins-bot [Thu, 23 May 2019 17:56:06 +0000 (17:56 +0000)]
Merge "ApiSandbox: Move labels outside progress bars"

2 years agoFix variable in ApiQueryProtectedTitles
Matěj Suchánek [Wed, 22 May 2019 18:07:08 +0000 (20:07 +0200)]
Fix variable in ApiQueryProtectedTitles

Linker::formatComment accepts a Title object or null whereas
$titles is an array. I was working hard to reproduce a failure
but I couldn't since this code will only be executed with
an empty array (which evaluates to false when if-checked).
Per Anomie's suggestion, there should be no argument.

Discovered using phan.

Change-Id: I5a4df146d077cd879347709a399dce8303f41ccc

2 years agoMerge "ApiQueryRevisions: Fix error message key"
jenkins-bot [Thu, 23 May 2019 16:32:39 +0000 (16:32 +0000)]
Merge "ApiQueryRevisions: Fix error message key"

2 years agoMerge "ApiSandbox: Use CopyTextLayouts for snippets"
jenkins-bot [Thu, 23 May 2019 16:03:23 +0000 (16:03 +0000)]
Merge "ApiSandbox: Use CopyTextLayouts for snippets"

2 years agoMerge "CopyTextLayout: Support multiline text"
jenkins-bot [Thu, 23 May 2019 16:01:14 +0000 (16:01 +0000)]
Merge "CopyTextLayout: Support multiline text"

2 years agoMerge "Upstream CopyTextLayout from UrlShortener extension"
jenkins-bot [Thu, 23 May 2019 16:00:13 +0000 (16:00 +0000)]
Merge "Upstream CopyTextLayout from UrlShortener extension"

2 years agoMerge "Enable configuration to supply options for Special:Search form"
jenkins-bot [Thu, 23 May 2019 14:48:55 +0000 (14:48 +0000)]
Merge "Enable configuration to supply options for Special:Search form"

2 years agologger: Produce traces for all Throwables
Brad Jorsch [Thu, 23 May 2019 14:19:06 +0000 (10:19 -0400)]
logger: Produce traces for all Throwables

The code was checking for `Exception` to decide whether to produce traces,
so it wasn't providing them for PHP 7's new Errors. The code itself
works fine with any Throwable.

We have to keep parallel checks for Exception too for the time being,
because HHVM as used in Wikimedia production doesn't have Throwable.

Bug: T187147
Change-Id: Iec8a6718beb7ec09e45e332ee5762d0644ce17ab

2 years agoApiSandbox: Use CopyTextLayouts for snippets
Ed Sanders [Thu, 23 May 2019 11:55:42 +0000 (12:55 +0100)]
ApiSandbox: Use CopyTextLayouts for snippets

Change-Id: I1cdda7f5c1da9fed820ec9c39349457bb5060a7b

2 years agoCopyTextLayout: Support multiline text
Ed Sanders [Thu, 23 May 2019 11:54:58 +0000 (12:54 +0100)]
CopyTextLayout: Support multiline text

Change-Id: I9049f5a1c0d88680fc4a174e390dd08e27c0eee2

2 years agoUpstream CopyTextLayout from UrlShortener extension
Ed Sanders [Wed, 22 May 2019 18:54:04 +0000 (19:54 +0100)]
Upstream CopyTextLayout from UrlShortener extension

Provides a generic widget feature a read-only text input
and a copy button, that writes the text to the clipboard.

Change-Id: Ibeb5df2a2928a68297f4209562d7ab3f17cad6f0

2 years agoApiSandbox: Move labels outside progress bars
Ed Sanders [Thu, 23 May 2019 11:56:19 +0000 (12:56 +0100)]
ApiSandbox: Move labels outside progress bars

Change-Id: I3ebaae6733df85054679b4b7ff792039b50b4ef9

2 years agoMerge "HTMLForm: Improve method documentation for setCollapsibleOptions()"
jenkins-bot [Thu, 23 May 2019 09:26:17 +0000 (09:26 +0000)]
Merge "HTMLForm: Improve method documentation for setCollapsibleOptions()"

2 years agoImageListPager: Use explicit escaped() instead of implicit __toString()
Fomafix [Thu, 23 May 2019 07:00:53 +0000 (09:00 +0200)]
ImageListPager: Use explicit escaped() instead of implicit __toString()

For the messages listfiles-latestversion-yes and
listfiles-latestversion-no a wikitext parsing is not necessary.

Change-Id: I6f9268ebabaa64494d8680b04990944e7a463f32

2 years agoEnable configuration to supply options for Special:Search form
Stanislav Malyshev [Sun, 19 May 2019 14:12:14 +0000 (16:12 +0200)]
Enable configuration to supply options for Special:Search form

This for example will allow to display descriptions by setting:

$wgSpecialSearchFormOptions['showDescriptions'] = true;

Bug: T55652

Change-Id: Ifdbca4c508314cb950f2835ee65caea18e0af5b1

2 years agoHTMLForm: Improve method documentation for setCollapsibleOptions()
Timo Tijhof [Wed, 22 May 2019 22:38:45 +0000 (23:38 +0100)]
HTMLForm: Improve method documentation for setCollapsibleOptions()

Follows-up 36d33daa03a63.

Previously the method was described as "Set whether the form can be collapsed"
taking a single boolean.

Yet, the boolean did not influence whether the form can be collapsed, as one
might expect.

Rather, this method always enable collapsible mode. The thing that is set
based on the passed value is the default state of that (unconditionally)
enabled collapsible mode.

Change-Id: I2e73d5481c44ed43769553b2bc25543a702c19b8

2 years agoMerge "objectcache: make detectLocalServerCache() prefer apcu over apc"
jenkins-bot [Wed, 22 May 2019 22:37:14 +0000 (22:37 +0000)]
Merge "objectcache: make detectLocalServerCache() prefer apcu over apc"

2 years agoobjectcache: make detectLocalServerCache() prefer apcu over apc
Aaron Schulz [Wed, 22 May 2019 16:30:50 +0000 (09:30 -0700)]
objectcache: make detectLocalServerCache() prefer apcu over apc

Bug: T220470
Change-Id: I8b85859b3991d2360a74107299d44da2c60d0214

2 years agoMerge "resourceloader: Add tests for StartUpModule dep tree optimisation"
jenkins-bot [Wed, 22 May 2019 22:09:12 +0000 (22:09 +0000)]
Merge "resourceloader: Add tests for StartUpModule dep tree optimisation"

2 years agoMerge "registration: Add development requirements to extension.json"
jenkins-bot [Wed, 22 May 2019 21:41:48 +0000 (21:41 +0000)]
Merge "registration: Add development requirements to extension.json"

2 years agoMerge "resourceloader: Make MessageBlobStore global check key actually global"
jenkins-bot [Wed, 22 May 2019 21:27:38 +0000 (21:27 +0000)]
Merge "resourceloader: Make MessageBlobStore global check key actually global"

2 years agoresourceloader: Add tests for StartUpModule dep tree optimisation
Timo Tijhof [Wed, 22 May 2019 18:29:09 +0000 (19:29 +0100)]
resourceloader: Add tests for StartUpModule dep tree optimisation

Bug: T223402
Change-Id: I0450c052852068f3c78312f48a42645a8b77bc5c

2 years agoMerge "Fix some docs"
jenkins-bot [Wed, 22 May 2019 20:43:56 +0000 (20:43 +0000)]
Merge "Fix some docs"

2 years agoMerge "Work around disappearing Special:Preferences buttons on RTL in Edge"
jenkins-bot [Wed, 22 May 2019 20:35:31 +0000 (20:35 +0000)]
Merge "Work around disappearing Special:Preferences buttons on RTL in Edge"

2 years agoMerge "Reference T224165 when deprecating Parser::$mConf"
jenkins-bot [Wed, 22 May 2019 20:29:23 +0000 (20:29 +0000)]
Merge "Reference T224165 when deprecating Parser::$mConf"

2 years agoWork around disappearing Special:Preferences buttons on RTL in Edge
Bartosz Dziewoński [Wed, 22 May 2019 19:35:48 +0000 (21:35 +0200)]
Work around disappearing Special:Preferences buttons on RTL in Edge

Bug: T220706
Change-Id: If36dbade88f7594dea658f899f891e800c98529d

2 years agoMerge "npm: bump grunt-karma to 3.0.2"
jenkins-bot [Wed, 22 May 2019 20:01:19 +0000 (20:01 +0000)]
Merge "npm: bump grunt-karma to 3.0.2"

2 years agoMerge "Fix doc in maintenance/findHooks.php"
jenkins-bot [Wed, 22 May 2019 19:58:51 +0000 (19:58 +0000)]
Merge "Fix doc in maintenance/findHooks.php"

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

Change-Id: Ic10472cce88fd44322506beb2330cc49f5d22fb0

2 years agoFix some docs
Matěj Suchánek [Wed, 22 May 2019 19:50:52 +0000 (21:50 +0200)]
Fix some docs

Discovered by phan.

Change-Id: Iadc2b151db6922f3159f061f10408d45636967c5

2 years agoIntroduce MovePage::moveSubpages(IfAllowed)
Aryeh Gregor [Tue, 16 Apr 2019 13:51:04 +0000 (16:51 +0300)]
Introduce MovePage::moveSubpages(IfAllowed)

Title::moveSubpages() is now deprecated, and the one caller in core and
extensions was ported.

Change-Id: Ic1dc5a6f1a1bef89a35c13f0a72f6740c6a01c50

2 years agoApiQueryRevisions: Fix error message key
Bartosz Dziewoński [Wed, 22 May 2019 19:07:43 +0000 (21:07 +0200)]
ApiQueryRevisions: Fix error message key

Change-Id: Ib5cbbfe53b2da27025fd27fb0361eec444ee7e69

2 years agoExternalStore: Pass external domain to getReadOnlyReason
Jesús Martínez Novo [Mon, 22 Apr 2019 09:21:52 +0000 (11:21 +0200)]
ExternalStore: Pass external domain to getReadOnlyReason

Be consistent with other paths of code that supply the external domain
id to LoadBalancer instead of defaulting to the wiki's domain.

This was causing the getReadOnlyReason to fail because it tries to
connect to the local wiki database using external storage credentials.

Bug: T200471
Change-Id: Ie73ea931d5c93f967624ee67717f87c2d9a31559

2 years agoMerge "objectcache: check apc.serializer in APCBagOStuff like APCUBagOStuff"
jenkins-bot [Wed, 22 May 2019 18:46:21 +0000 (18:46 +0000)]
Merge "objectcache: check apc.serializer in APCBagOStuff like APCUBagOStuff"

2 years agoReference T224165 when deprecating Parser::$mConf
daniel [Wed, 22 May 2019 18:16:22 +0000 (20:16 +0200)]
Reference T224165 when deprecating Parser::$mConf

Bug: T224165
Change-Id: I98225ad03e4060dbc956905da01fdfe671526694

2 years agoresourceloader: Make MessageBlobStore global check key actually global
Timo Tijhof [Mon, 20 May 2019 23:02:47 +0000 (00:02 +0100)]
resourceloader: Make MessageBlobStore global check key actually global

Because it was still per-wiki, which isn't useful and makes
it really slow to invalidate by requiring a 900-wiki iteration
during deployments all of which fully initialise MW just to
send a single Memcached command basically.

Bug: T222539
Change-Id: I02a3e7d83172ccd7d8d0fba3be1e3f1ebb77efb2

2 years agoMerge "Configure LoadBalancer with $wgSharedTables after WAN cache autodetection"
jenkins-bot [Wed, 22 May 2019 17:38:46 +0000 (17:38 +0000)]
Merge "Configure LoadBalancer with $wgSharedTables after WAN cache autodetection"

2 years agoMerge "jquery.tablesorter: Fix pre-JS selector to match wikitext-generated sortable...
jenkins-bot [Wed, 22 May 2019 17:11:17 +0000 (17:11 +0000)]
Merge "jquery.tablesorter: Fix pre-JS selector to match wikitext-generated sortable tables"

2 years agoobjectcache: check apc.serializer in APCBagOStuff like APCUBagOStuff
Aaron Schulz [Wed, 22 May 2019 16:58:10 +0000 (09:58 -0700)]
objectcache: check apc.serializer in APCBagOStuff like APCUBagOStuff

This mirrors a1389b602411

Change-Id: Iad6b104337dfd38c74f363ce76c36aedcc3da425

2 years agoConfigure LoadBalancer with $wgSharedTables after WAN cache autodetection
Máté Szabó [Wed, 22 May 2019 16:03:50 +0000 (18:03 +0200)]
Configure LoadBalancer with $wgSharedTables after WAN cache autodetection

Currently, $wgSharedTables - if configured - is injected into the LoadBalancer
before the WAN cache autodetection runs. As such, if $wgSharedTables is set
but $wgMainWANCache was not explicitly given, the LoadBalancer will force
a premature instantion of the WAN cache with an EmptyBagOStuff backend,
preventing the autodetection logic from setting a correct backend.
This change moves $wgSharedTables initialization after the WAN cache
autodetection to accunt for this scenario.

Change-Id: I59bb52f42905cda1c2aa47bc589a2f0b36b2a28f

2 years agoMerge "Deprecate $wgWikiDiff2MovedParagraphDetectionCutoff"
jenkins-bot [Wed, 22 May 2019 14:50:35 +0000 (14:50 +0000)]
Merge "Deprecate $wgWikiDiff2MovedParagraphDetectionCutoff"

2 years agoMerge "Make some array type hints more specific"
jenkins-bot [Wed, 22 May 2019 14:18:31 +0000 (14:18 +0000)]
Merge "Make some array type hints more specific"

2 years agoDeprecate $wgWikiDiff2MovedParagraphDetectionCutoff
Adam Wight [Wed, 22 May 2019 13:42:20 +0000 (15:42 +0200)]
Deprecate $wgWikiDiff2MovedParagraphDetectionCutoff

Bug: T194272
Change-Id: I174192dc2b91409e023c06b054bc1bba8bfc571f

2 years agoMerge "Exclude FileImporter browser tests"
jenkins-bot [Wed, 22 May 2019 12:28:33 +0000 (12:28 +0000)]
Merge "Exclude FileImporter browser tests"

2 years agoMake some array type hints more specific
Thiemo Kreuz [Wed, 22 May 2019 11:37:12 +0000 (13:37 +0200)]
Make some array type hints more specific

Change-Id: Ia9ed6fa851316baa47e73d9a5988a863d15f298c

2 years agoMerge "EditPage: Migrate Title::userCan() calls to PermissionManager"
jenkins-bot [Wed, 22 May 2019 11:18:36 +0000 (11:18 +0000)]
Merge "EditPage: Migrate Title::userCan() calls to PermissionManager"

2 years agoMerge "externalstore: make ExternalStoreDB::getDomainId treat false the same as null"
jenkins-bot [Wed, 22 May 2019 10:38:34 +0000 (10:38 +0000)]
Merge "externalstore: make ExternalStoreDB::getDomainId treat false the same as null"

2 years agoMerge "Add additional configuation parameters to RESTBagOStuff"
jenkins-bot [Wed, 22 May 2019 10:13:55 +0000 (10:13 +0000)]
Merge "Add additional configuation parameters to RESTBagOStuff"

2 years agoMerge "Don't pass Config to Parser(Factory)"
jenkins-bot [Wed, 22 May 2019 10:13:48 +0000 (10:13 +0000)]
Merge "Don't pass Config to Parser(Factory)"

2 years agoMerge "registration: Fix validation of ext-foo values"
jenkins-bot [Wed, 22 May 2019 10:12:52 +0000 (10:12 +0000)]
Merge "registration: Fix validation of ext-foo values"

2 years agoMerge "Fix logic in NamespaceInfo::getRestrictionLevels"
jenkins-bot [Wed, 22 May 2019 09:48:08 +0000 (09:48 +0000)]
Merge "Fix logic in NamespaceInfo::getRestrictionLevels"

2 years agoMerge "WikiPage: Make prepareContentForEdit method not accept an integer"
jenkins-bot [Wed, 22 May 2019 09:23:57 +0000 (09:23 +0000)]
Merge "WikiPage: Make prepareContentForEdit method not accept an integer"

2 years agoregistration: Add development requirements to extension.json
Kunal Mehta [Sun, 19 May 2019 09:17:56 +0000 (02:17 -0700)]
registration: Add development requirements to extension.json

Extensions can specify development dependencies in extension.json under
the "dev-requires" key. It's identical to the "requires" field.

Any requirement that is needed to pass tests, including but not limited
to, PHPUnit, QUnit, structure, phan, should be documented in this new
field. The main intention is that CI will ensure that all of these
dependencies are satisfied before running tests.

At standard runtime, the development requirements will be ignored by
MediaWiki, since it only checks for real requirements. Scripts can
manually check development requirements by calling
ExtensionRegistry::setCheckDevRequires( true ) before trying to load
things.

If both "requires" and "dev-requires" are present, MediaWiki will merge
the two together, so the environment will need to satisfy both before
proceeding.

Bug: T193824
Change-Id: I9b2936666ee3c96f5c976c7a17f11c437c2c7f48

2 years agoregistration: Fix validation of ext-foo values
Kunal Mehta [Wed, 22 May 2019 08:57:05 +0000 (01:57 -0700)]
registration: Fix validation of ext-foo values

Our json-schema library doesn't yet support "const" (at least not in a
released version), so use "enum" with one element, since it's functionally
equivalent per <https://json-schema.org/understanding-json-schema/reference/generic.html#constant-values>.

Change-Id: Ib9ebb5c6b9d07903fa47603fbe54a148e9c00352

2 years agoFix doc in maintenance/findHooks.php
Matěj Suchánek [Wed, 22 May 2019 08:34:34 +0000 (10:34 +0200)]
Fix doc in maintenance/findHooks.php

Change-Id: Iad3f2fc0910049dbfd5039f3589dd3f3918f1392

2 years agoWikiPage: Make prepareContentForEdit method not accept an integer
Matěj Suchánek [Tue, 21 May 2019 18:17:20 +0000 (20:17 +0200)]
WikiPage: Make prepareContentForEdit method not accept an integer

This has been deprecated since 1.25.

Bug: T220656
Change-Id: I94f5cb78adcfbec1fdafd89495c045e6f8fd9246

2 years agoMerge "rdbms: improve query logging logic in Database"
jenkins-bot [Tue, 21 May 2019 22:12:32 +0000 (22:12 +0000)]
Merge "rdbms: improve query logging logic in Database"

2 years agoMerge "watchlist: make getLatestNotificationTimestamp() method use the correct user"
jenkins-bot [Tue, 21 May 2019 22:01:03 +0000 (22:01 +0000)]
Merge "watchlist: make getLatestNotificationTimestamp() method use the correct user"

2 years agonpm: bump grunt-karma to 3.0.2
Michael Holloway [Tue, 21 May 2019 21:26:41 +0000 (17:26 -0400)]
npm: bump grunt-karma to 3.0.2

`npm install` currently fails due to an unsatisfied peer dependency.
See full output here:

https://phabricator.wikimedia.org/P8552

Bumping the required grunt-karma version to the latest (3.0.2) fixes
this.

Change-Id: I5b7f2deba2d766b809a964f53cb22f47f0617bd6

2 years agoexternalstore: make ExternalStoreDB::getDomainId treat false the same as null
Aaron Schulz [Sun, 21 Apr 2019 19:57:05 +0000 (12:57 -0700)]
externalstore: make ExternalStoreDB::getDomainId treat false the same as null

Callers like SqlBlobStore sometimes pass in false for the current wiki

Bug: T200471
Change-Id: I3025c869df07de312471d00a0ab7107c1fa14a90

2 years agoRemoved 'public $user' as it is deprecated in 1.29
zoranzoki21 [Tue, 21 May 2019 20:54:52 +0000 (22:54 +0200)]
Removed 'public $user' as it is deprecated in 1.29

Change-Id: If9c59d432e4b8b91b8c81200bf3a8a910461eded

2 years agoAdd additional configuation parameters to RESTBagOStuff
Bill Pirkle [Mon, 29 Apr 2019 21:30:02 +0000 (16:30 -0500)]
Add additional configuation parameters to RESTBagOStuff

Class RESTBagOStuff is needed for the Kask session storage
service. Add additional configuration parameters so that
they will work together.

Bug: T215533
Change-Id: Ifbb9f8847bd10d65cc5e24f4aa6cb20cb71de3ca

2 years agoMerge "Correct autonym for rmy (Vlax Romani)"
jenkins-bot [Tue, 21 May 2019 07:30:50 +0000 (07:30 +0000)]
Merge "Correct autonym for rmy (Vlax Romani)"

2 years agoCorrect autonym for rmy (Vlax Romani)
Siebrand Mazeland [Sat, 18 May 2019 15:50:42 +0000 (17:50 +0200)]
Correct autonym for rmy (Vlax Romani)

Bug: T223524
Change-Id: Id128199119001bd318012d034ef727cdfa256f54

2 years agowatchlist: make getLatestNotificationTimestamp() method use the correct user
Aaron Schulz [Tue, 21 May 2019 00:32:41 +0000 (17:32 -0700)]
watchlist: make getLatestNotificationTimestamp() method use the correct user

This uses the proper stash entry and also fits within the 3 item process
cache in WatchedItemStore that contains last-visit maps for users.

Follows-up 588a46468252, which added use of the stash optimisation but
wrongly keyed against rc_actor/rc_user instead of $this->getUser,
which means that unlike the DB 'wl_notificationtimestamp' field (which
is result of joining against watchlist and user via $this->getUser), it
was now reading the cache key for a different user instead of the user
that is viewing their watchlist.

Bug: T218511
Bug: T223310
Change-Id: I5c4dd2c7384f7681cee21fb2caf10d4d4b64c724

2 years agoMerge "Remove tryLastResult function from includes/specials/QueryPage.php"
jenkins-bot [Mon, 20 May 2019 22:58:51 +0000 (22:58 +0000)]
Merge "Remove tryLastResult function from includes/specials/QueryPage.php"

2 years agoMerge "rdbms: replace some return-based sanity checks in Database with exception...
jenkins-bot [Mon, 20 May 2019 22:52:30 +0000 (22:52 +0000)]
Merge "rdbms: replace some return-based sanity checks in Database with exception-based checks"

2 years agordbms: replace some return-based sanity checks in Database with exception-based checks
Aaron Schulz [Mon, 20 May 2019 19:47:18 +0000 (12:47 -0700)]
rdbms: replace some return-based sanity checks in Database with exception-based checks

Change-Id: I51a541fb560438a34522ca442a8b8e572830deea

2 years agoRemove tryLastResult function from includes/specials/QueryPage.php
zoranzoki21 [Thu, 16 May 2019 13:56:17 +0000 (15:56 +0200)]
Remove tryLastResult function from includes/specials/QueryPage.php

It is deprecated in 1.27

Change-Id: Ia10696a3d8e700cdf889c15e9b16b9d8e3e7f94f

2 years agoMerge "jobqueue: Remove duplicate property from DoubleRedirectJob"
jenkins-bot [Mon, 20 May 2019 20:05:38 +0000 (20:05 +0000)]
Merge "jobqueue: Remove duplicate property from DoubleRedirectJob"

2 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 20 May 2019 19:55:39 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I30b63a979dbf32b92ba5bea8799afdd51d00ce5f

2 years agoDon't pass Config to Parser(Factory)
Aryeh Gregor [Fri, 12 Apr 2019 09:50:30 +0000 (12:50 +0300)]
Don't pass Config to Parser(Factory)

Change-Id: I5996b7cad8c8a61518d2997e955a4547c64a73a5

2 years agoExclude FileImporter browser tests
Adam Wight [Mon, 20 May 2019 12:03:16 +0000 (14:03 +0200)]
Exclude FileImporter browser tests

These test must be run from the extension's repo, because they use a custom
script to modify LocalSettings.php.

Bug: T190829
Change-Id: I920c7faa3ce91f1560f383575aa6a6adfcadd9c7

2 years agoMerge "Allow hidden skins to show up in preferences"
jenkins-bot [Mon, 20 May 2019 06:46:02 +0000 (06:46 +0000)]
Merge "Allow hidden skins to show up in preferences"

2 years agoMerge "Enable email settings for ApiBlockTest::testBlockWithEmailBlock"
jenkins-bot [Mon, 20 May 2019 05:14:48 +0000 (05:14 +0000)]
Merge "Enable email settings for ApiBlockTest::testBlockWithEmailBlock"

2 years agoMerge "Enable email in TemporaryPasswordPrimaryAuthenticationProviderTest"
jenkins-bot [Mon, 20 May 2019 05:06:12 +0000 (05:06 +0000)]
Merge "Enable email in TemporaryPasswordPrimaryAuthenticationProviderTest"

2 years agoMerge "Linker: Fix fatal error for "/* */" in an edit summary"
jenkins-bot [Sun, 19 May 2019 21:37:51 +0000 (21:37 +0000)]
Merge "Linker: Fix fatal error for "/*  */" in an edit summary"

2 years agoSpecialAllMessages: Specify filter messages so we always escape them
Daimona Eaytoy [Sun, 19 May 2019 13:51:25 +0000 (15:51 +0200)]
SpecialAllMessages: Specify filter messages so we always escape them

As reported by phan-taint-check, HTMLForm options have to be escaped.

Bug: T223821
Change-Id: I663911a2c3d8a5c60d407e84ec528f71af2eafe9

2 years agoAllow hidden skins to show up in preferences
jdlrobson [Sat, 18 May 2019 17:19:54 +0000 (19:19 +0200)]
Allow hidden skins to show up in preferences

It should be possible for power users to reveal hidden preferences
using the useskin query parameter. In future this will allow us
to use wgSkipSkins to deprecate poorly supported skins for new
users whilst not hard deprecating and removing skin support for
users who strongly want to continue to use them.

Change-Id: I1bbd4a09dff72f513c9413e0f826d8db38a5e04c

2 years agoMerge "Follow-up 3535a5f327: Remove old CSS now caches have expired"
jenkins-bot [Sun, 19 May 2019 13:12:04 +0000 (13:12 +0000)]
Merge "Follow-up 3535a5f327: Remove old CSS now caches have expired"

2 years agoLinker: Fix fatal error for "/* */" in an edit summary
Timo Tijhof [Sun, 19 May 2019 11:17:23 +0000 (13:17 +0200)]
Linker: Fix fatal error for "/*  */" in an edit summary

Follows-up b6e1e99bec8, which switched the method from Title::makeTitleSafe
to TitleValue. The latter throws fatal on non-string $fragment.

Title::makeTitleSafe, on the other hand, uses makeName(), which casts
$fragment to a string, and ignores if it ends up as empty string
(boolean false becomes empty string and thus did "the right thing").

Bug: T222857
Change-Id: Iecc2140fabd31ef0f193740c7fab0fc698c38e51

2 years agoMerge "i18n: Rename 11 messages for case-compliance"
jenkins-bot [Sun, 19 May 2019 10:00:00 +0000 (10:00 +0000)]
Merge "i18n: Rename 11 messages for case-compliance"

2 years agoMerge "Simplify a few list() that only care about the first element"
jenkins-bot [Sun, 19 May 2019 08:18:37 +0000 (08:18 +0000)]
Merge "Simplify a few list() that only care about the first element"

2 years agoMerge "docs: Fix UploadVerifyUpload/UploadStashFile hook docs"
jenkins-bot [Sun, 19 May 2019 08:17:11 +0000 (08:17 +0000)]
Merge "docs: Fix UploadVerifyUpload/UploadStashFile hook docs"

2 years agoMerge "Replace use of deprecated methods in Linker and SkinFactory classes"
jenkins-bot [Sun, 19 May 2019 08:03:45 +0000 (08:03 +0000)]
Merge "Replace use of deprecated methods in Linker and SkinFactory classes"

2 years agoMerge "Simplify a few binary checks for bit 1"
jenkins-bot [Sun, 19 May 2019 07:54:48 +0000 (07:54 +0000)]
Merge "Simplify a few binary checks for bit 1"

2 years agoMerge "Remove covers validator trait where it is not needed"
jenkins-bot [Sun, 19 May 2019 07:54:41 +0000 (07:54 +0000)]
Merge "Remove covers validator trait where it is not needed"

2 years agoMerge "Remove useless use of current and end"
jenkins-bot [Sun, 19 May 2019 06:46:42 +0000 (06:46 +0000)]
Merge "Remove useless use of current and end"

2 years agoMerge "Turn logout link into a POST API call with refresh"
jenkins-bot [Sat, 18 May 2019 20:03:13 +0000 (20:03 +0000)]
Merge "Turn logout link into a POST API call with refresh"

2 years agoTurn logout link into a POST API call with refresh
Amir Sarabadani [Thu, 25 Apr 2019 11:23:09 +0000 (13:23 +0200)]
Turn logout link into a POST API call with refresh

It's better to get rid of any GET request with csrf token

Bug: T25227
Change-Id: I76464c750945d07a283b99b449f137593c685f02

2 years agoRemove useless use of current and end
Florian [Sat, 18 May 2019 18:50:47 +0000 (20:50 +0200)]
Remove useless use of current and end

The ConfigRepository is not an Interable (any more), so these functions
don't have any useable effect.

Bug: T221045
Change-Id: I6e5bfd9d922d2838c65d52815590dcad1fe6d284