5 years agoHandle missing namespace prefix in XML dumps more gracefully
This, that and the other [Mon, 26 Dec 2016 01:58:16 +0000 (12:58 +1100)]
Handle missing namespace prefix in XML dumps more gracefully

If an XML dump of a wiki is exported using dumpBackup.php, and there are
pages in a namespace that is not registered (perhaps because of a missing
extension), they will appear in the dump in the form

<page> ... <title>PageTitle</title> <ns>1234</ns> ... </page>

This caused the ForeignTitle code to raise an undefined offset error,
because it assumed that the <title> element was of the form
"Namespace:PageTitle" when <ns> was nonzero. This assumption is not valid.

Now, the importation of such dumps will no longer throw errors and the
pages will be correctly imported, although possibly to unexpected

Bug: T114115
Change-Id: I0271435dc208e7ea118339584f8a0e359c96113a

5 years agoMerge "Remove FileRepoStatus references"
jenkins-bot [Thu, 22 Dec 2016 05:58:04 +0000 (05:58 +0000)]
Merge "Remove FileRepoStatus references"

5 years agoMerge "Add a caught_by context field to exceptions"
jenkins-bot [Thu, 22 Dec 2016 05:50:27 +0000 (05:50 +0000)]
Merge "Add a caught_by context field to exceptions"

5 years agoAdd a caught_by context field to exceptions
Aaron Schulz [Thu, 22 Dec 2016 04:46:06 +0000 (20:46 -0800)]
Add a caught_by context field to exceptions

This distinguishes random errors caught and explicitly logged by various
callers from those that were only caught by the registered exception handler.
The later are likely to have more visibily impact on the user.

Change-Id: Icb4c4e9376270c5475c95cf40708a7ca3e4e0a49

5 years agoMerge "Default block-cookies to 24 hours only"
jenkins-bot [Thu, 22 Dec 2016 02:22:40 +0000 (02:22 +0000)]
Merge "Default block-cookies to 24 hours only"

5 years agoDefault block-cookies to 24 hours only
Sam Wilson [Tue, 20 Dec 2016 12:08:38 +0000 (20:08 +0800)]
Default block-cookies to 24 hours only

Rather than use wgCookieExpiration as the basis for the maximum
life of a block cookie, just use 1 day.

Tests have been updated also.

Bug: T153347
Change-Id: I3447d97af3170308834f365c5c600430f47c66a7

5 years agoAllow HTML tags in LanguageConverter output.
C. Scott Ananian [Fri, 16 Dec 2016 18:41:51 +0000 (13:41 -0500)]
Allow HTML tags in LanguageConverter output.

A "remove HTML tags to avoid disrupting the layout" block is removed
(previously added in f16d1e4ed70cd5a8fa6ae6ca8bb71bfe62f4f47e).

This is a follow-up to I9b099273203482ffb570a5654d8ba50c833e526d.

