lhc/web/wiklou.git
5 years agoExplicitly mark Skin::makeVariablesScript() public
Reedy [Fri, 20 Jul 2018 20:02:40 +0000 (21:02 +0100)]
Explicitly mark Skin::makeVariablesScript() public

Remove else. If contains an unconditional return

Change-Id: I57a04339395d947dffbc3595d321106d4fd8256c

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 20 Jul 2018 19:53:15 +0000 (21:53 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I01a747cba68c60850761ac5dcef992bcebaaf6b5

5 years agoMerge "Send API timing to statsd for all requests, not just writes"
jenkins-bot [Fri, 20 Jul 2018 15:13:48 +0000 (15:13 +0000)]
Merge "Send API timing to statsd for all requests, not just writes"

5 years agoAdd maintenance script for resetting login/signup throttle
Gergő Tisza [Mon, 28 May 2018 16:25:36 +0000 (16:25 +0000)]
Add maintenance script for resetting login/signup throttle

Bug: T194506
Change-Id: I6dda5f516ba47a452e438946379fcb696c8c87f9

5 years agoMerge "filebackend: let any specific backend value of "readOnly" override the default"
jenkins-bot [Fri, 20 Jul 2018 10:51:35 +0000 (10:51 +0000)]
Merge "filebackend: let any specific backend value of "readOnly" override the default"

5 years agoMerge "JobQueueGroup: Allow readOnlyReason to be specified per JQ type"
jenkins-bot [Fri, 20 Jul 2018 10:30:37 +0000 (10:30 +0000)]
Merge "JobQueueGroup: Allow readOnlyReason to be specified per JQ type"

5 years agoMerge "Install cache/integration-tests as require-dev"
jenkins-bot [Fri, 20 Jul 2018 10:21:48 +0000 (10:21 +0000)]
Merge "Install cache/integration-tests as require-dev"

5 years agoInstall cache/integration-tests as require-dev
addshore [Wed, 18 Jul 2018 10:47:27 +0000 (12:47 +0200)]
Install cache/integration-tests as require-dev

Bug: T199440
Change-Id: I1e50d7202a5d02088319ec9e90e0136519cba1ce

5 years agoGlobalFunctions: use a closure instead of polluting global namespace
Max Semenik [Fri, 20 Jul 2018 06:54:49 +0000 (23:54 -0700)]
GlobalFunctions: use a closure instead of polluting global namespace

Change-Id: Ia587008de75a8bde90ad45d4932284f0b6401845

5 years agoSend API timing to statsd for all requests, not just writes
Tim Starling [Fri, 20 Jul 2018 06:49:49 +0000 (16:49 +1000)]
Send API timing to statsd for all requests, not just writes

The rate will be about 8k req/s, whereas currently graphite1001
receives about 350k metric updates per second, so we would expect
this to increase statsd load by about 2%.

This would have been very helpful in diagnosing API cluster overload
incidents such as the one on July 11.

Change-Id: I0a248e1bcec05915d98ec735f4cfb9800e64412d

5 years agoMerge "language: Document sources of data and example usage"
jenkins-bot [Fri, 20 Jul 2018 06:12:44 +0000 (06:12 +0000)]
Merge "language: Document sources of data and example usage"

5 years agoMerge "resourceloader: CSSMin::getLocalFileReferences now strips anchors"
jenkins-bot [Fri, 20 Jul 2018 04:59:31 +0000 (04:59 +0000)]
Merge "resourceloader: CSSMin::getLocalFileReferences now strips anchors"

5 years agoMerge "Language::listToText: Avoid PHP warnings from E_STRICT"
jenkins-bot [Fri, 20 Jul 2018 04:56:09 +0000 (04:56 +0000)]
Merge "Language::listToText: Avoid PHP warnings from E_STRICT"

5 years agoresourceloader: CSSMin::getLocalFileReferences now strips anchors
Antoine Musso [Tue, 17 Jul 2018 15:59:17 +0000 (17:59 +0200)]
resourceloader: CSSMin::getLocalFileReferences now strips anchors

When processing:

  url( 'foo.svg#anchors' )

getLocalFileReferences() would yield a file 'foo.svg#anchors'. It might
occur with upstream libraries, such as WikiFonts used by the Refreshed
skin.

When a path is found, strip the anchor entirely. Skip the case if that
results in an empty file.

remap() would properly skip the behavior "#default#', also skip url that
are solely an anchor such as '#other'.

Add a few test cases to cover CSSMin::getLocalFileReferences and cover
anchors usage in CSSMin::remap.

Bug: T115436
Change-Id: I1749ddc2b89021807f42d64131931ad7a99a7b43

5 years agolanguage: Document sources of data and example usage
Timo Tijhof [Fri, 20 Jul 2018 03:06:28 +0000 (20:06 -0700)]
language: Document sources of data and example usage

Change-Id: I0c72069d010285d9b88ff83bc1478410961065d3

5 years agoparserTests: re-enable save parse and fix MCR errors
Tim Starling [Fri, 20 Jul 2018 02:03:48 +0000 (12:03 +1000)]
parserTests: re-enable save parse and fix MCR errors

* Re-enable parse on save as requested in T159014, instead hide
  the feature behind an option.
* Add the MCR tables to the list of tables that need to be cloned. Fixes
  unconditional exception.
* Fix some undefined member variables, remove assignment to unused
  variable $this->databaseSetupDone.

Bug: T159014
Change-Id: I6be577ebcbadeb4e08079a82543d521fc2bb5948

5 years agoMerge "Convert Title::getTitleCache() to using MapCacheLRU (again)"
jenkins-bot [Fri, 20 Jul 2018 00:06:16 +0000 (00:06 +0000)]
Merge "Convert Title::getTitleCache() to using MapCacheLRU (again)"

5 years agoMerge "ApiMain: Always create a new printer in getPrinterByName()"
jenkins-bot [Fri, 20 Jul 2018 00:06:10 +0000 (00:06 +0000)]
Merge "ApiMain: Always create a new printer in getPrinterByName()"

5 years agoMerge "Avoid passing "false" as keys to MapCacheLRU in RepoGroup"
jenkins-bot [Fri, 20 Jul 2018 00:06:05 +0000 (00:06 +0000)]
Merge "Avoid passing "false" as keys to MapCacheLRU in RepoGroup"

5 years agoConvert Title::getTitleCache() to using MapCacheLRU (again)
Aaron Schulz [Thu, 19 Jul 2018 23:40:02 +0000 (00:40 +0100)]
Convert Title::getTitleCache() to using MapCacheLRU (again)

Re-applies commit 7a25cd388c8adcce6, reverted by 3648e5683c0ff11c0.

Change-Id: I087edb15fbe11ccac7be28540e20d990f5615c4e

5 years agoAvoid passing "false" as keys to MapCacheLRU in RepoGroup
Aaron Schulz [Thu, 19 Jul 2018 10:02:57 +0000 (11:02 +0100)]
Avoid passing "false" as keys to MapCacheLRU in RepoGroup

Bug: T200026
Change-Id: I40f6ad2a3d281d06c9b6eaf4f31d9796ea5e9e9e

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 19 Jul 2018 20:13:30 +0000 (22:13 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I78f8728c250651e132b1104d2a26047ee938ac54

5 years agoMerge "Convert Title::getTitleCache() to using MapCacheLRU (again)"
jenkins-bot [Thu, 19 Jul 2018 18:19:56 +0000 (18:19 +0000)]
Merge "Convert Title::getTitleCache() to using MapCacheLRU (again)"

5 years agoMerge "In mysql.php ignore SIGINT"
jenkins-bot [Thu, 19 Jul 2018 17:35:01 +0000 (17:35 +0000)]
Merge "In mysql.php ignore SIGINT"

5 years agoLanguage::listToText: Avoid PHP warnings from E_STRICT
Mark A. Hershberger [Fri, 13 Jul 2018 18:19:51 +0000 (14:19 -0400)]
Language::listToText: Avoid PHP warnings from E_STRICT

Language::listToText() uses for(;;) which assumes the index in a list
starts at 0 and following keys are consecutive integers.

This assumption fails (and results in warnings with E_STRICT) when
SpecialListGroupRights::formatPermissions() uses the key-preserving
array_intersect() to create a subset of $allGroups.

Bug: T199559
Change-Id: I4eb03a95509d69653156a2764d58c0c5d0d1dfbc

5 years agoMerge "RCFilters: Work around Chrome browser bug in filter menu"
jenkins-bot [Thu, 19 Jul 2018 17:02:53 +0000 (17:02 +0000)]
Merge "RCFilters: Work around Chrome browser bug in filter menu"

5 years agoMerge "Set default wgMultiContentRevisionSchemaMigrationStage to write-both"
jenkins-bot [Thu, 19 Jul 2018 16:59:29 +0000 (16:59 +0000)]
Merge "Set default wgMultiContentRevisionSchemaMigrationStage to write-both"

5 years agoJobQueueGroup: Allow readOnlyReason to be specified per JQ type
Marko Obrovac [Thu, 19 Jul 2018 16:13:38 +0000 (18:13 +0200)]
JobQueueGroup: Allow readOnlyReason to be specified per JQ type

We use $wgReadOnly for various reasons, one of which is to disallow
writes in the currently-non-active DC. However, we should allow the
readOnlyReason configuration variable to be available per JobQueue type
and have it the code respect that.

In our current set-up, we use JobQueueEventBus which ever only uses the
enqueue execution path and does not depend upon which DC it is executed
in, so this will allow us to enqueue jobs in both DCs.

Note that this is an alternative approach to the one outlined in
Ibbad6063b6b154d7f7d172c79f7be324bf80eb7e

Bug: T199594
Change-Id: I8f1a57a81ea11c1c587c0057fa8bb3454b0e0b56

5 years agofilebackend: let any specific backend value of "readOnly" override the default
Aaron Schulz [Thu, 19 Jul 2018 16:11:39 +0000 (17:11 +0100)]
filebackend: let any specific backend value of "readOnly" override the default

Previously, only different reason strings could override, but there was
no way to override the read-only mode to being off.

Change-Id: I4266694034bfbdada90d4be96bcbc1a37f5b5409

5 years agoMerge "docs: Remove table-layout documentation from core"
jenkins-bot [Thu, 19 Jul 2018 16:11:24 +0000 (16:11 +0000)]
Merge "docs: Remove table-layout documentation from core"

5 years agoApiMain: Always create a new printer in getPrinterByName()
Brad Jorsch [Thu, 19 Jul 2018 13:24:48 +0000 (09:24 -0400)]
ApiMain: Always create a new printer in getPrinterByName()

ApiMain already caches the printer in ->mPrinter, so if
getPrinterByName() is being called more than once that's because we
really want a new printer instance, without any cached errors or other
behavior that results from reusing the same instance.

Bug: T199949
Change-Id: I779cbbaa8aab9b049a8eed732416edd828121ec4

5 years agoMerge "config: Add new ConfigRepository"
jenkins-bot [Thu, 19 Jul 2018 14:40:26 +0000 (14:40 +0000)]
Merge "config: Add new ConfigRepository"

5 years agoMerge "registration: Expose config array to ExtensionRegistry"
jenkins-bot [Thu, 19 Jul 2018 14:26:51 +0000 (14:26 +0000)]
Merge "registration: Expose config array to ExtensionRegistry"

5 years agoconfig: Add new ConfigRepository
Florian Schmidt [Wed, 14 Dec 2016 20:55:56 +0000 (21:55 +0100)]
config: Add new ConfigRepository

This, for now, has the focus for holding metadata of each
configuration option inside of MediaWiki (both extensions and core).
It's very close to the Config interface and friends, and uses these
implementations to retrieve the actual value of the
configuration option.

The goal with this change is to implement a basic architecture to
allow to display the values of the curent configuration of the MediaWiki
installation on-wiki (e.g. on a special page). It also provides a
central point, where the currently known options can be fetched
from.

The long-term goal, of course, would be to get a web interface to really
configure the MediaWiki installation. But, this is more like a dream,
then a plan (from the point of view of this commit).

Next steps would be:
 * Enable ExtensionRegistry to "register" the configuration options of
   extensions, so they're available in the repo (done).
 * Find a good way to get mediawiki/core configurations into this repo
 * Work out an overall architecture to display the different possible
   values. (I think about something like different formatters for types).

Change-Id: I9419508eaa85ffc55520db7f33b3e9530fc99f00

5 years agoregistration: Expose config array to ExtensionRegistry
Florian Schmidt [Fri, 13 Jan 2017 05:21:00 +0000 (06:21 +0100)]
registration: Expose config array to ExtensionRegistry

Currently, the ExtensionProcessor processes the config array of the
extension and just sets the value as a global. In this way, however,
the metadata of the configs (description, public, ...) aren't available.

This change exposes the configurations in the extracted data as the
config key.

Bug: T155908
Change-Id: Ie41e6ecb8d08a5b20b56eb2281af1dfdd808b2c4

5 years agodocs: Remove table-layout documentation from core
Volker E [Thu, 19 Jul 2018 12:39:34 +0000 (14:39 +0200)]
docs: Remove table-layout documentation from core

This doesn't belong here and also doesn't make a lot of sense
with current browser support any more.
We shouldn't provide basic HTML documentation in 2018 as part of
core.

Change-Id: I1a3516e45902d16f0d9efbe97cb2dbd6efd566be

5 years agoConvert Title::getTitleCache() to using MapCacheLRU (again)
Aaron Schulz [Tue, 17 Jul 2018 07:47:06 +0000 (08:47 +0100)]
Convert Title::getTitleCache() to using MapCacheLRU (again)

Re-appplies commit 7a25cd388c8a, which was reverted because
HTMLTitleTextField was passing `null` as a title key, this was
fixed in I29ecd94cdf9e30.

Bug: T199763
Change-Id: I7fe8bbed3fb24240e47ba22de57da9dc8a9bea22

5 years agoRemove JobQueueSecondTestQueue class.
Petr Pchelko [Thu, 19 Jul 2018 09:42:47 +0000 (11:42 +0200)]
Remove JobQueueSecondTestQueue class.

After the switchover is completed we do not need this any more.
This class was marked deprecated as soon as it was created, so
removing it should be safe.

Change-Id: I3451a7a9d1e78bb2c7c988aeb1e3aac93bfc1b6f

5 years agoMerge "registration: Add class docs for ExtensionJsonValidator"
jenkins-bot [Thu, 19 Jul 2018 09:32:52 +0000 (09:32 +0000)]
Merge "registration: Add class docs for ExtensionJsonValidator"

5 years agoMerge "Fix handling of already logged-in user in Special:Userlogin"
jenkins-bot [Thu, 19 Jul 2018 08:32:11 +0000 (08:32 +0000)]
Merge "Fix handling of already logged-in user in Special:Userlogin"

5 years agoDeprecate wfArrayFilter() and wfArrayFilterByKey()
Max Semenik [Wed, 18 Jul 2018 08:42:52 +0000 (01:42 -0700)]
Deprecate wfArrayFilter() and wfArrayFilterByKey()

Now that all our supported PHP versions have array_filter()
with a third parameter, these functions aren't needed anymore.

Depends-On: I3b097a1a048baabcaca15dc214a3a1bb06e746cc
Depends-On: I0187e27ac47cbab099249572201d1a649226a734
Change-Id: I7cabd0252691a083cb749cf9d3a7a23f1d076c39

5 years agoMerge "LogEventsList: Remove options not used by HTMLForm"
jenkins-bot [Thu, 19 Jul 2018 02:25:04 +0000 (02:25 +0000)]
Merge "LogEventsList: Remove options not used by HTMLForm"

5 years agoMerge "Make MultiWriteBagOStuff use the native merge() of each backend"
jenkins-bot [Thu, 19 Jul 2018 01:53:32 +0000 (01:53 +0000)]
Merge "Make MultiWriteBagOStuff use the native merge() of each backend"

5 years agoMerge "Convert MemcLockManager to using MapCacheLRU"
Krinkle [Thu, 19 Jul 2018 01:48:56 +0000 (01:48 +0000)]
Merge "Convert MemcLockManager to using MapCacheLRU"

5 years agoregistration: Add class docs for ExtensionJsonValidator
Timo Tijhof [Thu, 19 Jul 2018 01:20:29 +0000 (18:20 -0700)]
registration: Add class docs for ExtensionJsonValidator

Change-Id: Ic37544de1400600719764057a63cc546c26218d8

5 years agoFix handling of already logged-in user in Special:Userlogin
Gergő Tisza [Wed, 18 Jul 2018 22:49:50 +0000 (00:49 +0200)]
Fix handling of already logged-in user in Special:Userlogin

Due to a forgotten return clause, the full request handling
is executed after calling successfulAction() when the user
reloads the login page while logged in. With a typical setup
case this is masked by the fact that successfulAction() does
a redirect (although it probably still impacts performance),
for less common configurations this might result in the login
form rendered below a success message, or in calling extension
hooks which should not be called.

Bug: T185702
Change-Id: If19220c4cf17b08f7e03ca0d06381067f26dda1a

5 years agoMake MultiWriteBagOStuff use the native merge() of each backend
Aaron Schulz [Tue, 10 Jul 2018 23:26:43 +0000 (00:26 +0100)]
Make MultiWriteBagOStuff use the native merge() of each backend

This lets backends that support CAS take advantage of it.

Also fix race condition with merge() in asyncWrites mode where two
threads might add to a list/set but the first request finishes after
the second, which would erase an item during the set().

Bug: T198239
Change-Id: Ibd2539429746f12b4de74d0f031089cb80aa8b4b

5 years agoMerge "LogEventsList: Add backwards-compatibility for log-show-hide messages"
jenkins-bot [Wed, 18 Jul 2018 21:03:59 +0000 (21:03 +0000)]
Merge "LogEventsList: Add backwards-compatibility for log-show-hide messages"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 18 Jul 2018 19:54:28 +0000 (21:54 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ie2ceb98d5d3a492d4bd82a59e957ac36cbd01f05

5 years agoRemove unused $links in TablePager::getNavigationBar
addshore [Wed, 18 Jul 2018 14:00:36 +0000 (16:00 +0200)]
Remove unused $links in TablePager::getNavigationBar

Change-Id: I43ba3390c47e4955704cfd82b16627008f9e6bc8

5 years agoMerge "WikiPage: Return false from hasDifferencesOutsideMainSlot if no differences...
jenkins-bot [Wed, 18 Jul 2018 19:20:08 +0000 (19:20 +0000)]
Merge "WikiPage: Return false from hasDifferencesOutsideMainSlot if no differences at all"

5 years agoMerge "Add $maxAge parameter to MapCacheLRU get() and getField() methods"
jenkins-bot [Wed, 18 Jul 2018 18:25:56 +0000 (18:25 +0000)]
Merge "Add $maxAge parameter to MapCacheLRU get() and getField() methods"

5 years agoMerge "rdbms: give TransactionProfiler write time and row count for ROLLBACK"
jenkins-bot [Wed, 18 Jul 2018 18:21:24 +0000 (18:21 +0000)]
Merge "rdbms: give TransactionProfiler write time and row count for ROLLBACK"

5 years agoMerge "objectcache: switch WANObjectCache process cache to MapCacheLRU"
jenkins-bot [Wed, 18 Jul 2018 18:18:28 +0000 (18:18 +0000)]
Merge "objectcache: switch WANObjectCache process cache to MapCacheLRU"

5 years agoMerge "HTMLTitleTextField, HTMLUserTextField: Check for `null` before using the value"
jenkins-bot [Wed, 18 Jul 2018 18:10:14 +0000 (18:10 +0000)]
Merge "HTMLTitleTextField, HTMLUserTextField: Check for `null` before using the value"

5 years agoConvert MemcLockManager to using MapCacheLRU
Aaron Schulz [Wed, 18 Jul 2018 00:01:56 +0000 (01:01 +0100)]
Convert MemcLockManager to using MapCacheLRU

Change-Id: Ia376641f29c1d9acc51268afb9319ab0beab5528

5 years agoAdd $maxAge parameter to MapCacheLRU get() and getField() methods
Aaron Schulz [Wed, 11 Jul 2018 13:29:27 +0000 (14:29 +0100)]
Add $maxAge parameter to MapCacheLRU get() and getField() methods

Change-Id: I2dee1ad3a5b4f2ef8c182e3466812777a9a9cf7f

5 years agoMerge "LogEventsList: Use GET in HTMLForm"
jenkins-bot [Wed, 18 Jul 2018 18:07:02 +0000 (18:07 +0000)]
Merge "LogEventsList: Use GET in HTMLForm"

5 years agordbms: give TransactionProfiler write time and row count for ROLLBACK
Aaron Schulz [Mon, 2 Jul 2018 15:49:28 +0000 (16:49 +0100)]
rdbms: give TransactionProfiler write time and row count for ROLLBACK

This will hopefully provide more diagnostic info when DBTransactionSizeError
rollbacks are triggered.

Bug: T190260
Change-Id: Ib8bea5a9ec7d3ffeaf423adb930dc6fb14314449

5 years agoobjectcache: switch WANObjectCache process cache to MapCacheLRU
Aaron Schulz [Wed, 11 Jul 2018 13:38:22 +0000 (14:38 +0100)]
objectcache: switch WANObjectCache process cache to MapCacheLRU

Change-Id: I60d8de99e9590bfef6009f133723bb10d5837c52

5 years agoLogEventsList: Remove options not used by HTMLForm
Bartosz Dziewoński [Wed, 18 Jul 2018 17:45:40 +0000 (19:45 +0200)]
LogEventsList: Remove options not used by HTMLForm

HTMLForm gets the input value from the request. The values
specified in the form descriptor were never used. (You can specify a
default value, but that uses the 'default' key anyway.)

Change-Id: I27934e1118492371e547dd5e94feb172a0510cc9

5 years agoRCFilters: Work around Chrome browser bug in filter menu
Roan Kattouw [Wed, 18 Jul 2018 17:41:18 +0000 (19:41 +0200)]
RCFilters: Work around Chrome browser bug in filter menu

For some reason, the presence of any padding whatsoever makes the menu
items a lot taller, and the amount of padding doesn't actually cause any
visual change at all (it looks the same with 1px and 6px of padding).

Bug: T199932
Change-Id: If294de0f9dfa48583243ba53d74b0ea66d021839

5 years agoMerge "Reduce the rate of calls to Category::refreshCounts"
jenkins-bot [Wed, 18 Jul 2018 17:38:04 +0000 (17:38 +0000)]
Merge "Reduce the rate of calls to Category::refreshCounts"

5 years agoWikiPage: Return false from hasDifferencesOutsideMainSlot if no differences at all
Brad Jorsch [Wed, 18 Jul 2018 15:14:56 +0000 (11:14 -0400)]
WikiPage: Return false from hasDifferencesOutsideMainSlot if no differences at all

If the page has no differences in any slot, the method is incorrectly
returning "true" to claim there are differences in some non-main slot.

Follows up Ifdf9bc9d884844f9ffeb8019d9b13d5737862063.

Bug: T194412
Change-Id: I013bcd9c39d05d9af47c1a29026b14d27af2db15

5 years agoProvide correct param to Special:Log
Matěj Suchánek [Wed, 18 Jul 2018 13:59:04 +0000 (15:59 +0200)]
Provide correct param to Special:Log

Follows up Iba3c6aa5ac40dcdee0792c2d045b238b02d76521.

Bug: T117737
Change-Id: I90bb55eba4c3b4846da2394798ad6a2ac6fc9eca

5 years agoMerge "AuthManager: Don't invalidate BotPasswords if a password reset email is sent"
jenkins-bot [Wed, 18 Jul 2018 10:33:14 +0000 (10:33 +0000)]
Merge "AuthManager: Don't invalidate BotPasswords if a password reset email is sent"

5 years agoMerge "registration: Validate no duplicate keys exist in extension.json"
jenkins-bot [Wed, 18 Jul 2018 09:47:07 +0000 (09:47 +0000)]
Merge "registration: Validate no duplicate keys exist in extension.json"

5 years agoregistration: Validate no duplicate keys exist in extension.json
Florian Schmidt [Sun, 22 Jan 2017 15:36:22 +0000 (16:36 +0100)]
registration: Validate no duplicate keys exist in extension.json

The JSON specification permits duplicate keys, but doing so is almost
always nearly a mistake.

We can use the JSON lint library (added as
dev-requirement to composer), which is now also used to decode the
JSON (as it's the same step as validating the JSON).

Bug: T153507
Change-Id: Ia713a1906169333c1aa2aebdc0ed060d26428d72

5 years agoMerge "registration: Use the correct key for skin dependencies"
jenkins-bot [Wed, 18 Jul 2018 09:26:50 +0000 (09:26 +0000)]
Merge "registration: Use the correct key for skin dependencies"

5 years agoMerge "RCFilters: Standardize loading indicator appearance"
jenkins-bot [Wed, 18 Jul 2018 09:02:28 +0000 (09:02 +0000)]
Merge "RCFilters: Standardize loading indicator appearance"

5 years agoMerge "maintenance/interwiki.*: Replace Wikimedia Foundation wiki URL"
jenkins-bot [Wed, 18 Jul 2018 07:26:41 +0000 (07:26 +0000)]
Merge "maintenance/interwiki.*: Replace Wikimedia Foundation wiki URL"

5 years agomaintenance/interwiki.*: Replace Wikimedia Foundation wiki URL
Reedy [Tue, 17 Jul 2018 15:31:11 +0000 (16:31 +0100)]
maintenance/interwiki.*: Replace Wikimedia Foundation wiki URL

The wiki is now being moved to foundation.wikimedia.org.

Bug: T199812
Change-Id: I7ff4e74f075b90e81bc61ec3b03fe0884b6043ef

5 years agoIn mysql.php ignore SIGINT
Tim Starling [Wed, 18 Jul 2018 05:47:23 +0000 (15:47 +1000)]
In mysql.php ignore SIGINT

Every foreground process with the terminal open will receive SIGINT when
the interrupt key is pressed. But mysql handles SIGINT and kills the
running query, we don't want the wrapper to exit in that case. So,
ignore SIGINT while mysql is running. This is similar to how a shell
deals with this problem.

The other options would have been:

* Close the filehandles in PHP after forking (probably impossible)
* Use pcntl_exec() so that PHP isn't running (more complicated and
  requires the pcntl extension anyway)
* Clear termcap ISIG flag (probably would have broken mysql)

Bug: T199152
Change-Id: I7660cd24e036fbe3fe36d12563ffe1c1fa2360d0

5 years agoLogEventsList: Use GET in HTMLForm
Prateek Saxena [Wed, 18 Jul 2018 05:08:03 +0000 (10:38 +0530)]
LogEventsList: Use GET in HTMLForm

I missed this during conversion.

Follows-up on Iba3c6aa5ac40dcdee0792c2d045b238b02d76521.

Bug: T199856
Change-Id: If3f228425b217c9ccdb7d32e0bc899647797ed70

5 years agoLogEventsList: Add backwards-compatibility for log-show-hide messages
Prateek Saxena [Wed, 18 Jul 2018 04:19:36 +0000 (09:49 +0530)]
LogEventsList: Add backwards-compatibility for log-show-hide messages

Also updated the release notes.

Bug: T199657
Change-Id: I027effbc7bd797ee241281ddd57334a5dc5c8a57

5 years agoReduce the rate of calls to Category::refreshCounts
Aaron Schulz [Tue, 17 Jul 2018 20:22:59 +0000 (21:22 +0100)]
Reduce the rate of calls to Category::refreshCounts

Bug: T199762
Change-Id: I23e2e1ebf187d21ea4bd22304aa622199a8b9c5b

5 years agoSwitch callers from ProcessCacheLRU to MapCacheLRU
Aaron Schulz [Wed, 11 Jul 2018 12:54:51 +0000 (13:54 +0100)]
Switch callers from ProcessCacheLRU to MapCacheLRU

Change-Id: Iefe5c25e952079420b3241bc26efe1d2d086e6fb

5 years agofilerepo: switch callers from ProcessCacheLRU to MapCacheLRU
Aaron Schulz [Wed, 11 Jul 2018 12:53:23 +0000 (13:53 +0100)]
filerepo: switch callers from ProcessCacheLRU to MapCacheLRU

Change-Id: I58706b5610e0113a0c8d86eed2662870198f9b46

5 years agoHTMLTitleTextField, HTMLUserTextField: Check for `null` before using the value
Prateek Saxena [Tue, 17 Jul 2018 04:54:03 +0000 (10:24 +0530)]
HTMLTitleTextField, HTMLUserTextField: Check for `null` before using the value

Otherwise HTMLTitleTextField sends null to Title::newFromTextThrow(),
which causes an exception when trying to look it up in a cache.

Similar issue is present in HTMLUserTextField, although that one
hasn't caused problems in practice yet.

Follows-up on I93ad51ffe7bee597d2d127f4c5d6b2929ffc8f7e and
I0de4194a37b6ef260d35feb1e6730985775d5351.

Bug: T199763
Change-Id: I29ecd94cdf9e3064e6e9e7f4e65a50f267b5282d

5 years agoDeprecate SearchEngine::replacePrefixes
David Causse [Tue, 10 Jul 2018 12:10:09 +0000 (14:10 +0200)]
Deprecate SearchEngine::replacePrefixes

This should be handled internally by SearchEngine implementations.

Bug: T198860
Change-Id: Ifbfd0fcb81fcacf5228bd2ffcac7b80fca872b2a
Depends-On: I7d4ff9498fa1f4ea66835c634b8931f4c29993fb

5 years agoUnify SearchEngine normalizeNamespace and parseNamespacePrefixes
David Causse [Mon, 9 Jul 2018 16:55:54 +0000 (18:55 +0200)]
Unify SearchEngine normalizeNamespace and parseNamespacePrefixes

These methods are very similar there should be no need to have
two differents way to extract the namespace prefix.

Bug: T198860
Change-Id: I22802278452559d35a3d8f6068549c1fef1a5e86

5 years agoDeprecate usage of SearchEngine:transformSearchTerm
David Causse [Mon, 25 Jun 2018 17:19:32 +0000 (19:19 +0200)]
Deprecate usage of SearchEngine:transformSearchTerm

This method was introduced in 4115586000a575eb814a80868c817d18ee169d3b
to support the prefix URI param introduced by the InputBox extension.
There are no reasons that this logic is exposed to SearchEngine users
and should be handled internally by SearchEngine implementations
that supports it.
Previously the search query was updated, now the prefix param will passed
along using SpecialSearch::$extraParams.

Bug: T198318
Change-Id: I33518d3f3ddee741ff4f3b47eb4928009bea66d1
Depends-On: I67c7f1886dd6a2d07c12015e2711c138e9f140e9

5 years agoMerge "Rephrase 'logeventslist-more-filters'"
jenkins-bot [Tue, 17 Jul 2018 21:38:53 +0000 (21:38 +0000)]
Merge "Rephrase 'logeventslist-more-filters'"

5 years agoMerge "Introduce preference filters"
jenkins-bot [Tue, 17 Jul 2018 20:40:03 +0000 (20:40 +0000)]
Merge "Introduce preference filters"

5 years agoRephrase 'logeventslist-more-filters'
Bartosz Dziewoński [Tue, 17 Jul 2018 20:28:20 +0000 (22:28 +0200)]
Rephrase 'logeventslist-more-filters'

Bug: T117737
Change-Id: I6315ac76f8ddfeb024cb16331fc643ba726dfc34

5 years agoAuthManager: Don't invalidate BotPasswords if a password reset email is sent
Brad Jorsch [Tue, 17 Jul 2018 20:18:59 +0000 (16:18 -0400)]
AuthManager: Don't invalidate BotPasswords if a password reset email is sent

There's a difference between addition of credentials, which doesn't
need to invaliate BotPasswords, and changing or removal of credentials,
which does.

It seems most straightforward for the caller of
AuthManager::changeAuthenticationData() to know which is intended, so
let's add a flag there.

Bug: T199809
Change-Id: Ib8405734e605b94f3f0b66596ad95784cb365e4f

5 years agoIntroduce preference filters
Max Semenik [Fri, 6 Jul 2018 19:21:22 +0000 (12:21 -0700)]
Introduce preference filters

This normalizes handling of transformations on the boundaries between
preferences and generic form controls and removes the special case
where email-blacklist is passed around as an array internally, leaking
into the API.

As a result of this normalization, meta=userinfo no longer returns an
array of users, using the internal representation like action=options.

Bug: T198935
Change-Id: Iff63da0d215585cfcf083e7f7ec8ed45d5b77301

5 years agoMerge "LogEventsList: Remove unused messages"
jenkins-bot [Tue, 17 Jul 2018 20:05:18 +0000 (20:05 +0000)]
Merge "LogEventsList: Remove unused messages"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 17 Jul 2018 19:54:08 +0000 (21:54 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ia5e603f787ffeb5450d8695acee5f8dbde829ca8

5 years agoMerge "LogEventsListGetExtraInputs: Keep $input and add $formDescriptor"
jenkins-bot [Tue, 17 Jul 2018 18:52:18 +0000 (18:52 +0000)]
Merge "LogEventsListGetExtraInputs: Keep $input and add $formDescriptor"

5 years agoLogEventsListGetExtraInputs: Keep $input and add $formDescriptor
Prateek Saxena [Fri, 13 Jul 2018 02:02:13 +0000 (07:32 +0530)]
LogEventsListGetExtraInputs: Keep $input and add $formDescriptor

Follows-up on Iba3c6aa5ac40dcdee0792c2d045b238b02d76521.

Bug: T117737
Bug: T199495
Change-Id: I697e158887fcca1da88763a4c929a981d9211490

5 years agoMerge "Revert "Convert Title::getTitleCache() to using MapCacheLRU""
jenkins-bot [Tue, 17 Jul 2018 07:15:45 +0000 (07:15 +0000)]
Merge "Revert "Convert Title::getTitleCache() to using MapCacheLRU""

5 years agoRevert "Convert Title::getTitleCache() to using MapCacheLRU"
Krinkle [Tue, 17 Jul 2018 07:01:17 +0000 (07:01 +0000)]
Revert "Convert Title::getTitleCache() to using MapCacheLRU"

This reverts commit 7a25cd388c8adcce60f4c055295baed71e730616.

Bug: T199763
Change-Id: I276b833d75e93328a188056bf1eb2491461d6d53

5 years agoMerge "Cached HTML/JS shouldn't show two toggle links"
jenkins-bot [Tue, 17 Jul 2018 05:11:31 +0000 (05:11 +0000)]
Merge "Cached HTML/JS shouldn't show two toggle links"

5 years agoMerge "Clean up docs around $wgUseSharedUploads"
jenkins-bot [Tue, 17 Jul 2018 05:05:44 +0000 (05:05 +0000)]
Merge "Clean up docs around $wgUseSharedUploads"

5 years agoMerge "WebRequest: Fix flaky testGetElapsedTime test case"
jenkins-bot [Tue, 17 Jul 2018 05:03:49 +0000 (05:03 +0000)]
Merge "WebRequest: Fix flaky testGetElapsedTime test case"

5 years agoCached HTML/JS shouldn't show two toggle links
Fomafix [Wed, 11 Jul 2018 21:02:48 +0000 (14:02 -0700)]
Cached HTML/JS shouldn't show two toggle links

Per https://phabricator.wikimedia.org/T195053#4417392

Bug: T195053
Change-Id: I43ff902055b338b434658e9bb1d6eacdc5684ba2

5 years agoMerge "filebackend: switch callers from ProcessCacheLRU to MapCacheLRU"
jenkins-bot [Tue, 17 Jul 2018 03:44:26 +0000 (03:44 +0000)]
Merge "filebackend: switch callers from ProcessCacheLRU to MapCacheLRU"

5 years agoWebRequest: Fix flaky testGetElapsedTime test case
Timo Tijhof [Tue, 17 Jul 2018 03:23:30 +0000 (20:23 -0700)]
WebRequest: Fix flaky testGetElapsedTime test case

* Increase tolerance from 0.2s to 60s.

* Update mock to only set 'requestTime' when needed.

* Inject the mock timestamp.

* Increase test coverage by not just ensuring 0.0 is returned
  when invoked right after (which would be satisfied if it
  always returned 0.0), but use a timestamp that started
  slightly in the past to confirm it does (likely) do
  computation.

Bug: T199764
Change-Id: Iad9499391eecb4a9d1923d231a1a5f1afe173ecc

5 years agoParser: Remove style and script tags' content from TOC
Brad Jorsch [Mon, 2 Jul 2018 15:17:06 +0000 (11:17 -0400)]
Parser: Remove style and script tags' content from TOC

We don't want to display the stylesheet as part of the TOC entry if
someone uses TemplateStyles in a heading.

Bug: T198618
Change-Id: I2f7316daaba0cce662b6a4702ab87322e6783655