lhc/web/wiklou.git
7 years agoMove NewPP limit report HTML comments to JS variables
Aaron Schulz [Mon, 18 Jul 2016 19:52:10 +0000 (12:52 -0700)]
Move NewPP limit report HTML comments to JS variables

* Instead of having messy code to create a hidden HTML
  comment of English strings at the bottom of the page,
  expose the structured data of the parse information
  to JS so tools can use it.
* Make makeConfigSetScript() use pretty output so these
  variables are also easy to read in "view source".
* Remove ParserLimitReportFormat hook, since the data
  is not formatted to HTML anymore.

Bug: T110763
Change-Id: I2783c46c6d80f828f9ecf5e71fc8f35910454582

7 years agoMerge "Don't magically make MediaWiki\Widget classes infusable"
jenkins-bot [Tue, 26 Jul 2016 15:22:12 +0000 (15:22 +0000)]
Merge "Don't magically make MediaWiki\Widget classes infusable"

7 years agoMark Linker::link() as @deprecated
Kunal Mehta [Tue, 12 Jul 2016 22:26:53 +0000 (15:26 -0700)]
Mark Linker::link() as @deprecated

...and add a link to the on-wiki LinkRenderer documentation to the
class. Actual wfDeprecated and replacements in all the uses to come in
follow-up patches.

Change-Id: I2fefb6c38153028d2cc68c13bc62434d3df69cd2

7 years agoMerge "Apply $wgMaxArticleSize more exactly"
jenkins-bot [Tue, 26 Jul 2016 12:34:18 +0000 (12:34 +0000)]
Merge "Apply $wgMaxArticleSize more exactly"

7 years agoMerge "API: Use rev_user when possible for list=usercontribs"
jenkins-bot [Tue, 26 Jul 2016 12:33:54 +0000 (12:33 +0000)]
Merge "API: Use rev_user when possible for list=usercontribs"

7 years agoMerge "Make importTextFiles.php work with wildcards on the Windows shell"
jenkins-bot [Tue, 26 Jul 2016 12:30:21 +0000 (12:30 +0000)]
Merge "Make importTextFiles.php work with wildcards on the Windows shell"

7 years agoMerge "WebRequest::getText(): Update more of the doc comment"
jenkins-bot [Tue, 26 Jul 2016 12:26:39 +0000 (12:26 +0000)]
Merge "WebRequest::getText(): Update more of the doc comment"

7 years agoMerge "mediawiki.htmlform: Remove deprecated $.fn.liveAndTestAtStart"
jenkins-bot [Tue, 26 Jul 2016 12:23:43 +0000 (12:23 +0000)]
Merge "mediawiki.htmlform: Remove deprecated $.fn.liveAndTestAtStart"

7 years agoMerge "syncFileBackend.php: ellapsed => elapsed"
jenkins-bot [Tue, 26 Jul 2016 12:20:25 +0000 (12:20 +0000)]
Merge "syncFileBackend.php: ellapsed => elapsed"

7 years agoMerge "SectionProfiler: Remove $profileOutCallback"
jenkins-bot [Tue, 26 Jul 2016 12:16:09 +0000 (12:16 +0000)]
Merge "SectionProfiler: Remove $profileOutCallback"

7 years agoMerge "Remove modulemessages from ApiParse and Output (deprecated in 1.26)"
jenkins-bot [Tue, 26 Jul 2016 12:15:22 +0000 (12:15 +0000)]
Merge "Remove modulemessages from ApiParse and Output (deprecated in 1.26)"

7 years agoMerge "Add MWTidy::factory()"
jenkins-bot [Tue, 26 Jul 2016 12:10:37 +0000 (12:10 +0000)]
Merge "Add MWTidy::factory()"

7 years agoDon't magically make MediaWiki\Widget classes infusable
Bartosz Dziewoński [Tue, 26 Jul 2016 11:56:47 +0000 (13:56 +0200)]
Don't magically make MediaWiki\Widget classes infusable

For consistency with how normal OOjs UI widgets behave.
Only one usage outside of HTMLForm needed updating. There
are no usages in extensions in Gerrit.

Change-Id: I9b5de86307a13ca7355b7541e8683e4d6a10431f

7 years agoRemove unused deprecated WatchedItem methods
addshore [Thu, 14 Jul 2016 12:48:10 +0000 (13:48 +0100)]
Remove unused deprecated WatchedItem methods

Not used in core or in any extensions on Gerrit

Change-Id: I10f0e98f52189f60480f5adb824a5cca9820d5f5

7 years agoRenamed MWCallableUpdate class file to match the class
Aaron Schulz [Tue, 26 Jul 2016 10:42:57 +0000 (03:42 -0700)]
Renamed MWCallableUpdate class file to match the class

