4 years agoMerge "Convert content.externallinks.css to less"
jenkins-bot [Wed, 23 May 2018 17:01:55 +0000 (17:01 +0000)]
Merge "Convert content.externallinks.css to less"

4 years agoMerge "resourceloader: Remove mwLoadEnd code (moved to Navigation Timing)"
jenkins-bot [Wed, 23 May 2018 16:03:49 +0000 (16:03 +0000)]
Merge "resourceloader: Remove mwLoadEnd code (moved to Navigation Timing)"

4 years agoMerge "Translate special pages into Gorontalo"
jenkins-bot [Wed, 23 May 2018 15:58:38 +0000 (15:58 +0000)]
Merge "Translate special pages into Gorontalo"

4 years agoMerge "Crimean Tatar/crh transliteration odds and ends"
jenkins-bot [Wed, 23 May 2018 15:58:33 +0000 (15:58 +0000)]
Merge "Crimean Tatar/crh transliteration odds and ends"

4 years agoTranslate special pages into Gorontalo
Martin Urbanec [Wed, 25 Apr 2018 13:05:14 +0000 (15:05 +0200)]
Translate special pages into Gorontalo

Bug: T189128
Change-Id: Icb3685f4115c63fb5b50ce5429f564481d2cdfd6

4 years agoTranslate PasswordPolicies to Spanish
MarcoAurelio [Wed, 23 May 2018 14:55:01 +0000 (16:55 +0200)]
Translate PasswordPolicies to Spanish

New message added in Ifb4876f7

Change-Id: I621f81c023c4c1af4e33a4784ff7e1aca08df182

4 years agoresourceloader: Remove mwLoadEnd code (moved to Navigation Timing)
Timo Tijhof [Tue, 22 May 2018 23:28:36 +0000 (00:28 +0100)]
resourceloader: Remove mwLoadEnd code (moved to Navigation Timing)

This internal hook was primarily added for the Navigation Timing
extension. As part of T192623, this should be removed from mediawiki.js

* It is not used in anyway by core.
* It should not be used by anything other than Navigation Timing.
* It depends heavily on jQuery, which we don't want for mediawiki.js.

Bug: T192623
Depends-On: I011c9d1beebe6fa8d21ab9260da0a817ff7aa5f0
Change-Id: I0bf60d37ebea96f2a22044f9db221c87dd88521c

4 years agoMerge "Only load PEAR Smtp mailer from vendor/composer, not from `pear` itself"
jenkins-bot [Wed, 23 May 2018 14:15:37 +0000 (14:15 +0000)]
Merge "Only load PEAR Smtp mailer from vendor/composer, not from `pear` itself"

4 years agoOnly load PEAR Smtp mailer from vendor/composer, not from `pear` itself
Chad Horohoe [Fri, 18 May 2018 01:56:00 +0000 (18:56 -0700)]
Only load PEAR Smtp mailer from vendor/composer, not from `pear` itself

Change-Id: I91c42a3eafd079039ddbc17a11ad3c7b6579e3c1

4 years agoMerge "ContentSecurityPolicy: Add trailing & to report urls"
jenkins-bot [Wed, 23 May 2018 11:22:12 +0000 (11:22 +0000)]
Merge "ContentSecurityPolicy: Add trailing & to report urls"

4 years agoConvert content.externallinks.css to less
Ed Sanders [Tue, 22 May 2018 20:01:59 +0000 (21:01 +0100)]
Convert content.externallinks.css to less

As suggested in the comment, since the blocking
bug was fixed 3.5 years ago.

Change-Id: I345f81ca5b9672c34525d223f01844df0a74f617

4 years agoMerge "PageDataRequestHandler: Use getHeader() instead of getAllHeaders()"
jenkins-bot [Wed, 23 May 2018 06:21:13 +0000 (06:21 +0000)]
Merge "PageDataRequestHandler: Use getHeader() instead of getAllHeaders()"

4 years agoPageDataRequestHandler: Use getHeader() instead of getAllHeaders()
Fomafix [Fri, 23 Feb 2018 08:58:11 +0000 (09:58 +0100)]
PageDataRequestHandler: Use getHeader() instead of getAllHeaders()

WebRequest has already the function getHeader to extract the requested
HTTP header.

Change-Id: Ifb63ce2ca8851cddf7e5e249509d60fd3620c3e7

