6 years agoMerge "Clarify what $params is for ApiBase methods to get Title/WikiPage"
jenkins-bot [Fri, 7 Jul 2017 00:10:45 +0000 (00:10 +0000)]
Merge "Clarify what $params is for ApiBase methods to get Title/WikiPage"

6 years agoMerge "objectcache: Use a separate postgres connection in SqlBagOStuff"
jenkins-bot [Fri, 7 Jul 2017 00:04:46 +0000 (00:04 +0000)]
Merge "objectcache: Use a separate postgres connection in SqlBagOStuff"

6 years agoClarify what $params is for ApiBase methods to get Title/WikiPage
Matthew Flaschen [Fri, 7 Jul 2017 00:01:30 +0000 (20:01 -0400)]
Clarify what $params is for ApiBase methods to get Title/WikiPage

Change-Id: I1bfae270072ba08db967a02a8e30047bc607e3a2

6 years agoobjectcache: Use a separate postgres connection in SqlBagOStuff
Aaron Schulz [Thu, 6 Jul 2017 21:13:01 +0000 (14:13 -0700)]
objectcache: Use a separate postgres connection in SqlBagOStuff

The flags to the driver use new connections for new LBs since
fda4d46fc4f810. This makes it consistent with what we do for
MySQL already.

This should fix warnings about TransactionProfiler in objectcache,
as well as warnings about "Pending writes" in WANObjectCache.

Bug: T167946
Bug: T154424
Change-Id: I0b0d9a7210b6a3270d32df778fcc4b9918d3dcd1

6 years agoMerge "Fix/hack ErrorPageError to work from non-UI contexts"
jenkins-bot [Thu, 6 Jul 2017 20:28:37 +0000 (20:28 +0000)]
Merge "Fix/hack ErrorPageError to work from non-UI contexts"

6 years agoFix/hack ErrorPageError to work from non-UI contexts
Chad Horohoe [Thu, 6 Jul 2017 19:42:11 +0000 (12:42 -0700)]
Fix/hack ErrorPageError to work from non-UI contexts

Right now, ErrorPageError *assumes* you're never running on the cli
or the API. It's kinda a crappy superclass to use for errors unless
you're 1000% sure you'll never hit that code path. Yay assumptions!

Ideally, all of this report() crap is cleaned up and unified across
the like 1192902117 places we have it spread out, but for now just
detect the scenario and delegate back to MWException, which does the
right thing

Bug: T168337
Change-Id: Ia2f490528e128527a7a5ef1f4f5eea36ec9ee810

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 6 Jul 2017 19:55:30 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I7a5c19be2807aa5556ad6c648c5218991e21a4de

6 years agoMerge "Expose LinkRenderer for LogFormatter instances"
jenkins-bot [Thu, 6 Jul 2017 18:26:07 +0000 (18:26 +0000)]
Merge "Expose LinkRenderer for LogFormatter instances"

6 years agoMerge "Fix error reporting in Special:Undelete"
jenkins-bot [Thu, 6 Jul 2017 17:53:03 +0000 (17:53 +0000)]
Merge "Fix error reporting in Special:Undelete"

6 years agoMerge "Add tracking for resolved conflicts"
jenkins-bot [Thu, 6 Jul 2017 14:31:24 +0000 (14:31 +0000)]
Merge "Add tracking for resolved conflicts"

6 years agoMerge "Add canonical id to header on action=info"
jenkins-bot [Thu, 6 Jul 2017 10:28:16 +0000 (10:28 +0000)]
Merge "Add canonical id to header on action=info"

6 years agoTake screenshot if a Selenium test fails
Željko Filipin [Thu, 6 Jul 2017 08:54:21 +0000 (10:54 +0200)]
Take screenshot if a Selenium test fails

Bug: T164721
Change-Id: I932fccb3fe523b526146df66950ee764bd33bac7

6 years agoMerge "Turn ParserCache into a service, deprecate $parserMemc"
jenkins-bot [Thu, 6 Jul 2017 03:11:51 +0000 (03:11 +0000)]
Merge "Turn ParserCache into a service, deprecate $parserMemc"

6 years agoMerge "DeprecatedGlobal: Support lazy-loading via StubObject"
jenkins-bot [Thu, 6 Jul 2017 03:11:47 +0000 (03:11 +0000)]
Merge "DeprecatedGlobal: Support lazy-loading via StubObject"