Change-Id: Ia595cee94a696b83b00fe9f2a91b49bce51c08dd

7 years agoAdd MWTidy::factory()
Tim Starling [Tue, 26 Jul 2016 05:10:42 +0000 (15:10 +1000)]
Add MWTidy::factory()

A convenient factory function to eliminate code duplication in
ParserMigration's MigrationEditPage::tidyParserOutput().

Change-Id: I058912885025e7a9402912236c65c44e32ef036e

7 years agoMerge "Convert onTransactionIdle() callers to DeferredUpdate subclasses"
jenkins-bot [Tue, 26 Jul 2016 00:52:16 +0000 (00:52 +0000)]
Merge "Convert onTransactionIdle() callers to DeferredUpdate subclasses"

7 years agoMediaHandler: Fix @return for getHandler()
Kunal Mehta [Tue, 26 Jul 2016 00:27:24 +0000 (17:27 -0700)]
MediaHandler: Fix @return for getHandler()

Change-Id: I9373501e0055d0cddcb6c5bf72f5496ed22133c3

7 years agoConvert onTransactionIdle() callers to DeferredUpdate subclasses
Aaron Schulz [Thu, 21 Jul 2016 19:43:26 +0000 (12:43 -0700)]
Convert onTransactionIdle() callers to DeferredUpdate subclasses

* This puts the complex logic here after the commit step for
  all DBs, making the main multi-DB transaction more likely
  to be atomic. Previously, the idle callbacks could be hit
  bewteen DB commits.
* Enforce transactionality via AtomicSectionUpdate.
* Use $this instead of $that hacks for old PHP versions.

Change-Id: Idf7d54fdac6487f86907099680f5c1c4f5530b4e

7 years agoMerge "Update justinrainbow/json-schema in require-dev to ~1.6"
jenkins-bot [Mon, 25 Jul 2016 23:42:05 +0000 (23:42 +0000)]
Merge "Update justinrainbow/json-schema in require-dev to ~1.6"

7 years agoRemove modulemessages from ApiParse and Output (deprecated in 1.26)
Timo Tijhof [Mon, 25 Jul 2016 20:51:57 +0000 (21:51 +0100)]
Remove modulemessages from ApiParse and Output (deprecated in 1.26)

No uses of 'modulemessages', getModuleMessages() or addModuleMessages()
anywhere in Wikimedia Git.

Change-Id: I59420880f3545d1aabf9bcbea1e34b1475697d26

7 years agoMerge "Avoid use of DB rollback() in LocalFileMoveBatch"
jenkins-bot [Mon, 25 Jul 2016 22:59:17 +0000 (22:59 +0000)]
Merge "Avoid use of DB rollback() in LocalFileMoveBatch"

7 years agoregistration: Fix "config" schema validation
Kunal Mehta [Mon, 25 Jul 2016 22:36:12 +0000 (15:36 -0700)]
registration: Fix "config" schema validation

The "properties" field is only interpreted if the value is an object,
which was not being required. Add that missing type in, so
manifest_version 1 type config entries should fail.

Bug: T141289
Change-Id: Iffb084eb7a81a398a74370a1f9561198a88f5779

7 years agoAvoid use of DB rollback() in LocalFileMoveBatch
Aaron Schulz [Thu, 21 Jul 2016 06:17:25 +0000 (23:17 -0700)]
Avoid use of DB rollback() in LocalFileMoveBatch

* Verify the DB updates and bail before doing anything instead
  of relying on rollback() if something does not match up.
* Do the file copying before updating the DB so that there is
  nothing to rollback if they fail.
* Improved failCount in case the current version is missing.
  It should also reflect all the missing old versions.

Change-Id: Ie2d316548d8e5584cc69bb9f1425db108b05be5c

7 years agoCount edit conflicts for each namespace separately
addshore [Thu, 14 Jul 2016 15:23:14 +0000 (16:23 +0100)]
Count edit conflicts for each namespace separately

Bug: T140368
Change-Id: I5591f53063db32b2c74a2f74751d4af0ef5424d7

7 years agoAdd addition of 'maxarticlesize' in ApiQuerySiteinfo to RELEASE-NOTES
Florian [Sun, 3 Jul 2016 12:05:42 +0000 (14:05 +0200)]
Add addition of 'maxarticlesize' in ApiQuerySiteinfo to RELEASE-NOTES

Follows-up I25a4c1b9013f98e5b0a263a637c8b006dccfd5ad.

Change-Id: If3ffa6635e18e53a642ebaa0b93c4c265612299f

