lhc/web/wiklou.git
7 years agoRevert "Use display name in category page subheadings if provided"
Liuxinyu970226 [Thu, 18 Aug 2016 00:47:05 +0000 (00:47 +0000)]
Revert "Use display name in category page subheadings if provided"

This reverts commit 8ccde8984913896d59a3c2b529768cfe74100afd.

For the reason, see T43720#2531092

Bug: T149510
Change-Id: Id1ace9599642a36b333c63eaeebab0537466e7bd

7 years agoMerge "installer: Update assets README to mention public-domain.png."
jenkins-bot [Wed, 17 Aug 2016 23:14:13 +0000 (23:14 +0000)]
Merge "installer: Update assets README to mention public-domain.png."

7 years agoMerge "Make doAtomicSection() return the callback result"
jenkins-bot [Wed, 17 Aug 2016 23:01:12 +0000 (23:01 +0000)]
Merge "Make doAtomicSection() return the callback result"

7 years agoinstaller: Update assets README to mention public-domain.png.
Timo Tijhof [Wed, 17 Aug 2016 22:56:17 +0000 (15:56 -0700)]
installer: Update assets README to mention public-domain.png.

Follows-up be0b28d4. This way it'll be found when searching for the file.

Change-Id: I57fafa0b3e6a63a61f7c67e3279ee875eae2a344

7 years agoMerge "ObjectFactoryTest: Add tests for 'factory' option"
jenkins-bot [Wed, 17 Aug 2016 22:55:34 +0000 (22:55 +0000)]
Merge "ObjectFactoryTest: Add tests for 'factory' option"

7 years agoMerge "phpunit: Add @covers to ObjectFactoryTest"
jenkins-bot [Wed, 17 Aug 2016 22:50:58 +0000 (22:50 +0000)]
Merge "phpunit: Add @covers to ObjectFactoryTest"

7 years agoMake doAtomicSection() return the callback result
Aaron Schulz [Wed, 17 Aug 2016 22:43:48 +0000 (15:43 -0700)]
Make doAtomicSection() return the callback result

This makes the method a bit more convenient

Change-Id: Ic140e200cddcdf8e1a09b65c94d2da3aed62756d

7 years agoMerge "Fix text extraction where we don't have proper file handler"
jenkins-bot [Wed, 17 Aug 2016 21:30:04 +0000 (21:30 +0000)]
Merge "Fix text extraction where we don't have proper file handler"

7 years agoMerge "Remove pointless override of doStashFile in UploadFromStash"
jenkins-bot [Wed, 17 Aug 2016 21:14:20 +0000 (21:14 +0000)]
Merge "Remove pointless override of doStashFile in UploadFromStash"

7 years agoMerge "resourceloader: Add structure unit test to confirm messages exist"
jenkins-bot [Wed, 17 Aug 2016 21:10:16 +0000 (21:10 +0000)]
Merge "resourceloader: Add structure unit test to confirm messages exist"

7 years agoMerge "Make transaction enforcement stricter"
jenkins-bot [Wed, 17 Aug 2016 21:06:33 +0000 (21:06 +0000)]
Merge "Make transaction enforcement stricter"

7 years agoRemove pointless override of doStashFile in UploadFromStash
Aaron Schulz [Wed, 17 Aug 2016 19:22:19 +0000 (12:22 -0700)]
Remove pointless override of doStashFile in UploadFromStash

Change-Id: If6bc31d7398c68320a6633b045c33279bf6f8dbd

7 years agoFix text extraction where we don't have proper file handler
Stanislav Malyshev [Wed, 17 Aug 2016 20:54:23 +0000 (13:54 -0700)]
Fix text extraction where we don't have proper file handler

Bug: T143251
Change-Id: I611f6a001bbcea971cc9126bd3f004622e88b47d

7 years agoresourceloader: Add structure unit test to confirm messages exist
Timo Tijhof [Tue, 15 Mar 2016 03:11:55 +0000 (03:11 +0000)]
resourceloader: Add structure unit test to confirm messages exist

