lhc/web/wiklou.git
6 years agoshell: Optionally restrict commands' access with firejail
Kunal Mehta [Wed, 18 Oct 2017 06:54:19 +0000 (23:54 -0700)]
shell: Optionally restrict commands' access with firejail

Introduces a FirejailCommand class, which can be used to add additional
restrictions to a command, for increased security. For now, firejail
containment needs to be enabled on a per-command basis.

The following restrictions are implemented:
* NO_ROOT - disallows any root access, including via setuid binaries
* SECCOMP - block dangerous syscalls with seccomp
* PRIVATE_DEV - create a private /dev
* NO_NETWORK - deny all network access
* NO_EXECVE - block the execve syscall

A convenient Shell::RESTRICT_DEFAULT is equivalent to NO_ROOT | SECCOMP
| PRIVATE_DEV, with the expectation that more restrictions may be added
to it in the future.

In addition, specific paths can be whitelisted with
Command::whitelistPaths(). Any file/directory that isn't whitelisted in
that top level directory (e.g. /srv) won't exist inside the firejail.

$wgShellRestrictionMethod can be set to false for no restriction system,
'firejail' to explicitly use it, or 'autodetect' to autodetect whatever
system is available. In the future the default should be changed to
autodetection once firejail is tested more.

Bug: T173370
Change-Id: Id74df0dbba40e1e7c07c4368aacffb6eb06a17c5