7 years agoMerge "Make onTransactionPreCommitOrIdle() atomic when immediate"
jenkins-bot [Mon, 25 Jul 2016 20:31:00 +0000 (20:31 +0000)]
Merge "Make onTransactionPreCommitOrIdle() atomic when immediate"

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 25 Jul 2016 19:58:15 +0000 (21:58 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Iea286077578232c907a4bddf4516c3fe9994397f

7 years agoMerge "objectcache: Disable RedisBagOStuff constructor in unit test"
jenkins-bot [Mon, 25 Jul 2016 19:42:18 +0000 (19:42 +0000)]
Merge "objectcache: Disable RedisBagOStuff constructor in unit test"

7 years agoMake onTransactionPreCommitOrIdle() atomic when immediate
Aaron Schulz [Sun, 24 Jul 2016 18:22:59 +0000 (11:22 -0700)]
Make onTransactionPreCommitOrIdle() atomic when immediate

One of the main uses of this method is to tack on some DB
updates to the end of atomic transactions to reduce lock
contention problems. In this case, multiple updates in the
callback are atomic. However, if no transaction is active,
then such updates were previously not atomic. Wrap them in
transactions now.

Change-Id: I18c56e65063a61000c4dfd1979bf972800b173ac

7 years agoMerge "objectcache: Add callable doc comments for WANObjectCache"
jenkins-bot [Mon, 25 Jul 2016 18:47:44 +0000 (18:47 +0000)]
Merge "objectcache: Add callable doc comments for WANObjectCache"

7 years agoobjectcache: Add callable doc comments for WANObjectCache
Aaron Schulz [Mon, 25 Jul 2016 05:33:06 +0000 (22:33 -0700)]
objectcache: Add callable doc comments for WANObjectCache

Change-Id: I28a705ae12e065dc8a3921e33c873f9a7fbb7490

7 years agoMW_DIFF_VERSION is globally defined, drop MW_ prefix when used as
Reedy [Mon, 25 Jul 2016 16:36:35 +0000 (17:36 +0100)]
MW_DIFF_VERSION is globally defined, drop MW_ prefix when used as
the class constant

Bug: T141272
Change-Id: I0a9e9037b2259515df6366184cc781ecb78f424c

7 years agoobjectcache: Disable RedisBagOStuff constructor in unit test
Timo Tijhof [Mon, 25 Jul 2016 15:53:03 +0000 (16:53 +0100)]
objectcache: Disable RedisBagOStuff constructor in unit test

Follows-up c4e698dc2. The tests are failing on Travis CI because
php5-redis isn't installed by default. These tests shouldn't need
that to be installed (and even then, we should skip gracefully as
it is an optional dependency).

> RedisBagOStuffTest::testUnserialize with data set #0
> Exception: RedisConnectionPool requires a Redis client library.
> ./mediawiki/includes/clientpool/RedisConnectionPool.php:86

Fixed by using a mock and disabling the original constructor.

Change-Id: Icced7c30a75516c2118489ad29eac2aa5cff80ad

7 years agosyncFileBackend.php: ellapsed => elapsed
Kevin Israel [Mon, 25 Jul 2016 02:55:20 +0000 (22:55 -0400)]
syncFileBackend.php: ellapsed => elapsed

As in c099155a17d26f03 for copyFileBackend.php.

Change-Id: Ifbc0673ee092f782de654eeca636d3b1ec061ae7

7 years agoMerge "Revert "mediawiki.special.userlogin.signup: Remove unnecessary field hiding...
jenkins-bot [Mon, 25 Jul 2016 14:25:19 +0000 (14:25 +0000)]
Merge "Revert "mediawiki.special.userlogin.signup: Remove unnecessary field hiding code""

7 years agoRevert "mediawiki.special.userlogin.signup: Remove unnecessary field hiding code"
Bartosz Dziewoński [Mon, 25 Jul 2016 13:55:20 +0000 (13:55 +0000)]
Revert "mediawiki.special.userlogin.signup: Remove unnecessary field hiding code"

Whoops, we actually still have the option to bring back the old
custom HTML login forms ($wgDisableAuthManager). Too early.

This reverts commit 23e5bcb767c57d3a3f90b9fc597b87c8706a4027.

Change-Id: Ifb3ab1bf27ba2190177b65f5442dde74d20140e9

7 years agoSectionProfiler: Remove $profileOutCallback
Kevin Israel [Mon, 25 Jul 2016 03:02:49 +0000 (23:02 -0400)]
SectionProfiler: Remove $profileOutCallback

Unused since 626aede99bf83733.

Change-Id: I12c0d7900cd81d8b33b1a5a8dbe866ddd9664083

7 years agoMerge "mediawiki.special.userlogin.signup: Remove unnecessary field hiding code"
jenkins-bot [Mon, 25 Jul 2016 11:17:43 +0000 (11:17 +0000)]
Merge "mediawiki.special.userlogin.signup: Remove unnecessary field hiding code"

7 years agomediawiki.htmlform: Remove deprecated $.fn.liveAndTestAtStart
Bartosz Dziewoński [Mon, 25 Jul 2016 11:07:57 +0000 (13:07 +0200)]
mediawiki.htmlform: Remove deprecated $.fn.liveAndTestAtStart

I don't think anybody ever used it anywhere outside of this file.

Change-Id: I19ad0e81c0cb262a03fa10d45eaa951cdcc9848a

7 years agomediawiki.special.userlogin.signup: Remove unnecessary field hiding code
Bartosz Dziewoński [Mon, 25 Jul 2016 10:59:28 +0000 (12:59 +0200)]
mediawiki.special.userlogin.signup: Remove unnecessary field hiding code

We now use HTMLForm, which implements a generic method to do this
using 'hide-if' parameters. We already use it for the signup form too.
This is just dead code.

Change-Id: I35cfc31aae714f3be8aa0d044de1119c279e3d34

7 years agoMerge "Allow providing 'notices' for OOUI HTMLForm fields"
jenkins-bot [Mon, 25 Jul 2016 10:58:45 +0000 (10:58 +0000)]
Merge "Allow providing 'notices' for OOUI HTMLForm fields"

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 24 Jul 2016 19:53:44 +0000 (21:53 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ie72f1651a43be65682e451a1ee1c44fc14f31f67

7 years agoMinor transaction callback cleanups
Aaron Schulz [Fri, 22 Jul 2016 23:56:10 +0000 (16:56 -0700)]
Minor transaction callback cleanups

* Give the flush commit() in close() a chance to handle callbacks.
  Also detect onTransactionResolution() callbacks when an error is
  thrown.
* Avoid resetting callbacks redundantly, as they already get
  cleared when they actually run.
* Fix a few doc comments.

Change-Id: I5c62262661b97a6c28ce0ab0949307dc119953ca

7 years agoUpdate justinrainbow/json-schema in require-dev to ~1.6
Reedy [Sun, 24 Jul 2016 15:46:59 +0000 (16:46 +0100)]
Update justinrainbow/json-schema in require-dev to ~1.6

This matches the version that Kartographer is tracking, and hence
the committed vendor repo

Change-Id: I92bc1d03e62482bf9de4903ac14f79a4340ed1f2

7 years agoregistration: Support config setings that are relative paths
Kunal Mehta [Fri, 22 Jul 2016 22:08:21 +0000 (15:08 -0700)]
registration: Support config setings that are relative paths

Add support for configuration settings that are relative paths to the
extension directory. The most common use-case for this is where the
extension ships a generic default file, but sysadmins or packagers may
want to override it. Setting `"path": true` on the config definition
will make the value be interpreted as a relative path.

And add tests!

Bug: T100956
Change-Id: Ia87ced25b35be7a314ee2937e0ccc63f9acc5bb5

7 years agoMerge "Session: Improvements to encryption functionality"
jenkins-bot [Sun, 24 Jul 2016 13:56:29 +0000 (13:56 +0000)]
Merge "Session: Improvements to encryption functionality"

7 years agoregistration: Fix merge_strategy in manifest_version 2
Kunal Mehta [Fri, 22 Jul 2016 21:59:07 +0000 (14:59 -0700)]
registration: Fix merge_strategy in manifest_version 2

merge_strategy is set in $data, which is the definition of the config
setting, not the default value of it ($value).

Change-Id: I12ee95892b2c157bb0beb97cf2cd5ef920b7d52e

7 years agoregistration: Update conversion script for manifest_version 2
Kunal Mehta [Fri, 22 Jul 2016 21:57:28 +0000 (14:57 -0700)]
registration: Update conversion script for manifest_version 2

Config settings are now an object, with the value set as the 'value'
key.

Change-Id: Iba3999fdfc8994d50331825c9a416334db602e46

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 23 Jul 2016 19:55:14 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I7912884168f4cae479c1e6f674961feedbb261e6

7 years agoMerge "Use current content model for blank page content (not title default)"
jenkins-bot [Sat, 23 Jul 2016 00:57:15 +0000 (00:57 +0000)]
Merge "Use current content model for blank page content (not title default)"

7 years agoMerge "filebackend: Fix DBLockManager IDEA warnings"
jenkins-bot [Fri, 22 Jul 2016 23:44:02 +0000 (23:44 +0000)]
Merge "filebackend: Fix DBLockManager IDEA warnings"

7 years agofilebackend: Fix DBLockManager IDEA warnings
Aaron Schulz [Fri, 22 Jul 2016 22:38:05 +0000 (15:38 -0700)]
filebackend: Fix DBLockManager IDEA warnings

Change-Id: I5e671bcee0915f65082c139be8f42aafad6413f1

7 years agoMerge "Make statsd counts for MWCallableUpdate actually useful"
jenkins-bot [Fri, 22 Jul 2016 23:30:27 +0000 (23:30 +0000)]
Merge "Make statsd counts for MWCallableUpdate actually useful"

7 years agoobjectcache: Add "busyValue" option to WANObjectCache::getWithSetCallback
Aaron Schulz [Fri, 22 Jul 2016 05:15:21 +0000 (22:15 -0700)]
objectcache: Add "busyValue" option to WANObjectCache::getWithSetCallback

This is useful for avoiding stampedes in the one case that lockTSE
does not alone cover, which is when the key does not exist or is
tombstoned.

Also avoid saving interim values unless the key is tombstoned
since there is no point in doing that otherwise.

Change-Id: I70997e90217a0979e0589afa7a5107b0e623c7cf

7 years agoMerge "Pingback: Show exactly what data is being sent during the installer"
jenkins-bot [Fri, 22 Jul 2016 22:19:42 +0000 (22:19 +0000)]
Merge "Pingback: Show exactly what data is being sent during the installer"

7 years agoMerge "Unbreak the DB updater by removing transaction from doUpdates()"
jenkins-bot [Fri, 22 Jul 2016 22:03:11 +0000 (22:03 +0000)]
Merge "Unbreak the DB updater by removing transaction from doUpdates()"

7 years agoPingback: Show exactly what data is being sent during the installer
Kunal Mehta [Fri, 22 Jul 2016 21:08:14 +0000 (14:08 -0700)]
Pingback: Show exactly what data is being sent during the installer

We have access to all the information that will be transmitted, so for
full transparency, display the actual JSON blob that will be sent.

Change-Id: I7dcc7bafb42619a8d49a27649fd7ac981efcd960

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 22 Jul 2016 19:54:08 +0000 (21:54 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I9a2afba022af74a48775b62abbc2f589447ed974

7 years agoHTMLForm: Allow distinguishing between form views and submission attempts
Bartosz Dziewoński [Mon, 30 May 2016 21:11:33 +0000 (23:11 +0200)]
HTMLForm: Allow distinguishing between form views and submission attempts

Calling HTMLForm::setFormIdentifier() will set an internal identifier
for this form. It will be submitted as a hidden form field, allowing
HTMLForm to determine whether the form was submitted (or just viewed).
Setting this serves two purposes:

* If you use two or more forms on one page, it allows HTMLForm to
  identify which of the forms was submitted, and not attempt to
  validate the other ones. (T102114)
* If you use checkbox or multiselect fields inside a form using the
  GET method, it allows HTMLForm to distinguish between the initial
  page view and a form submission with all checkboxes or select
  options unchecked. (T29676)

Bug: T102114
Bug: T29676
Change-Id: Ib6ce3fd8941be86211cff5c6932b5e84982490fa

7 years agoMerge "DifferenceEngine: Move MW_DIFF_VERSION to class constant DIFF_VERSION"
jenkins-bot [Fri, 22 Jul 2016 17:51:03 +0000 (17:51 +0000)]
Merge "DifferenceEngine: Move MW_DIFF_VERSION to class constant DIFF_VERSION"

7 years agoMerge "Avoid calling rollback() in setVisibility() when nothing changed"
jenkins-bot [Fri, 22 Jul 2016 17:40:59 +0000 (17:40 +0000)]
Merge "Avoid calling rollback() in setVisibility() when nothing changed"

7 years agoDifferenceEngine: Move MW_DIFF_VERSION to class constant DIFF_VERSION
Chad Horohoe [Wed, 20 Jul 2016 21:10:02 +0000 (14:10 -0700)]
DifferenceEngine: Move MW_DIFF_VERSION to class constant DIFF_VERSION

Deprecated the former. It's only used in 2 extensions (both active),
so we can probably get rid of this within a single release cycle.

Change-Id: I39bef62556f8f0625a5741d54f9f84d15b50610d

7 years agoMake statsd counts for MWCallableUpdate actually useful
Aaron Schulz [Fri, 22 Jul 2016 02:32:09 +0000 (19:32 -0700)]
Make statsd counts for MWCallableUpdate actually useful

Include the method that made the callback in the key.

Change-Id: Ifc7c486ee5c8d57b2516456569bb724cf7dc2b99

7 years agoMerge "Avoid the use of DB rollback() in LocalFileDeleteBatch"
jenkins-bot [Fri, 22 Jul 2016 05:34:20 +0000 (05:34 +0000)]
Merge "Avoid the use of DB rollback() in LocalFileDeleteBatch"

7 years agoPreprocessor_Hash: use child arrays instead of linked lists
Tim Starling [Mon, 18 Jul 2016 02:05:13 +0000 (12:05 +1000)]
Preprocessor_Hash: use child arrays instead of linked lists

The singly-linked list data structure of Preprocessor_Hash was causing
stack exhaustion due to the need for a recursion depth proportional to
the number of children of a given PPNode, in serialize() and on
object destruction. So, switch to array-based storage. PPNode_* becomes
a temporary proxy around the underlying storage, which avoids circular
references and keeps the storage very compact. Preprocessor_DOM uses
similar temporary PPNode objects, so the fact that

  $node->getFirstChild() !== $node->getFirstChild()

should not cause any new problems.

* Increment cache version
* Use JSON serialization of the store array instead of serialize(),
  since JSON is more compact, even after gzipping.
* For efficiency, make $accum a plain array, and use it as an array
  where possible, instead of using helper functions.

Performance and memory usage for typical input are slightly improved:
something like 4% faster for the whole parse, and 20% less memory for
the tree.

Bug: T73486
Change-Id: I0d6c162b790d6dc1ddb0352aba6e4753854f4c56

7 years agoAvoid the use of DB rollback() in LocalFileDeleteBatch
Aaron Schulz [Thu, 21 Jul 2016 05:16:20 +0000 (22:16 -0700)]
Avoid the use of DB rollback() in LocalFileDeleteBatch

Race conditions are already handled by LockManager now.

Change-Id: Idb9ac511d565db4920aff7faa6ff291e05079798

7 years agoMerge "Allow 'data-*' attributes in personal tools links"
jenkins-bot [Fri, 22 Jul 2016 03:36:51 +0000 (03:36 +0000)]
Merge "Allow 'data-*' attributes in personal tools links"

7 years agoMerge "Improve database endAtomic() error messages"
jenkins-bot [Fri, 22 Jul 2016 02:12:28 +0000 (02:12 +0000)]
Merge "Improve database endAtomic() error messages"

7 years agoAllow 'data-*' attributes in personal tools links
Moriel Schottlender [Wed, 20 Jul 2016 21:15:01 +0000 (14:15 -0700)]
Allow 'data-*' attributes in personal tools links

We are limiting the attributes that are read and rendered for the
personal toolbar, but there are cases -- especially as tools get
more and more complex -- for needing to supply and read more information.

The use case that led to this change is the need to style Notification
badges with values in ::before and ::after pseudo-elements; these
elements need to display some prefixed content, and the best (only)
way to do that in no-js mode, is to set it up in CSS to be read
out of an attribute (using attr( xxx ); ).

This means that we need to read a specific attribute from the element,
but the only attributes allowed were insufficient. Allowing for data-*
attributes seemed not only a good solution for this specific case,
but a good idea in general for future tools that are added and
manipulate the personal toolbar links - allowing for storing information
without polluting the DOM.

Bug: T115845
Change-Id: Ic666540d70de52f337f839da0518cb83a990f5fd

7 years agoMerge "Make non-exception rollback() calls safer"
jenkins-bot [Fri, 22 Jul 2016 02:08:26 +0000 (02:08 +0000)]
Merge "Make non-exception rollback() calls safer"

7 years agoAvoid calling rollback() in setVisibility() when nothing changed
Aaron Schulz [Thu, 21 Jul 2016 01:06:46 +0000 (18:06 -0700)]
Avoid calling rollback() in setVisibility() when nothing changed

Change-Id: I7fde64fe1e6c9553447bcb9e62a1a9530f9e52ce

7 years agoMerge "OutputPage: Fix blank line between <html> and <head>"
jenkins-bot [Fri, 22 Jul 2016 00:01:21 +0000 (00:01 +0000)]
Merge "OutputPage: Fix blank line between <html> and <head>"

7 years agomediawiki.page.startup: Remove back-compat for MediaWiki 1.25 and earlier
Timo Tijhof [Thu, 21 Jul 2016 22:37:11 +0000 (23:37 +0100)]
mediawiki.page.startup: Remove back-compat for MediaWiki 1.25 and earlier

Follow-ups d7905627fd (released in MediaWiki 1.26).

This commit will be released in MediaWiki 1.28.

Change-Id: I2a3e91a3efb9db3d92aa2f92fc2572b4fe4e6707

7 years agoMerge "Do not override content format in EditPage when loading rev."
jenkins-bot [Thu, 21 Jul 2016 22:10:24 +0000 (22:10 +0000)]
Merge "Do not override content format in EditPage when loading rev."

7 years agoUse current content model for blank page content (not title default)
Brian Wolff [Thu, 21 Jul 2016 21:37:08 +0000 (21:37 +0000)]
Use current content model for blank page content (not title default)

This means that if you specify ?model=MODEL_ID you can create a
page using the non-default content model (but only if you have
the correct rights. Admin by default). Previously this only worked
if you specified a preload parameter that had the content model
that you wanted.

Additionally, I believe that this makes more sense logically in
terms of using the class state instead of the global state for
the current content model.

Change-Id: I938be1abcae8ac0b5fdb82d0d57bad5526aa5dee

7 years agoAdd option for sharing info about this MediaWiki install via pingback
Ori Livneh [Thu, 30 Jun 2016 09:29:10 +0000 (02:29 -0700)]
Add option for sharing info about this MediaWiki install via pingback

When $wgPingback is true, MediaWiki will periodically ping
https://www.mediawiki.org/beacon with basic information about the local
MediaWiki installation.  This data includes, for example, the type of system,
PHP version, and chosen database backend.

The pingback is sent via a deferred (post-send) update whenever $wgVersion
changes, using the updatelog table to ensure we don't send duplicate pingbacks.
A database lock ensures only one thread attempts to send the pingback, and a
cache key throttles attempts to no more than once per hour.

$wgPingback is false by default. The web installer has a checkbox for
controlling this option, and it is checked by default. This nudges new installs
to turn on pingbacks, but does not sneak this decision past sysops of existing
installs.

Change-Id: Ie43a6b46a07ebd9ccc1b9c3001f2ea02435d826b

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 21 Jul 2016 20:21:50 +0000 (22:21 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I0aa5901d8414d3106e0af0fb3c5284481b243ef6

7 years agoOutputPage: Fix blank line between <html> and <head>
Timo Tijhof [Thu, 21 Jul 2016 19:55:04 +0000 (20:55 +0100)]
OutputPage: Fix blank line between <html> and <head>

Follows-up a464d1d41 which changed OutputPage::headElement()
to join pieces by a line break instead of hardcoding line breaks
after (some) generated pieces.

This caused a minor regression in the form of a blank line between
<html> and <head> on every page, because I missed the one that
came from this class.

Change-Id: I5e48b852809699b205f4581c833605f3e232610a

7 years agoMerge "objectcache: Fix RESTBagOStuff class doc"
jenkins-bot [Thu, 21 Jul 2016 19:49:06 +0000 (19:49 +0000)]
Merge "objectcache: Fix RESTBagOStuff class doc"

7 years agoMerge "Add missing file locks to deleteArchivedFiles.php"
jenkins-bot [Thu, 21 Jul 2016 18:23:24 +0000 (18:23 +0000)]
Merge "Add missing file locks to deleteArchivedFiles.php"

7 years agoMake non-exception rollback() calls safer
Aaron Schulz [Thu, 21 Jul 2016 01:33:25 +0000 (18:33 -0700)]
Make non-exception rollback() calls safer

Use rollbackMasterChanges() instead so that all DBs get reverted.
Otherwise, external DB updates may get committed while related local
DB changes are rolled back.

Change-Id: I74de77f4b12dc15c0473c272d090caeeb97d6983

7 years agoMerge "Add AutoCommitUpdate class and replace some onTransactionIdle callers"
jenkins-bot [Thu, 21 Jul 2016 17:56:49 +0000 (17:56 +0000)]
Merge "Add AutoCommitUpdate class and replace some onTransactionIdle callers"

7 years agoImprove database endAtomic() error messages
Aaron Schulz [Thu, 21 Jul 2016 17:48:50 +0000 (10:48 -0700)]
Improve database endAtomic() error messages

Change-Id: I3317012befe454654429bb5acb8988d4e7ccfb5a

7 years agoMerge "Enable additional balancer tests (those starting with `<!DOCTYPE html>`)"
jenkins-bot [Thu, 21 Jul 2016 17:27:59 +0000 (17:27 +0000)]
Merge "Enable additional balancer tests (those starting with `<!DOCTYPE html>`)"

7 years agoMerge "Support <textarea> tags in Balancer."
jenkins-bot [Thu, 21 Jul 2016 17:26:59 +0000 (17:26 +0000)]
Merge "Support <textarea> tags in Balancer."

7 years agoWebRequest::getText(): Update more of the doc comment
Kevin Israel [Thu, 21 Jul 2016 07:37:10 +0000 (03:37 -0400)]
WebRequest::getText(): Update more of the doc comment

Support for server-side input transliteration, not just its
implementation for Esperanto, was removed in 3b5f60f2c8ef0e15.
Now we only do Unicode and line ending normalizations.

Change-Id: Ie6172ee2d76a79006286a5f3c51b89bb762c258e

7 years agoFix @covers tag in BalancerTest
Kunal Mehta [Thu, 21 Jul 2016 06:49:37 +0000 (23:49 -0700)]
Fix @covers tag in BalancerTest

Causes failures like
<https://integration.wikimedia.org/ci/job/mediawiki-core-code-coverage/2149/console>

Change-Id: I4a3498b88f203b97639fdd248316fef1058f9ddc

7 years agoAdd AutoCommitUpdate class and replace some onTransactionIdle callers
Aaron Schulz [Tue, 19 Jul 2016 20:43:17 +0000 (13:43 -0700)]
Add AutoCommitUpdate class and replace some onTransactionIdle callers

* This puts the complex logic here after the commit step for
  all DBs, making the main multi-DB transaction more likely
  to be atomic.
* Made some cleanups to AtomicSectionUpdate and made it cancel
  if the transaction is rolled back as it should.
* Also cleaned up some closures for PHP 5.4.

Change-Id: If2f7bb6b1ba6daf1cfdc934f27c32b0b10431a3d

7 years agoMerge "Add Unicode to ICU mappings for versions 51-57"
jenkins-bot [Thu, 21 Jul 2016 05:23:22 +0000 (05:23 +0000)]
Merge "Add Unicode to ICU mappings for versions 51-57"

7 years agoMerge "Support tokenizing simple HTML comments in the Balancer."
jenkins-bot [Thu, 21 Jul 2016 05:08:55 +0000 (05:08 +0000)]
Merge "Support tokenizing simple HTML comments in the Balancer."

7 years agoAdd missing file locks to deleteArchivedFiles.php
Aaron Schulz [Thu, 21 Jul 2016 05:05:59 +0000 (22:05 -0700)]
Add missing file locks to deleteArchivedFiles.php

Change-Id: I512ce5a1a4f00039fbe26f1c5cd1aec655eea263

7 years agoMerge "Update wikimedia/wrappedstring to v2.2.0"
jenkins-bot [Thu, 21 Jul 2016 05:05:03 +0000 (05:05 +0000)]
Merge "Update wikimedia/wrappedstring to v2.2.0"

7 years agoEnable additional balancer tests (those starting with `<!DOCTYPE html>`)
C. Scott Ananian [Fri, 15 Jul 2016 23:20:07 +0000 (19:20 -0400)]
Enable additional balancer tests (those starting with `<!DOCTYPE html>`)

Change-Id: Ie854cf99f7e72bcca1bb8565ace558a43dcb6379

7 years agoSupport <textarea> tags in Balancer.
C. Scott Ananian [Fri, 15 Jul 2016 22:46:14 +0000 (18:46 -0400)]
Support <textarea> tags in Balancer.

Change-Id: I63c2fd1c343362e49cf3b5a258fc98489744ad68

7 years agoSupport tokenizing simple HTML comments in the Balancer.
C. Scott Ananian [Fri, 15 Jul 2016 16:36:35 +0000 (12:36 -0400)]
Support tokenizing simple HTML comments in the Balancer.

Change-Id: Ib780595b13b7145e99867d16e3c225e6b2b91884

7 years agoSupport <form> tags in Balancer.
C. Scott Ananian [Thu, 14 Jul 2016 22:00:20 +0000 (18:00 -0400)]
Support <form> tags in Balancer.

Change-Id: I893fc231fea71f58449ed426d64ac99fdcb31d9e

7 years agoMerge "Provide onTransaction* callbacks with the transaction result"
jenkins-bot [Thu, 21 Jul 2016 03:09:17 +0000 (03:09 +0000)]
Merge "Provide onTransaction* callbacks with the transaction result"

7 years agoSupport <select> tags in Balancer.
C. Scott Ananian [Thu, 14 Jul 2016 21:00:22 +0000 (17:00 -0400)]
Support <select> tags in Balancer.

Change-Id: Ibc346624a9d035c98a29132a541e7ed6d82b364e

7 years agoProvide onTransaction* callbacks with the transaction result
Aaron Schulz [Thu, 21 Jul 2016 02:32:55 +0000 (19:32 -0700)]
Provide onTransaction* callbacks with the transaction result

This can later be used to cancel certain deferred updates.

Change-Id: Ib6649b6ca400f15ff441531d0fd6aecc3e4619eb