lhc/web/wiklou.git
8 years agoProtect against non-text output from StripState going into Title::newFromText()
Chad Horohoe [Fri, 10 Jul 2015 18:12:15 +0000 (11:12 -0700)]
Protect against non-text output from StripState going into Title::newFromText()

Non-string input shouldn't be fed into newFromText(). We currently handle this
indirectly with relying on Title to do it. Instead just return earlier and not
try to construct a title from bad input.

Bug: T102321
Change-Id: I9bc96111378d9d4ed5981bffc6f150cbd0c1e331

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 10 Jul 2015 18:59:32 +0000 (20:59 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I2c337f29ca8c60e6b1c912d6ee828b1632ba89b8

8 years agoDon't try to call load() on non-object
Florian [Fri, 10 Jul 2015 14:31:33 +0000 (16:31 +0200)]
Don't try to call load() on non-object

FileRepo::newFile() can return null or false, in addition to a File
object. Calling load() on the returned value in FileRepo::findFile()
can result in an exception. Prevent this with an additional check after
FileRepo::newFile() was called.

Follow up: I1aa4b096c0cad5f5ca34321cc897019005c53a76
Follow up: I60c106b5b27db067b1884af95f5fb74a0a682a9a

Bug: T105497
Change-Id: Iabdae8fd960d19a467dc08a193228978575017ce

8 years agoFix sql.php behavior on error
Brad Jorsch [Fri, 10 Jul 2015 17:38:19 +0000 (13:38 -0400)]
Fix sql.php behavior on error

When an erroneous query is entered into sql.php, it doesn't clear its
line buffer, so the intended next query (often fixing a typo in the
original) winds up concatenated onto the erroneous query. Usually
leading to another error, which repeats the process.

The solution is simple enough: clear the line buffer unconditionally,
not only when no exception is caught.

Change-Id: Ia78e2df8b9c6698c0a225bfb3135274ed8da5303

8 years agoMerge "ApiFeedWatchlist: Handle revdel"
jenkins-bot [Fri, 10 Jul 2015 17:50:30 +0000 (17:50 +0000)]
Merge "ApiFeedWatchlist: Handle revdel"

8 years agoMerge "Fixed BadMethodCallException in FileRepo for bad titles"
jenkins-bot [Fri, 10 Jul 2015 16:54:02 +0000 (16:54 +0000)]
Merge "Fixed BadMethodCallException in FileRepo for bad titles"

8 years agoApiFeedWatchlist: Handle revdel
Brad Jorsch [Fri, 10 Jul 2015 14:04:10 +0000 (10:04 -0400)]
ApiFeedWatchlist: Handle revdel

We might get back rows with no title (log entries with deleted action)
or no user (anything with deleted user). Don't raise warnings for those.

Bug: T105367
Change-Id: I64b4fba478b3e1e86854843965b2ea2b5c1d7933

8 years agoGruntfile.js: Remove unused 'pkg'
Kunal Mehta [Fri, 10 Jul 2015 03:33:53 +0000 (20:33 -0700)]
Gruntfile.js: Remove unused 'pkg'

It's unused and ends up being copied into a bunch of repositories that
also don't need it.

Change-Id: Icf81b3ae13e510670bde38c1c8d7ef42917b7c2a

8 years agorubocop: ignore node_modules and fix a single offense
Antoine Musso [Fri, 10 Jul 2015 10:41:47 +0000 (12:41 +0200)]
rubocop: ignore node_modules and fix a single offense

Make rubocop pass:
- fix a trivial double quotes error
- ignore 'node_modules' useful when one ran 'npm install'

Change-Id: Id1ab83df0bec4fc7b223f33016c8f18316509b7a

8 years agoMerge "Ignore tagfilter url parameter on Special:Undelete"
jenkins-bot [Fri, 10 Jul 2015 07:11:00 +0000 (07:11 +0000)]
Merge "Ignore tagfilter url parameter on Special:Undelete"

8 years agoMerge "Sort $wgLogActionsHandlers/$wgLogActions/$wgLogHeaders"
jenkins-bot [Fri, 10 Jul 2015 07:10:56 +0000 (07:10 +0000)]
Merge "Sort $wgLogActionsHandlers/$wgLogActions/$wgLogHeaders"

8 years agoMerge "Check install user's password as sysop/bureaucrat"
jenkins-bot [Thu, 9 Jul 2015 23:41:35 +0000 (23:41 +0000)]
Merge "Check install user's password as sysop/bureaucrat"

8 years agoFixed BadMethodCallException in FileRepo for bad titles
Aaron Schulz [Thu, 9 Jul 2015 22:59:48 +0000 (15:59 -0700)]
Fixed BadMethodCallException in FileRepo for bad titles

* Fixes regression from 7508b86ad3

Change-Id: I60c106b5b27db067b1884af95f5fb74a0a682a9a

8 years agoMerge "Made LoadMonitor use wfGlobalCacheKey() and tweaked the key name"
jenkins-bot [Thu, 9 Jul 2015 21:52:32 +0000 (21:52 +0000)]
Merge "Made LoadMonitor use wfGlobalCacheKey() and tweaked the key name"

8 years agoMerge "Formally defined IDatabase and made a few Database methods protected"
jenkins-bot [Thu, 9 Jul 2015 21:49:26 +0000 (21:49 +0000)]
Merge "Formally defined IDatabase and made a few Database methods protected"

8 years agoMerge "importScopedSession() comment updates"
jenkins-bot [Thu, 9 Jul 2015 21:47:47 +0000 (21:47 +0000)]
Merge "importScopedSession() comment updates"

8 years agoimportScopedSession() comment updates
Aaron Schulz [Thu, 9 Jul 2015 21:32:04 +0000 (14:32 -0700)]
importScopedSession() comment updates

Change-Id: I9c545a2c255d2af0826499754555b2e0d95159fb

8 years agojobqueue: Enable job retries by default in $wgJobTypeConf
Aaron Schulz [Thu, 9 Jul 2015 16:07:52 +0000 (09:07 -0700)]
jobqueue: Enable job retries by default in $wgJobTypeConf

* This setting works fine for WMF, including various extensions.
  It seems a better default than just pruning out failed jobs.

Change-Id: I635880a49f50544433559ef2cbfb218783b32534

8 years agoMerge "Convert Special:Search to OOUI"
jenkins-bot [Thu, 9 Jul 2015 21:08:51 +0000 (21:08 +0000)]
Merge "Convert Special:Search to OOUI"

8 years agoMade LoadMonitor use wfGlobalCacheKey() and tweaked the key name
Aaron Schulz [Thu, 9 Jul 2015 20:27:44 +0000 (13:27 -0700)]
Made LoadMonitor use wfGlobalCacheKey() and tweaked the key name

* Changing the key name makes sense after 9cf6637 to avoid
  problems with het deploy and competing key formats.

Bug: T105373
Change-Id: I2e6888198b1ee4fb4f758070b03d7fe3eac547fc

8 years agoMerge "jobqueue: Fix typo in claimTTL documentation"
jenkins-bot [Thu, 9 Jul 2015 19:38:22 +0000 (19:38 +0000)]
Merge "jobqueue: Fix typo in claimTTL documentation"

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 9 Jul 2015 19:28:41 +0000 (21:28 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I91cbe91552b47cb189f6d86574cbb7ee4ddff320

8 years agoSync up with Parsoid parserTests.
C. Scott Ananian [Thu, 9 Jul 2015 17:47:52 +0000 (13:47 -0400)]
Sync up with Parsoid parserTests.

This now aligns with Parsoid commit ece4412e84bdfc7960b69c38207f6981b9f6b596

Change-Id: I5beed6dce381cfbd6ead8b280697c2e044cae889

8 years agoConvert Special:Search to OOUI
Bartosz Dziewoński [Sat, 30 May 2015 16:13:00 +0000 (18:13 +0200)]
Convert Special:Search to OOUI

Limiting this to the primary form for now, which was using old
MediaWiki UI styles. There are some native elements tucked in the
advanced form which I am not changing here yet.

Also, use new search suggestions provided by TitleInputWidget.

Bug: T100898
Change-Id: I699cf27a686f2615a22fce70f43b9f89092485c9

8 years agoMerge "build: Move PHPCS configuration to phpcs.xml"
jenkins-bot [Thu, 9 Jul 2015 17:06:26 +0000 (17:06 +0000)]
Merge "build: Move PHPCS configuration to phpcs.xml"

8 years agojobqueue: Fix typo in claimTTL documentation
Timo Tijhof [Thu, 9 Jul 2015 16:52:07 +0000 (17:52 +0100)]
jobqueue: Fix typo in claimTTL documentation

Change-Id: I0232492db424a0dd6bea23d04772f14980a73fd4

8 years agoMerge "MovePage: Don't try to pass non-strings into Title::newFromText"
jenkins-bot [Thu, 9 Jul 2015 16:42:17 +0000 (16:42 +0000)]
Merge "MovePage: Don't try to pass non-strings into Title::newFromText"

8 years agoMerge "T105242: U is for urlencode"
jenkins-bot [Thu, 9 Jul 2015 14:54:47 +0000 (14:54 +0000)]
Merge "T105242: U is for urlencode"

8 years agoMerge "objectcache: Ensure an integer put into memcached comes out an integer"
jenkins-bot [Thu, 9 Jul 2015 14:20:24 +0000 (14:20 +0000)]
Merge "objectcache: Ensure an integer put into memcached comes out an integer"

8 years agoMerge "Handle no pageids response field in MessagePoster factory"
jenkins-bot [Thu, 9 Jul 2015 13:42:50 +0000 (13:42 +0000)]
Merge "Handle no pageids response field in MessagePoster factory"

8 years agoMerge "APIQueryImageInfo: Set META_BC_BOOLS for 'value' in 'metadata' block"
jenkins-bot [Thu, 9 Jul 2015 13:32:36 +0000 (13:32 +0000)]
Merge "APIQueryImageInfo: Set META_BC_BOOLS for 'value' in 'metadata' block"

8 years agobuild: Move PHPCS configuration to phpcs.xml
Kunal Mehta [Mon, 29 Jun 2015 21:35:38 +0000 (14:35 -0700)]
build: Move PHPCS configuration to phpcs.xml

"composer phpcs" now runs PHPCS against the relevant directories.

Change-Id: Ic28eaff2318fa57977689957781538acb2b1893c

8 years agoMovePage: Don't try to pass non-strings into Title::newFromText
Alex Monk [Mon, 6 Jul 2015 20:30:32 +0000 (21:30 +0100)]
MovePage: Don't try to pass non-strings into Title::newFromText

Bug: T104852
Change-Id: I240c0993977a8e7e584b93e95ace0907f7b7825c

8 years agoMerge "Do not encode '~' as %7E. Fixes redirect loop in chrome."
jenkins-bot [Thu, 9 Jul 2015 11:06:22 +0000 (11:06 +0000)]
Merge "Do not encode '~' as %7E. Fixes redirect loop in chrome."

8 years agoDo not encode '~' as %7E. Fixes redirect loop in chrome.
Brian Wolff [Thu, 9 Jul 2015 05:19:35 +0000 (23:19 -0600)]
Do not encode '~' as %7E. Fixes redirect loop in chrome.

As of 155d555b83eca640, we now redirect variations on hex escapes
into their canonical form. This was causing '~' to be redirected
to %7E. However google chrome seems to canonicalize %7E back
into ~, causing a redirect loop.

RFC 3986 says ~ is unreserved, so not hex encoding it should be
fine. To quote: "For consistency, percent-encoded octets in the
ranges of...tilde (%7E) should not be created by URI producers"

Bug: T105265
Change-Id: I01556eee496e2fb540de8ff09c082c1fedddb5f7

8 years agoMerge "Allow detected external links to linebreak at any place"
jenkins-bot [Thu, 9 Jul 2015 09:40:59 +0000 (09:40 +0000)]
Merge "Allow detected external links to linebreak at any place"

8 years agoAllow detected external links to linebreak at any place
Derk-Jan Hartman [Tue, 7 Jul 2015 20:46:23 +0000 (22:46 +0200)]
Allow detected external links to linebreak at any place

These so called 'bare urls', which are not wrapped in [] can be very
long at times and because they are not normal text usually don't wrap
to a new line when needed, causing annoying overflows,
especially on smaller screens and often on talk pages where they are a
bit more common. This is CSS3.

Change-Id: Ied3f5fb52d79318c40d541f2c47ae36ea2dfe504

8 years agoMerge "Fix inaccurate documentation re $wgEnotifMinorEdits"
jenkins-bot [Thu, 9 Jul 2015 06:50:57 +0000 (06:50 +0000)]
Merge "Fix inaccurate documentation re $wgEnotifMinorEdits"

8 years agoCleanup in doTableStuff
Arlo Breault [Fri, 3 Jul 2015 18:53:06 +0000 (11:53 -0700)]
Cleanup in doTableStuff

Change-Id: I75c0a943b24f96a30c6ee1efc3f0b11388f892b7

8 years agoMerge "Sync up with Parsoid parserTests."
jenkins-bot [Thu, 9 Jul 2015 01:45:42 +0000 (01:45 +0000)]
Merge "Sync up with Parsoid parserTests."

8 years agoFix inaccurate documentation re $wgEnotifMinorEdits
Matthew Flaschen [Thu, 9 Jul 2015 00:29:39 +0000 (20:29 -0400)]
Fix inaccurate documentation re $wgEnotifMinorEdits

In actuallyNotifyOnPageChange, the $wgEnotifUserTalk is inside
a check involving $wgEnotifMinorEdits, so it won't fire if
it's a minor edit and $wgEnotifMinorEdits is false.

Change-Id: I6576cb1735db5d9288257e6877b8755450d0dacd

8 years agoAPIQueryImageInfo: Set META_BC_BOOLS for 'value' in 'metadata' block
Kunal Mehta [Wed, 8 Jul 2015 22:52:52 +0000 (15:52 -0700)]
APIQueryImageInfo: Set META_BC_BOOLS for 'value' in 'metadata' block

The 'value' property can be a boolean, which was previously output as a
raw boolean.

Bug: T103781
Change-Id: I788f13f33885b7c8f694470e44478907f28cfbfd

8 years agoT105242: U is for urlencode
Arlo Breault [Wed, 7 Jan 2015 20:03:02 +0000 (12:03 -0800)]
T105242: U is for urlencode

 * Urlencode and extension tags don't play nice. The current behaviour
   is pretty broken. For example,

      {{urlencode:<pre id="one">two</pre>}}

   outputs

       <pre id="one">two</pre>

   which isn't exactly urlencoded.

 * Just drop the unexpanded content; anything more seems unsafe. There's
   precedent for this already in anchorencode.

 * Noticed in the infobox caption for enwiki/%22F%22_Is_for_Fugitive

Change-Id: I0ec5d2fdeb71f762036464f65029afd029e8b4a1

8 years agoSync up with Parsoid parserTests.
C. Scott Ananian [Wed, 8 Jul 2015 21:56:54 +0000 (17:56 -0400)]
Sync up with Parsoid parserTests.

This now aligns with Parsoid commit 34bd76a1747816ed96952ce81ce2fafa751dbb21

Change-Id: Iabf427db488251e26d55a0eb68b282eccd9eb8df

8 years agoUnbreak missing flags in enhanced RC
Kunal Mehta [Wed, 8 Jul 2015 21:57:20 +0000 (14:57 -0700)]
Unbreak missing flags in enhanced RC

$this->recentChangesFlags() was being called on the data twice, so the
second time it was processing the string, causing the flags go missing.

Follows-up 94f153db6a0.

Bug: T105237
Change-Id: I04465d0317eecc1c12e47bc9a74f11986eba99a4

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 8 Jul 2015 19:28:18 +0000 (21:28 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I5277704a2e9af694cf5b5cd70e3fb291238deade

8 years agoMerge "Allow using createAndPromote.php with custom groups"
jenkins-bot [Wed, 8 Jul 2015 18:23:27 +0000 (18:23 +0000)]
Merge "Allow using createAndPromote.php with custom groups"

8 years agoParser: Avoid producing <span></span> in the TOC
Brad Jorsch [Wed, 15 Apr 2015 17:44:28 +0000 (13:44 -0400)]
Parser: Avoid producing <span></span> in the TOC

If someone renames a section but wants old targeted links to still work,
<span id="old-anchor"></span> is the usual solution. And sometimes
people put it inside the section header markup, like

 == <span id="old-anchor"></span>New name ==

since putting it before makes it be considered part of the previous section
while putting it after causes the browser to scroll the section header
off the screen.

But this has the unfortunate side effect that the TOC text for that
section will be "<span></span>New name". We should strip that useless
empty span.

Bug: T96153
Change-Id: I47a33ceb79d48f6d0c38fa3b3814a378feb5e31e

8 years agoSort $wgLogActionsHandlers/$wgLogActions/$wgLogHeaders
umherirrender [Wed, 8 Jul 2015 16:56:56 +0000 (18:56 +0200)]
Sort $wgLogActionsHandlers/$wgLogActions/$wgLogHeaders

For better readability sort the keys of the log config vars in
DefaultSettings.php

Change-Id: I2db37f4987fc791402368813c39361e04a83e7e8

8 years agoUpdate environments.yml file according to the documentation
Željko Filipin [Wed, 8 Jul 2015 15:56:59 +0000 (17:56 +0200)]
Update environments.yml file according to the documentation

Bug: T105174
Change-Id: Ib049d12f24444029f5aeb8ef3149c731c2b9c810

8 years agomediawiki.api: Include 'mobile' target in mediawiki.api.parse module
Timo Tijhof [Wed, 8 Jul 2015 13:45:42 +0000 (14:45 +0100)]
mediawiki.api: Include 'mobile' target in mediawiki.api.parse module

Bug: T104940
Change-Id: Ic654f0e38b27b41df13c0423460c1c12c9aec9c3

8 years agomediawiki.api: Refactor to use server.respondImmediately
Timo Tijhof [Mon, 6 Jul 2015 14:12:30 +0000 (15:12 +0100)]
mediawiki.api: Refactor to use server.respondImmediately

* Simplifies code a lot and removes the need to explicitly flush
  and handle the request queue with respond().
  This was especially annoying when a request spawned others as
  they wouldn't be in the queue yet.

* Make tests more explicit and resilient by specifying what they
  respond to instead of assigning to requests[i] directly.
  This also makes the failure better if one request isn't made,
  instead of throwing for accessing properties on undefined objects.

* Avoid relying on test order for badToken().
  Follows-up 7b05096bcae0. Tests should be atomic and not rely on
  order. This is already important as QUnit re-orders failed tests.
  And in the future they may run concurrently.

  Resolve using a unique name (like the other tests).

  Also, the previous test wasn't asserting that badToken() works,
  it was merely asserting that getToken() works and that it wasn't
  yet cached. The new test will fetch and purge its own token.

Change-Id: I26d22ace6c5df19d7144779be1a625aede79749f

8 years agoMerge "HTMLTextAreaField: Honor 'rows' setting in OOUI format"
jenkins-bot [Wed, 8 Jul 2015 09:22:31 +0000 (09:22 +0000)]
Merge "HTMLTextAreaField: Honor 'rows' setting in OOUI format"

8 years agoMerge "OutputPage: Only set <link hreflang=x-default> on wiki/pages with variants"
jenkins-bot [Wed, 8 Jul 2015 06:58:06 +0000 (06:58 +0000)]
Merge "OutputPage: Only set <link hreflang=x-default> on wiki/pages with variants"

8 years agoMerge "Improved fail-over in ReplicatedBagOStuff for redis"
jenkins-bot [Wed, 8 Jul 2015 06:44:42 +0000 (06:44 +0000)]
Merge "Improved fail-over in ReplicatedBagOStuff for redis"

8 years agoMerge "Move `$.extend( OO.ui, mw.widgets )` hack to 'mediawiki.widgets' module"
jenkins-bot [Wed, 8 Jul 2015 06:37:28 +0000 (06:37 +0000)]
Merge "Move `$.extend( OO.ui, mw.widgets )` hack to 'mediawiki.widgets' module"

8 years agoMerge "Add Content-Length header to thumb.php error responses"
jenkins-bot [Wed, 8 Jul 2015 06:29:51 +0000 (06:29 +0000)]
Merge "Add Content-Length header to thumb.php error responses"

8 years agoMerge "qunit: Restore sinon.sandbox after teardown instead of before"
jenkins-bot [Wed, 8 Jul 2015 06:29:47 +0000 (06:29 +0000)]
Merge "qunit: Restore sinon.sandbox after teardown instead of before"

8 years agoMerge "Update Sinon.JS to 1.15.4"
jenkins-bot [Wed, 8 Jul 2015 06:29:25 +0000 (06:29 +0000)]
Merge "Update Sinon.JS to 1.15.4"

8 years agoMerge "Update QUnit to v1.18.0"
jenkins-bot [Wed, 8 Jul 2015 06:26:43 +0000 (06:26 +0000)]
Merge "Update QUnit to v1.18.0"

8 years agoUpdate OOjs UI to v0.11.8
James D. Forrester [Wed, 8 Jul 2015 01:40:19 +0000 (18:40 -0700)]
Update OOjs UI to v0.11.8

Release notes:
 https://git.wikimedia.org/blob/oojs%2Fui.git/v0.11.8/History.md

Change-Id: I701c504acf0d527916f1925bbf49177cc9c0d883

8 years agoHTMLTextAreaField: Honor 'rows' setting in OOUI format
Kunal Mehta [Wed, 8 Jul 2015 01:27:03 +0000 (18:27 -0700)]
HTMLTextAreaField: Honor 'rows' setting in OOUI format

And throw an exception if 'cols' is set, since it won't work.

Requires eed0f5294b0080 in OOUI.

Bug: T104682
Change-Id: I8e09402a01cecac8a90497d31b3b1ca15ff2d949

8 years agoMerge "Explain API action=parse&disablepp option more clearly"
jenkins-bot [Wed, 8 Jul 2015 00:42:00 +0000 (00:42 +0000)]
Merge "Explain API action=parse&disablepp option more clearly"

8 years agoExplain API action=parse&disablepp option more clearly
This, that and the other [Wed, 8 Jul 2015 00:30:52 +0000 (10:30 +1000)]
Explain API action=parse&disablepp option more clearly

Brought up by Purodha on translatewiki.net Support page.

Also change a few ungrammatical "Disable"s to "Omit"s.

Change-Id: I9a14fa16cc166471d66c53489e8186ec09297399

8 years agoAllow using createAndPromote.php with custom groups
Matthew Flaschen [Wed, 1 Jul 2015 07:21:53 +0000 (03:21 -0400)]
Allow using createAndPromote.php with custom groups

This lets any group(s) be added using a comma-separated argument,
in addition to the --sysop, --bureaucrat, and --bot that already
existed.

Bug: T105079
Change-Id: I1274b065e3dad917e545f9278b996da014d87ae9

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 7 Jul 2015 19:42:13 +0000 (21:42 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I3d2c6254a862d635419018c2c4fe3f824ae43a93

8 years agoMerge "resourceloader: Set a TTL for minification cache entries"
jenkins-bot [Tue, 7 Jul 2015 18:53:35 +0000 (18:53 +0000)]
Merge "resourceloader: Set a TTL for minification cache entries"

8 years agobackupTextPassTest: Disable flaky test 'testCheckpointPlain'
Timo Tijhof [Tue, 7 Jul 2015 18:42:43 +0000 (19:42 +0100)]
backupTextPassTest: Disable flaky test 'testCheckpointPlain'

Follows-up 9107fb539111de.

Ref T70653

Change-Id: I493c0a97bd9b5213a3f1f6ed0b2a6c591fd67d3b

8 years agoAPI: Move stats update for API module execution to when the module is actually executed
Brad Jorsch [Tue, 7 Jul 2015 17:46:17 +0000 (13:46 -0400)]
API: Move stats update for API module execution to when the module is actually executed

The place it was before could easily be reached without actually
executing (or even constructing) the module.

Change-Id: I6f807adc9cbf71c5d7b83c7eec43965dce1d2a16

8 years agoAdd alias for Special:ChangeContentModel
raymond [Tue, 7 Jul 2015 14:16:23 +0000 (16:16 +0200)]
Add alias for Special:ChangeContentModel

Follow up to fa31bf1675af725.

Change-Id: I2589b8a48c82484f8ef561d9562b28f613fa15b1

8 years agoresourceloader: Set a TTL for minification cache entries
Timo Tijhof [Tue, 7 Jul 2015 16:40:00 +0000 (17:40 +0100)]
resourceloader: Set a TTL for minification cache entries

Follows-up 458e7cabbbafd. HHVM's APC cache doesn't have any
limitation or eviction logic. Thus entries without a TTL will
linger indefinitely.

At time of writing over 99% of APC entries were from "resourceloader:filter"
because there are far more unpopular resources than popular ones.

A fixed TTL is suboptimal as it will also cause popular resources
(e.g. startup module, or jquery) to be re-minified every day.

Beware this isn't one single minification. It's one minification,
for every JS/CSS resource, on every app server, for many different
lang/skin/config variations.

Bug: T104769
Change-Id: Ib62c320da0eeede68aad3f2294006ec7dcf1df55

8 years agoqunit: Restore sinon.sandbox after teardown instead of before
Timo Tijhof [Tue, 7 Jul 2015 14:46:32 +0000 (15:46 +0100)]
qunit: Restore sinon.sandbox after teardown instead of before

This was causing pending (mocked) XHR requests to sometimes be
cleaned up prematurely.

As a general rule, setup always calls its parent first. And teardown
always calls its parent last. The inner callback runs within the
scope of the outer one and should still have acces to the sinon mocks.

Change-Id: Ic4d9243c04af73e529b689e650d35ddabaa7f4b9

8 years agoUpdate Sinon.JS to 1.15.4
Timo Tijhof [Tue, 7 Jul 2015 09:28:16 +0000 (10:28 +0100)]
Update Sinon.JS to 1.15.4

* Code
  http://sinonjs.org/releases/sinon-1.15.4.js
  http://sinonjs.org/releases/sinon-ie-1.15.4.js

* Change log
  http://sinonjs.org/Changelog.txt
  https://github.com/cjohansen/Sinon.JS/commits/v1.15.4

Mainly:
* Support XHR.responseType 'json'.
* Remove deprecation warnings from sinon.mock().

Change-Id: I4e0d8f044eb2841ab361b1efc76fb36797f15e42

8 years agoUpdate QUnit to v1.18.0
Timo Tijhof [Tue, 7 Jul 2015 09:22:35 +0000 (10:22 +0100)]
Update QUnit to v1.18.0

* Code
  https://code.jquery.com/qunit/qunit-1.18.0.css
  https://code.jquery.com/qunit/qunit-1.18.0.js

* Change log
  https://github.com/jquery/qunit/blob/1.18.0/History.md

Change-Id: I9da13eedb2f9b5ee936aaa658c3da6ce222cfa0a

8 years agoMerge "API: Use ApiBase::PARAM_HELP_MSG_PER_VALUE for 'prop' in query+watchlist"
jenkins-bot [Tue, 7 Jul 2015 14:05:59 +0000 (14:05 +0000)]
Merge "API: Use ApiBase::PARAM_HELP_MSG_PER_VALUE for 'prop' in query+watchlist"

8 years agoMerge "mediawiki.searchSuggest: Allow multiple suggestion fields"
jenkins-bot [Tue, 7 Jul 2015 13:47:50 +0000 (13:47 +0000)]
Merge "mediawiki.searchSuggest: Allow multiple suggestion fields"

8 years agoMove `$.extend( OO.ui, mw.widgets )` hack to 'mediawiki.widgets' module
Bartosz Dziewoński [Tue, 7 Jul 2015 13:23:25 +0000 (15:23 +0200)]
Move `$.extend( OO.ui, mw.widgets )` hack to 'mediawiki.widgets' module

OO.ui.infuse assumes all widgets are in the OO.ui. namespace.
We previously made that happen on document-ready in
'mediawiki.page.ready' module, but that's too late: document-ready
handlers defined by other modules' can run earlier.
Let's just do it in 'mediawiki.widgets' after all widgets are defined.

Change-Id: Ib2184bf87d72db64d1565d742ef9f1be37f24b6f

8 years agoOutputPage: Only set <link hreflang=x-default> on wiki/pages with variants
Timo Tijhof [Tue, 7 Jul 2015 10:32:03 +0000 (11:32 +0100)]
OutputPage: Only set <link hreflang=x-default> on wiki/pages with variants

Follows-up 91d8a51825.

Having the default variant advertised seems useful, however for
wikis and/or pages that have no variants or translated versions,
outputting this header doesn't seem useful.

https://support.google.com/webmasters/answer/189077 doesn't
justify sending it unconditionally.

To try out, setting $wgLanguageCode = 'zh'; will result in all
pages having hreflang=x-default and all variants. And setting to
'en' or 'de' will result in none of those link tags.

Change-Id: I21cd072534ae1df960209e657b19c96889ece27c

8 years agoMerge "mediawiki.ui: Add @activeColor argument to the .button-colors() mixin"
jenkins-bot [Tue, 7 Jul 2015 04:45:24 +0000 (04:45 +0000)]
Merge "mediawiki.ui: Add @activeColor argument to the .button-colors() mixin"

8 years agomediawiki.ui: Add @activeColor argument to the .button-colors() mixin
Prateek Saxena [Fri, 27 Mar 2015 06:26:07 +0000 (11:56 +0530)]
mediawiki.ui: Add @activeColor argument to the .button-colors() mixin

Have kept the colors same for now except for .mw-ui-button:active and
.mw-ui-button.mw-ui-checked . Can be changed later once the design
team has decided.

Change-Id: I7c418b970c5e5fa95f740ecf3d90622bf7f02364

8 years agoUpdate composer-merge-plugin to v1.2.1
Bryan Davis [Mon, 6 Jul 2015 22:46:45 +0000 (16:46 -0600)]
Update composer-merge-plugin to v1.2.1

Fixes bug in optimized autoloader generation on initial plugin install.

Change-Id: If637d2b5583b32895fe8839478e7e553927f1d68
Requires: I22d1fd4044320613c6ba61ac5e84263e5af4ff27
Bug: T104037

8 years agoMerge "TitleInputWidget: Add 'relative' option"
jenkins-bot [Mon, 6 Jul 2015 22:41:31 +0000 (22:41 +0000)]
Merge "TitleInputWidget: Add 'relative' option"

8 years agoAdd Content-Length header to thumb.php error responses
Ori Livneh [Mon, 6 Jul 2015 20:49:45 +0000 (13:49 -0700)]
Add Content-Length header to thumb.php error responses

Without the Content-Length header, the response is sent with Transfer-Encoding:
Chunked, which is somehow mangled by mod_fastcgi. Varnish then claims the
response is malformed and declines to process it, sending the client a 503
instead.

Change-Id: I977387bf3e039926df58e3e5a14d0d0bd55201c4

8 years agoMerge "Allow hooks to abort lines in EnhancedRC"
jenkins-bot [Mon, 6 Jul 2015 20:29:23 +0000 (20:29 +0000)]
Merge "Allow hooks to abort lines in EnhancedRC"

8 years agoMerge "API: Avoid caching when prop=info&intestactions=... is used"
jenkins-bot [Mon, 6 Jul 2015 20:17:39 +0000 (20:17 +0000)]
Merge "API: Avoid caching when prop=info&intestactions=... is used"

8 years agoAPI: Use ApiBase::PARAM_HELP_MSG_PER_VALUE for 'prop' in query+watchlist
Kunal Mehta [Tue, 23 Jun 2015 21:23:07 +0000 (14:23 -0700)]
API: Use ApiBase::PARAM_HELP_MSG_PER_VALUE for 'prop' in query+watchlist

Change-Id: I5e956f4b4dccb2b109d514332e4347252ce846c4

8 years agoMerge "Add hook EnhancedChangesListModifyBlockLineData"
jenkins-bot [Mon, 6 Jul 2015 20:04:58 +0000 (20:04 +0000)]
Merge "Add hook EnhancedChangesListModifyBlockLineData"

8 years agoMerge "Add tests for Special:BlankPage"
jenkins-bot [Mon, 6 Jul 2015 19:30:12 +0000 (19:30 +0000)]
Merge "Add tests for Special:BlankPage"

8 years agoMerge "Localisation updates from https://translatewiki.net."
Translation updater bot [Mon, 6 Jul 2015 19:29:52 +0000 (19:29 +0000)]
Merge "Localisation updates from https://translatewiki.net."

8 years agoMerge "Add SpecialPageTestBase to simplify testing of special pages"
jenkins-bot [Mon, 6 Jul 2015 19:29:01 +0000 (19:29 +0000)]
Merge "Add SpecialPageTestBase to simplify testing of special pages"

8 years agoAdd tests for Special:BlankPage
addshore [Mon, 6 Jul 2015 10:49:58 +0000 (12:49 +0200)]
Add tests for Special:BlankPage

This uses SpecialPageTestBase and demonstrates how that class
should be used.

Change-Id: Ibbf3fdcb172d7c1c71491d27b534faa65fd9be63

8 years agoAdd SpecialPageTestBase to simplify testing of special pages
addshore [Sat, 9 Aug 2014 00:37:44 +0000 (01:37 +0100)]
Add SpecialPageTestBase to simplify testing of special pages

This is copied from Wikibase. A follow up change adds a test
for Special:BlankPage to demonstrate how it works.

Change-Id: I3c34fd17ceb0049b160ec4f821474de457533983

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 6 Jul 2015 19:05:31 +0000 (21:05 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ifcf5396c7f9a8a6abb43dd9233dc6c55b6ca00c1

8 years agoMerge "Add {{bidi:}} syntax for directionality-safe arguments"
jenkins-bot [Mon, 6 Jul 2015 16:57:53 +0000 (16:57 +0000)]
Merge "Add {{bidi:}} syntax for directionality-safe arguments"

8 years agoAPI: Avoid caching when prop=info&intestactions=... is used
Brad Jorsch [Mon, 6 Jul 2015 16:07:45 +0000 (12:07 -0400)]
API: Avoid caching when prop=info&intestactions=... is used

Whether the actions pass or not depends on the current user, including
the results of several hooks and whether the current user is blocked.

Also, we can clean up the test for public inprops slightly.

Change-Id: I7e2610dd609c52711355b640778f795520a4ff8c

8 years agoMerge "mediawiki.jqueryMsg: Declare dependency on user.options"
jenkins-bot [Mon, 6 Jul 2015 14:58:09 +0000 (14:58 +0000)]
Merge "mediawiki.jqueryMsg: Declare dependency on user.options"

8 years agoMerge "editWarning: Declare dependency on user.options"
jenkins-bot [Mon, 6 Jul 2015 08:46:45 +0000 (08:46 +0000)]
Merge "editWarning: Declare dependency on user.options"

8 years agoMerge "Count API module instantiations and Hook runs"
jenkins-bot [Mon, 6 Jul 2015 07:41:28 +0000 (07:41 +0000)]
Merge "Count API module instantiations and Hook runs"

8 years agoTitleInputWidget: Add 'relative' option
Kunal Mehta [Sat, 4 Jul 2015 07:39:41 +0000 (00:39 -0700)]
TitleInputWidget: Add 'relative' option

Currently the JavaScript widget will return a value that is relative to
the namespace, so for "Category:Foo", it will return "Foo". This is
problematic for server-side forms that want a full title returned, so
make this configurable.

Change-Id: I605df2ca41831cae1c8f0a3331600d4487e7798f

8 years agoeditWarning: Declare dependency on user.options
Derk-Jan Hartman [Sun, 5 Jul 2015 20:34:53 +0000 (22:34 +0200)]
editWarning: Declare dependency on user.options

Bug: T102564
Change-Id: Ia4bc7860e6783c1ff9d94a9097c4e19cd34d57f8