4 years agoAvoid sorting the language array twice
Fomafix [Thu, 22 Feb 2018 21:09:04 +0000 (22:09 +0100)]
Avoid sorting the language array twice

Language::fetchLanguageNames returns already a sorted array. An
additional ksort is only needed when inserting a new value.

Change-Id: If8c7b16fa6e7dfe1545f72ac9c742a2f43eaee57

4 years agoMerge "installer: Do not wrongly hide namespace input field"
jenkins-bot [Wed, 23 May 2018 05:26:05 +0000 (05:26 +0000)]
Merge "installer: Do not wrongly hide namespace input field"

4 years agoMerge "Remove deprecated mediawiki.widgets.visibleByteLimit alias"
jenkins-bot [Wed, 23 May 2018 02:50:33 +0000 (02:50 +0000)]
Merge "Remove deprecated mediawiki.widgets.visibleByteLimit alias"

4 years agoMerge "Remove deprecated 'es5-shim' module"
jenkins-bot [Wed, 23 May 2018 02:43:17 +0000 (02:43 +0000)]
Merge "Remove deprecated 'es5-shim' module"

4 years agoMerge "mediawiki.debug: Move internal footHovzer to the same module"
jenkins-bot [Wed, 23 May 2018 02:43:13 +0000 (02:43 +0000)]
Merge "mediawiki.debug: Move internal footHovzer to the same module"

4 years agoMerge "API: Raise an error when too many values are passed"
jenkins-bot [Wed, 23 May 2018 02:20:38 +0000 (02:20 +0000)]
Merge "API: Raise an error when too many values are passed"

4 years agoRemove deprecated mediawiki.widgets.visibleByteLimit alias
Timo Tijhof [Mon, 21 May 2018 18:48:55 +0000 (19:48 +0100)]
Remove deprecated mediawiki.widgets.visibleByteLimit alias

Follows-up 777336288bc807a, which renamed the module in 1.31.
It was only used in a few places, which have been updated except
for MassMessage, which is updated with Id7612859dfba.

Depends-On: Id7612859dfbace9052f62df1c07595f85a75515b
Change-Id: I475fe6fef5b863b44895c201217a82ee18a020c6

4 years agoRemove deprecated 'es5-shim' module
Timo Tijhof [Sun, 20 May 2018 14:15:40 +0000 (16:15 +0200)]
Remove deprecated 'es5-shim' module

This is an empty placeholder module that does nothing, for
backwards compatibility with older extensions that were still
supporting MediaWiki versions from a time where ES3 was the
requirement and ES5 was shimmed. There is no longer any use
of 'es5-shim' anywhere in Wikimedia Git, nor on-wiki.

Bug: T192623
Change-Id: I143b89d3658ab83b98a1f201dd1f67a2d506fb09

4 years agomediawiki.debug: Move internal footHovzer to the same module
Timo Tijhof [Sun, 20 May 2018 13:25:40 +0000 (15:25 +0200)]
mediawiki.debug: Move internal footHovzer to the same module

This is an internal dev utility used by mediawiki.debug, not
used anywhere else, and probably wouldn't be supported even if
it was re-used somewhere, given it's custom made for mwdebug.

Bug: T192623
Change-Id: I086f7a1d06ab33d9dd9fc29fff27ddcdeb9a304b

4 years agoMake RCCacheEntry use the local part of the user name for linking
Amir Sarabadani [Tue, 24 Apr 2018 18:52:04 +0000 (20:52 +0200)]
Make RCCacheEntry use the local part of the user name for linking

Bug: T190530
Change-Id: Ib9e555c65fbe9befdb8413e6fbc3b3a53614bad8

4 years agoContentSecurityPolicy: Add trailing & to report urls
Brian Wolff [Sat, 19 May 2018 09:30:17 +0000 (09:30 +0000)]
ContentSecurityPolicy: Add trailing & to report urls

This works around a bug in HHVM, where it treats post body as part of
request parameters, even if content-type is application/json.

See https://github.com/facebook/hhvm/issues/6676.

Change-Id: Id54d6657056dee56fc71100dedfb3b53d512eaba

4 years agojquery.tablesorter: Allow this module to load on mobile
jdlrobson [Mon, 7 May 2018 20:46:41 +0000 (13:46 -0700)]
jquery.tablesorter: Allow this module to load on mobile