6 years agoTurn ParserCache into a service, deprecate $parserMemc
Kunal Mehta [Tue, 30 May 2017 00:10:16 +0000 (17:10 -0700)]
Turn ParserCache into a service, deprecate $parserMemc

ParserCache is already a singleton, making it a good candidate for a
service. $parserMemc is an odd global (it lacks the "wg" prefix) and is
ripe for deprecation.

The following are now deprecated:
* $parserMemc global
* ParserCache::singleton()
* wfGetParserCacheStorage()

A ParserCache::getCacheStorage() method was added for cases where direct
access to the underlying BagOStuff object is necessary.

Usage of $parserMemc will emit deprecation warnings through the
DeprecatedGlobal class mechanism. All usage in core was migrated.

Also take this opportunity to inject the $wgCacheEpoch global value into
ParserCache. This will require an update to the FlaggedRevs extension.

Change-Id: I2ac7afff0d8522214329248c3d1cdccd0f72bbd4

6 years agoDeprecatedGlobal: Support lazy-loading via StubObject
Kunal Mehta [Sun, 11 Jun 2017 01:07:11 +0000 (18:07 -0700)]
DeprecatedGlobal: Support lazy-loading via StubObject

Either a factory function or the class name should be passed in.
Providing the actual value is no longer supported.

And provide tests for DeprecatedGlobal.

Change-Id: I7180cc99c3a01e34f39a9abe54bd1d08137117ed

6 years agoMerge "Linker: Do not localize links to other wikis in comments"
jenkins-bot [Thu, 6 Jul 2017 02:08:02 +0000 (02:08 +0000)]
Merge "Linker: Do not localize links to other wikis in comments"

6 years agoLinker: Do not localize links to other wikis in comments
Matěj Suchánek [Thu, 29 Jun 2017 13:06:24 +0000 (15:06 +0200)]
Linker: Do not localize links to other wikis in comments

The title, although it refers to a foreign page, is considered local
due to Title::isExternal() being false, hence it's namespace prefix
is localized.

We need to use the canonical namespace name instead.

Bug: T169221
Change-Id: I5e5f7d873b9497ca6c8853e7d8170a4f4f07c051

6 years agoMerge "Update mediawiki/mediawiki-codesniffer to 0.8.1"
jenkins-bot [Wed, 5 Jul 2017 21:52:39 +0000 (21:52 +0000)]
Merge "Update mediawiki/mediawiki-codesniffer to 0.8.1"

6 years agoUpdate mediawiki/mediawiki-codesniffer to 0.8.1
Reedy [Wed, 5 Jul 2017 20:57:56 +0000 (21:57 +0100)]
Update mediawiki/mediawiki-codesniffer to 0.8.1

Change-Id: I7ac436521fcba3fa9ae8775fcf589a06ddcadd9e

6 years agoPerform chunked uploads from upload dialog
Matthias Mullie [Wed, 28 Jun 2017 15:24:42 +0000 (17:24 +0200)]
Perform chunked uploads from upload dialog

These should be a little more resilient to network issues.
There is no longer 1 huge chunk that can fail, it'll now
be a bunch of more discreet chunks, and it'll retry once
(by default) if a chunk fails.

Bug: T132611
Change-Id: Ib9cc2c77a27658accf728fb37f8cebc879a467d2

6 years agoAdd mw.api.chunkedUploadToStash
Matthias Mullie [Wed, 28 Jun 2017 15:24:19 +0000 (17:24 +0200)]
Add mw.api.chunkedUploadToStash

Change-Id: I5d181e8a13fc5310ebd0fbb854def42bfb33d6c4

6 years agoMerge "Add mediastatistics-header-3d"
jenkins-bot [Wed, 5 Jul 2017 20:07:47 +0000 (20:07 +0000)]
Merge "Add mediastatistics-header-3d"

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

Change-Id: I5445497e09dea043da64d53925b7df30ac22edee

6 years agoMerge "Added chunked upload support to upload.js"
jenkins-bot [Wed, 5 Jul 2017 19:42:01 +0000 (19:42 +0000)]
Merge "Added chunked upload support to upload.js"

6 years agoMerge "Fix phrase search"
jenkins-bot [Wed, 5 Jul 2017 18:35:16 +0000 (18:35 +0000)]
Merge "Fix phrase search"

6 years agoMerge "Add two new hooks to fix broken CentralAuth unit tests"
jenkins-bot [Wed, 5 Jul 2017 17:54:07 +0000 (17:54 +0000)]
Merge "Add two new hooks to fix broken CentralAuth unit tests"