6 years agoMerge "Remove math from $wgDefaultUserOptions as Math isn't in core"
jenkins-bot [Mon, 27 Nov 2017 21:28:00 +0000 (21:28 +0000)]
Merge "Remove math from $wgDefaultUserOptions as Math isn't in core"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 27 Nov 2017 21:07:34 +0000 (22:07 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I7b3081cef41dc283356ab30f835766a5f467cae0

6 years agoMerge "Soft deprecate $wgStyleVersion (add @deprecated)"
jenkins-bot [Mon, 27 Nov 2017 20:57:36 +0000 (20:57 +0000)]
Merge "Soft deprecate $wgStyleVersion (add @deprecated)"

6 years agoMerge "mw.special.preferences: Make the "Basic information" section more compact"
jenkins-bot [Mon, 27 Nov 2017 20:30:28 +0000 (20:30 +0000)]
Merge "mw.special.preferences: Make the "Basic information" section more compact"

6 years agoRemove math from $wgDefaultUserOptions as Math isn't in core
Reedy [Mon, 27 Nov 2017 20:27:35 +0000 (20:27 +0000)]
Remove math from $wgDefaultUserOptions as Math isn't in core

Change-Id: Id8248d673cda342d6727a02cd5a440be87e7c0c1

6 years agoMerge "Minor code updates to SpecialListgrouprights"
jenkins-bot [Mon, 27 Nov 2017 20:15:03 +0000 (20:15 +0000)]
Merge "Minor code updates to SpecialListgrouprights"

6 years agoSoft deprecate $wgStyleVersion (add @deprecated)
Reedy [Fri, 24 Nov 2017 23:12:25 +0000 (23:12 +0000)]
Soft deprecate $wgStyleVersion (add @deprecated)

Bug: T181318
Change-Id: Ib5dce1c8d39a821aab0f96133780c18c827bde03

6 years agomw.special.preferences: Make the "Basic information" section more compact
Bartosz Dziewoński [Mon, 27 Nov 2017 19:01:40 +0000 (20:01 +0100)]
mw.special.preferences: Make the "Basic information" section more compact

Bug: T180538
Change-Id: Iddb73573637dd740fbebed52096cf82ef7c31c00

6 years agoMerge "objectcache: make adaptiveTTL() use getCurrentTime() for completeness"
jenkins-bot [Mon, 27 Nov 2017 19:46:44 +0000 (19:46 +0000)]
Merge "objectcache: make adaptiveTTL() use getCurrentTime() for completeness"

6 years agoMerge "Add Pashto numerals based on Arabic"
jenkins-bot [Mon, 27 Nov 2017 18:00:39 +0000 (18:00 +0000)]
Merge "Add Pashto numerals based on Arabic"

6 years agoobjectcache: make adaptiveTTL() use getCurrentTime() for completeness
Aaron Schulz [Mon, 27 Nov 2017 17:45:46 +0000 (09:45 -0800)]
objectcache: make adaptiveTTL() use getCurrentTime() for completeness

Change-Id: I5ba3c39ccaf412b0aaecd64d52ab15b2075bc76c

6 years agoAdd Pashto numerals based on Arabic
Reedy [Fri, 24 Nov 2017 00:02:58 +0000 (00:02 +0000)]
Add Pashto numerals based on Arabic

Bug: T181265
Change-Id: I19cf703edc90a1f57e7b083b3b29cffd77c45c90

6 years agoMerge "RELEASE-NOTES to HISTORY for 1.27.4/1.28.3/1.29.2"
jenkins-bot [Mon, 27 Nov 2017 16:39:07 +0000 (16:39 +0000)]
Merge "RELEASE-NOTES to HISTORY for 1.27.4/1.28.3/1.29.2"

6 years agoHandle case when there is no handler for a file
Cormac Parle [Mon, 27 Nov 2017 09:44:19 +0000 (09:44 +0000)]
Handle case when there is no handler for a file

Bug: T181365
Change-Id: Ia76b9e891eeb50071ef91e1768a7ad50f6fd7563

6 years agoMerge "Replace MimeMagic::singleton() calls"
jenkins-bot [Mon, 27 Nov 2017 07:53:55 +0000 (07:53 +0000)]
Merge "Replace MimeMagic::singleton() calls"

6 years agoReplace MimeMagic::singleton() calls
Reedy [Mon, 27 Nov 2017 01:33:57 +0000 (01:33 +0000)]
Replace MimeMagic::singleton() calls

Change-Id: Ieed41b5d6b0f568fe2872e7754f2feae7868fe7a

6 years agoAPI:Siteinfo: Include wgCategoryCollation in Siteinfo response
Ian Marlier [Wed, 22 Nov 2017 17:02:26 +0000 (12:02 -0500)]
API:Siteinfo: Include wgCategoryCollation in Siteinfo response

Include the value of $wgCategoryCollation in the siteinfo general array.  This will allow AWB to get this information without needing to scrape the NOC InitialiseSettings.php.txt file.

Bug: T179795
Change-Id: I76f85c71d2fe0d7a0482fb5eda0458708057e48d

6 years agoMerge "objectcache: add "staleTTL" into WANObjectCache::getWithSetCallback()"
jenkins-bot [Sun, 26 Nov 2017 21:55:46 +0000 (21:55 +0000)]
Merge "objectcache: add "staleTTL" into WANObjectCache::getWithSetCallback()"

6 years agoobjectcache: add "staleTTL" into WANObjectCache::getWithSetCallback()
Aaron Schulz [Tue, 21 Nov 2017 22:11:01 +0000 (14:11 -0800)]
objectcache: add "staleTTL" into WANObjectCache::getWithSetCallback()

This simply involves passing it through to the set() call

Also added some related commons to adaptiveTTL() involving
usage of this option.

Change-Id: Id5833a5d4efb6cad2eb646832e5b0188e86e12fc

6 years agoMerge "Reduce replication log spam from LoadBalancer"
jenkins-bot [Sun, 26 Nov 2017 21:39:32 +0000 (21:39 +0000)]
Merge "Reduce replication log spam from LoadBalancer"

6 years agoMerge "Make IDatabase return type documentation less confusing"
jenkins-bot [Sun, 26 Nov 2017 21:34:42 +0000 (21:34 +0000)]
Merge "Make IDatabase return type documentation less confusing"

6 years agoMerge "objectcache: improve touchCheckKey()/resetCheckKey() comments"
jenkins-bot [Sun, 26 Nov 2017 21:34:10 +0000 (21:34 +0000)]
Merge "objectcache: improve touchCheckKey()/resetCheckKey() comments"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 26 Nov 2017 20:54:12 +0000 (21:54 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Ia4a84786f3e85d400a9d2e947325d92923fda4f6

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 25 Nov 2017 20:58:38 +0000 (21:58 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I02c5bc7b5265db3f931e7f4ed980ff7893784cdb

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 24 Nov 2017 21:22:51 +0000 (22:22 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Ief16532a063d4ad132d0f2948f421d6346c8c7e3

6 years agoMerge "More user related Revision construction test cases"
jenkins-bot [Fri, 24 Nov 2017 13:00:45 +0000 (13:00 +0000)]
Merge "More user related Revision construction test cases"

6 years agoMerge "SpecialUnblock: Remove addModules( 'mediawiki.special' )"
jenkins-bot [Fri, 24 Nov 2017 08:31:47 +0000 (08:31 +0000)]
Merge "SpecialUnblock: Remove addModules( 'mediawiki.special' )"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 23 Nov 2017 21:29:53 +0000 (22:29 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I918d590d42a4095d3e9337db534cf604ea1c479b

6 years agoMerge "Remove unused WikiPageTestContentHandlerUseDB (test)"
jenkins-bot [Thu, 23 Nov 2017 21:10:19 +0000 (21:10 +0000)]
Merge "Remove unused WikiPageTestContentHandlerUseDB (test)"

6 years agoRemove method level @group Database tags
addshore [Thu, 23 Nov 2017 19:09:15 +0000 (19:09 +0000)]
Remove method level @group Database tags

MessageTest did not have the group at class level
either so that is added in this patch.

Change-Id: Idb6213282d6854044f374c9df51ea32d0a5523e1

6 years agoClarify the use of @group Database in MediaWikiTestCase
addshore [Thu, 23 Nov 2017 19:19:14 +0000 (19:19 +0000)]
Clarify the use of @group Database in MediaWikiTestCase

Only the class level doc comment is checked.
Adding @group Database to a method doc comment will do
nothing.

Change-Id: Ic0fff3636d6c44e7a27df8806c9712155ce81d8c

6 years agoRemove unused WikiPageTestContentHandlerUseDB (test)
addshore [Thu, 23 Nov 2017 19:11:25 +0000 (19:11 +0000)]
Remove unused WikiPageTestContentHandlerUseDB (test)

This class had the wrong name so has not been run since
it was written in 2012.

In If5b1fa39610dbe366649f79beda58f4ea6d58c8f I fixed the
name but the tests fail, so lets just remove it and rewrite
the tests.

Change-Id: Iccdcd4a4f72c8b1329d36ff2e8699ba6b23c9ae7

6 years agoMinor code updates to SpecialListgrouprights
Reedy [Thu, 23 Nov 2017 12:06:59 +0000 (12:06 +0000)]
Minor code updates to SpecialListgrouprights

Use some newer code inside MediaWiki.

Explicit function visibility modifiers.

Improve return comment.

Change-Id: I4f6ec2bd8ef6ceeac8d480dcac76f0e04c09f2a3

6 years agoobjectcache: improve touchCheckKey()/resetCheckKey() comments
Aaron Schulz [Wed, 22 Nov 2017 20:28:02 +0000 (12:28 -0800)]
objectcache: improve touchCheckKey()/resetCheckKey() comments

Change-Id: I91de1dff605adcf86e957bbf9e503fc4e5eed741

6 years agoMake IDatabase return type documentation less confusing
Aaron Schulz [Thu, 23 Nov 2017 10:32:16 +0000 (02:32 -0800)]
Make IDatabase return type documentation less confusing

Disregard the effects of DBO_IGNORE, which is for internal use only
and is not part of publically observable behavior.

Change-Id: I056b7148bc53af524ea8c85c159d77fbfbd24520

6 years agoReduce replication log spam from LoadBalancer
Aaron Schulz [Tue, 21 Nov 2017 19:41:13 +0000 (11:41 -0800)]
Reduce replication log spam from LoadBalancer

Set the logging level there to INFO. Move the ERROR level
logging to LoadMonitor, where it will trigger only on cache
regenerations, rather than every DB connection attempt.

Change-Id: I96fd513a01601544ea30a562746c49c88f84d96d

6 years agoMerge "objectcache: add some WAN cache preemptive refresh tests"
jenkins-bot [Thu, 23 Nov 2017 03:53:45 +0000 (03:53 +0000)]
Merge "objectcache: add some WAN cache preemptive refresh tests"

6 years agoobjectcache: add some WAN cache preemptive refresh tests
Aaron Schulz [Sat, 18 Nov 2017 21:49:32 +0000 (13:49 -0800)]
objectcache: add some WAN cache preemptive refresh tests

Added some extra sanity checks to WANObjectCache

Change-Id: Iac511b0cc1fc8d57ac98e9d7f2cacbcddc1c6db9

6 years agoMerge "Avoid blocking locks during API edit stash generation"
jenkins-bot [Thu, 23 Nov 2017 01:47:32 +0000 (01:47 +0000)]
Merge "Avoid blocking locks during API edit stash generation"

6 years agoMerge "Add "maxLag" parameter to LBFactory sub-classes and LoadBalancer"
jenkins-bot [Thu, 23 Nov 2017 01:42:37 +0000 (01:42 +0000)]
Merge "Add "maxLag" parameter to LBFactory sub-classes and LoadBalancer"

6 years agoRevert "Localisation updates from https://translatewiki.net."
Raimond Spekking [Wed, 22 Nov 2017 20:58:44 +0000 (20:58 +0000)]
Revert "Localisation updates from https://translatewiki.net."

Overwrites https://gerrit.wikimedia.org/r/#/c/392539/

This reverts commit 0ce6b764d4391f7e91fe0499dfa661644c4e47c4.

Change-Id: I3ab8868eae0986b68fd1d6f68e51bc4f5043122e

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 22 Nov 2017 20:54:50 +0000 (21:54 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I2dd02e0ad434630cf7f1b59067b3132f095937d5

6 years agoMerge "Preferences: Don't show the watchlist token; just link to ResetTokens"
jenkins-bot [Wed, 22 Nov 2017 20:50:19 +0000 (20:50 +0000)]
Merge "Preferences: Don't show the watchlist token; just link to ResetTokens"

6 years agoMerge "Deprecate OutputPage::parserOptions() as a setter"
jenkins-bot [Wed, 22 Nov 2017 20:45:47 +0000 (20:45 +0000)]
Merge "Deprecate OutputPage::parserOptions() as a setter"

6 years agoAdd "maxLag" parameter to LBFactory sub-classes and LoadBalancer
Aaron Schulz [Wed, 22 Nov 2017 16:03:33 +0000 (08:03 -0800)]
Add "maxLag" parameter to LBFactory sub-classes and LoadBalancer

Change-Id: I2559e81a4a67036a899fec10582ac1ccb3818cf1

6 years agoDeprecate OutputPage::parserOptions() as a setter
Brad Jorsch [Wed, 22 Nov 2017 20:12:43 +0000 (15:12 -0500)]
Deprecate OutputPage::parserOptions() as a setter

The only known callers were using it to call ->setEditSections( false ),
which has been the default since MediaWiki 1.19.

Change-Id: Ib021d7e80e44782ba6ebe66cf8366bae9147ce00
Depends-On: I7de0102e6cac6b5aa0147b825fa2cb6ebd37b434
Depends-On: I7b0604773a8692c7cb37fffa3fcb8aaac83d81ba

6 years agoMerge "InstallDocFormatter: Add missing @covers scope"
jenkins-bot [Wed, 22 Nov 2017 19:33:08 +0000 (19:33 +0000)]
Merge "InstallDocFormatter: Add missing @covers scope"

6 years agoInstallDocFormatter: Add missing @covers scope
Timo Tijhof [Wed, 22 Nov 2017 19:01:54 +0000 (11:01 -0800)]
InstallDocFormatter: Add missing @covers scope

The format() method is a one-line wrapper around execute(), which
is the real method being tested here. Given the class doesn't
contain any other methods, increase the scope to the whole class.

Change-Id: I8b2c7736c6708c0915a9ce15fef0dc85c63621ea

6 years agobuild: Add 'npm run qunit' command
Timo Tijhof [Wed, 22 Nov 2017 18:48:27 +0000 (10:48 -0800)]
build: Add 'npm run qunit' command

The running of 'grunt qunit' is unconvenient due to it only working
if the user has grunt-cli installed globally, which should not be
needed because it is already installed in the local directory.

It could be worked around by instructing users to use
`./node_modules/.bin/grunt qunit`, but it would be much simpler
to instruct them to use `npm run qunit` instead.

Unlike 'composer', 'npm' does not come by default with a command
like 'composer exec' that one could pass a command directly
without needing to register it. This is fixed in more recent
versions through 'npx -c', but that's a bit too new to require
in the manual, so adding it as a run-script instead.

Change-Id: I2812b13dbed50612b1626a617ba65f92e212f01a

6 years agoMerge "RCFilters: Respect subpage in RCLinked"
jenkins-bot [Wed, 22 Nov 2017 18:12:12 +0000 (18:12 +0000)]
Merge "RCFilters: Respect subpage in RCLinked"

6 years agoMerge "objectcache: add WANObjectCache::STALE_TTL_NONE constant"
jenkins-bot [Wed, 22 Nov 2017 18:05:44 +0000 (18:05 +0000)]
Merge "objectcache: add WANObjectCache::STALE_TTL_NONE constant"

6 years agoRCFilters: Respect subpage in RCLinked
Moriel Schottlender [Tue, 21 Nov 2017 23:59:44 +0000 (15:59 -0800)]
RCFilters: Respect subpage in RCLinked

Make sure that when we redirect a URL when there's a saved query,
we retain the information about a subpage.

Then, normalize the URL to always use &target=xxx so that the
system knows to correct the value if the user uses the form that
is, for the moment, outside the regular RCFilters interface.

Bug: T181100
Change-Id: I75cfb2b56a4da6357e6117b3f34f3178bfb2c90c

6 years agoMerge "RCFilters: Update URL even when we skip fetching"
jenkins-bot [Wed, 22 Nov 2017 17:22:36 +0000 (17:22 +0000)]
Merge "RCFilters: Update URL even when we skip fetching"

6 years agoMerge "Add missing message dependency to oojs-ui-widgets"
jenkins-bot [Wed, 22 Nov 2017 16:35:56 +0000 (16:35 +0000)]
Merge "Add missing message dependency to oojs-ui-widgets"

6 years agoAdd missing message dependency to oojs-ui-widgets
Thiemo Mättig [Wed, 22 Nov 2017 14:59:59 +0000 (15:59 +0100)]
Add missing message dependency to oojs-ui-widgets

The depdency is just missing. The message is used in the code, but
not loaded, resulting in tooltips that show "<ooui-item-remove>".

This is currently an actual issue when playing around with the
AdvancedSearch prototype announced at
https://www.mediawiki.org/wiki/Help:Extension:AdvancedSearch

Change-Id: Ia89f2dd6c89b03fe63d289732ac9221eddf5db99

6 years agoAdd tests for DiffEngine tooltips
WMDE-Fisch [Wed, 22 Nov 2017 13:28:52 +0000 (14:28 +0100)]
Add tests for DiffEngine tooltips

Change-Id: I8e6560efc35a6bd875f96edb9b59c9961b81a956

6 years agoFix regex on diff tooltips
WMDE-Fisch [Wed, 22 Nov 2017 10:51:43 +0000 (11:51 +0100)]
Fix regex on diff tooltips

Follow-up to I71600acc19319f7b5781b42dc88cd5e8c65c29a0

Change-Id: If307f6a02291005c12f28129a67aa00e423e5e9c

6 years agoMerge "Maintenance: add fatalError() method"
jenkins-bot [Wed, 22 Nov 2017 08:12:59 +0000 (08:12 +0000)]
Merge "Maintenance: add fatalError() method"

6 years agoSpecialUnblock: Remove addModules( 'mediawiki.special' )
Fomafix [Wed, 22 Nov 2017 06:04:37 +0000 (07:04 +0100)]
SpecialUnblock: Remove addModules( 'mediawiki.special' )

The special page Special:Unblock does not use the styles from the style
module 'mediawiki.special'.

Change-Id: Ia24a71b1b1fc7c7da9423a07adf9b67db336a1ff

6 years agoMerge mediawiki.special.userrights.styles into mediawiki.special
Fomafix [Wed, 22 Nov 2017 05:08:33 +0000 (06:08 +0100)]
Merge mediawiki.special.userrights.styles into mediawiki.special

Follows-up 5f18aae76eecf5.

This reduces the number of modules.

Bug: T180914
Change-Id: I4143e876495bad6530afe290ba686d7f26a43c58

6 years agoMaintenance: add fatalError() method
Bryan Davis [Mon, 20 Nov 2017 00:36:54 +0000 (17:36 -0700)]
Maintenance: add fatalError() method

Deprecate the second argument to Maintenance::error() in favor of a new
Maintenance::fatalError() method. This is intended to make it easier to
review flow control in maintenance scripts.

Change-Id: I75699008638f7e99b11210c7bb9e2e131fca7c9e

6 years agoRCFilters: Update URL even when we skip fetching
Moriel Schottlender [Wed, 22 Nov 2017 00:37:32 +0000 (16:37 -0800)]
RCFilters: Update URL even when we skip fetching

In some cases, when the selected value of the filters have not
changed, we don't reload the results. However, we should still
update the URL values.

Change-Id: Iff81b4ca1b78848813b2eb8d55f0f5f5e614b424

6 years agoSync up with Parsoid parserTests.txt
Subramanya Sastry [Tue, 21 Nov 2017 22:07:03 +0000 (17:07 -0500)]
Sync up with Parsoid parserTests.txt

This now aligns with Parsoid commit 0723e5c47845ff4361b9635b591e7d386c975fdf

Change-Id: Ic78ee28a5cdeb9d32147332bf6c06bbe6ab19acd

6 years agoobjectcache: add WANObjectCache::STALE_TTL_NONE constant
Aaron Schulz [Tue, 21 Nov 2017 22:09:08 +0000 (14:09 -0800)]
objectcache: add WANObjectCache::STALE_TTL_NONE constant

Also improved the documentation around "staleTTL".

Change-Id: Iae3377cbf58d8aa2c70f75586f183089a8bec92f

6 years ago{{anchorencode:}} output should be always usable in links
Max Semenik [Mon, 13 Nov 2017 23:53:24 +0000 (15:53 -0800)]
{{anchorencode:}} output should be always usable in links

Bug: T179544

Change-Id: If8098e3e839e8ba1cf27b6053017e818c556a733

6 years agoMerge "Sanitizer::safeEncodeAttribute(): also encode ]"
jenkins-bot [Tue, 21 Nov 2017 21:18:46 +0000 (21:18 +0000)]
Merge "Sanitizer::safeEncodeAttribute(): also encode ]"

6 years agoMerge "Add unit tests for Html helper methods and change messageBox visibility"
jenkins-bot [Tue, 21 Nov 2017 21:18:40 +0000 (21:18 +0000)]
Merge "Add unit tests for Html helper methods and change messageBox visibility"

6 years agoAdd unit tests for Html helper methods and change messageBox visibility
jdlrobson [Wed, 15 Nov 2017 19:11:02 +0000 (11:11 -0800)]
Add unit tests for Html helper methods and change messageBox visibility

* Messagebox is now private to Html class to discourage unconventional
  usages
* Tests are added for all three helper methods added in
  4e7021a2318

Bug: T166915
Change-Id: I1c3e4131b2439c0f4fb94ad4e616a909b52d6b78

6 years agoRELEASE-NOTES to HISTORY for 1.27.4/1.28.3/1.29.2
Reedy [Tue, 21 Nov 2017 21:02:05 +0000 (21:02 +0000)]
RELEASE-NOTES to HISTORY for 1.27.4/1.28.3/1.29.2

Bug: T180276
Change-Id: I7c0a1e3712511d4d61f9c130690edda33fb7793d

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 21 Nov 2017 20:57:45 +0000 (21:57 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I290aac624dced5271a12cb1e582dc5649aea3eda

6 years agoAvoid blocking locks during API edit stash generation
Aaron Schulz [Tue, 21 Nov 2017 02:58:05 +0000 (18:58 -0800)]
Avoid blocking locks during API edit stash generation

Bug: T180793
Change-Id: Ibc29a20329113c3ee54fd48cfe86ca8251e8098d

6 years agoMerge "Reduce lag waiting time in CategoryMembershipUpdateJob critical section"
jenkins-bot [Tue, 21 Nov 2017 19:13:34 +0000 (19:13 +0000)]
Merge "Reduce lag waiting time in CategoryMembershipUpdateJob critical section"

6 years agoMerge "Make CategoryMembershipChangeJob query more readable"
jenkins-bot [Tue, 21 Nov 2017 19:13:30 +0000 (19:13 +0000)]
Merge "Make CategoryMembershipChangeJob query more readable"

6 years agoMerge "Display MAX_CHARS / MAX_BYTES in ApiSandbox"
jenkins-bot [Tue, 21 Nov 2017 15:22:23 +0000 (15:22 +0000)]
Merge "Display MAX_CHARS / MAX_BYTES in ApiSandbox"

6 years agoMerge "Add string length limits"
jenkins-bot [Tue, 21 Nov 2017 15:21:26 +0000 (15:21 +0000)]
Merge "Add string length limits"

6 years agoAdd localised tooltips for moved paragraph indicators
WMDE-Fisch [Tue, 7 Nov 2017 11:44:53 +0000 (12:44 +0100)]
Add localised tooltips for moved paragraph indicators

Bug: T166882
Change-Id: I71600acc19319f7b5781b42dc88cd5e8c65c29a0

6 years agoDifferenceEngine: Improve cache invalidation
Kunal Mehta [Sat, 4 Nov 2017 20:15:26 +0000 (13:15 -0700)]
DifferenceEngine: Improve cache invalidation

Invalidate the diff cache if the engine producing the diff changes, or
if a configuration setting that controls the diff output changes. This
is probably what most users expect, that changing the configuration will
result in a change for diffs that may have already been viewed.

For wikidiff2 specifically, a change in version or
$wgWikiDiff2MovedParagraphDetectionCutoff will invalidate the cache.

Refactor engine detection and sanity-checking into a private getEngine()
function.

As part of this getDiffBodyCacheKey() was deprecated, and subclasses
should implement getDiffBodyCacheKeyParams() instead. Drop the
deprecated and unused MW_DIFF_VERSION constant while we're at it, and
bump DIFF_VERSION since we're already changing the cache key format.

Bug: T180043
Change-Id: I4e386ca05bd2a2fb54208d760c131eb42e3a72ab

6 years agoDisplay MAX_CHARS / MAX_BYTES in ApiSandbox
Gergő Tisza [Mon, 13 Nov 2017 00:37:21 +0000 (00:37 +0000)]
Display MAX_CHARS / MAX_BYTES in ApiSandbox

Change-Id: I0f15afe6656765e92582e4e4cead714b31987b8a

6 years agoAdd string length limits
Gergő Tisza [Sun, 12 Nov 2017 09:51:34 +0000 (09:51 +0000)]
Add string length limits

Adds two new ApiBase::getAllowedParams() keys:
PARAM_MAX_BYTES and PARAM_MAX_CHARS, to set a length
limit for a (string-like) parameter.

This makes it easy to document and enforce database
field length limits (where relying on the database
would either result in unfriendly error messages or
silent truncation, depending on DB settings) and
also exposes them in structured form so API clients
can verify the length without doing roundtrips.

Change-Id: I2e784972d7e11cad79fdef887bbcde297dbd9ce0

6 years agoReduce lag waiting time in CategoryMembershipUpdateJob critical section
Aaron Schulz [Tue, 21 Nov 2017 02:09:52 +0000 (18:09 -0800)]
Reduce lag waiting time in CategoryMembershipUpdateJob critical section

Bug: T180793
Change-Id: Icfe8dd16f4194c5d4f88d7547f732acae8b1cfe2

6 years agoMake CategoryMembershipChangeJob query more readable
Aaron Schulz [Tue, 21 Nov 2017 02:43:40 +0000 (18:43 -0800)]
Make CategoryMembershipChangeJob query more readable

Previously, the INNER JOIN had "rc_timestamp >= rev_timestamp" which
complicates query planning. Even with "equals" it still was techinally
ambiguous. Instead, just use EXISTS and an exact equality operator.

Bug: T180793
Change-Id: I1e9ae7c2ce0f95484e09e867550283d816d151f0

6 years agoobjectcache: Make MemcachedBagOStuff::makeKeyInternal always have a key class
Aaron Schulz [Tue, 21 Nov 2017 00:04:38 +0000 (16:04 -0800)]
objectcache: Make MemcachedBagOStuff::makeKeyInternal always have a key class

Even if a key is too long and shortened, it should still have some key class.

Change-Id: I006b6b03ad1302e9e49362bbd051332bc6105837

6 years agoPreferences: Don't show the watchlist token; just link to ResetTokens
James D. Forrester [Mon, 20 Nov 2017 23:34:06 +0000 (15:34 -0800)]
Preferences: Don't show the watchlist token; just link to ResetTokens

Also make both the PasswordReset and ResetTokens forms appropriately
flag their action buttons as destructive.

Bug: T180710
Change-Id: I26649900f9360e5175fa93b87dc7840a7c1d4f93

6 years agoMerge "Special:UserRights: Prevent FOUC on loading"
jenkins-bot [Mon, 20 Nov 2017 22:47:54 +0000 (22:47 +0000)]
Merge "Special:UserRights: Prevent FOUC on loading"

6 years agoMerge "Crimean Tatar Transliteration"
jenkins-bot [Mon, 20 Nov 2017 22:27:57 +0000 (22:27 +0000)]
Merge "Crimean Tatar Transliteration"

6 years agoCrimean Tatar Transliteration
tjones [Mon, 31 Jul 2017 22:35:39 +0000 (18:35 -0400)]
Crimean Tatar Transliteration

This is a first pass at Latin/Cyrillic translitertion for Crimean
Tatar (crh).

Includes transliteration tables, prefix/suffix mappings, regex
mappings, and exceptions lists for words and abbreviations.

Regularize CRH language name in messages/* files.

Fix "varient" typos in qqq.json.

Add unit tests for CRH transliteration.

Bug: T23582
Change-Id: I424703f99adf837f6217872b882d1ea26bfdd068

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 20 Nov 2017 20:56:22 +0000 (21:56 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I2541976a8c5c079f0e11d84f843aff0ffd540dab

6 years agoMerge "objectcache: fix some makeKey/makeGlobalKey IDEA warnings"
jenkins-bot [Mon, 20 Nov 2017 20:51:26 +0000 (20:51 +0000)]
Merge "objectcache: fix some makeKey/makeGlobalKey IDEA warnings"

6 years agoMerge "Fix some broke cache key generations"
jenkins-bot [Mon, 20 Nov 2017 20:48:47 +0000 (20:48 +0000)]
Merge "Fix some broke cache key generations"

6 years agoMerge "objectcache: make sure variant keys are namespaced as keys should be"
jenkins-bot [Mon, 20 Nov 2017 20:41:16 +0000 (20:41 +0000)]
Merge "objectcache: make sure variant keys are namespaced as keys should be"

6 years agoMore user related Revision construction test cases
addshore [Mon, 20 Nov 2017 20:12:08 +0000 (20:12 +0000)]
More user related Revision construction test cases

I4f24e7fbb683cb51f3fd8b250732bae9c7541ba2 releaved
a failing test "PageArchiveTest::testUndeleteRevisions"
that constructs a revision from an array only passing
in 'user_text' and no 'user' field.

After investigation this is quite an odd case that
probably shouldnt happen in production code.

The test cases in this patch test the current behaviour.

Bug: T180210
Change-Id: I7040a16ac6cb29b49f8e7bed1caee72cdd4c6a61

6 years agoobjectcache: make sure variant keys are namespaced as keys should be
Aaron Schulz [Mon, 20 Nov 2017 07:27:34 +0000 (23:27 -0800)]
objectcache: make sure variant keys are namespaced as keys should be

Change-Id: I02597d6dbc2febace25ef6d1981f69dc704efe8d

6 years agoRCFilters: Followup I08db859c571: Fix typo in "namespaces"
Moriel Schottlender [Mon, 20 Nov 2017 20:07:43 +0000 (12:07 -0800)]
RCFilters: Followup I08db859c571: Fix typo in "namespaces"

Bug: T180863
Change-Id: I1b65ed5dfceb99bea98cbcadea11ddab367c6ca7

6 years agoSpecial:UserRights: Prevent FOUC on loading
Fomafix [Mon, 20 Nov 2017 07:32:41 +0000 (08:32 +0100)]
Special:UserRights: Prevent FOUC on loading

Implement the show/hide based on the group checkbox with CSS instead of
JavaScript.
Hide the expiry input field initially with CSS instead of JavaScript.

Change-Id: I33a4b0a13dab92156aeea96529573ad49fa2d616

6 years agoDeprecate access to TitleValue properties
addshore [Mon, 20 Nov 2017 18:52:46 +0000 (18:52 +0000)]
Deprecate access to TitleValue properties

This switches from private to protected access of TitleValue
properties, and marks them as deprecated instead as per the
deprecation policy.

Partial revert of I3d8315ade6aa70bda43d90b0b32b730d8c9cbd2e

Change-Id: Ie290b6a84635ebb5865e82ae24fe4b27224e601a

6 years agoMerge "RCFilters: Only apply excluded label to namespace items"
jenkins-bot [Mon, 20 Nov 2017 18:20:45 +0000 (18:20 +0000)]
Merge "RCFilters: Only apply excluded label to namespace items"

6 years agoMerge "Tests for TitleValue::__toString"
jenkins-bot [Mon, 20 Nov 2017 16:26:48 +0000 (16:26 +0000)]
Merge "Tests for TitleValue::__toString"

6 years agoMerge "Set wgCommentTableSchemaMigrationStage for some RevisionTests"
jenkins-bot [Mon, 20 Nov 2017 16:15:38 +0000 (16:15 +0000)]
Merge "Set wgCommentTableSchemaMigrationStage for some RevisionTests"

6 years agoMerge "Move styles for Special:UserRights to separate style module"
jenkins-bot [Mon, 20 Nov 2017 11:50:13 +0000 (11:50 +0000)]
Merge "Move styles for Special:UserRights to separate style module"