If any special pages are loading this code, let it load.
Skins can disable this code if necessary (see Minerva for example)
In T111565 we will look to enabling this on the Minerva skin.

Bug: T111565
Change-Id: I837c16bdad7769f5cb4ce0bcfadb380b34c48bd4

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 22 May 2018 19:59:31 +0000 (21:59 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I01cfc16ecfe218fde89387a6d77333c0ed03dce8

4 years agoCrimean Tatar/crh transliteration odds and ends
tjones [Fri, 4 May 2018 15:34:32 +0000 (11:34 -0400)]
Crimean Tatar/crh transliteration odds and ends

* refactor '\b' into WB const to make it easy to update in the future
* add new ц-related exceptions

Bug: T193764
Change-Id: Ib707136f8f2598d1f8ec995bf129b436dfb53cd9

4 years agoMerge "Minor fixes to CRH language conversion."
jenkins-bot [Tue, 22 May 2018 18:47:13 +0000 (18:47 +0000)]
Merge "Minor fixes to CRH language conversion."

4 years agoMerge "mediawiki.page.gallery: Improve documentation"
jenkins-bot [Tue, 22 May 2018 18:18:41 +0000 (18:18 +0000)]
Merge "mediawiki.page.gallery: Improve documentation"

4 years agomediawiki.page.gallery: Improve documentation
Timo Tijhof [Mon, 21 May 2018 16:52:13 +0000 (17:52 +0100)]
mediawiki.page.gallery: Improve documentation

This file does a lot of things, but the header starts with
explaining a random/obscure thing it does with 4 lines of code
at the end of this large file.

Move that explanation near that actual code. Presumably it was
placed at the top because it used to be the only thing the
file was responsible for.

Change-Id: I75299a25dd8f5f4d4ab4cdc8fc90d74e6a74422c

4 years agoReplace HTTP by HTTPS
Fomafix [Sat, 2 Dec 2017 20:38:29 +0000 (21:38 +0100)]
Replace HTTP by HTTPS

* https://www.unicode.org/ instead of http://www.unicode.org/ or
* https://secure.php.net/ instead of http://www.php.net/ or
* https://hhvm.com/ instead of http://hhvm.com/
* https://www.iis.net/ instead of http://www.iis.net/

Change-Id: I84d818a7e0ced5ffb9485ec89a75efb28a77c1e0

4 years agoMerge "Job: Remove insert() and batchInsert(), deprecated since 1.21"
jenkins-bot [Tue, 22 May 2018 03:37:41 +0000 (03:37 +0000)]
Merge "Job: Remove insert() and batchInsert(), deprecated since 1.21"

4 years agoAPI: Raise an error when too many values are passed
Brad Jorsch [Fri, 18 May 2018 15:22:44 +0000 (17:22 +0200)]
API: Raise an error when too many values are passed

Since 2008 the API has truncated with a warning when too many values are
passed to a multi-valued parameter. It's long past time to make this an

Bug: T41936
Change-Id: I0f9efbdf9230373fa0c175a7fcacbca68225cf40

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 21 May 2018 19:53:48 +0000 (21:53 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I2961ab68c20aadbbb601bb8191e06764be9ec443

4 years agoMerge "registration: Validate AutoloadNamespaces keys have trailing \"
jenkins-bot [Mon, 21 May 2018 19:28:51 +0000 (19:28 +0000)]
Merge "registration: Validate AutoloadNamespaces keys have trailing \"

4 years agoMerge "Use LinkRenderer instead of deprecated Linker in LogPage"
jenkins-bot [Mon, 21 May 2018 19:23:53 +0000 (19:23 +0000)]
Merge "Use LinkRenderer instead of deprecated Linker in LogPage"

4 years agoJob: Remove insert() and batchInsert(), deprecated since 1.21
James D. Forrester [Sun, 20 May 2018 12:10:20 +0000 (14:10 +0200)]
Job: Remove insert() and batchInsert(), deprecated since 1.21

Bug: T179624
Change-Id: I0d78a926c8c513fd652a424e8a51ded20e524a4a

4 years agoAdd support for Tachawit (Latin script) (shy-latn)
MarcoAurelio [Mon, 7 May 2018 16:02:41 +0000 (18:02 +0200)]
Add support for Tachawit (Latin script) (shy-latn)

Bug: T194047
Change-Id: If02515754857c224579519b94fe6fea27e1bd08f

4 years agoUse LinkRenderer instead of deprecated Linker in LogPage
Kunal Mehta [Sun, 20 May 2018 21:05:00 +0000 (14:05 -0700)]
Use LinkRenderer instead of deprecated Linker in LogPage

Change-Id: Ia31706cbbffd1d03916b6c087cc3a6b218e83fe6

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 20 May 2018 20:08:02 +0000 (22:08 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I0eb6cee336672321dd707f0fa84825f686fe65db

4 years agoregistration: Validate AutoloadNamespaces keys have trailing \
Kunal Mehta [Sun, 20 May 2018 19:13:05 +0000 (12:13 -0700)]
registration: Validate AutoloadNamespaces keys have trailing \

The PSR-4 autoloader requires "AutoloadNamespaces" keys to have a
trailing \ (\\ in JSON), so add a validation check for that.

Unfortunately the validation error isn't great, since it checks to see
if the property matches patternProperties, and when it doesn't, it
claims the property isn't defined since additionalProperties is false.
But it's still better than not failing when they are missing.

Bug: T189136
Change-Id: If01bd06cdd767fb704a8ff85cdf1c143e53fa4ca

4 years agoMerge "Don't require trailing slash in PSR-4 autoloader directory"
jenkins-bot [Sun, 20 May 2018 18:52:31 +0000 (18:52 +0000)]
Merge "Don't require trailing slash in PSR-4 autoloader directory"

4 years agoDon't require trailing slash in PSR-4 autoloader directory
Mark A. Hershberger [Sun, 20 May 2018 14:51:34 +0000 (10:51 -0400)]
Don't require trailing slash in PSR-4 autoloader directory

This avoids the confusing error “Fatal error: Uncaught
InvalidArgumentException” or similar.

Bug: T195211
Change-Id: Ifda59a26f8bd968a2d0acbdb157d81dc0bf6aab4

4 years agoMerge "API: Use User::getCanonicalName() when validating user names"
jenkins-bot [Sun, 20 May 2018 17:46:13 +0000 (17:46 +0000)]
Merge "API: Use User::getCanonicalName() when validating user names"

4 years agomediawiki.api: Merge modules into one
Timo Tijhof [Sun, 20 May 2018 13:39:47 +0000 (15:39 +0200)]
mediawiki.api: Merge modules into one

These are all quite tiny and not worth providing separately
to the system as deliverable file bundles.

Mark the other mediawiki.api.* modules as alias to 'mediawiki.api'
for back-compat, with deprecation warning.


* Change mediawiki.api.edit.js to not use mw.user, because that
  causes a circular dependency, given mw.user also depends on

Bug: T192623
Change-Id: I0afdc8ab50bc1354bb5099bf39923c07eab0b665

4 years agoMerge "filebackend: Fix undefined 'req_params' context in FileOperation log"
jenkins-bot [Sun, 20 May 2018 08:55:03 +0000 (08:55 +0000)]
Merge "filebackend: Fix undefined 'req_params' context in FileOperation log"

4 years agoMerge "resourceloader: Add test case for ResourceLoader::getLessCompiler"
jenkins-bot [Sun, 20 May 2018 08:50:48 +0000 (08:50 +0000)]
Merge "resourceloader: Add test case for ResourceLoader::getLessCompiler"

4 years agoMerge "registration: Perform extra validation for mediawiki.org URLs"
jenkins-bot [Sun, 20 May 2018 08:50:45 +0000 (08:50 +0000)]
Merge "registration: Perform extra validation for mediawiki.org URLs"

4 years agoReduce impact of revision day/month/year variables on edit stashing
Aaron Schulz [Sat, 24 Mar 2018 13:32:58 +0000 (06:32 -0700)]
Reduce impact of revision day/month/year variables on edit stashing

Change-Id: I0ddebdfa8a13844ab003aad577624e89daba7d6b

4 years agofilebackend: Fix undefined 'req_params' context in FileOperation log
Timo Tijhof [Sat, 19 May 2018 23:39:36 +0000 (01:39 +0200)]
filebackend: Fix undefined 'req_params' context in FileOperation log

Follows-up 9d49075b38. Noticed various log messages on Beta Cluster
from this code path that used "{params}" even in the real messages
(not normalised). Turned out, it isn't being defined due to a typo.

Change-Id: Ib9cf644fdf413035504d9d7486696cffa7737d4a

4 years agoregistration: Perform extra validation for mediawiki.org URLs
Kunal Mehta [Sat, 19 May 2018 20:05:08 +0000 (13:05 -0700)]
registration: Perform extra validation for mediawiki.org URLs

If the "url" field in extension.json is pointing to mediawiki.org,
perform some extra validation steps:
* Require HTTPS
* Require the `www.mediawiki.org` canonical domain

Change-Id: I3371443d3f6c76f53437adf90a700969bba7d0e7

4 years agoMerge "Re-enable MediaWiki.Usage.AssignmentInReturn.AssignmentInReturn sniff"
jenkins-bot [Sat, 19 May 2018 23:13:25 +0000 (23:13 +0000)]
Merge "Re-enable MediaWiki.Usage.AssignmentInReturn.AssignmentInReturn sniff"

4 years agoMerge "Re-enable MediaWiki.Usage.SuperGlobalsUsage.SuperGlobals sniff"
jenkins-bot [Sat, 19 May 2018 23:13:22 +0000 (23:13 +0000)]
Merge "Re-enable MediaWiki.Usage.SuperGlobalsUsage.SuperGlobals sniff"

4 years agoresourceloader: Add test case for ResourceLoader::getLessCompiler
Timo Tijhof [Sat, 19 May 2018 18:37:04 +0000 (20:37 +0200)]
resourceloader: Add test case for ResourceLoader::getLessCompiler

This was previously covered implicitly by an unrelated test.
Change that test (dependency.less) to use ../ to access the file
directly so that that test case is only about tracking dependencies
and testing the parser.

Then, add a second case that tests the use of import dirs.

Bug: T140807
Change-Id: Ie85abffe313922c03b3e146422f36b1d6a79743d

4 years agoMerge "Autofix MediaWiki.Commenting.FunctionComment.SpacingDoc* errors"
jenkins-bot [Sat, 19 May 2018 22:24:34 +0000 (22:24 +0000)]
Merge "Autofix MediaWiki.Commenting.FunctionComment.SpacingDoc* errors"

4 years agoRe-enable MediaWiki.Usage.AssignmentInReturn.AssignmentInReturn sniff
Kunal Mehta [Sat, 19 May 2018 21:52:00 +0000 (14:52 -0700)]
Re-enable MediaWiki.Usage.AssignmentInReturn.AssignmentInReturn sniff

...except in tests, where there's a pattern of using it in data

Change-Id: Iea15cd9c6046910b0c91044cd2aeaff1a40f4fc5

4 years agoRe-enable MediaWiki.Usage.SuperGlobalsUsage.SuperGlobals sniff
Kunal Mehta [Sat, 19 May 2018 21:41:41 +0000 (14:41 -0700)]
Re-enable MediaWiki.Usage.SuperGlobalsUsage.SuperGlobals sniff

Disable it in specific files and places where there are legitimate uses
to access $_GET and $_POST directly.

For EditPage, which wants to output $_POST for debugging information,
introduce WebRequest::getPostValues() as a wrapper, matching the
existing ::getQueryValues().

Change-Id: I2cb0a7012fb7ed29dcd720056b42f56508ddc5fa

4 years agoMerge "Re-enable Generic.Files.OneObjectStructurePerFile sniff"
jenkins-bot [Sat, 19 May 2018 21:26:35 +0000 (21:26 +0000)]
Merge "Re-enable Generic.Files.OneObjectStructurePerFile sniff"

4 years agoAutofix MediaWiki.Commenting.FunctionComment.SpacingDoc* errors
Kunal Mehta [Sat, 19 May 2018 20:46:54 +0000 (13:46 -0700)]
Autofix MediaWiki.Commenting.FunctionComment.SpacingDoc* errors

Change-Id: I63761ebce04c03b9b13237919c27cc10180f198f

4 years agoRe-enable Generic.Files.OneObjectStructurePerFile sniff
Kunal Mehta [Mon, 7 May 2018 08:53:28 +0000 (01:53 -0700)]
Re-enable Generic.Files.OneObjectStructurePerFile sniff

Whitelist existing violations in .phpcs.xml, and enable the sniff to
prevent people from accidentally introducing new violations.

languages/ is blanket exempted since languages that have language
converters tend to have two classes in one file.

tests/ is also blanket exempted since many tests create mock classes,
and we don't care about PSR-4 compliance in tests.

Change-Id: I56be2f23bae3e24c062198b766cb48edab5e395e

4 years agoresourceloader: Apply safemode to startup module registry
Timo Tijhof [Wed, 28 Mar 2018 00:57:06 +0000 (17:57 -0700)]
resourceloader: Apply safemode to startup module registry

This effectively applies safemode to the mw.loader client,
without the client itself needing specific knowledge of safemode.

Test Plan:
* Unchanged: When viewing a page in safemode, the 'user' and
  'site' modules are still not queued by OutputPage.
* New: mw.loader.getState('site'), previously would yield
  'registered', but will now yield null.
* New: mw.loader.load('site'), previously loaded the module,
  it now logs a dependency warning for unknown module, like for
  any other unknown module.
* New: mw.loader.using('site'), previously resolved, it is now

Bug: T185303
Change-Id: I672e3891c8e1b3c2d13655fa134d0f1d031b8247

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 19 May 2018 20:01:55 +0000 (22:01 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ia5116d3301606e7672799523c838bb598e7d3b66

4 years agoMerge "Document nodata for HTMLFormFields"
jenkins-bot [Sat, 19 May 2018 14:17:57 +0000 (14:17 +0000)]
Merge "Document nodata for HTMLFormFields"

4 years agoDocument nodata for HTMLFormFields
Florian Schmidt [Mon, 23 Jan 2017 19:30:36 +0000 (20:30 +0100)]
Document nodata for HTMLFormFields

This could be a useful feature for users of HTMLForm, so they should be
able to know about it.

Bug: T156056
Change-Id: Ib444051e38292c06ebe370465b7c751e136d42b2

4 years agoMerge "Change a.external padding from 15px to 13px to match Vector"
jenkins-bot [Sat, 19 May 2018 13:16:16 +0000 (13:16 +0000)]
Merge "Change a.external padding from 15px to 13px to match Vector"

4 years agoMerge "resourceloader: Simplify mwLoadEnd hook implementation"
jenkins-bot [Sat, 19 May 2018 12:19:38 +0000 (12:19 +0000)]
Merge "resourceloader: Simplify mwLoadEnd hook implementation"

4 years agoMerge "makeCollapsible: Remove animations"
jenkins-bot [Sat, 19 May 2018 12:09:28 +0000 (12:09 +0000)]
Merge "makeCollapsible: Remove animations"

4 years agoMerge "Add ct_tag_id field to change_tag table"
jenkins-bot [Sat, 19 May 2018 11:56:57 +0000 (11:56 +0000)]
Merge "Add ct_tag_id field to change_tag table"

4 years agomakeCollapsible: Remove animations
Derk-Jan Hartman [Sat, 19 May 2018 11:12:18 +0000 (13:12 +0200)]
makeCollapsible: Remove animations

The animations are:
* not well liked
* non-configurable (in presence and time)
* bad for performance
* javascript based instead of CSS

Removing them allows us to make it easier to replace NavFrame and
collapsible as deployed by the communities, and will be better for
mobile use as well.

Bug: T195049
Change-Id: I5eb505d1bd2097fe5d98db47293583e7225310de

4 years agoresourceloader: Simplify mwLoadEnd hook implementation
Timo Tijhof [Mon, 7 May 2018 21:57:40 +0000 (22:57 +0100)]
resourceloader: Simplify mwLoadEnd hook implementation

In addition to the high overhead of $.Deferred per-module in
mw.loader.using(), this was also using $.when() and another
Deferred in catch() for casting.

The handler for marking mwLoadEnd needs a Promise in our fallback
for compatibility with the original using() call. But the code
within our fallback does not need to use N promises, for that
we can simply use a counter that we decrement, given we only need
to worry about completion.

So basically, use `Deferred#always(callback)`
instead of `Deferred.catch(=>Defered().resolve)).then(callback)`.

This is in preparation for moving the code to NavigationTiming.

Change-Id: I20514d3fe680fc9384a0f7ce0880652970d86856

4 years agoMerge "tablesorter: test for data-sort-value on children"
jenkins-bot [Sat, 19 May 2018 10:48:08 +0000 (10:48 +0000)]
Merge "tablesorter: test for data-sort-value on children"

4 years agoMerge "tablesorter: be more specific about reserving space for header cells"
jenkins-bot [Sat, 19 May 2018 10:41:42 +0000 (10:41 +0000)]
Merge "tablesorter: be more specific about reserving space for header cells"

4 years agoMerge "Avoid unnecessary WaitConditionLoop delays in ChronologyProtector"
jenkins-bot [Sat, 19 May 2018 10:38:23 +0000 (10:38 +0000)]
Merge "Avoid unnecessary WaitConditionLoop delays in ChronologyProtector"

4 years agoMerge "Add Special:PasswordPolicies"
jenkins-bot [Sat, 19 May 2018 09:26:48 +0000 (09:26 +0000)]
Merge "Add Special:PasswordPolicies"

4 years agoChange a.external padding from 15px to 13px to match Vector
Ed Sanders [Sat, 19 May 2018 09:20:52 +0000 (11:20 +0200)]
Change a.external padding from 15px to 13px to match Vector

This is the default in Vector & Minerva, but was never
upstreamed to core. Other skins (e.g. Monobook) use the same
icons so it doesn't make sense to maintain two standards
for spacing.

Change-Id: I7eaf0756d4d58c0f902238b48176334689f3c704

4 years agoAdd Special:PasswordPolicies
Reedy [Sat, 18 Nov 2017 21:59:47 +0000 (21:59 +0000)]
Add Special:PasswordPolicies

Bug: T174812
Change-Id: Ifb4876f7309a667154c7469c29e703b6c33d54af

4 years agoMerge "Define pt as fallback for tet"
jenkins-bot [Sat, 19 May 2018 08:55:05 +0000 (08:55 +0000)]
Merge "Define pt as fallback for tet"

4 years agoMerge "resourceloader: Allow style-only modules to have deprecation warnings"
jenkins-bot [Sat, 19 May 2018 08:47:21 +0000 (08:47 +0000)]
Merge "resourceloader: Allow style-only modules to have deprecation warnings"

4 years agoAvoid unnecessary WaitConditionLoop delays in ChronologyProtector
Aaron Schulz [Thu, 10 May 2018 23:18:19 +0000 (16:18 -0700)]
Avoid unnecessary WaitConditionLoop delays in ChronologyProtector

Since it takes time for the agent to get the response and set the
cookie and, as well, the time into a request that a LoadBalancer is
initialized varies by many seconds (cookies loaded from the start),
give the cookie a much lower TTL than the DB positions in the stash.

This avoids having to wait for a position with a given cpPosIndex
value, when the position already expired from the store, which is
a waste of time.

Also include the timestamp in "cpPosIndex" cookies to implement
logical expiration in case clients do not expire them correctly.

Bug: T194403
Bug: T190082
Change-Id: I97d8f108dec59c5ccead66432a097cda8ef4a178

4 years agoMerge "Remove else from UserGroupMembership"
jenkins-bot [Fri, 18 May 2018 20:39:25 +0000 (20:39 +0000)]
Merge "Remove else from UserGroupMembership"

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 18 May 2018 20:18:58 +0000 (22:18 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I22321d32a7eff63c6aadeaf86d60f12b9cc11b09

4 years agoRemove else from UserGroupMembership
Reedy [Fri, 18 May 2018 19:39:26 +0000 (19:39 +0000)]
Remove else from UserGroupMembership

Change-Id: I7c18df1cab69df5f124c95b1ddb241e3f1be5927

4 years agoMerge "Special:Preferences: Construct fake tabs to avoid FOUC"
jenkins-bot [Fri, 18 May 2018 18:44:01 +0000 (18:44 +0000)]
Merge "Special:Preferences: Construct fake tabs to avoid FOUC"

4 years agoMerge "Remove everything related to CollationFa"
jenkins-bot [Fri, 18 May 2018 18:27:26 +0000 (18:27 +0000)]
Merge "Remove everything related to CollationFa"

4 years agoSpecial:Preferences: Construct fake tabs to avoid FOUC
Ed Sanders [Mon, 23 Apr 2018 11:56:13 +0000 (12:56 +0100)]
Special:Preferences: Construct fake tabs to avoid FOUC

Bug: T192769
Bug: T189366
Change-Id: I4aabda97d14d97dce3e35abda2ce82925d721c9b

4 years agoMerge "Make Special:TrackingCategories sortable"
jenkins-bot [Fri, 18 May 2018 17:03:47 +0000 (17:03 +0000)]
Merge "Make Special:TrackingCategories sortable"

4 years agoMerge "Use redirect=no in whatLinksHere if the target is a redirect"
jenkins-bot [Fri, 18 May 2018 16:58:34 +0000 (16:58 +0000)]
Merge "Use redirect=no in whatLinksHere if the target is a redirect"

4 years agoMerge "Add checkbox in Special:ListUsers to display only users in temporary user...
jenkins-bot [Fri, 18 May 2018 16:54:52 +0000 (16:54 +0000)]
Merge "Add checkbox in Special:ListUsers to display only users in temporary user groups"

4 years agoMerge "resourceloader: Refactor CSP $nonce passing"
jenkins-bot [Fri, 18 May 2018 16:54:50 +0000 (16:54 +0000)]
Merge "resourceloader: Refactor CSP $nonce passing"

4 years agoUse redirect=no in whatLinksHere if the target is a redirect
Daimona Eaytoy [Mon, 7 May 2018 18:37:46 +0000 (20:37 +0200)]
Use redirect=no in whatLinksHere if the target is a redirect

When the user is looking at links to a redirect page and clicks on the
link of the page, he would expect to be sent to the page itself, not to
the final destination of the redirect.

Bug: T189860
Change-Id: I11e663cbce32b4199f16df6ed1e9b980630ece7a

4 years agoMerge "Names.php: Remove U+200E after autonym of language 'lki'"
jenkins-bot [Fri, 18 May 2018 16:42:47 +0000 (16:42 +0000)]
Merge "Names.php: Remove U+200E after autonym of language 'lki'"

4 years agoRemove everything related to CollationFa
Amir Sarabadani [Fri, 18 May 2018 14:44:18 +0000 (16:44 +0200)]
Remove everything related to CollationFa

This workaround was needed when ICU in production was broken
but after T189295 this is not needed anymore and we switched off
this collation from all Persian Wikis already

Bug: T139110
Change-Id: Ifad89555b6ac96a3eb36ca24b55e1f8ee57a1f05

4 years agoMerge "Strip Unicode 6.3.0 directional formatting characters from title"
jenkins-bot [Fri, 18 May 2018 15:32:34 +0000 (15:32 +0000)]
Merge "Strip Unicode 6.3.0 directional formatting characters from title"

4 years agoMerge "Strip soft hyphens (U+00AD) from title"
jenkins-bot [Fri, 18 May 2018 15:32:30 +0000 (15:32 +0000)]
Merge "Strip soft hyphens (U+00AD) from title"

4 years agoMerge "Fix documentation of InfoAction::pageInfo"
jenkins-bot [Fri, 18 May 2018 14:52:06 +0000 (14:52 +0000)]
Merge "Fix documentation of InfoAction::pageInfo"

4 years agoAdd ct_tag_id field to change_tag table
Amir Sarabadani [Fri, 11 May 2018 19:16:37 +0000 (21:16 +0200)]
Add ct_tag_id field to change_tag table

Part of normalizing the table

Bug: T193867
Change-Id: I8c38e673aab14c5b87e5501da1a752c5bd4709c8

4 years agoMerge "Special:PrefixIndex: Convert to OOUI"
jenkins-bot [Fri, 18 May 2018 13:32:38 +0000 (13:32 +0000)]
Merge "Special:PrefixIndex: Convert to OOUI"

4 years agoMerge "makeCollapsible: Add test for nested collapsibles"
jenkins-bot [Fri, 18 May 2018 13:06:09 +0000 (13:06 +0000)]
Merge "makeCollapsible: Add test for nested collapsibles"

4 years agoMerge "Use .json extension for OOUI source maps"
jenkins-bot [Fri, 18 May 2018 12:55:34 +0000 (12:55 +0000)]
Merge "Use .json extension for OOUI source maps"

4 years agoSpecial:PrefixIndex: Convert to OOUI
gopavasanth [Sat, 21 Apr 2018 13:24:16 +0000 (18:54 +0530)]
Special:PrefixIndex: Convert to OOUI

Bug: T117726
Change-Id: I13c4d6d5132b7085bc954a97d270efbef0acb846