6 years agoMerge "Pass old user options in PreferencesFormPreSave hook"
jenkins-bot [Wed, 5 Jul 2017 17:23:08 +0000 (17:23 +0000)]
Merge "Pass old user options in PreferencesFormPreSave hook"

6 years agoAdd two new hooks to fix broken CentralAuth unit tests
Max Semenik [Thu, 29 Jun 2017 00:14:18 +0000 (17:14 -0700)]
Add two new hooks to fix broken CentralAuth unit tests

* UnitTestsAfterDatabaseSetup
* UnitTestsBeforeDatabaseTeardown
Bug T168802 necessitates that CentralAuth creates its tables
before any user tests are run, due to its extensive hooking
into everything. This change adds two hooks for that, called
after DB initialization is done and before teardown begins. The
corresponding CentralAuth change is
at I618840fafd22d9b6471eb470ef0414e354aa17f5

Bug: T168802
Change-Id: If7050513719833d4167a24283885d7c10a25856b

6 years agoPass old user options in PreferencesFormPreSave hook
Piotr Miazga [Tue, 4 Jul 2017 18:30:45 +0000 (20:30 +0200)]
Pass old user options in PreferencesFormPreSave hook

 - added one argument to PreferencesFormPreSave hook,
   a $oldUserOptions array which contains set of all user
   options before save
 - updated documentation

Bug: T169365
Change-Id: I28003c5898d64031e1efb212cb0bec58ff44b958

6 years agoAdd mediastatistics-header-3d
Matthias Mullie [Wed, 5 Jul 2017 09:09:52 +0000 (11:09 +0200)]
Add mediastatistics-header-3d

Bug: T169681
Change-Id: I8d6b07ebc83ac8f15f07b25bb3688567f2c1430f

6 years agoMerge "Fix Revi's mailmap email address"
jenkins-bot [Tue, 4 Jul 2017 21:07:03 +0000 (21:07 +0000)]
Merge "Fix Revi's mailmap email address"

6 years agoFix Revi's mailmap email address
Yongmin Hong [Mon, 3 Jul 2017 17:42:01 +0000 (02:42 +0900)]
Fix Revi's mailmap email address

I just realized it was using old email address. While it redirects
to the new address, it's better to have it fixed.

Change-Id: I2df2a32f6144acca985d04b4bf58372343d119f6

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 4 Jul 2017 20:03:10 +0000 (22:03 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Id315d69a372c235c67b158549ddc14d57d807b08

6 years agoMerge "Allow install.php to run env-checks with no db"
jenkins-bot [Tue, 4 Jul 2017 19:42:56 +0000 (19:42 +0000)]
Merge "Allow install.php to run env-checks with no db"

6 years agoMerge "Don't ask for password for env-checks in install.php"
jenkins-bot [Tue, 4 Jul 2017 19:42:52 +0000 (19:42 +0000)]
Merge "Don't ask for password for env-checks in install.php"

6 years agoAllow install.php to run env-checks with no db
addshore [Tue, 4 Jul 2017 18:39:42 +0000 (19:39 +0100)]
Allow install.php to run env-checks with no db

Bug: T169668
Change-Id: Ibb05b26cbf2d26c02ee7f26497e16d2c98e97de2

6 years agoDon't ask for password for env-checks in install.php
addshore [Tue, 4 Jul 2017 18:22:23 +0000 (19:22 +0100)]
Don't ask for password for env-checks in install.php

Bug: T169669
Change-Id: I00dbaca0e4532ecc499317ec8f1cb7f9eb872db3

6 years agoDisplay categories on File redirects
Matthias Mullie [Thu, 26 Jan 2017 13:43:19 +0000 (14:43 +0100)]
Display categories on File redirects

This NS_FILE-specific redirect logic was introduced in 2008,
in 3c9536652a3b27ec97cb2e3f046c5e98849c58a4.

mTitle, as referenced to in the comments, no longer exists.
Article also no longer creates redirects in there, that’s now
in WikitextContent::fillParserOutput.
The original commit message describes that this was introduced
to be able to display redirects to foreign file repos. A lot
has changed in how that works since 2008, too :)

Back to the present: for redirects to foreign repos,
`$this->mPage->getFile()->getRedirected()` seems to always return
`null` (a placeholder object is created when the thing doesn’t
exist), so this this foreign repo-specific bit of code is bypassed
anyway. For local redirects, Article::view seems to be working just

By using Article::view, Categories used on file redirect pages
will now actually be displayed too.

