5 years agoMerge "Improve ExtensionRegistry test coverage"
jenkins-bot [Tue, 13 Feb 2018 04:45:01 +0000 (04:45 +0000)]
Merge "Improve ExtensionRegistry test coverage"

5 years agoImprove ExtensionRegistry test coverage
Kunal Mehta [Sat, 10 Feb 2018 08:03:19 +0000 (00:03 -0800)]
Improve ExtensionRegistry test coverage

Change-Id: I7f7445952f057995a3e3215145803affa5aceede

5 years agoMigrage callers away from SiteStatsUpdate::__construct()
Aaron Schulz [Sun, 11 Feb 2018 19:49:27 +0000 (11:49 -0800)]
Migrage callers away from SiteStatsUpdate::__construct()

Change-Id: I4d81f5f87c93865e8fe1b7986074070376eab8f9

5 years agoVarious cleanup to SiteStats classes
Aaron Schulz [Sun, 11 Feb 2018 19:04:20 +0000 (11:04 -0800)]
Various cleanup to SiteStats classes

* Mark method visibility
* Remove unused code/methods
* Use WAN cache process cache in pagesInNs()
* Remove "m" prefix from SiteStatsInit fields
* Avoid use of $wg variables

Change-Id: Iab4001f02c9b2e8667ca4bac033fd4f6ef272148

5 years agoMerge "resourceloader: Removed tests for deprecated 'position' parameter"
jenkins-bot [Mon, 12 Feb 2018 21:48:47 +0000 (21:48 +0000)]
Merge "resourceloader: Removed tests for deprecated 'position' parameter"

5 years agoresourceloader: Removed tests for deprecated 'position' parameter
Umherirrender [Mon, 12 Feb 2018 21:00:15 +0000 (22:00 +0100)]
resourceloader: Removed tests for deprecated 'position' parameter

This parameter is a no-op for these tests, as such, nothing was being
tested by specifying it in tests. The behaviour 'test' and 'test.top'
was identical.

Bug: T184257
Change-Id: Ia2bb731f00d4b4175f7b75174aeafaca9412329e

5 years agoregistration: Remove unused ExtensionRegistry::markLoaded
Kunal Mehta [Sat, 10 Feb 2018 07:44:06 +0000 (23:44 -0800)]
registration: Remove unused ExtensionRegistry::markLoaded

This is unused, and it would make more sense for whatever wants to add
credits to directly modify $this->loaded instead of incurring the
overhead of an extra function call.

Change-Id: Icce1a87d2dc8ce61cb05eace6e0b65d6cea4c58d

5 years agoMove SiteStatsInit to its own file
Aaron Schulz [Sun, 11 Feb 2018 18:27:35 +0000 (10:27 -0800)]
Move SiteStatsInit to its own file

Change-Id: Ief4e5f83d8dce93641623c2fa9c2195a564ee656

5 years agoMerge "Make SiteStatsInit::doPlaceholderInit() use 1 for ss_row_id"
jenkins-bot [Mon, 12 Feb 2018 19:28:00 +0000 (19:28 +0000)]
Merge "Make SiteStatsInit::doPlaceholderInit() use 1 for ss_row_id"

5 years agoMake SiteStatsInit::doPlaceholderInit() use 1 for ss_row_id
Aaron Schulz [Sat, 10 Feb 2018 08:37:42 +0000 (00:37 -0800)]
Make SiteStatsInit::doPlaceholderInit() use 1 for ss_row_id

This makes it consistent with refresh() and avoids having two rows
on new wikis. Also make the SELECT explicitly look for row 1.

Bug: T186947
Change-Id: I4f952888bf8fecc791366a9698e46d61a4ad4ff3

5 years agoMerge "Add tests for ExtensionJsonValidator"
jenkins-bot [Mon, 12 Feb 2018 17:54:43 +0000 (17:54 +0000)]
Merge "Add tests for ExtensionJsonValidator"

5 years agoMerge "Complete VersionChecker test coverage"
jenkins-bot [Mon, 12 Feb 2018 17:51:54 +0000 (17:51 +0000)]
Merge "Complete VersionChecker test coverage"

5 years agoMerge "SpecialLog: replace unnecessary strict comparison"
jenkins-bot [Mon, 12 Feb 2018 17:44:34 +0000 (17:44 +0000)]
Merge "SpecialLog: replace unnecessary strict comparison"