Bug: T129976
Change-Id: I5333523efe3e7b9191e871d67d9eb650002c7784

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 17 Aug 2016 20:05:52 +0000 (22:05 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I2ab6b5289ad6ef9afec11b3306a76e09ab9b5371

7 years agoMerge "Run 'UploadStashFile' hook for chunked uploads too"
jenkins-bot [Wed, 17 Aug 2016 19:38:10 +0000 (19:38 +0000)]
Merge "Run 'UploadStashFile' hook for chunked uploads too"

7 years agoMerge "objectcache: Optimize changeTTL() for SqlBagOStuff"
jenkins-bot [Wed, 17 Aug 2016 19:28:24 +0000 (19:28 +0000)]
Merge "objectcache: Optimize changeTTL() for SqlBagOStuff"

7 years agoobjectcache: Optimize changeTTL() for SqlBagOStuff
Aaron Schulz [Mon, 15 Aug 2016 19:21:10 +0000 (12:21 -0700)]
objectcache: Optimize changeTTL() for SqlBagOStuff

Change-Id: I539dd83175a8ea922221f194e23ca47aea7539cf

7 years agoMerge "Log failure reasons in ApiLogin"
jenkins-bot [Wed, 17 Aug 2016 18:10:04 +0000 (18:10 +0000)]
Merge "Log failure reasons in ApiLogin"

7 years agoMerge "ApiBase::getModuleSourceInfo(): Use $wgExtensionDirectory"
jenkins-bot [Wed, 17 Aug 2016 17:35:16 +0000 (17:35 +0000)]
Merge "ApiBase::getModuleSourceInfo(): Use $wgExtensionDirectory"

7 years agoMerge "AuthManager: do not rewrite PRIMARY_REQUIRED to REQUIRED"
jenkins-bot [Wed, 17 Aug 2016 17:14:30 +0000 (17:14 +0000)]
Merge "AuthManager: do not rewrite PRIMARY_REQUIRED to REQUIRED"

7 years agoObjectFactoryTest: Add tests for 'factory' option
Timo Tijhof [Wed, 17 Aug 2016 16:26:38 +0000 (09:26 -0700)]
ObjectFactoryTest: Add tests for 'factory' option

Increase coverage of getObjectFromSpec():

* Case for 'factory' option.
* Case for 'class' option with no arguments.
* Case for missing 'factory' and 'class' options.

Change-Id: Idc9ee73de4f6e55372b4ab5b1afbaa4c7e54509a

7 years agophpunit: Add @covers to ObjectFactoryTest
Timo Tijhof [Wed, 17 Aug 2016 16:11:51 +0000 (09:11 -0700)]
phpunit: Add @covers to ObjectFactoryTest

* expandClosures() wasn't covered at all.
  Make the test dedicated to this feature cover that method.

* constructClassInstance() coverage was almost complete except for
  the exception case. This was covered in a separate test, but it
  was missing its @covers tag.

Change-Id: I73252849a92440fd7ae2c44f9ca58f7bf9c1f92c

7 years agoRun 'UploadStashFile' hook for chunked uploads too
Bartosz Dziewoński [Wed, 17 Aug 2016 13:31:22 +0000 (15:31 +0200)]
Run 'UploadStashFile' hook for chunked uploads too

In UploadFromChunks, doStashFile() only stashes the current chunk,
and stashing the whole file after all chunks are uploaded is done
in concatenateChunks().

Also more custom code on top of custom code to handle ApiMessage
errors, because action=upload is special.

Follow-up to 2ee27d9a4de163dc3a2b752823a04f5338005627.

Change-Id: I968280353f15bbca9b1059631fa2cfd7c3cd2f1d

7 years agoMerge "EditPage: Fix display of errors with multiple messages"
jenkins-bot [Wed, 17 Aug 2016 09:45:22 +0000 (09:45 +0000)]
Merge "EditPage: Fix display of errors with multiple messages"

7 years agoEditPage: Fix display of errors with multiple messages
Kunal Mehta [Wed, 17 Aug 2016 05:59:14 +0000 (22:59 -0700)]
EditPage: Fix display of errors with multiple messages

If a status object returns failure with multiple messages (like in
Content::prepareSave()), then previously the first list item would have
a raw asterisk in front of it instead of being a list item because the
<div> tag was on the same line. Adding a newline before the status
object's wikitext will ensure that the first item is interpreted as part
of the list.

Change-Id: If42b3e745f1bd57c6e7964c8e297dab2bf742d4c

7 years agoAuthManager: do not rewrite PRIMARY_REQUIRED to REQUIRED
Gergő Tisza [Thu, 4 Aug 2016 20:47:57 +0000 (20:47 +0000)]
AuthManager: do not rewrite PRIMARY_REQUIRED to REQUIRED

AuthManager::getAuthenticationRequests() changes
AuthenticationRequest::$required from REQUIRED to PRIMARY_REQUIRED
if the request is from a primary; it made an exception when
all primary providers returned a given request. That exception is
not particularly useful (AuthenticationRequest::mergeFieldInfo()
used to rely on it to determine which fields are required, but
since I9d33bd2 that's not really needed), and knowing which request
is from a primary is useful for other means.

This changes required field semantics in a corner case: when a
primary provider returns two required requests, the previous
behavior was to assume that they are both required; the new one
is to treat them as alternatives (as if they were returned by
two different providers). So when all primary providers return
request X, and one of them returns Y in addition, the fields of X
will not be marked required, while previously that would have been
the case.

Instead of overcomplicating the interface for something that is
unlikely to come up in any real use case, add a new requirement
to PrimaryAuthenticationProvider that it should not return
multiple required requests.

Bug: T141471
Change-Id: I1c1f44d4d6b66f77c876e3459fb97f03483db744

7 years agoMerge "MovePage: Fix old, old bug with moving over redirects"
jenkins-bot [Wed, 17 Aug 2016 05:22:06 +0000 (05:22 +0000)]
Merge "MovePage: Fix old, old bug with moving over redirects"

7 years agoMerge "Actually enable the DBPerformance log in the API"
jenkins-bot [Wed, 17 Aug 2016 04:29:27 +0000 (04:29 +0000)]
Merge "Actually enable the DBPerformance log in the API"

7 years agoLet cleanupCaps.php clean up when $wgCapitalLinks is set to true
Kunal Mehta [Sat, 6 Jun 2015 04:42:45 +0000 (21:42 -0700)]
Let cleanupCaps.php clean up when $wgCapitalLinks is set to true

This enables wikis to go from having $wgCapitalLinks = false to
$wgCapitalLinks = true (default).

Also:
* Declare $namespace member variable
* Fix regression introduced in ac53e45035e where non-dry run page move
was always considered a failure.
* Use MWNamespace::isCapitalized() instead of $wgCapitalLinks

Change-Id: I49caf8c1b49df1519d40b50d4aa26ea721db065d

7 years agoApiBase::getModuleSourceInfo(): Use $wgExtensionDirectory
Kunal Mehta [Sun, 13 Dec 2015 03:45:43 +0000 (19:45 -0800)]
ApiBase::getModuleSourceInfo(): Use $wgExtensionDirectory

This function takes the class file path, and iterates up through its
parent directories until it hits either a registered extension, or $IP
(for core) or $IP/extensions (for an unknown extension). This change
adds $wgExtensionDirectory as another iteration stopper, so that
unregistered extensions in $wgExtensionDirectory will not cause
iteration back up to the filesystem root, or to $IP if
$wgExtensionDirectory is a child of $IP other than $IP/extensions.

Change-Id: I06553591b0b6156e945aad5176479eb71517e77d

7 years agoDocument that wfParseUrl() can also return false
Kunal Mehta [Wed, 17 Aug 2016 03:48:02 +0000 (20:48 -0700)]
Document that wfParseUrl() can also return false

Change-Id: I6927ee13c35ecccc45c392b77d426380cc7a5c53

7 years agoMerge "installer: Remove "public domain" option in favor of CC-0"
jenkins-bot [Wed, 17 Aug 2016 03:42:57 +0000 (03:42 +0000)]
Merge "installer: Remove "public domain" option in favor of CC-0"

7 years agoinstaller: Remove "public domain" option in favor of CC-0
Kunal Mehta [Sun, 24 Jan 2016 18:47:53 +0000 (10:47 -0800)]
installer: Remove "public domain" option in favor of CC-0

Some people don't consider "public domain" to be a valid license
statement, so for new wikis it's better to avoid it entirely. CC-0 works
around all of those issues, so we should be encouraging that instead.

Also it's confusing to have two "public domain" options right next to
each other.

The asset needs to stay so existing wikis that picked "public domain"
don't break.

Bug: T122916
Change-Id: I3c380f79a4f27d4793b84602002f3db5c399ac32

7 years agoParserTest: Remove warning about gd extension not being installed
Kunal Mehta [Tue, 26 Jul 2016 09:39:56 +0000 (02:39 -0700)]
ParserTest: Remove warning about gd extension not being installed

The tests actually pass just fine if gd isn't installed.

Change-Id: Ia37255fd642a8f741f1e1a547702495b3a83b584

7 years agoStubObject: Allow using a factory function to construct the object
Kunal Mehta [Tue, 16 Aug 2016 20:44:28 +0000 (13:44 -0700)]
StubObject: Allow using a factory function to construct the object

If $class is a callable, then assume it is a factory function, and pass
that onto ObjectFactory.

Change-Id: I20c3650843c2803e0f9521d67bb037abfc28e1d9

7 years agoMake transaction enforcement stricter
Aaron Schulz [Sun, 14 Aug 2016 04:26:12 +0000 (21:26 -0700)]
Make transaction enforcement stricter

* Nested begin()/commit() will no-op when inside active
  DBO_TRX transactions, even if no writes happened yet.
  This avoids snapshot loss from REPEATABLE-READ or SSI
  SERIALABLE (postgres). An error will be logged.
* Also no-op when begin() happens, no transaction started,
  but DBO_TRX is set. That should not happen as it can make
  multi-DB commits less robust and can clear snapshots early.
  An error will be logged.
* Throw an error when explicit rollback() is used and DBO_TRX
  is set. This will cause peer DBs to rollback too via the
  logic in MWExceptionHander.
* Callers should use LBFactory methods for doing commit/rollback
  instead.

Change-Id: I31b8b1b112cf9110b805a023732bce4dcff0604c

7 years agoMerge "Do not call the 'UploadStashFile' hook for partially uploaded files"
jenkins-bot [Wed, 17 Aug 2016 00:44:14 +0000 (00:44 +0000)]
Merge "Do not call the 'UploadStashFile' hook for partially uploaded files"

7 years agoMerge "Browser tests: update to mw-selenium 1.7.2 and https"
jenkins-bot [Wed, 17 Aug 2016 00:19:58 +0000 (00:19 +0000)]
Merge "Browser tests: update to mw-selenium 1.7.2 and https"

7 years agoMerge "Hide marked empty elements by default (stage 2)"
jenkins-bot [Wed, 17 Aug 2016 00:09:24 +0000 (00:09 +0000)]
Merge "Hide marked empty elements by default (stage 2)"

7 years agoLog failure reasons in ApiLogin
Gergő Tisza [Tue, 16 Aug 2016 05:52:44 +0000 (05:52 +0000)]
Log failure reasons in ApiLogin

Bug: T142600
Change-Id: Id5af923ef10c31fc15e5d4da43ce220e1258b723

7 years agoDo not call the 'UploadStashFile' hook for partially uploaded files
Bartosz Dziewoński [Tue, 16 Aug 2016 23:34:52 +0000 (01:34 +0200)]
Do not call the 'UploadStashFile' hook for partially uploaded files

Consumers of this hook don't expect partial files, and even if they did,
they have no way to tell if they've been given a partial file.

Also document a pre-existing restriction that verifyUpload() must be
called first (for non-partial files). ApiUpload previously called this
function for partial files too, causing T143161.

Follow-up to 2ee27d9a4de163dc3a2b752823a04f5338005627.

Bug: T143161
Change-Id: I107cb957e046545ea72834d72233cc1ed2867e42

7 years agoMerge "SkinTemplate: Move bottomScripts() back sightly"
jenkins-bot [Tue, 16 Aug 2016 23:24:05 +0000 (23:24 +0000)]
Merge "SkinTemplate: Move bottomScripts() back sightly"

7 years agoMerge "OutputPage: Apply target and origin filter to exempt modules"
jenkins-bot [Tue, 16 Aug 2016 23:15:41 +0000 (23:15 +0000)]
Merge "OutputPage: Apply target and origin filter to exempt modules"

7 years agoOutputPage: Apply target and origin filter to exempt modules
Timo Tijhof [Tue, 16 Aug 2016 22:25:08 +0000 (15:25 -0700)]
OutputPage: Apply target and origin filter to exempt modules

Follows-up 80e5b160e, which moved filter logic to getRlClient()
so that ResourceLoaderClientHtml doesn't have to deal with this.

While that worked fine for most modules (including 'site'),
it no longer applied the filter for exempt/hardcoded modules
(such as 'site.styles' and 'startup').

Bug: T143066
Change-Id: Iec924003873bc47484a0dc2f1a215f87aa4afdfb

7 years agoMerge "Note that you shouldn't use a custom $salt for 'edit' or 'csrf'"
jenkins-bot [Tue, 16 Aug 2016 22:30:45 +0000 (22:30 +0000)]
Merge "Note that you shouldn't use a custom $salt for 'edit' or 'csrf'"

7 years agoMerge "Add convenience commitAndWaitForReplication() method"
jenkins-bot [Tue, 16 Aug 2016 22:24:50 +0000 (22:24 +0000)]
Merge "Add convenience commitAndWaitForReplication() method"

7 years agoMerge "Always set DBO_DEFAULT by default for LBFactory classes for consistency"
jenkins-bot [Tue, 16 Aug 2016 22:19:27 +0000 (22:19 +0000)]
Merge "Always set DBO_DEFAULT by default for LBFactory classes for consistency"

7 years agoNote that you shouldn't use a custom $salt for 'edit' or 'csrf'
Matthew Flaschen [Tue, 16 Aug 2016 22:11:35 +0000 (18:11 -0400)]
Note that you shouldn't use a custom $salt for 'edit' or 'csrf'

Change-Id: I795b3a17791a9e16382a7c6379b0e7a4a498d32e

7 years agoAdd convenience commitAndWaitForReplication() method
Aaron Schulz [Sat, 13 Aug 2016 02:56:21 +0000 (19:56 -0700)]
Add convenience commitAndWaitForReplication() method

This also does sanity checks to avoid breaking transactions

Change-Id: I7453c245eee25a26243e606970ef5f79b21a8141

7 years agoMerge "Database transaction flushing cleanups"
jenkins-bot [Tue, 16 Aug 2016 22:03:43 +0000 (22:03 +0000)]
Merge "Database transaction flushing cleanups"

7 years agoUpdate OOjs UI to v0.17.8
James D. Forrester [Tue, 16 Aug 2016 21:22:47 +0000 (14:22 -0700)]
Update OOjs UI to v0.17.8

Release notes:
 https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v0.17.8

Change-Id: I03793872885c70cabd1abd550b12d89e6e509e94

7 years agoSkinTemplate: Move bottomScripts() back sightly
Timo Tijhof [Tue, 16 Aug 2016 21:12:55 +0000 (16:12 -0500)]
SkinTemplate: Move bottomScripts() back sightly

Follows-up 80e5b160e95fc8a96db.

In 80e5b160e, the module queue formatting was changed and was now fixed at
the first call to headElement() or bottomScripts(), instead of being kept
dynamic in between. Doing so fixed various bugs but also broke a few cases
where things still add to the bottom queue after the headElement() is
already created (such as sidebar).

In 95fc8a96db, the bottomScripts() method was moved to the very bottom of
prepareQuickTemplate(). This was imho too far and not needed because any line
after 'headElement()' element is effectively the same since that will commit
the queue.

It also changed the order of hook execution, from:
- SkinAfterBottomScripts, SkinTemplateOutputPageBeforeExec, SkinAfterContent
to:
- SkinTemplateOutputPageBeforeExec, SkinAfterContent, SkinAfterBottomScripts

With the latter no longer being able to add things to the module queue since
it now runs after headElement() commits the queue.

Move it back up, to right above headElement(). This way the order is the
same as before 95fc8a96db (first bottomScripts, then headElement). But still
after all other properties, thus still keeping the regression from 80e5b160e
fixed.

Bug: T87871
Change-Id: I8f774880e60e31c0e996b20acdc5ce5e42a84b01

7 years agoActually enable the DBPerformance log in the API
Aaron Schulz [Tue, 16 Aug 2016 20:53:57 +0000 (13:53 -0700)]
Actually enable the DBPerformance log in the API

The logger injection call was missing

Change-Id: Ieffc81b1b8437e9765a3a208de7aa430b62806eb

7 years agoDatabase transaction flushing cleanups
Aaron Schulz [Sat, 13 Aug 2016 01:56:41 +0000 (18:56 -0700)]
Database transaction flushing cleanups

* Do not commit() inside masterPosWait(). This could happen
  inside JobRunner::commitMasterChanges, resulting in
  one DB committing while the others may or may not later commit.
* Migrate some commit() callers to commitMasterChanges().
* Removed unsafe upload class commit() which could break
  outer transactions.
* Also cleaned up the "flush" flag to make it harder to misuse.

Change-Id: I75193baaed979100c5338abe0c0899abba3444cb

7 years agoSqlite: DBError expects a database object as its first parameter
Chad Horohoe [Tue, 16 Aug 2016 20:30:04 +0000 (13:30 -0700)]
Sqlite: DBError expects a database object as its first parameter

That constructor is dumb. It's also dumb to need a DB object
considering the only subclass using it is DBConnectionError
to getServerName()

Change-Id: I8e09989fd6635ccdffdba1102f55a9d3b7ba2f6e

7 years agoMerge "Replace blunt uses of resetExpectations() with setSilenced() for TransactionPr...
jenkins-bot [Tue, 16 Aug 2016 20:28:54 +0000 (20:28 +0000)]
Merge "Replace blunt uses of resetExpectations() with setSilenced() for TransactionProfiler"

7 years agoMerge "Localisation updates from https://translatewiki.net."
L10n-bot [Tue, 16 Aug 2016 20:14:25 +0000 (20:14 +0000)]
Merge "Localisation updates from https://translatewiki.net."

7 years agoMerge "Don't use SearchEngineConfig::searchableNamespaces in User::getDefaultOptions."
jenkins-bot [Tue, 16 Aug 2016 20:10:36 +0000 (20:10 +0000)]
Merge "Don't use SearchEngineConfig::searchableNamespaces in User::getDefaultOptions."

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 16 Aug 2016 20:04:27 +0000 (22:04 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I0c460c30205eabb7ce58660dbad57cd1c40e27e7

7 years agoMerge "Add a script to build an HHVM RepoAuthoritative bytecode file"
jenkins-bot [Tue, 16 Aug 2016 18:04:04 +0000 (18:04 +0000)]
Merge "Add a script to build an HHVM RepoAuthoritative bytecode file"

7 years agoMerge "watch.js: Preload module 'mediawiki.notification' after exit paths"
jenkins-bot [Tue, 16 Aug 2016 17:54:05 +0000 (17:54 +0000)]
Merge "watch.js: Preload module 'mediawiki.notification' after exit paths"

7 years agoMerge "Call parent::getFieldsForSearchIndex in ContentHandlers"
jenkins-bot [Tue, 16 Aug 2016 17:36:20 +0000 (17:36 +0000)]
Merge "Call parent::getFieldsForSearchIndex in ContentHandlers"

7 years agoMerge "TextContent: Normalize newlines in preSaveTransform()"
jenkins-bot [Tue, 16 Aug 2016 15:34:16 +0000 (15:34 +0000)]
Merge "TextContent: Normalize newlines in preSaveTransform()"

7 years agoMerge "GallerySlideshow: getImageInfo: Reject promise if there is no thumbnail"
jenkins-bot [Tue, 16 Aug 2016 15:28:02 +0000 (15:28 +0000)]
Merge "GallerySlideshow: getImageInfo: Reject promise if there is no thumbnail"

7 years agoTextContent: Normalize newlines in preSaveTransform()
Brad Jorsch [Mon, 15 Aug 2016 15:26:44 +0000 (11:26 -0400)]
TextContent: Normalize newlines in preSaveTransform()

This does the same normalization of newlines that
Parser::preSaveTransform() does. This should be appropriate for any text
content type, especially considering that EditPage uses
WebRequest::getText() which does a less-strict version of this same
transformation.

This also cleans up the code for doing that newline replacement
to be a bit less verbose.

Bug: T142805
Change-Id: I462afcda502f031a8b0360d982ce2398a0383a96

7 years agoMove thumbnail rendering to a more appropriate spot
Gilles Dubuc [Tue, 16 Aug 2016 11:44:08 +0000 (13:44 +0200)]
Move thumbnail rendering to a more appropriate spot

At the moment the job might start before the transaction
that creates the file's row in the DB has had a chance
to run.

Bug: T106740
Change-Id: If5b94e83d8bbcc6aebfe7193f7b580f03cbd627d

7 years agoMerge "Make autoCreateUser() transaction profiler suppression limited in scope"
jenkins-bot [Tue, 16 Aug 2016 08:51:07 +0000 (08:51 +0000)]
Merge "Make autoCreateUser() transaction profiler suppression limited in scope"

7 years agoMerge "Fix DBLockManager comments"
jenkins-bot [Tue, 16 Aug 2016 08:40:40 +0000 (08:40 +0000)]
Merge "Fix DBLockManager comments"

7 years agoMerge "Defer maybeUpgradeRow() post-send since they can trigger on non-POST"
jenkins-bot [Tue, 16 Aug 2016 08:32:46 +0000 (08:32 +0000)]
Merge "Defer maybeUpgradeRow() post-send since they can trigger on non-POST"

7 years agowatch.js: Preload module 'mediawiki.notification' after exit paths
Fomafix [Tue, 16 Aug 2016 07:07:29 +0000 (07:07 +0000)]
watch.js: Preload module 'mediawiki.notification' after exit paths

mw.notify is not called on the exit paths. A preload is not necessary.

Change-Id: I2b14a269afd78649eda86a40b33e22412e645e31

7 years agoGallerySlideshow: getImageInfo: Reject promise if there is no thumbnail
Prateek Saxena [Tue, 16 Aug 2016 05:26:17 +0000 (10:56 +0530)]
GallerySlideshow: getImageInfo: Reject promise if there is no thumbnail

Bug: T142799
Change-Id: Iacca208fa39afd1e330db1d1fa9f3bfbc6b76b81

7 years agoAdd a script to build an HHVM RepoAuthoritative bytecode file
Tim Starling [Mon, 15 Aug 2016 05:40:52 +0000 (15:40 +1000)]
Add a script to build an HHVM RepoAuthoritative bytecode file

This script compiles a list of known MW sources, including core and
extensions, and generates a RepoAuthoritative bytecode file. Some ideas
were taken from Bryan Davis's scap-hhvm-compile shell script.

Also, renamed the old maintenance/hiphop directory to maintenance/hhvm,
respecting the rename of the upstream project.

Change-Id: I55798729d0553d2840e8099e81d604a814e8664c

7 years agoMerge "Make various MWCallableUpdate usages rollback-safe"
jenkins-bot [Tue, 16 Aug 2016 01:01:53 +0000 (01:01 +0000)]
Merge "Make various MWCallableUpdate usages rollback-safe"

7 years agoMerge "Use waitForAll() for slow JobRunner commits"
jenkins-bot [Tue, 16 Aug 2016 00:58:20 +0000 (00:58 +0000)]
Merge "Use waitForAll() for slow JobRunner commits"

7 years agoMerge "Remove all assert() calls with string parameters"
jenkins-bot [Mon, 15 Aug 2016 23:38:56 +0000 (23:38 +0000)]
Merge "Remove all assert() calls with string parameters"

7 years agoCall parent::getFieldsForSearchIndex in ContentHandlers
aude [Mon, 15 Aug 2016 16:37:00 +0000 (12:37 -0400)]
Call parent::getFieldsForSearchIndex in ContentHandlers

ContentHandler implementations were not including fields
defined by their parent ContentHandler classes.

merge method is added to the SearchIndexFieldDefinition
mock in SearchEngineTest, to allow merges of fields
in the way that SearchIndexFieldDefition implementation does.

Change-Id: Id04a51528f566da2666bad0394a2f61c949c69b4

7 years agoRemove all assert() calls with string parameters
Tim Starling [Mon, 15 Aug 2016 06:02:53 +0000 (16:02 +1000)]
Remove all assert() calls with string parameters

These fail when HHVM is in RepoAuthoritative mode

Change-Id: Ifb1628f8269b2b651154b740b95cc14163a1b186

7 years agoUpgrade PhpParser to 2.1 and update findDeprecated.php
Tim Starling [Mon, 15 Aug 2016 06:00:27 +0000 (16:00 +1000)]
Upgrade PhpParser to 2.1 and update findDeprecated.php

The old PhpParser had dynamic class_alias() calls in its autoloader
which caused HHVM RepoAuthoritative compilation to fail with a fatal
error. These b/c aliases were removed in 2.0.

Change-Id: I6e2e3412204249a50a5806c33f48f426ab8c4511

7 years agoMerge "This changes grammar, spelling and flow of the README"
jenkins-bot [Mon, 15 Aug 2016 22:59:12 +0000 (22:59 +0000)]
Merge "This changes grammar, spelling and flow of the README"

7 years agoFix DBLockManager comments
Aaron Schulz [Mon, 15 Aug 2016 21:29:04 +0000 (14:29 -0700)]
Fix DBLockManager comments

Change-Id: I5431caf4b80995c71d4bc5ab739954d70081111a

7 years agoMerge "MWUI: Vertically align the icon pseudo elements"
jenkins-bot [Mon, 15 Aug 2016 21:11:26 +0000 (21:11 +0000)]
Merge "MWUI: Vertically align the icon pseudo elements"

7 years agoMake autoCreateUser() transaction profiler suppression limited in scope
Aaron Schulz [Mon, 15 Aug 2016 14:14:57 +0000 (07:14 -0700)]
Make autoCreateUser() transaction profiler suppression limited in scope

Change-Id: If7b2330aa8cdf49ae25e5c0af5cb3ffc3f40b257

7 years agoMerge "Clone WikiPage before delete and pass the cloned copy to ArticleDeleteComplete"
jenkins-bot [Mon, 15 Aug 2016 21:00:59 +0000 (21:00 +0000)]
Merge "Clone WikiPage before delete and pass the cloned copy to ArticleDeleteComplete"

7 years agoMerge "Fix display of action table cells on Special:Tags"
jenkins-bot [Mon, 15 Aug 2016 20:46:54 +0000 (20:46 +0000)]
Merge "Fix display of action table cells on Special:Tags"

7 years agoClone WikiPage before delete and pass the cloned copy to ArticleDeleteComplete
Andrew Otto [Thu, 14 Jul 2016 16:45:11 +0000 (12:45 -0400)]
Clone WikiPage before delete and pass the cloned copy to ArticleDeleteComplete

This allows the hook to examine the state of the WikiPage instance before
the data is actually deleted from the page table.

E.g. The hook can now do $wikiPage->isRedirect(); and get correct information.

Bug: T134502
Change-Id: I715046dc8157047aff4d5bd03ea6b5a47aee58bb

7 years agoMerge "Add grant for access to private information"
jenkins-bot [Mon, 15 Aug 2016 20:25:56 +0000 (20:25 +0000)]
Merge "Add grant for access to private information"

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 15 Aug 2016 20:05:04 +0000 (22:05 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I52e0ec9021f8fcc0e7304ec42c88a9b59e60e5dc

7 years agoBrowser tests: update to mw-selenium 1.7.2 and https
jdlrobson [Mon, 15 Aug 2016 19:43:01 +0000 (13:43 -0600)]
Browser tests: update to mw-selenium 1.7.2 and https

Bug: T129483
Change-Id: I4526fb9033c0ea0b23249bea507d9cf8f7345afc

7 years agoMWUI: Vertically align the icon pseudo elements
Baha [Mon, 8 Aug 2016 22:03:06 +0000 (18:03 -0400)]
MWUI: Vertically align the icon pseudo elements

The icon element's image was not always in the vertical center depending
on the line height of the icon.

Bug: T142391
Change-Id: I4d73c27286a623cb82e2f8801c919ae6f8007e59

7 years agoReplace blunt uses of resetExpectations() with setSilenced() for TransactionProfiler
Aaron Schulz [Mon, 15 Aug 2016 14:21:36 +0000 (07:21 -0700)]
Replace blunt uses of resetExpectations() with setSilenced() for TransactionProfiler

Change-Id: Ica42f56f61cd720a16754e93dc9c4792d66c7a0f

7 years agoHTMLFormFieldCloner: Pass enpty array, not null, to avoid warning
Brad Jorsch [Mon, 15 Aug 2016 14:13:54 +0000 (10:13 -0400)]
HTMLFormFieldCloner: Pass enpty array, not null, to avoid warning

Bug: T142912
Change-Id: I18edfcb62f7b21f2c1990c73944ee6a956fd4901

7 years agoAlways set DBO_DEFAULT by default for LBFactory classes for consistency
Aaron Schulz [Mon, 15 Aug 2016 12:14:04 +0000 (05:14 -0700)]
Always set DBO_DEFAULT by default for LBFactory classes for consistency

Before, only the non $wgDBservers case did this in LBFactorySimple

Change-Id: If1a962663d5e23b2087873f86efe40a1166f96a7

7 years agoMerge "Set Czech (cs) and Slovak (sk) as reciprocal fallbacks"
jenkins-bot [Mon, 15 Aug 2016 10:40:43 +0000 (10:40 +0000)]
Merge "Set Czech (cs) and Slovak (sk) as reciprocal fallbacks"

7 years agoSet Czech (cs) and Slovak (sk) as reciprocal fallbacks
Federico Leva [Mon, 15 Aug 2016 10:08:51 +0000 (12:08 +0200)]
Set Czech (cs) and Slovak (sk) as reciprocal fallbacks

The two languages are mutually intelligible at a very high degree and
most speakers can be considered bilinguals or passive bilinguals.

Consulted resources:
* Eurostat special eurobarometer 386 (2012).
  http://ec.europa.eu/public_opinion/archives/ebs/ebs_386_en.pdf
* Mira Nábělková
** http://doai.io/10.1515/IJSL.2007.004: «These differences do not prevent the users of Slovak and
   Czech from understanding discourse in the other language [...]. While contact with Czech texts
   in the Slovak environment is obvious, it does not appear to be so in the opposite case.»
** High degree of passive bilingualism even in recent generations who don't feel it much.
   https://repozytorium.amu.edu.pl/bitstream/10593/9168/1/02_Viera_K0VA%C4%860VA_Czech_Slovak_intercultural_265_280.pdf
* Discussions with several translators.
** https://translatewiki.net/wiki/Thread:Portal_talk:Cs/Fallback_to_sk
** https://translatewiki.net/wiki/Thread:Portal_talk:Sk/Fallback_to_cs

Change-Id: Id85b281a3ef2f2ae00ee0aba827e94e4f5a1f924

7 years agoMerge "objectcache: expand getWithSetCallback() docs a bit"
jenkins-bot [Mon, 15 Aug 2016 10:14:29 +0000 (10:14 +0000)]
Merge "objectcache: expand getWithSetCallback() docs a bit"

7 years agoobjectcache: expand getWithSetCallback() docs a bit
Aaron Schulz [Mon, 15 Aug 2016 06:00:10 +0000 (23:00 -0700)]
objectcache: expand getWithSetCallback() docs a bit

Change-Id: Ifc8304848fd5e4b8f7ea5555271de09609cdbe10

7 years agoMake various MWCallableUpdate usages rollback-safe
Aaron Schulz [Sat, 13 Aug 2016 19:28:53 +0000 (12:28 -0700)]
Make various MWCallableUpdate usages rollback-safe

Support for this added to MWCallableUpdate and its helper method
in DeferredUpdates.

Bug: T141988
Change-Id: Ief150ea655036e2708557dd8ae847379edf21933

7 years agoMerge "Move bottomScripts() call in SkinTemplate"
jenkins-bot [Mon, 15 Aug 2016 07:39:17 +0000 (07:39 +0000)]
Merge "Move bottomScripts() call in SkinTemplate"

7 years agoMove bottomScripts() call in SkinTemplate
Gilles Dubuc [Mon, 15 Aug 2016 07:15:45 +0000 (09:15 +0200)]
Move bottomScripts() call in SkinTemplate

SkinTemplateNavigation::SpecialPage in buildContentNavigationUrls() and
possibly other hooks are susceptible to adding bottom scripts to
the skin's OutputPage.

It's safer to add the bottom scripts to the template
as late as we can, as doing so will instantiate the rlClient and
populate it with the scripts collected at that point.

Bug: T87871
Change-Id: I000365a7542167d8531d6984d3a1ef6c362034ab