And we can get rid of the otherwise no longer used Article::viewRedirect.

Bug: T29857
Change-Id: Icb02f3af32d10870f58d945cb06a84b3ba1305d3

6 years agoMerge "Skin: Use WANObjectCache for sitenotice caching"
jenkins-bot [Tue, 4 Jul 2017 02:29:57 +0000 (02:29 +0000)]
Merge "Skin: Use WANObjectCache for sitenotice caching"

6 years agoRemove ParserOptions::legacyOptions() and cleanup related code
Brad Jorsch [Wed, 21 Jun 2017 16:21:45 +0000 (12:21 -0400)]
Remove ParserOptions::legacyOptions() and cleanup related code

ParserOptions::legacyOptions() has been sitting around since 1.17.
Originally it seems to have been intended as a way to avoid a mass cache
invalidation (similar to optionsHashPre30() from I7fb9ffca9). That code
was mostly removed in 1.23, but legacyOptions() was left behind because
it was also being used in a few places as "all cache-varying options"
(despite it not being documented for that purpose) where we'd rather
have any key than no key at all.

This patch creates an actual ParserOptions::allCacheVaryingOptions()
method for those use cases and deprecates the long-obsolete

It also makes more explicit the use of the "all cache-varying options"
fallback in ParserCache::getKey(), and doesn't bother trying to use that
fallback in ParserCache::get() where it no longer makes sense.

Change-Id: Ife1e54744155136a570210c03fe907f18f8e8ece

6 years agoRCFilters: Fix parameter name for "namespace"
Catrope [Mon, 3 Jul 2017 23:29:15 +0000 (23:29 +0000)]
RCFilters: Fix parameter name for "namespace"

Bug: T169579
Change-Id: I3e4c22ab28ccc65275246a777172bdc2fe611a9e

6 years agoSkin: Use WANObjectCache for sitenotice caching
Timo Tijhof [Sat, 1 Jul 2017 04:19:31 +0000 (21:19 -0700)]
Skin: Use WANObjectCache for sitenotice caching

* Move the md5() hash to the cache key, this makes it much safer
  after a change happens by avoiding write competitions between different
  servers and db slaves. It also allows an undo to re-use the existing
  cache if it still exists.

  In addition, it enables idiomatic use of getWithSetCallback given
  that get and set are now logically separated.

* Avoid fragile re-use of variable names. Previously it read the
  original $notice value at multiple points but also setting $notice
  to $parsed after a certain point. Consistently use $parsed only.

(Ref T115890.)