5 years agoMerge "mediawiki.special.upload: Reorder functions"
jenkins-bot [Mon, 12 Feb 2018 17:10:35 +0000 (17:10 +0000)]
Merge "mediawiki.special.upload: Reorder functions"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 12 Feb 2018 08:01:03 +0000 (09:01 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I706d41286e7e63e42a7cce5413ed3b3b81c70dd3

5 years agoMerge "mediawiki.Title: Reorder function declaration"
jenkins-bot [Mon, 12 Feb 2018 07:16:42 +0000 (07:16 +0000)]
Merge "mediawiki.Title: Reorder function declaration"

5 years agomediawiki.Title: Reorder function declaration
Fomafix [Sat, 10 Feb 2018 21:16:00 +0000 (22:16 +0100)]
mediawiki.Title: Reorder function declaration

This avoids the eslint rule exceptions:
* no-use-before-define
* vars-on-top

Change-Id: Ie9c9145052fe8629b1aa50ac3e2ac62d6a10ec0f

5 years agoMerge "Refactor Skin::buildSidebar() code style"
jenkins-bot [Mon, 12 Feb 2018 06:58:20 +0000 (06:58 +0000)]
Merge "Refactor Skin::buildSidebar() code style"

5 years agoMerge "Update suppressWarning()/restoreWarning() calls"
jenkins-bot [Sun, 11 Feb 2018 22:06:29 +0000 (22:06 +0000)]
Merge "Update suppressWarning()/restoreWarning() calls"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 11 Feb 2018 09:04:16 +0000 (10:04 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I2a2c6ff85ebe6c1bf93c74e58dcdbf2e3afbee33

5 years agoSpecialLog: replace unnecessary strict comparison
Melos [Sun, 11 Feb 2018 07:43:47 +0000 (08:43 +0100)]
SpecialLog: replace unnecessary strict comparison

As suggested in 409541 replace unnecessary strict comparison
introduced in e6b2491736a9

Change-Id: I20a963be9aeac4274984cbcd2d7e97e040ceea9a

5 years agoParserOutput: Add 'deduplicateStyles' post-cache transformation
Brad Jorsch [Fri, 24 Nov 2017 19:22:25 +0000 (14:22 -0500)]
ParserOutput: Add 'deduplicateStyles' post-cache transformation

This transformation will find <style> tag with a "data-mw-deduplicate"
attribute. For each value of the attribute, the first instance will be
kept as-is, while any subsequent tags with the same value will be
replaced by a <link rel="mw-deduplicated-inline-style"> with its href
referring to the "data-mw-deduplicate" value using a custom scheme.

This also adds an $attribs parameter to Html::inlineStyle() so the
data-mw-deduplicate attribute can be added.

Note this doesn't actually depend on Ib931e25c, but action=mobileview
will break if it starts being used without that patch.

Bug: T160563
Change-Id: I055abdf4d73ec65771eaa4fe0999ec907c831568
Depends-On: Ib931e25ce85072000e62c486bbe5907f03372494

5 years agoAdd mediawiki.widgets.visibleByteLimit to JSDuck index
Bartosz Dziewoński [Thu, 8 Feb 2018 21:28:16 +0000 (22:28 +0100)]
Add mediawiki.widgets.visibleByteLimit to JSDuck index

Change-Id: Iaad0e4aad3e78294667e82b4fbd009e241f765e8

5 years agomediawiki.special.upload: Reorder functions
Fomafix [Sat, 10 Feb 2018 20:47:18 +0000 (21:47 +0100)]
mediawiki.special.upload: Reorder functions

This avoids forward references and disabling of the eslint rule
no-use-before-define can removed.

Change-Id: I7bc229f4d95862f39a5a408218135dc6eae6155d

5 years agoSpecialLog: Fix results when no offender is specified
Melos [Sat, 10 Feb 2018 11:42:40 +0000 (12:42 +0100)]
SpecialLog: Fix results when no offender is specified

With 467ee1e82f15 offender is not ignored when it's a
nonexistent username and a empty list is showed.
Ignore offender search when no offender is specified.

Bug: T186950
Change-Id: I93c9dafc9299d0ba1d01090471c5b49dcc904fe8

5 years agoUpdate MediaWiki\quietCall() -> Wikimedia\quietCall()
Reedy [Sat, 10 Feb 2018 07:40:43 +0000 (07:40 +0000)]
Update MediaWiki\quietCall() -> Wikimedia\quietCall()

Bug: T182273
Change-Id: Id7d8e176fcd93040e30e46cb64fc6a3d36bc8230

5 years agoUpdate suppressWarning()/restoreWarning() calls
Reedy [Sat, 10 Feb 2018 07:52:26 +0000 (07:52 +0000)]
Update suppressWarning()/restoreWarning() calls

Bug: T182273
Change-Id: I9e1b628fe5949ca54258424c2e45b2fb6d491d0f

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 10 Feb 2018 07:42:46 +0000 (08:42 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Iab9baefdc22d9652659a4bc2b976a677d080a962

5 years agoAdd tests for ExtensionJsonValidator
Kunal Mehta [Sat, 10 Feb 2018 07:37:22 +0000 (23:37 -0800)]
Add tests for ExtensionJsonValidator

Change-Id: I883a502fc3ed6cd7b8651d9e5e78dba7177ead9c

5 years agoComplete VersionChecker test coverage
Kunal Mehta [Sat, 10 Feb 2018 07:14:07 +0000 (23:14 -0800)]
Complete VersionChecker test coverage

And fix a few typos in the error messages and the accidental inclusion
of whitespace.

Change-Id: I4ea90c5543e394c3f30b1da1456e4676377188f7

5 years agoregistration: Simplify extracting path based globals
Kunal Mehta [Sat, 10 Feb 2018 06:21:19 +0000 (22:21 -0800)]
registration: Simplify extracting path based globals

The code for ParserTestFiles and ServiceWiringFiles was identical, so
unify it into one function. For most extensions, this should save two
unnecessary function calls as a bonus.

Change-Id: If5ed189f97b7d3b9cd7b550f3ad2e90abe30005d

5 years agoComplete ExtensionProcessor test coverage
Kunal Mehta [Sat, 10 Feb 2018 06:03:42 +0000 (22:03 -0800)]
Complete ExtensionProcessor test coverage

Change-Id: I80103e9b7eaba0bb3efa3b736f3f188a536f2919

5 years agoMerge "editTests: Use the correct list of parser test files"
jenkins-bot [Sat, 10 Feb 2018 00:30:08 +0000 (00:30 +0000)]
Merge "editTests: Use the correct list of parser test files"

5 years agoMerge "Add a few more @covers to ParserIntegrationTest"
jenkins-bot [Sat, 10 Feb 2018 00:30:06 +0000 (00:30 +0000)]
Merge "Add a few more @covers to ParserIntegrationTest"

5 years agoMerge "rdbms: make safeWaitForMasterPos() respect "waitTimeout""
jenkins-bot [Fri, 9 Feb 2018 23:41:45 +0000 (23:41 +0000)]
Merge "rdbms: make safeWaitForMasterPos() respect "waitTimeout""

5 years agordbms: make safeWaitForMasterPos() respect "waitTimeout"
Aaron Schulz [Wed, 7 Feb 2018 00:38:39 +0000 (16:38 -0800)]
rdbms: make safeWaitForMasterPos() respect "waitTimeout"

Also remove the "m" prefix from the member variable.

Change-Id: I695f520a69980214da5e9b7fbd2c80924b3a4038

5 years agoMerge "Fix ParserOutput::getText 'unwrap' flag for end-of-doc comment"
jenkins-bot [Fri, 9 Feb 2018 22:34:46 +0000 (22:34 +0000)]
Merge "Fix ParserOutput::getText 'unwrap' flag for end-of-doc comment"

5 years agoFix ParserOutput::getText 'unwrap' flag for end-of-doc comment
Gergő Tisza [Fri, 9 Feb 2018 21:30:12 +0000 (13:30 -0800)]
Fix ParserOutput::getText 'unwrap' flag for end-of-doc comment

The closing div might be followed by debug information in HTML comments.

Bug: T186927
Change-Id: I72d4079dfe9ca9b3a14476ace1364eb5efdee846

5 years agoeditTests: Use the correct list of parser test files
Kunal Mehta [Fri, 9 Feb 2018 20:08:05 +0000 (12:08 -0800)]
editTests: Use the correct list of parser test files

$wgParserTestFiles is deprecated, so this wasn't running the core parser
tests. Using ParserTestRunner::getParserTestFiles() includes everything,
including autodiscovered extension parser tests.

Change-Id: Ie3b02565c184e8e06931ab52a39ca8ae0877aab9

5 years agoMerge "Use WatchedItemStore clearing in SpecialEditWatchlist"
jenkins-bot [Fri, 9 Feb 2018 20:06:18 +0000 (20:06 +0000)]
Merge "Use WatchedItemStore clearing in SpecialEditWatchlist"

5 years agoMerge "Add clearWatchedItems to WatchedItemStore"
jenkins-bot [Fri, 9 Feb 2018 19:59:55 +0000 (19:59 +0000)]
Merge "Add clearWatchedItems to WatchedItemStore"

5 years agoMerge "Avoid pointless DB_MASTER connections in User::clearSharedCache()"
jenkins-bot [Fri, 9 Feb 2018 19:53:55 +0000 (19:53 +0000)]
Merge "Avoid pointless DB_MASTER connections in User::clearSharedCache()"

5 years agoUse WatchedItemStore clearing in SpecialEditWatchlist
addshore [Tue, 15 Mar 2016 00:36:36 +0000 (00:36 +0000)]
Use WatchedItemStore clearing in SpecialEditWatchlist

This switches to using the WatchedItemStore that has the ability to
delete all watchlist items for a user using the jobqueue.

The job was introduced in:
Functionality added to the store in:
This patch is the first code calling the new functionality.

If the number of watched items for the user is less
than the number that can be completed in a single
batch then they will still be deleted during the
interactive session.

Bug: T68212
Bug: T129481
Change-Id: I2f8c8be860a03116535dbd1e6a18ce2e8bc546b4

5 years agoAdd clearWatchedItems to WatchedItemStore
addshore [Tue, 15 Mar 2016 00:36:02 +0000 (00:36 +0000)]
Add clearWatchedItems to WatchedItemStore

Change-Id: I67d1057c76ddccece4727f4df701a3ad14c3bbaa

5 years agoAvoid pointless DB_MASTER connections in User::clearSharedCache()
Aaron Schulz [Fri, 9 Feb 2018 19:28:59 +0000 (11:28 -0800)]
Avoid pointless DB_MASTER connections in User::clearSharedCache()

Change-Id: Ifc4f489cea4460185cb2d8317f174cabd67f5862

5 years agoAdd a few more @covers to ParserIntegrationTest
Kunal Mehta [Fri, 9 Feb 2018 19:18:30 +0000 (11:18 -0800)]
Add a few more @covers to ParserIntegrationTest

Change-Id: I638077683d9d3cb40f81b4f4d594f16c349f1519

5 years agoCatch Error exceptions in MediaWiki::run()
Aaron Schulz [Fri, 9 Feb 2018 19:14:08 +0000 (11:14 -0800)]
Catch Error exceptions in MediaWiki::run()

This avoids triggering other exceptions down the road such as
"Got COMMIT while atomic sections FileDeleteForm::doDelete,
LocalFile::lockingTransaction are still open". Those would
happen in LBFactory::__destruct(), when it tries to commit any
dangling transactions (firing attached callbacks too). Just like
with the Exception case, the DBs needs to all be rolled back.

Also make LoadBalancer::rolbackMasterChanges() rollback any
explicit transactions even if they have no pending changes.
This clears up the state to avoid later atomic section errors.

Change-Id: Ic0b6b12c1edc1eec239f4f048359b3bbb497d3ff

5 years agoFix CommentStore->createComment() call in LocalFile.php
Brad Jorsch [Fri, 9 Feb 2018 17:43:30 +0000 (12:43 -0500)]
Fix CommentStore->createComment() call in LocalFile.php

This was incorrectly changed in I3abb62a5, createComment() is not one of
the methods that was adjusted in that patch.

Change-Id: I9c26e0ad69ffc6fa5349a6975a4134efb3cf0eff

5 years agoMerge "rdbms: make DOMAIN_ANY ignore bogus MySQL DB names in config"
jenkins-bot [Fri, 9 Feb 2018 13:47:40 +0000 (13:47 +0000)]
Merge "rdbms: make DOMAIN_ANY ignore bogus MySQL DB names in config"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 9 Feb 2018 07:33:06 +0000 (08:33 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I79bd58ffc0181305a64d1a8c379b58547e3a745c

5 years agordbms: make DOMAIN_ANY ignore bogus MySQL DB names in config
Aaron Schulz [Fri, 9 Feb 2018 02:48:38 +0000 (18:48 -0800)]
rdbms: make DOMAIN_ANY ignore bogus MySQL DB names in config

This regressed in 14ee3f2, trying to select the server config
"dbname" value as the database on connect. If that config is
bogus, then the connection attempt would fail. Instead, always
pass null to the driver's connection function if the DB domain
doesn't matter.

This affected WMF sites during lag checks, on account of the
"serverTemplate" value in $wgLBFactoryConf always using the local
wiki domain (whether the cluster had such a database or not).

Use strlen() as mysqli sees null and "" as the same for $dbname.

Bug: T186764
Change-Id: I6699d17c0125a08415046211fee7906bbaf2c366

5 years agoRefactor Skin::buildSidebar() code style
Aaron Schulz [Fri, 9 Feb 2018 06:39:56 +0000 (22:39 -0800)]
Refactor Skin::buildSidebar() code style

Change-Id: I054452ba6a83b3fc3c717a825acae6824d84bb49

5 years agojquery.textSelection: Add 'replaceSelection' method
Bartosz Dziewoński [Thu, 8 Feb 2018 18:30:42 +0000 (19:30 +0100)]
jquery.textSelection: Add 'replaceSelection' method

replaceSelection is a little brother of encapsulateSelection.
It can't do as much, but tries really hard to do it well.

Alternative textSelection APIs can implement it in an optimized
way if they can more efficiently replace small fragments of the
textfield's contents than the entire thing.

* encapsulateSelection uses replaceSelection internally.
* setContents now also preserves the scroll position.
* setContents is now chainable.

Bug: T185917
Change-Id: I05086ddce2ddd857ff88eba75cfdb6bf877bd924

5 years agoMerge "Make it possible to not propagate errors to PHP"
jenkins-bot [Thu, 8 Feb 2018 23:02:55 +0000 (23:02 +0000)]
Merge "Make it possible to not propagate errors to PHP"

5 years agoMerge "Fix sessionfailure i18n message during authentication"
jenkins-bot [Thu, 8 Feb 2018 22:47:40 +0000 (22:47 +0000)]
Merge "Fix sessionfailure i18n message during authentication"

5 years agoMerge "jquery.textSelection: Implement 'encapsulateSelection' in terms of the other...
jenkins-bot [Thu, 8 Feb 2018 22:20:04 +0000 (22:20 +0000)]
Merge "jquery.textSelection: Implement 'encapsulateSelection' in terms of the other commands"

5 years agoMake it possible to not propagate errors to PHP
Gergő Tisza [Tue, 21 Feb 2017 00:47:07 +0000 (16:47 -0800)]
Make it possible to not propagate errors to PHP

Add a $wgPropagateErrors configuration variable which can be used
to prevent passing handled errors to PHP (and thus logging them twice).

Bug: T45086
Change-Id: I64ab09762a04de2007b7d7864e3c504a1d6f8aee

5 years agoMerge "Update mediawiki/at-ease"
jenkins-bot [Thu, 8 Feb 2018 21:17:49 +0000 (21:17 +0000)]
Merge "Update mediawiki/at-ease"

5 years agoMerge "ApiFormatBase: Encode filenames in Content-Disposition"
jenkins-bot [Thu, 8 Feb 2018 21:16:26 +0000 (21:16 +0000)]
Merge "ApiFormatBase: Encode filenames in Content-Disposition"

5 years agoMerge "Add @covers tags for parser tests"
jenkins-bot [Thu, 8 Feb 2018 21:01:24 +0000 (21:01 +0000)]
Merge "Add @covers tags for parser tests"

5 years agoMerge "Fix phpdoc description of RevisionStore::insertRevisionOn"
jenkins-bot [Thu, 8 Feb 2018 20:48:00 +0000 (20:48 +0000)]
Merge "Fix phpdoc description of RevisionStore::insertRevisionOn"

5 years agoMerge "DI for CommentStore in RevisionStore"
jenkins-bot [Thu, 8 Feb 2018 20:44:30 +0000 (20:44 +0000)]
Merge "DI for CommentStore in RevisionStore"

5 years agoMerge "Remove unused code from LegacyHookPreAuthenticationProvider"
jenkins-bot [Thu, 8 Feb 2018 20:44:28 +0000 (20:44 +0000)]
Merge "Remove unused code from LegacyHookPreAuthenticationProvider"

5 years agoFix some broken @var comments and add missing uses
Thiemo Mättig [Thu, 8 Feb 2018 14:10:23 +0000 (15:10 +0100)]
Fix some broken @var comments and add missing uses

Change-Id: I2091f4107b6c23d9c3b698999147ce3a2ec38b66

5 years agoFix phpdoc description of RevisionStore::insertRevisionOn
addshore [Mon, 29 Jan 2018 14:34:05 +0000 (14:34 +0000)]
Fix phpdoc description of RevisionStore::insertRevisionOn

Change-Id: Iae0ac4cf98b1cc93eb5a9f8bb97e64b5ea1d9f0f

5 years agoDI for CommentStore in RevisionStore
addshore [Mon, 29 Jan 2018 14:25:49 +0000 (14:25 +0000)]
DI for CommentStore in RevisionStore

Change-Id: I527388514489e79c53b6016a8bd3119ee1750c83

5 years agoRemove unused code from LegacyHookPreAuthenticationProvider
Thiemo Mättig [Wed, 10 Jan 2018 13:34:35 +0000 (14:34 +0100)]
Remove unused code from LegacyHookPreAuthenticationProvider

Change-Id: I699947fe02f649e24c957eb9790fcff91cb2c14a

5 years agoMerge "rdbms: apply minimum sanity timeout for all cases of LoadBalancer::doWait()"
jenkins-bot [Thu, 8 Feb 2018 07:03:31 +0000 (07:03 +0000)]
Merge "rdbms: apply minimum sanity timeout for all cases of LoadBalancer::doWait()"

5 years agoMerge "objectcache: remove unused constant and expand on a comment"
jenkins-bot [Thu, 8 Feb 2018 06:46:38 +0000 (06:46 +0000)]
Merge "objectcache: remove unused constant and expand on a comment"

5 years agoAdd @covers tags for parser tests
Kunal Mehta [Thu, 8 Feb 2018 06:00:29 +0000 (22:00 -0800)]
Add @covers tags for parser tests

Change-Id: I24d3550a07be7a5699475047eb78806f36caec2e

5 years agoMerge "Revert legend when results are grouped"
jenkins-bot [Thu, 8 Feb 2018 00:35:40 +0000 (00:35 +0000)]
Merge "Revert legend when results are grouped"

5 years agoobjectcache: remove unused constant and expand on a comment
Aaron Schulz [Thu, 8 Feb 2018 00:15:32 +0000 (16:15 -0800)]
objectcache: remove unused constant and expand on a comment

Change-Id: I3342497d657291d20325a3d87cc634f53d7776c4

5 years agoMerge "Drop XCache support"
jenkins-bot [Wed, 7 Feb 2018 22:24:46 +0000 (22:24 +0000)]
Merge "Drop XCache support"

5 years agoMerge "Fix for warning in ForeignAPIFile when no thumbnails"
jenkins-bot [Wed, 7 Feb 2018 21:50:44 +0000 (21:50 +0000)]
Merge "Fix for warning in ForeignAPIFile when no thumbnails"

5 years agoDrop XCache support
Chad Horohoe [Tue, 6 Feb 2018 02:11:27 +0000 (18:11 -0800)]
Drop XCache support

It was never super popular anyway, APC was always the best option.
The project has no plans to move to PHP7, so it's quickly reaching
its end of life. Oh, and Fedora dropped it from their repos 2 years

Change-Id: Ia3257e86a6323d8943f04a5c05c72c0bd4c4b0a9

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 7 Feb 2018 20:54:49 +0000 (21:54 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I7fa8feca5bdc1394bc24f3d93aaee1f7be2c2f9e

5 years agoApiFormatBase: Encode filenames in Content-Disposition
Brad Jorsch [Wed, 7 Feb 2018 20:12:33 +0000 (15:12 -0500)]
ApiFormatBase: Encode filenames in Content-Disposition

The return value for ApiFormatBase::getFilename() was formerly
documented as "must be encoded for inclusion in a Content-Disposition
header's filename parameter." While this is ok for the common use case
where the module is returning a constant string or can assume whatever
it gets back from getExtensionsForType() is ok, it's not in general a
good idea to make all callers handle that.

Further, it's not possible to represent characters outside of the
ISO-8859-1 character set in a 'filename' parameter. You have to use
'filename*' to do that (see RFC 5987 and RFC 6266).

So, this patch changes the definition of getFilename() to remove the
encoding requirement, and adds code to properly convert and escape the
value for the 'filename' and (if necessary) 'filename*' parameters.

Note this may give unexpected results (double encoding) if any module
actually is returning an encoded filename. I don't see any such cases in
core or in extensions in Gerrit.

Change-Id: I0c2749a847b639f228efff4e1917a61612a1f7d1

5 years agojquery.textSelection: Implement 'encapsulateSelection' in terms of the other commands
Bartosz Dziewoński [Mon, 5 Feb 2018 22:44:05 +0000 (23:44 +0100)]
jquery.textSelection: Implement 'encapsulateSelection' in terms of the other commands

Any users of jquery.textSelection that add an alternative API using
'register' no longer have to override 'encapsulateSelection' (which is
a big beast), as long as the other commands are implemented.

Bug: T185917
Change-Id: I39bbbce20336a1286a07bf8032acdfb8a7e0cdb6

5 years agojquery.textSelection: Remove incorrect browser hack for old Opera
Bartosz Dziewoński [Mon, 5 Feb 2018 22:13:50 +0000 (23:13 +0100)]
jquery.textSelection: Remove incorrect browser hack for old Opera

This code appears to be incorrect, at least on Opera 12.18 on Windows 10,
where I just tested it. It causes the selection to be misaligned, rather
than correct it.

For example, the following code:

    $textbox.textSelection( 'encapsulateSelection', { peri: 'foo\nfoo' } );

Causes the selection to extend one character past the inserted text with
the hack, and to be shown correctly without the hack.

It is theoretically possible that this hack was necessary for some other
operating system, but then it should have also been applied to 'insertText'.
Also, Opera 12 only has a usage share (barely) large enough to show up on
<https://analytics.wikimedia.org/dashboards/browsers/> on Windows (XP).

Change-Id: Ifee877c6202bcfc0fecb65220e34b4b39659dbeb

5 years agojquery.textSelection: Remove unnecessary checks
Bartosz Dziewoński [Mon, 5 Feb 2018 21:52:05 +0000 (22:52 +0100)]
jquery.textSelection: Remove unnecessary checks

Some of the commands were wrapped in unnecessary checks (which were
also inconsistent between the different commands):

* Checking if this element is hidden. I'm guessing this was a
  workaround for some IE 6 bugs where doing things to the selection
  of hidden elements would break horribly. In any case, this should
  not be this code's responsibility.

* Checking for undefined this.selectionStart. I probably should have
  removed these in 1430ca85dcf9cb3f77a92bee6a915473e465f649. The only
  remaining case for them would be if .textSelection() is called on
  something that is not a text input element, which should not happen.

Change-Id: Ib09e64399921fe3861efd4877c6ecb2f900aef09

5 years agoMerge "rdbms: remove obsolete getReplicaPos() code"
jenkins-bot [Wed, 7 Feb 2018 18:45:39 +0000 (18:45 +0000)]
Merge "rdbms: remove obsolete getReplicaPos() code"

5 years agoFix for warning in ForeignAPIFile when no thumbnails
Brion Vibber [Wed, 7 Feb 2018 18:39:03 +0000 (10:39 -0800)]
Fix for warning in ForeignAPIFile when no thumbnails

Remote audio files have no thumbnails, so this check in
ForeignAPIFile for thumbnails by iterating over the result
from FileBackend::getFileList() could throw a warning about
invalid input to foreach, as it may return null.

Change-Id: I07f37ed5a299e1a3c9a1e6bddcbc5582f99e5274

5 years agoMerge "Add @covers for BlockLevelPass"
jenkins-bot [Wed, 7 Feb 2018 15:54:37 +0000 (15:54 +0000)]
Merge "Add @covers for BlockLevelPass"

5 years agoMerge "jquery.textSelection: Rewrite 'scrollToCaretPosition'"
jenkins-bot [Wed, 7 Feb 2018 14:51:12 +0000 (14:51 +0000)]
Merge "jquery.textSelection: Rewrite 'scrollToCaretPosition'"

5 years agoUpdate mediawiki/at-ease
Reedy [Wed, 7 Feb 2018 11:03:36 +0000 (11:03 +0000)]
Update mediawiki/at-ease

* mediawiki/at-ease v1.1.0 -> v1.2.0


Bug: T182273
Change-Id: Idd686bf84a44f2106ae13a31516872545946aa03
Depends-On: I1966eaec7e4105f876206ab4cd606cefdaeb0add

5 years agoAdd support for Kumyk (kum)
MarcoAurelio [Tue, 6 Feb 2018 21:52:11 +0000 (22:52 +0100)]
Add support for Kumyk (kum)

Bug: T186647
Change-Id: I704e493d743d54071fc6f5341ea04e8a48ebaad7

5 years agoMerge "Add support from Guianan Creole (gcr)"
jenkins-bot [Wed, 7 Feb 2018 10:25:00 +0000 (10:25 +0000)]
Merge "Add support from Guianan Creole (gcr)"

5 years agoUse new TagMultiselectWidget in ApiSandbox
Brad Jorsch [Wed, 20 Dec 2017 15:49:49 +0000 (10:49 -0500)]
Use new TagMultiselectWidget in ApiSandbox

It seems to be generally a 1:1 replacement.

Bug: T183299
Change-Id: I191a99bd373b0fb320770e9089278a16964d80d2

5 years agordbms: remove obsolete getReplicaPos() code
Aaron Schulz [Wed, 7 Feb 2018 01:18:00 +0000 (17:18 -0800)]
rdbms: remove obsolete getReplicaPos() code

Also fixed incorrect comment for getGtidCoordinates()

Change-Id: Ie2ce8a8bba230ceb6d068957e5ffeb360c3fe473

5 years agoUpdate OOUI to v0.25.2
Volker E [Wed, 7 Feb 2018 01:17:20 +0000 (17:17 -0800)]
Update OOUI to v0.25.2

Release notes:

Depends-on: Ib00f16ef5e74732068822dc10d43314098b8fa59
Change-Id: Ie327a10622b64b7f969283497822c494c513585b

5 years agordbms: apply minimum sanity timeout for all cases of LoadBalancer::doWait()
Aaron Schulz [Wed, 7 Feb 2018 00:47:00 +0000 (16:47 -0800)]
rdbms: apply minimum sanity timeout for all cases of LoadBalancer::doWait()

Change-Id: I61b4da6429b390e5aae65d1a30adc6df59687d8c

5 years agoMerge "MWHttpRequest: Restore ability to pass null for $options"
jenkins-bot [Tue, 6 Feb 2018 23:48:23 +0000 (23:48 +0000)]
Merge "MWHttpRequest: Restore ability to pass null for $options"

5 years agojquery.textSelection: Rewrite 'scrollToCaretPosition'
Bartosz Dziewoński [Mon, 5 Feb 2018 14:08:52 +0000 (15:08 +0100)]
jquery.textSelection: Rewrite 'scrollToCaretPosition'

The previous version tried to assume some platform-dependent
things about text rendering and guess the position based on
that. It did not work very well.

Change-Id: I9f4c465692cf128b7758de4ca75f977e8f8be83e

5 years agoMerge "Hard deprecate UtfNormalUtil"
jenkins-bot [Tue, 6 Feb 2018 22:59:45 +0000 (22:59 +0000)]
Merge "Hard deprecate UtfNormalUtil"

5 years agoHard deprecate UtfNormalUtil
Max Semenik [Tue, 15 Aug 2017 01:44:40 +0000 (18:44 -0700)]
Hard deprecate UtfNormalUtil

Deprecated in 1.25, last vestiges have been removed.

Inline one last function that's not supposed to be public anyway.

Change-Id: If44c6a9cce7d2d95dc63e6f135b73b8c969f1c07

5 years agoMerge "jquery.textSelection: Document methods and parameters"
jenkins-bot [Tue, 6 Feb 2018 22:35:01 +0000 (22:35 +0000)]
Merge "jquery.textSelection: Document methods and parameters"

5 years agoRevert legend when results are grouped
petarpetkovic [Tue, 6 Feb 2018 22:33:02 +0000 (23:33 +0100)]
Revert legend when results are grouped

Since Ifecaaff572, legend was using position: absolute when results are
grouped by page. Most users found such behavior annoying and unexpected,
so positioning is being reverted to previous state.

Only change besides reverting is preventing collapsed legend to push
away the surrounding results. Without that, we would have scenarios
where legend is expanded and collapsed, but results are pushed away as
if legend is still expanded.

Bug: T182156
Bug: T184165
Change-Id: I5adb7e1cb793ec30fba9d5d9674a7fa294d9a3a5

5 years agoMerge "jquery.textSelection: Move copyright comments to the top of the file"
jenkins-bot [Tue, 6 Feb 2018 22:15:30 +0000 (22:15 +0000)]
Merge "jquery.textSelection: Move copyright comments to the top of the file"

5 years agoMerge "Fix localization of time in Turkish"
jenkins-bot [Tue, 6 Feb 2018 22:04:54 +0000 (22:04 +0000)]
Merge "Fix localization of time in Turkish"

5 years agoAdd support from Guianan Creole (gcr)
MarcoAurelio [Tue, 6 Feb 2018 21:35:04 +0000 (22:35 +0100)]
Add support from Guianan Creole (gcr)

Bug: T186635
Change-Id: I13334bb83562fc943fd69ef1f0fc3cd85aceffe1