Bug: T54192
Change-Id: I565fac58b3b0da7bfaedf64f5001c364f52e2244

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 21 Dec 2016 21:52:02 +0000 (22:52 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I418c1d6ebcf34623dad0fa52674d3c9d52928306

5 years agoMerge "Remove FSRepo"
jenkins-bot [Wed, 21 Dec 2016 19:32:37 +0000 (19:32 +0000)]
Merge "Remove FSRepo"

5 years agoRemove FSRepo
Reedy [Tue, 29 Nov 2016 23:34:47 +0000 (23:34 +0000)]
Remove FSRepo

Change-Id: Id6ca36cfa14077efc3d07fd5129ad9e4cc224e2c

5 years agoRemove FileRepoStatus references
Aaron Schulz [Wed, 21 Dec 2016 06:21:34 +0000 (22:21 -0800)]
Remove FileRepoStatus references

Change-Id: I03190273670f5c255423cf59019cbf12220c5498

5 years agoMerge "Work around &$this usage in SkinTemplate"
jenkins-bot [Wed, 21 Dec 2016 18:58:02 +0000 (18:58 +0000)]
Merge "Work around &$this usage in SkinTemplate"

5 years agoMerge "CoreParserFunctions: Use Title::inNamespace instead of manual comparison"
jenkins-bot [Wed, 21 Dec 2016 18:47:03 +0000 (18:47 +0000)]
Merge "CoreParserFunctions: Use Title::inNamespace instead of manual comparison"

5 years agoMerge "Use FileBaseSiteLookup if $wgSitesCacheFile is set."
jenkins-bot [Wed, 21 Dec 2016 12:26:54 +0000 (12:26 +0000)]
Merge "Use FileBaseSiteLookup if $wgSitesCacheFile is set."

5 years agoCoreParserFunctions: Use Title::inNamespace instead of manual comparison
Niklas Laxström [Wed, 21 Dec 2016 09:54:33 +0000 (10:54 +0100)]
CoreParserFunctions: Use Title::inNamespace instead of manual comparison

Change-Id: I60c02bc68ef0d48b1dc66ba0961275feec5789fb

5 years agoMerge "wfMessage: use Message::params() to handle all the message parameters"
jenkins-bot [Wed, 21 Dec 2016 08:18:33 +0000 (08:18 +0000)]
Merge "wfMessage: use Message::params() to handle all the message parameters"

5 years agoMerge "mediawiki.api.watch: Remove the uselang parameter in POST"
jenkins-bot [Wed, 21 Dec 2016 08:06:09 +0000 (08:06 +0000)]
Merge "mediawiki.api.watch: Remove the uselang parameter in POST"

5 years agoMerge "Check for expiry dates in a 10-second window"
jenkins-bot [Wed, 21 Dec 2016 08:04:27 +0000 (08:04 +0000)]
Merge "Check for expiry dates in a 10-second window"

5 years agoMerge "Parser functions now format numbers according to page language (2nd attempt)"
Nikerabbit [Wed, 21 Dec 2016 07:58:25 +0000 (07:58 +0000)]
Merge "Parser functions now format numbers according to page language (2nd attempt)"

5 years agomediawiki.api.watch: Remove the uselang parameter in POST
Fomafix [Wed, 21 Dec 2016 07:21:28 +0000 (08:21 +0100)]
mediawiki.api.watch: Remove the uselang parameter in POST

Since 1f15d1d5828dfbc70d036a52da57460ea0e89175 the response does not contain
any user language specific messages anymore.

Change-Id: I525af200e3d1a48877438a997e78bb5fff297357

5 years agoMerge "Pin eslint version"
jenkins-bot [Wed, 21 Dec 2016 07:20:18 +0000 (07:20 +0000)]
Merge "Pin eslint version"

5 years agoMerge "Fixes and tests for ApiErrorFormatter ILocalizedException handling"
jenkins-bot [Wed, 21 Dec 2016 06:35:12 +0000 (06:35 +0000)]
Merge "Fixes and tests for ApiErrorFormatter ILocalizedException handling"

5 years agoMerge "Do not lose message parameters in UploadFromChunks::verifyChunk()"
jenkins-bot [Wed, 21 Dec 2016 05:59:36 +0000 (05:59 +0000)]
Merge "Do not lose message parameters in UploadFromChunks::verifyChunk()"

5 years agoMerge "ApiWatch: Set 'missing' to true, not 1"
jenkins-bot [Wed, 21 Dec 2016 05:35:33 +0000 (05:35 +0000)]
Merge "ApiWatch: Set 'missing' to true, not 1"

5 years agoMerge "ApiQueryWatchlist: Handle empty wltypes"
jenkins-bot [Wed, 21 Dec 2016 05:34:04 +0000 (05:34 +0000)]
Merge "ApiQueryWatchlist: Handle empty wltypes"

5 years agoCheck for expiry dates in a 10-second window
Sam Wilson [Tue, 20 Dec 2016 12:13:56 +0000 (20:13 +0800)]
Check for expiry dates in a 10-second window

This changes a test of expiry dates to be a 10-second range,
to account for slow testing. For example, a test may start and
set the block's expiry in one second, but by the time it is
reading the value from that block's cookie it can sometimes be
the next second. Making it 10 seconds just gives it more room
for being slow.

Bug: T153527
Change-Id: I5efde7785134a75487d31ef3d8b7b14f53b7f5d0

5 years agoMerge "API: Add action=validatepassword"
jenkins-bot [Wed, 21 Dec 2016 01:41:46 +0000 (01:41 +0000)]
Merge "API: Add action=validatepassword"

5 years agoMerge "ApiTag: Return 'noop' as a boolean in formatversion=2"
jenkins-bot [Wed, 21 Dec 2016 01:37:38 +0000 (01:37 +0000)]
Merge "ApiTag: Return 'noop' as a boolean in formatversion=2"

5 years agoMerge "ApiMove: Fix fatal when attempting to move to a namespace with no talkpages"
jenkins-bot [Wed, 21 Dec 2016 00:58:03 +0000 (00:58 +0000)]
Merge "ApiMove: Fix fatal when attempting to move to a namespace with no talkpages"

5 years agoPin eslint version
Paladox [Sun, 18 Dec 2016 16:29:41 +0000 (16:29 +0000)]
Pin eslint version

We don't want tests failing every time upstream publishing a new

Instead we should bump this manually everytime they update to make sure
no failures happen.

Bug: T118941
Change-Id: I1c76dacd0950100825b85a3791f74c1f6d5477d9

5 years agoWork around &$this usage in SkinTemplate
Geoffrey Mon [Wed, 21 Dec 2016 00:39:07 +0000 (19:39 -0500)]
Work around &$this usage in SkinTemplate

Using &$this triggers warnings with PHP 7.1.

Bug: T153505
Change-Id: I7798b08a356c64796c9aea1273eef88f8678f8d4

5 years agoDo not lose message parameters in UploadFromChunks::verifyChunk()
Matthias Mullie [Thu, 15 Dec 2016 13:34:13 +0000 (14:34 +0100)]
Do not lose message parameters in UploadFromChunks::verifyChunk()

This change is similar to If9ce05045ada1e3f55e031639e4c4ebc2a216de8

Having verifyChunk inside doStashFile was annoying. We'd have to
catch the exception in UploadBase::tryStashFile in order to convert
it to a proper Status object instead of the generic one that is
currently built there.
I felt like UploadBase::tryStashFile shouldn't have to be aware of
this exception, so I moved that catch into a new
It makes no sense to perform that check twice when running
tryStashFile, so I got rid of it in doStashFile. But that also
meant we had to add it to a few other (now deprecated) places calling
doStashFile... But they should be cleaned up at some point anyway.

This will make sure we get error output like this:

instead of:
"key":"Cannot upload this file because Internet Explorer would detect it as \"text/html\", which is a disallowed and potentially dangerous file type.",

Bug: T32095
Change-Id: I2fa767656cb3a5b366210042b8b504dc10ddaf68

5 years agoMerge "upload: Avoid &$this in hooks"
jenkins-bot [Tue, 20 Dec 2016 23:36:15 +0000 (23:36 +0000)]
Merge "upload: Avoid &$this in hooks"

5 years agoupload: Avoid &$this in hooks
rlot [Tue, 20 Dec 2016 15:49:15 +0000 (16:49 +0100)]
upload: Avoid &$this in hooks

&$this triggers warnings in PHP 7.1. Simply renaming the variable before
passing it by reference avoids the warning, without breaking backwards

Bug: T153505
Change-Id: I78ea04a01ecce82294837e92c2a05b00ffb6e0f6

5 years agoProtect -{...}- variant constructs in galleries
C. Scott Ananian [Wed, 21 Sep 2016 18:25:26 +0000 (14:25 -0400)]
Protect -{...}- variant constructs in galleries

This also protects naked external links, which are internally surrounded by
`-{R|...}-` by LanguageConverter::markNoConversion.

Originally found in failed tests in I7fa2d85d6.

Bug: T54190
Change-Id: I9b099273203482ffb570a5654d8ba50c833e526d

5 years agoProtect -{...}- variant constructs in images.
C. Scott Ananian [Tue, 13 Dec 2016 19:49:36 +0000 (14:49 -0500)]
Protect -{...}- variant constructs in images.

A protected version of explode is factored out as
`StringUtils::delimiterExplode`, since it will be used in follow-up
patches in this series.  The `delimiterExplode` implementation creates
an intermediate array of the exploded results, which is reasonable as
the number of image options is small; but since an Iterator is
returned the implementation can be upgraded in the future (at the cost
of additional complexity) to avoid this.  The additional code in that
case would be similar to ExplodeIterator.

Bug: T146305
Change-Id: I1327685e9e8c07ef476dceaa6f6dae4ba40989ef

5 years agoUse FileBaseSiteLookup if $wgSitesCacheFile is set.
daniel [Tue, 20 Dec 2016 20:14:41 +0000 (21:14 +0100)]
Use FileBaseSiteLookup if $wgSitesCacheFile is set.

Change-Id: I150011d6d2f596fb4edb9b52ed09ef2951ce6d1e

5 years agoApiQueryWatchlist: Handle empty wltypes
Brad Jorsch [Tue, 20 Dec 2016 19:40:03 +0000 (14:40 -0500)]
ApiQueryWatchlist: Handle empty wltypes

The pre-WatchedItemQueryService code used ApiQueyrBase::addWhereFld()
which filters out empty arrays. WatchedItemQueryService doesn't do that.

Bug: T153733
Change-Id: I3416b5a05c9751303b5c28a8b6d9cb746a101f73

5 years agoApiWatch: Set 'missing' to true, not 1
Brad Jorsch [Tue, 20 Dec 2016 19:34:15 +0000 (14:34 -0500)]
ApiWatch: Set 'missing' to true, not 1

Bug: T153775
Change-Id: I2b45cc7f64623f10d86e37dd2cbf2516f78ae7e6

5 years agoFixes and tests for ApiErrorFormatter ILocalizedException handling
Brad Jorsch [Tue, 20 Dec 2016 18:59:05 +0000 (13:59 -0500)]
Fixes and tests for ApiErrorFormatter ILocalizedException handling

Change-Id: I9449ea5886e27dfb9e54b91cdb50a6a6a2c9a4ed

5 years agowfMessage: use Message::params() to handle all the message parameters
Zhuyifei1999 [Tue, 20 Dec 2016 14:05:03 +0000 (14:05 +0000)]
wfMessage: use Message::params() to handle all the message parameters

The old code was similar to Message::params(), but Message::params()
was unable to handle "special" parameters and received an overhaul
in 7f2663f, yet wfMessage remained broken. To avoid duplication,
wfMessage shall call Message::params() to correctly handle these

CategoryMembershipChange::getChangeMessageText and its caller has
been updated so as not to take advantage of this bug.

Bug: T153747
Change-Id: I6667acf7e71c9db07fefc9fbb741c160e15823ff

5 years agoMerge "Pass undone revision id to PageContentSaveComplete hook"
jenkins-bot [Tue, 20 Dec 2016 19:01:07 +0000 (19:01 +0000)]
Merge "Pass undone revision id to PageContentSaveComplete hook"

5 years agoApiTag: Return 'noop' as a boolean in formatversion=2
Brad Jorsch [Tue, 20 Dec 2016 18:52:19 +0000 (13:52 -0500)]
ApiTag: Return 'noop' as a boolean in formatversion=2

Bug: T153704
Change-Id: I1d8059e5e0ede6ba11449ecb4de5a482ddc8d2e4

5 years agoUpdate date format for Wu language
MarcoAurelio [Fri, 9 Dec 2016 10:21:34 +0000 (11:21 +0100)]
Update date format for Wu language

Bug: T125047
Change-Id: I398d93d372ad0d5345b0e4b27657ad69b0079d94

5 years agoAPI: Add action=validatepassword
Brad Jorsch [Thu, 1 Dec 2016 22:29:29 +0000 (17:29 -0500)]
API: Add action=validatepassword

This will allow for checking passwords against the wiki's password
policy from the account creation and password change forms.

Bug: T111303
Change-Id: I0de281483bd83e47d80aa1ea37149d14f2ae5ebd

5 years agoMerge "Fix RevDel API output for formatversion=2"
jenkins-bot [Mon, 19 Dec 2016 23:06:49 +0000 (23:06 +0000)]
Merge "Fix RevDel API output for formatversion=2"

5 years agoMerge "ApiEditPage: Avoid PHP warning"
jenkins-bot [Mon, 19 Dec 2016 23:04:47 +0000 (23:04 +0000)]
Merge "ApiEditPage: Avoid PHP warning"

5 years agoMerge "Remove unused Phan exception"
jenkins-bot [Mon, 19 Dec 2016 21:31:03 +0000 (21:31 +0000)]
Merge "Remove unused Phan exception"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 19 Dec 2016 20:56:18 +0000 (21:56 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I905f195a2d4a159bf4f9cb3357465ce96c59f2ce

5 years agoApiMove: Fix fatal when attempting to move to a namespace with no talkpages
Brad Jorsch [Mon, 19 Dec 2016 19:02:43 +0000 (14:02 -0500)]
ApiMove: Fix fatal when attempting to move to a namespace with no talkpages

The move will probably error out anyway, but we want it to do so
properly instead of by throwing a PHP fatal.

Bug: T153693
Change-Id: I19334a28a3f539e0f3d3866353093711f68786ee

5 years agoDo not exit the run method in case of a missing rev
David Causse [Mon, 19 Dec 2016 17:37:01 +0000 (18:37 +0100)]
Do not exit the run method in case of a missing rev

We should ignore broken/missing titles and not stop the whole process.

Change-Id: Ib4acb739c28c5f3278430b43b6304af3a513085e

5 years agoFix RevDel API output for formatversion=2
Brad Jorsch [Mon, 19 Dec 2016 16:36:09 +0000 (11:36 -0500)]
Fix RevDel API output for formatversion=2

Use booleans, not the old empty-string-or-undefined.

This bugfix is a breaking change, but chances are it won't affect many

Bug: T153518
Change-Id: If5fa2cdcb973b186349307b29e4266daceef0a9d

5 years agoPass undone revision id to PageContentSaveComplete hook
cenarium [Sun, 18 Dec 2016 02:06:42 +0000 (03:06 +0100)]
Pass undone revision id to PageContentSaveComplete hook

This passes the id of the revision that was undone to the
PageContentSaveComplete hook, since this hook is now inside a deferred
update so extensions can no longer rely on 'wpUndidRevision' being
present in the request.

Change-Id: I50dcb841cd0616acc2d69c3a685ba3cb339986c3

5 years agoApiEditPage: Avoid PHP warning
Brad Jorsch [Mon, 19 Dec 2016 14:49:59 +0000 (09:49 -0500)]
ApiEditPage: Avoid PHP warning

In cases where $result is non-null but doesn't have the 'spam' key,
constructing the fallback array was raising a PHP warning.

Thinking it over, we should just use a switch instead of making an array
of known fallback messages. It's longer source code, but probably less
real work than constructing an array where only one entry will actually
be used.

Bug: T153590
Change-Id: I50349c56692c4b2f9a8e560a849c36db1082120e

5 years agoParser functions now format numbers according to page language (2nd attempt)
Nikerabbit [Thu, 3 Nov 2016 07:57:48 +0000 (07:57 +0000)]
Parser functions now format numbers according to page language (2nd attempt)

Bug: T62604
Change-Id: I1c60d828891b82a8122e7030d843018fccaf72e4

5 years agoMerge "build: Update phpunit to 4.8.31"
jenkins-bot [Sun, 18 Dec 2016 23:07:03 +0000 (23:07 +0000)]
Merge "build: Update phpunit to 4.8.31"

5 years agoMerge "Move the Ukrainian grammar rules from PHP and JS to JSON"
jenkins-bot [Sun, 18 Dec 2016 23:04:48 +0000 (23:04 +0000)]
Merge "Move the Ukrainian grammar rules from PHP and JS to JSON"

5 years agobuild: Update phpunit to 4.8.31
Paladox [Tue, 31 May 2016 14:34:00 +0000 (15:34 +0100)]
build: Update phpunit to 4.8.31

Please see changelog at

Change-Id: I00e0b94452b371cacecc4eb10330749c0da1890e

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 18 Dec 2016 20:54:06 +0000 (21:54 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I6f343baa88923fcc11e83a066edb01cab77986ec

5 years agoHTMLForm: Use 'mw-htmlform' CSS class
Bartosz Dziewoński [Fri, 2 Dec 2016 19:19:07 +0000 (20:19 +0100)]
HTMLForm: Use 'mw-htmlform' CSS class

Makes it easy to identify all HTMLForms on a page.

Change-Id: I5b9494fc925ac953c14b358331acddfe80c2661d

5 years agoHTMLFormFieldCloner: Set 'formnovalidate' on add/remove field buttons
Bartosz Dziewoński [Fri, 2 Dec 2016 17:28:30 +0000 (18:28 +0100)]
HTMLFormFieldCloner: Set 'formnovalidate' on add/remove field buttons

Otherwise, after we allow HTML5 form validation attributes, these
buttons wouldn't work for non-JS users (unless the whole form was
otherwise valid).

Change-Id: Ia9c16849774c186b991280ea60fc5608ddd4cf42

5 years agoMerge "Rewrite importImages.php to use Maintenance infrastructure"
jenkins-bot [Sun, 18 Dec 2016 12:58:14 +0000 (12:58 +0000)]
Merge "Rewrite importImages.php to use Maintenance infrastructure"

5 years agoMerge "mw.htmlform: Fields hidden with 'hide-if' should be disabled"
jenkins-bot [Sun, 18 Dec 2016 12:56:11 +0000 (12:56 +0000)]
Merge "mw.htmlform: Fields hidden with 'hide-if' should be disabled"

5 years agoMerge "Turn $wgRunJobsAsync off by default"
jenkins-bot [Sun, 18 Dec 2016 12:49:32 +0000 (12:49 +0000)]
Merge "Turn $wgRunJobsAsync off by default"

5 years agoRemove unused Phan exception
Max Semenik [Fri, 16 Dec 2016 19:23:44 +0000 (11:23 -0800)]
Remove unused Phan exception

Change-Id: Ib578336abfed02c8dce9ccb47ab22220ddcee856

5 years agoRewrite importImages.php to use Maintenance infrastructure
Max Semenik [Fri, 16 Dec 2016 22:45:20 +0000 (14:45 -0800)]
Rewrite importImages.php to use Maintenance infrastructure

I even tested it!

Change-Id: I999f5842625c752f01c1eb4b012431c4a24ce7ce

5 years agoMerge "Move TempFileRepo to a separate file"
jenkins-bot [Sun, 18 Dec 2016 12:18:35 +0000 (12:18 +0000)]
Merge "Move TempFileRepo to a separate file"

5 years agoTurn $wgRunJobsAsync off by default
Jesús Martínez Novo [Thu, 25 Aug 2016 14:07:57 +0000 (16:07 +0200)]
Turn $wgRunJobsAsync off by default

The current situation doesn't work in all installations and has being worse
since MediaWiki 1.27. Default settings should be safe in all installations,
and $wgRunJobsAsync wasn't one of them.

Bug: T142751
Change-Id: I8daa38534a0e925a75ba2fb47e3e299f1baee4b1

5 years agoMove the Ukrainian grammar rules from PHP and JS to JSON
Amir E. Aharoni [Sun, 11 Oct 2015 19:35:28 +0000 (22:35 +0300)]
Move the Ukrainian grammar rules from PHP and JS to JSON

Bug: T115217
Change-Id: I15a06b07e381cc9074e64e746d22ec51e9e638c4

5 years agoMerge "Make the code for grammar data processing common"
jenkins-bot [Sun, 18 Dec 2016 11:06:38 +0000 (11:06 +0000)]
Merge "Make the code for grammar data processing common"

5 years agoMerge "Optionally collect context in TestLogger"
jenkins-bot [Sun, 18 Dec 2016 10:02:59 +0000 (10:02 +0000)]
Merge "Optionally collect context in TestLogger"

5 years agoMove TempFileRepo to a separate file
Aaron Schulz [Sat, 17 Dec 2016 09:12:32 +0000 (01:12 -0800)]
Move TempFileRepo to a separate file

Change-Id: I6fc0870cc82a7b19859abc00bd4b2ecee6c0fc9e

5 years agoMerge "Add dotall modifier to EDITSECTION_REGEX"
jenkins-bot [Sun, 18 Dec 2016 02:53:47 +0000 (02:53 +0000)]
Merge "Add dotall modifier to EDITSECTION_REGEX"

5 years agoMerge "mediawiki.special.watchlist: Fix render stampede after "Mark all pages visited""
jenkins-bot [Sat, 17 Dec 2016 22:35:07 +0000 (22:35 +0000)]
Merge "mediawiki.special.watchlist: Fix render stampede after "Mark all pages visited""

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 17 Dec 2016 20:53:03 +0000 (21:53 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I649e54c975f5fe8445821e53ef121ec088167ca9

5 years agoMerge "Fixing mediawiki's য় problem"
jenkins-bot [Sat, 17 Dec 2016 15:40:12 +0000 (15:40 +0000)]
Merge "Fixing mediawiki's য় problem"

5 years agoFix deprecation message - use correct method name (defaultPrefixSearch)
Stanislav Malyshev [Fri, 16 Dec 2016 23:04:14 +0000 (15:04 -0800)]
Fix deprecation message - use correct method name (defaultPrefixSearch)

Change-Id: Ie4dbb28b4ca11ecfeaccd331db55f92130f6cdf1

5 years agoMerge "mediawiki.api.watch: Use formatversion=2 for API requests"
jenkins-bot [Sat, 17 Dec 2016 06:55:58 +0000 (06:55 +0000)]
Merge "mediawiki.api.watch: Use formatversion=2 for API requests"

5 years agoMerge "user: Minor clean up of User::isLocallyBlockedProxy()"
jenkins-bot [Sat, 17 Dec 2016 06:42:10 +0000 (06:42 +0000)]
Merge "user: Minor clean up of User::isLocallyBlockedProxy()"

5 years agoMerge "Fix various minor IDEA warnings in LoadBalancer"
jenkins-bot [Sat, 17 Dec 2016 06:41:34 +0000 (06:41 +0000)]
Merge "Fix various minor IDEA warnings in LoadBalancer"

5 years agouser: Minor clean up of User::isLocallyBlockedProxy()
Timo Tijhof [Sat, 17 Dec 2016 06:09:06 +0000 (22:09 -0800)]
user: Minor clean up of User::isLocallyBlockedProxy()

Change-Id: If8bcb2f26f14ce04ee23fb9500be95c8cdf1a967

5 years agomediawiki.special.watchlist: Fix render stampede after "Mark all pages visited"
Timo Tijhof [Sat, 17 Dec 2016 05:47:28 +0000 (21:47 -0800)]
mediawiki.special.watchlist: Fix render stampede after "Mark all pages visited"

Follow-up 9ea1142fadf4d70ceedc73592aea1c.

The progress bar has a continuous animation that is rather CPU heavy.
While it is set to 'visibility hidden', this is merely a way to make the
contents of the element transparent. It is still interactable (e.g. if it
has hover or click handlers, they would trigger if hovering in that area)
and still rendered with full 60fps paint and layout.

Instead, detach and (re-)append the element as needed. Since the element
has an absolute position, it doesn't cause a content reflow when the element
is detached. This fact is already made use of considering the element is
inserted only after the submit button is clicked - without content reflow.

Change-Id: I06ef0d527044e5a6080febdb618eaffeb6ec85fa

5 years agoMerge "Change linking Special:PageLanguage on action=info"
jenkins-bot [Sat, 17 Dec 2016 05:14:18 +0000 (05:14 +0000)]
Merge "Change linking Special:PageLanguage on action=info"

5 years agoMerge "mediawiki.searchSuggest: Remove inline browser compat check"
jenkins-bot [Sat, 17 Dec 2016 03:17:10 +0000 (03:17 +0000)]
Merge "mediawiki.searchSuggest: Remove inline browser compat check"

5 years agoMerge "Adjust phan script to run sub-projects"
jenkins-bot [Sat, 17 Dec 2016 03:17:06 +0000 (03:17 +0000)]
Merge "Adjust phan script to run sub-projects"

5 years agoMerge "SearchInputWidget: Support searching a namespaces besides 0"
jenkins-bot [Sat, 17 Dec 2016 02:25:03 +0000 (02:25 +0000)]
Merge "SearchInputWidget: Support searching a namespaces besides 0"

5 years agoMerge "mediawiki.api: Add test for api deferred rejection of errorformat!=bc"
jenkins-bot [Sat, 17 Dec 2016 01:57:58 +0000 (01:57 +0000)]
Merge "mediawiki.api: Add test for api deferred rejection of errorformat!=bc"

5 years agoMerge "jquery.tipsy: Remove support for 'live' option"
jenkins-bot [Sat, 17 Dec 2016 01:48:46 +0000 (01:48 +0000)]
Merge "jquery.tipsy: Remove support for 'live' option"

5 years agomediawiki.api: Add test for api deferred rejection of errorformat!=bc
Matthias Mullie [Fri, 16 Dec 2016 07:30:43 +0000 (08:30 +0100)]
mediawiki.api: Add test for api deferred rejection of errorformat!=bc

Change-Id: Ia4e1d575e07df690919d63502f9fedffff7be0a3

5 years agojquery.tipsy: Remove support for 'live' option
Bartosz Dziewoński [Mon, 25 Jul 2016 11:37:45 +0000 (13:37 +0200)]
jquery.tipsy: Remove support for 'live' option

Follows-up aa524075ac from 2014.

It was relying on jQuery features that have been deprecated a long time
ago, officially removed in jQuery 1.11, and removed for real in 3.0.
We have to get rid of it at some point. As far as I can tell, nothing
in our repositories uses this option anymore.

Rather than remove the code and diverge further from upstream Tipsy,
I'm just making it throw an error if this is passed. Maybe one day we'll
upgrade Tipsy too to some modern version and this will then disappear.

Bug: T85048
Change-Id: I7dca8334556b1079cd4fee2e6e921232fe3d46ef

5 years agomediawiki.searchSuggest: Remove inline browser compat check
Timo Tijhof [Sat, 17 Dec 2016 01:22:52 +0000 (17:22 -0800)]
mediawiki.searchSuggest: Remove inline browser compat check

Introduced in 1f987fb5eea4.

This is quite dated and obsolete since then. The current code in
the 'mediawiki.searchSuggest' and 'jquery.suggestions' works fine
in all currently supported Grade A browsers (per startup.js).

Change-Id: I6d281459e230fa6a2971a31314f9e963dc83ff2b

5 years agoMerge "Fix type annotation"
jenkins-bot [Sat, 17 Dec 2016 01:29:08 +0000 (01:29 +0000)]
Merge "Fix type annotation"

5 years agoMerge "tests: Fix broken setup/teardown in mediawiki.language.test.js"
jenkins-bot [Sat, 17 Dec 2016 01:28:36 +0000 (01:28 +0000)]
Merge "tests: Fix broken setup/teardown in mediawiki.language.test.js"

5 years agoAdjust phan script to run sub-projects
Erik Bernhardson [Sat, 17 Dec 2016 01:16:04 +0000 (17:16 -0800)]
Adjust phan script to run sub-projects

Rather than duplicating the phan and postprocess-phan.php scripts
into extensions, this allows passing the path to the extension
(or skin, or whichever) to the phan script and it will run the analysis
for that project.

Individual projects will need a tests/phan/config.php file that defines
how the analysis will run in their project.

Bug: T153040
Change-Id: I58ad44f6a8769088e87d5d6cf1079e633c082f88

5 years agoSearchInputWidget: Support searching a namespaces besides 0
Kunal Mehta [Sat, 17 Dec 2016 00:09:02 +0000 (16:09 -0800)]
SearchInputWidget: Support searching a namespaces besides 0

0 is currently hardcoded in searchSuggest, making it hard to use
SearchInputWidget for other things.

SearchInputWidget already takes a namespace parameter by virtue of
extending TitleInputWidget, so use that.

Change-Id: Iecf93d1e8d4075a5a9aa0f08059c609aa8db4f6d

5 years agoFix type annotation
Max Semenik [Sat, 17 Dec 2016 00:55:58 +0000 (16:55 -0800)]
Fix type annotation

Change-Id: I8996a7617c4723c9c4ff8f91d0f3767c9e67dd28

5 years agotests: Fix broken setup/teardown in mediawiki.language.test.js
Timo Tijhof [Sat, 17 Dec 2016 00:55:33 +0000 (16:55 -0800)]
tests: Fix broken setup/teardown in mediawiki.language.test.js

Ref T152476.

Change-Id: Ie871d36dadefd69d0a5dc85c275b55d4d477dc78

5 years agoMerge "registration: Always specify version number in extension.schema.json file"
jenkins-bot [Sat, 17 Dec 2016 00:54:55 +0000 (00:54 +0000)]
Merge "registration: Always specify version number in extension.schema.json file"

5 years agoMerge "Remove deprecated function User::isPasswordReminderThrottled()"
jenkins-bot [Fri, 16 Dec 2016 21:11:39 +0000 (21:11 +0000)]
Merge "Remove deprecated function User::isPasswordReminderThrottled()"

5 years agoMerge "Remove 2 deprecated functions from class User"
jenkins-bot [Fri, 16 Dec 2016 21:06:15 +0000 (21:06 +0000)]
Merge "Remove 2 deprecated functions from class User"