Change-Id: I5488cc894ff1544e6c20b7d51a7a2adfc292c4ec

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 3 Jul 2017 20:03:03 +0000 (22:03 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I1a872a41132ae96bcd018094649e5310fef41146

6 years agoMerge "Remove empty lines at begin of function, if, foreach, switch"
jenkins-bot [Mon, 3 Jul 2017 19:19:27 +0000 (19:19 +0000)]
Merge "Remove empty lines at begin of function, if, foreach, switch"

6 years agoMerge "Move wgBreakFrames client code to mediawiki.page.startup"
jenkins-bot [Mon, 3 Jul 2017 19:13:15 +0000 (19:13 +0000)]
Merge "Move wgBreakFrames client code to mediawiki.page.startup"

6 years agoRCFilters: Reverse the sorting on tags
Moriel Schottlender [Mon, 3 Jul 2017 17:19:48 +0000 (10:19 -0700)]
RCFilters: Reverse the sorting on tags

We want the results to show most used tags on top and least
on bottom, so use a reverse sort.

Bug: T166914
Change-Id: I1473070ac9293626bde5e95dad79c7e0ca954f70

6 years agoAvoid double HTML encoding
Fomafix [Mon, 3 Jul 2017 07:13:09 +0000 (09:13 +0200)]
Avoid double HTML encoding

Html:element() already makes an HTML encoding. The additional
htmlspecialchars is not necessary.

Change-Id: If0530c3d3cb0d3cc61e849a1c84ae0d68c242517

6 years agoFix phrase search
David Causse [Thu, 29 Jun 2017 08:29:13 +0000 (10:29 +0200)]
Fix phrase search

Partially revert I61dc536 that broke phrase search support.

Fix phrase search by making explicit that there are two
kind of legalSearchChars() usecases :

- the chars allowed to be part of the search query (including special
  syntax chars such as " and *). Used by SearchDatabase::filter() to
  cleanup the whole query string (the default).

- the chars allowed to be part of a search term (excluding special
  syntax chars) Used by search engine implementaions when parsing with
  a regex.

For future reference:
Originally this distinction was made "explicit" by calling directly
SearchEngine::legalSearchChars() during the parsing stage. This was
broken by Iaabc10c by enabling inheritance.
This patch adds a new optional param to legalSearchChars to make this
more explicit.

Also remove the function I introduced in I61dc536 (I wrongly assumed
that the disctinction made between legalSearchChars usecases was due
to a difference in behavior between indexing and searching).

Added more tests to prevent this from happening in the future.

Bug: T167798
Change-Id: Ibdc796bb2881a2ed8194099d8c9f491980010f0f

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 2 Jul 2017 19:55:08 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ic4006ba2d837d0e47d94591742d418ad517e4d26

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 1 Jul 2017 19:55:08 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ic282c8a9b73144ad7351da0bde0706bc0d1c66a8

6 years agoRemove empty lines at begin of function, if, foreach, switch
Umherirrender [Sat, 1 Jul 2017 08:32:08 +0000 (10:32 +0200)]
Remove empty lines at begin of function, if, foreach, switch

Organize phpcs.xml a bit

Change-Id: Ifb767729b481b4b686e6d6444cf48b1f580cc478

6 years agoMerge "resourceloader: Minor documentation and coding style improvements"
jenkins-bot [Sat, 1 Jul 2017 00:46:16 +0000 (00:46 +0000)]
Merge "resourceloader: Minor documentation and coding style improvements"

6 years agoresourceloader: Minor documentation and coding style improvements
Timo Tijhof [Sat, 1 Jul 2017 00:31:56 +0000 (17:31 -0700)]
resourceloader: Minor documentation and coding style improvements

Based on current non-voting codesniffer warnings.

Change-Id: I34cbc31eda3eaa519a71fe2c04122859f2f15914

6 years agoPush lazy jobs when exceptions are handled by MWExceptionHandler
Aaron Schulz [Wed, 24 May 2017 19:01:31 +0000 (12:01 -0700)]
Push lazy jobs when exceptions are handled by MWExceptionHandler

Remove the exit(1), which does not seem to be needed by any callers.
Doing so means that post-send updates can still happen, such as the
pushing of lazy jobs.

Better avoid showing exceptions in doPostOutputShutdown(), given
that an error may have already been shown. By the post-send part,
it's to late to show errors anyway.

Bug: T100085
Change-Id: Ib1c75323f222a0e02603d6415626a4b233e8e1c7

6 years agoMerge "Always log exceptions in rollbackMasterChangesAndLog()"
jenkins-bot [Fri, 30 Jun 2017 23:33:34 +0000 (23:33 +0000)]
Merge "Always log exceptions in rollbackMasterChangesAndLog()"

6 years agoAlways log exceptions in rollbackMasterChangesAndLog()
Aaron Schulz [Fri, 30 Jun 2017 22:01:33 +0000 (15:01 -0700)]
Always log exceptions in rollbackMasterChangesAndLog()

MWExceptionHandler::rollbackMasterChangesAndLog() only logged exceptions
if there were already master changes. This is extremely problematic when
debugging, especially in situations like DeferredUpdates where they were
silently being swallowed.

This makes it log exceptions in all paths, erring on the side of logging
the same exception twice (theoretically it's possible I suppose) instead
of not at all.

Also make the method able to handle DBError exceptions, which most of
the callers seemed to be assuming. ApiMain was handling this explicitly.

Bug: T168347
Change-Id: I8739051f824a455ba669344184c3b11ac95cb561

6 years agoMerge "RCFilters: Trim spaces in saved query names"
jenkins-bot [Fri, 30 Jun 2017 22:20:48 +0000 (22:20 +0000)]
Merge "RCFilters: Trim spaces in saved query names"

6 years agoMerge "RCFilters: Change tooltip messages for view buttons"
jenkins-bot [Fri, 30 Jun 2017 22:20:15 +0000 (22:20 +0000)]
Merge "RCFilters: Change tooltip messages for view buttons"

6 years agoRCFilters: Change tooltip messages for view buttons
Moriel Schottlender [Thu, 29 Jun 2017 23:38:27 +0000 (16:38 -0700)]
RCFilters: Change tooltip messages for view buttons

Bug: T167384
Change-Id: I30ec6b8931539ccaad8d2d1a609d117f2a13767d

6 years agoMerge "Allow search suggestions in skins operating in mobile mode"
jenkins-bot [Fri, 30 Jun 2017 22:05:59 +0000 (22:05 +0000)]
Merge "Allow search suggestions in skins operating in mobile mode"

6 years agoMerge "resourceloader: Allow mobile target by default on SkinModule"
jenkins-bot [Fri, 30 Jun 2017 21:59:33 +0000 (21:59 +0000)]
Merge "resourceloader: Allow mobile target by default on SkinModule"

6 years agoAllow search suggestions in skins operating in mobile mode
jdlrobson [Fri, 30 Jun 2017 21:22:56 +0000 (14:22 -0700)]
Allow search suggestions in skins operating in mobile mode

MobileFrontend silently removes this skin from the page. This is
now made explicit and the module can be safely loaded in a mobile

This is used by both Timeless which although does not work
perfectly on a mobile device it should be easy to fix with additional

Change-Id: Iedea2872d14430db452cec7e758f20d854778414
Depends-On: Ic36e9792f9217f3fd37bbd1f5c66d894301363f0

6 years agoresourceloader: Allow mobile target by default on SkinModule
jdlrobson [Fri, 30 Jun 2017 19:27:04 +0000 (12:27 -0700)]
resourceloader: Allow mobile target by default on SkinModule

If a skin is using this class, it's likely to be pretty new.
The targets system was mostly created for older code.

Let's make this the default so skins don't need to do anything
additional to work on mobile.

This simple change makes the Timeless skin work on mobile
when MobileFrontend is installed: ?useformat=mobile&useskin=timeless
It looks beautiful :)

Change-Id: I2ab8a1a634bdc0b5b2084d227c7388b5382e93e8

6 years agoMerge "Make file purging also purge old versions"
jenkins-bot [Fri, 30 Jun 2017 21:21:15 +0000 (21:21 +0000)]
Merge "Make file purging also purge old versions"

6 years agoMove wgBreakFrames client code to mediawiki.page.startup
Timo Tijhof [Fri, 30 Jun 2017 20:36:54 +0000 (13:36 -0700)]
Move wgBreakFrames client code to mediawiki.page.startup

Follows-up f7c324685195, which migrated this from legacy wikibits
to the 'mediawiki.page.ready', however it's better suited in
'mediawiki.page.startup' because that one loaded on all pages blindly
(used to be hardcoded in OutputPage, now part of 'core' group
in Skin::getDefaultModules).

mediawiki.page.ready on the other hand is primarily for enhancing
the page content, loaded in Skin::getDefaultModules in the 'content'
group, which extensions like MobileFrontend may override with an
alternate implementation. This means frame breaking is bypassed!

Change-Id: Ia7206fac5c4ec6ace87304cfaeef375916b94fcf

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 30 Jun 2017 20:24:51 +0000 (22:24 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ic9c8bdac869b2a4f218933be4803887a623c51fa

6 years agoMerge "TidyDriverBase::validate throws an exception"
jenkins-bot [Fri, 30 Jun 2017 18:37:12 +0000 (18:37 +0000)]
Merge "TidyDriverBase::validate throws an exception"

6 years agoMerge "Update phan issues & estimated counts"
jenkins-bot [Fri, 30 Jun 2017 18:37:05 +0000 (18:37 +0000)]
Merge "Update phan issues & estimated counts"

6 years agoMerge "API: Split non-English description messages into summary + additional text"
jenkins-bot [Fri, 30 Jun 2017 18:19:23 +0000 (18:19 +0000)]
Merge "API: Split non-English description messages into summary + additional text"

6 years agoMerge "RCFilters: Fix popup head with long message and icon"
jenkins-bot [Fri, 30 Jun 2017 17:22:58 +0000 (17:22 +0000)]
Merge "RCFilters: Fix popup head with long message and icon"

6 years agoRCFilters: Trim spaces in saved query names
Moriel Schottlender [Fri, 30 Jun 2017 16:46:42 +0000 (09:46 -0700)]
RCFilters: Trim spaces in saved query names

Make sure to trim the spaces before saving, and also to verify that
names that contain spaces-only are considered empty.

Also make sure that the same behavior is working when saved queries
are edited - but since the save query button may be disabled, make
sure that any blur event on the input gets us out of the edit mode
either after save or without saving (if the string is invalid)

Bug: T169273
Change-Id: I16da9fcde0bf6be2b854243d7facc80d2860e458

6 years agoAPI: Split non-English description messages into summary + additional text
Brad Jorsch [Wed, 14 Jun 2017 14:55:03 +0000 (10:55 -0400)]
API: Split non-English description messages into summary + additional text

Per request, automatically split non-English messages to avoid a lot of
work for translatewiki.

Change-Id: Ifb9928dfbc59028d0df65ff07e067aa17bcf0c2f

6 years agoMerge "Add missing class propertys in QuickTemplate"
jenkins-bot [Fri, 30 Jun 2017 13:43:15 +0000 (13:43 +0000)]
Merge "Add missing class propertys in QuickTemplate"

6 years agoTidyDriverBase::validate throws an exception
addshore [Fri, 30 Jun 2017 13:10:54 +0000 (14:10 +0100)]
TidyDriverBase::validate throws an exception

Change-Id: I05e31c757ed92323ff905d993ac4d030b8aba1da

6 years agoUpdate phan issues & estimated counts
addshore [Fri, 30 Jun 2017 12:59:56 +0000 (13:59 +0100)]
Update phan issues & estimated counts

Since the last update there is a total of 550 less issues.
744 removed and 194 added in various places.

Change-Id: I0431773973c146e1492de72d869f6d33de4084e8

6 years agoImprove error messages for (known unknown) network errors
Matthias Mullie [Thu, 29 Jun 2017 13:06:51 +0000 (15:06 +0200)]
Improve error messages for (known unknown) network errors

Bug: T132611
Change-Id: I22f26e56e089edad7c423ac8f0007b5439de3e58

6 years agoAdded chunked upload support to upload.js
Matthias Mullie [Thu, 23 Feb 2017 09:47:34 +0000 (10:47 +0100)]
Added chunked upload support to upload.js

Meanwhile also made a uploadWithFormData abortable.

Bug: T103400
Change-Id: Idb4afbbf24c84100630e12869a0a30326a30736f

6 years agoMerge "Make mw.widgets.SearchInputWidget extend OO.ui.SearchInputWidget"
jenkins-bot [Fri, 30 Jun 2017 11:25:43 +0000 (11:25 +0000)]
Merge "Make mw.widgets.SearchInputWidget extend OO.ui.SearchInputWidget"

6 years agoExpose LinkRenderer for LogFormatter instances
Kunal Mehta [Fri, 30 Jun 2017 09:05:29 +0000 (02:05 -0700)]
Expose LinkRenderer for LogFormatter instances

Pass a LinkRenderer instance from SpecialLog, through LogEventsList,
onto LogFormatter instances, which tend to make many links.

Bug: T168924
Change-Id: I264da6f63678917c7335adee5a0b64cbcded66f3

6 years agoAdd missing class propertys in QuickTemplate
addshore [Fri, 30 Jun 2017 09:01:19 +0000 (10:01 +0100)]
Add missing class propertys in QuickTemplate

Change-Id: I327ac1207af8fcf9db792b3835b8a35378330eb6

6 years agoMerge "DidYouMeanWidget: Don't use deprecated Linker::linkKnown()"
jenkins-bot [Fri, 30 Jun 2017 08:53:18 +0000 (08:53 +0000)]
Merge "DidYouMeanWidget: Don't use deprecated Linker::linkKnown()"

6 years agoMake file purging also purge old versions
Gilles Dubuc [Thu, 29 Jun 2017 13:21:38 +0000 (15:21 +0200)]
Make file purging also purge old versions

Also fixes purging for repos with sha1 thumb URLs.

Bug: T169198
Change-Id: Ibb98ecce83d690cc46769644038b54e37aea0b0d

6 years agoMerge "Keep the same DBLoadBalancerFactory in tests"
jenkins-bot [Fri, 30 Jun 2017 08:47:25 +0000 (08:47 +0000)]
Merge "Keep the same DBLoadBalancerFactory in tests"

6 years agoMerge "filecache: Use current action instead of "view" only in outage mode"
jenkins-bot [Fri, 30 Jun 2017 07:49:47 +0000 (07:49 +0000)]
Merge "filecache: Use current action instead of "view" only in outage mode"

6 years agoMerge "SearchInputWidget: Fix documented default for 'pushPending' option"
jenkins-bot [Fri, 30 Jun 2017 07:48:16 +0000 (07:48 +0000)]
Merge "SearchInputWidget: Fix documented default for 'pushPending' option"

6 years agoMerge "Clean up release notes"
jenkins-bot [Fri, 30 Jun 2017 07:32:32 +0000 (07:32 +0000)]
Merge "Clean up release notes"

6 years agoMerge "UsersMultiSelectWidget: Port from CapsuleMultiselectWidget to MenuTagMultisele...
jenkins-bot [Fri, 30 Jun 2017 02:21:17 +0000 (02:21 +0000)]
Merge "UsersMultiSelectWidget: Port from CapsuleMultiselectWidget to MenuTagMultiselectWidget"

6 years agoMerge "Fix \n handling for HTMLUsersMultiselectField"
jenkins-bot [Fri, 30 Jun 2017 02:21:13 +0000 (02:21 +0000)]
Merge "Fix \n handling for HTMLUsersMultiselectField"

6 years agoUsersMultiSelectWidget: Port from CapsuleMultiselectWidget to MenuTagMultiselectWidget
Roan Kattouw [Fri, 9 Jun 2017 02:13:45 +0000 (19:13 -0700)]
UsersMultiSelectWidget: Port from CapsuleMultiselectWidget to MenuTagMultiselectWidget

* Remove puzzling code that claimed to fix a bug that I couldn't reproduce
  but instead made single-character searches never display suggestions
* Clear the input after choosing a menu item

Change-Id: I44e72205880d152639ee823238dc5ab84d34402b

6 years agoFix \n handling for HTMLUsersMultiselectField
Matthew Flaschen [Sun, 21 May 2017 13:28:59 +0000 (15:28 +0200)]
Fix \n handling for HTMLUsersMultiselectField

Bug: T166836
Change-Id: I51b772946f1e50a21fb86cab969defb4647b820b

6 years agoMerge "resourceloader: Restrict addModuleStyles() to type=styles modules"
jenkins-bot [Fri, 30 Jun 2017 01:53:26 +0000 (01:53 +0000)]
Merge "resourceloader: Restrict addModuleStyles() to type=styles modules"

6 years agoMerge "resourceloader: Improve ResourceLoaderClientHtmlTest tests"
jenkins-bot [Fri, 30 Jun 2017 01:43:09 +0000 (01:43 +0000)]
Merge "resourceloader: Improve ResourceLoaderClientHtmlTest tests"

6 years agoMerge "jsminplus: Fix JSNode memory leak from 'continue' statements"
jenkins-bot [Fri, 30 Jun 2017 00:23:01 +0000 (00:23 +0000)]
Merge "jsminplus: Fix JSNode memory leak from 'continue' statements"

6 years agoMerge "SpecialPageFactory::getPage can return null"
jenkins-bot [Thu, 29 Jun 2017 22:33:46 +0000 (22:33 +0000)]
Merge "SpecialPageFactory::getPage can return null"

6 years agoMerge "API: Don't handle non-preflight OPTIONS as CORS"
jenkins-bot [Thu, 29 Jun 2017 22:03:39 +0000 (22:03 +0000)]
Merge "API: Don't handle non-preflight OPTIONS as CORS"

6 years agoMake mw.widgets.SearchInputWidget extend OO.ui.SearchInputWidget
Bartosz Dziewoński [Thu, 29 Jun 2017 20:04:34 +0000 (22:04 +0200)]
Make mw.widgets.SearchInputWidget extend OO.ui.SearchInputWidget

Mixin mw.widgets.TitleWidget instead of extending mw.widgets.TitleInputWidget.

* Remove code that reimplemented pieces of OO.ui.SearchInputWidget.
* Remove code that overrode pieces of mw.widgets.TitleInputWidget.
* Copy the code from mw.widgets.TitleInputWidget that we actually want.

This should result in no functional changes, other than losing the
TitleInputWidget API (some methods and config options) that no one
relied on, as far as I can tell.

Bug: T169194
Change-Id: Ic1482b4c7cfde7d4cf0b8900654bd3a454776010

6 years agoSearchInputWidget: Fix documented default for 'pushPending' option
Bartosz Dziewoński [Thu, 29 Jun 2017 19:57:05 +0000 (21:57 +0200)]
SearchInputWidget: Fix documented default for 'pushPending' option

Change-Id: Iadee48af255498c6608cfd00fca29eed9b14f1be

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 29 Jun 2017 20:17:37 +0000 (22:17 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I420c049cd13179f6780c6a7f85857e2bf1389f99

6 years agoRCFilters: Followup I5cede87633147: Set actual value rather than object
Moriel Schottlender [Thu, 29 Jun 2017 18:53:05 +0000 (11:53 -0700)]
RCFilters: Followup I5cede87633147: Set actual value rather than object

Bug: T169042
Change-Id: Ib99981c212dbe1522defc1c1cc34fa01fff91dba