lhc/web/wiklou.git
8 years agoregistration: Notify of problems before filemtime, not after
Mark A. Hershberger [Wed, 20 May 2015 22:07:15 +0000 (18:07 -0400)]
registration: Notify of problems before filemtime, not after

Without this several lines of warning are emitted before the final error indicating the cause.

Bug: T99846
Change-Id: Ic1b9d9a80ed995273c56c447c8b044285a8843a7

8 years agoMerge "Bumping lightncandy version from 0.18 to 0.21"
kaldari [Wed, 20 May 2015 21:47:14 +0000 (21:47 +0000)]
Merge "Bumping lightncandy version from 0.18 to 0.21"

8 years agoMerge "Fix Special:Preferences onBeforeUnload handler"
jenkins-bot [Wed, 20 May 2015 20:25:17 +0000 (20:25 +0000)]
Merge "Fix Special:Preferences onBeforeUnload handler"

8 years agoMerge "Pass a message key to MalformedTitleException constructor"
jenkins-bot [Wed, 20 May 2015 20:10:02 +0000 (20:10 +0000)]
Merge "Pass a message key to MalformedTitleException constructor"

8 years agoFix Special:Preferences onBeforeUnload handler
Florian [Wed, 20 May 2015 20:05:24 +0000 (22:05 +0200)]
Fix Special:Preferences onBeforeUnload handler

Bug: T94194
Change-Id: If9e3836c6061cf99dc0859dafb99b9456e6efd0e

8 years agoMerge "Localisation updates from https://translatewiki.net."
Translation updater bot [Wed, 20 May 2015 19:45:18 +0000 (19:45 +0000)]
Merge "Localisation updates from https://translatewiki.net."

8 years agoPass a message key to MalformedTitleException constructor
Brad Jorsch [Wed, 20 May 2015 19:44:01 +0000 (15:44 -0400)]
Pass a message key to MalformedTitleException constructor

'badtitletext' seems to be equivalent to the situation before I4da8ecb4,
so let's go with that.

Bug: T99818
Change-Id: Ifdf66d2806df3ae7d2d378343491dd8976c31981

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 20 May 2015 19:39:59 +0000 (21:39 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I606ac1f2237b561daf4bc88426e3b9f5e65a8fc9

8 years agoImprove documentation of maintenance/sql.php
Marius Hoch [Wed, 20 May 2015 19:21:11 +0000 (21:21 +0200)]
Improve documentation of maintenance/sql.php

I found this to be lacking earlier this week...

Change-Id: I409c7451baa71b88cf554af0d82d1bf5904a2c4c

8 years agoKeep jenkins happy by limiting line length.
Mark A. Hershberger [Tue, 19 May 2015 18:00:56 +0000 (14:00 -0400)]
Keep jenkins happy by limiting line length.

Just w/s changes to break up long lines.

Change-Id: I69bf30f6c05813cfa32c8cd194f121cedcc4cb8a

8 years agoMerge "Message text clarified."
jenkins-bot [Wed, 20 May 2015 09:14:00 +0000 (09:14 +0000)]
Merge "Message text clarified."

8 years agoMerge "Make JobRunner flush DeferredUpdates after each job"
jenkins-bot [Wed, 20 May 2015 07:49:07 +0000 (07:49 +0000)]
Merge "Make JobRunner flush DeferredUpdates after each job"

8 years agoMerge "Simplified doEditContent exception handling"
jenkins-bot [Wed, 20 May 2015 07:21:35 +0000 (07:21 +0000)]
Merge "Simplified doEditContent exception handling"

8 years agoMerge "Fixed wrong EnqueueJob comment"
jenkins-bot [Wed, 20 May 2015 07:08:33 +0000 (07:08 +0000)]
Merge "Fixed wrong EnqueueJob comment"

8 years agoMerge "Do not allow setting deprecated $wgSpecialPageGroups over extension.json"
jenkins-bot [Wed, 20 May 2015 04:48:59 +0000 (04:48 +0000)]
Merge "Do not allow setting deprecated $wgSpecialPageGroups over extension.json"

8 years agoFixed wrong EnqueueJob comment
Aaron Schulz [Wed, 20 May 2015 02:26:36 +0000 (19:26 -0700)]
Fixed wrong EnqueueJob comment

Change-Id: I8a84bae9cd4206eb042e5a29c91d8281e296ecd1

8 years agoUser::clearSharedCache: don't load the full user record for just the ID
Ori Livneh [Tue, 19 May 2015 22:45:46 +0000 (15:45 -0700)]
User::clearSharedCache: don't load the full user record for just the ID

Rather than call $this->load() unconditionally, get just the ID via
$this->getId(), potentially saving us a database lookup.

Change-Id: Ifa3b96956a1d66d3e877573ff01970758fad8790

8 years agoresourceloader: Replace timestamp system with version hashing
Timo Tijhof [Wed, 29 Apr 2015 22:53:24 +0000 (23:53 +0100)]
resourceloader: Replace timestamp system with version hashing

Modules now track their version via getVersionHash() instead of getModifiedTime().

== Background ==

While some resources have observeable timestamps (e.g. files stored on disk),
many other resources do not. E.g. config variables, and module definitions.

For static file modules, one can e.g. revert one of more files in a module to a
previous version and not affect the max timestamp.

Wiki modules include pages only if they exist. The user module supports common.js
and skin.js. By default neither exists. If a user has both, and then the
less-recently modified one is deleted, the max-timestamp remains unchanged.

For client-side caching, batch requests use "Math.max" on the relevant timestamps.
Again, if a module changes but another module is more recent (e.g. out-of-order
deployment, or out-of-order discovery), the change would not result in a cache miss.

More scenarios can be found in the associated Phabricator tasks.

== Version hash ==

Previously we virtually mapped these variables to a timestamp by storing the current
time alongside a hash of the value in ObjectCache. Considering the number of
possible request contexts (wikis * modules * users * skins * languages) this doesn't
work well. It results in needless cache invalidation when the first time observation
is purged due to LRU algorithms. It also has other minor bugs leading to fewer
cache hits.

All modules automatically get the benefits of version hashing with this change.
The old getDefinitionMtime() and getHashMtime() have been replaced with dummies
that return 1. These functions are often called from getModifiedTime() in subclasses.

For backward-compatibility, their respective values (definition summary and hash)
are now included in getVersionHash directly.

As examples, the following modules have been updated to use getVersionHash directly.
Other modules still work fine and can be updated later.

* ResourceLoaderFileModule
* ResourceLoaderEditToolbarModule
* ResourceLoaderStartUpModule
* ResourceLoaderWikiModule

The presence of hashes in place of timestamps increases the startup module size on
a default MediaWiki install from 4.4k to 5.8k (after gzip and minification).

== ETag ==

Since timestamps are no longer tracked, we need a different way to implement caching
for cache proxies (e.g. Varnish) and web browsers. Previously we used the
Last-Modified header (in combination with Cache-Control and Expires).

Instead of Last-Modified (and If-Modified-Since), we use ETag (and If-None-Match).

Entity tags (new in HTTP/1.1) are much stricter than Last-Modified by default.
They instruct browsers to allow usage of partial Range requests. Since our responses
are dynamically generated, we need to use the Weak version of ETag.

While this sounds bad, it's no different than Last-Modified. As reassured by
RFC 2616 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.3.3> the
specified behaviour behind Last-Modified follows the same "Weak" caching logic as
Entity tags. It's just that entity tags are capable of a stricter mode (whereas
Last-Modified is inherently weak).

== File cache ==

If $wgUseFileCache is enabled, ResourceLoader uses ResourceFileCache to cache
load.php responses. While the blind TTL handling (during the allowed expiry period)
is still maxage/timestamp based, tryRespondNotModified() now requires the caller to
know the expected ETag.

For this to work, the FileCache handling had to be moved from the top of
ResoureLoader::respond() to after the expected ETag is computed.

This also allows us to remove the duplicate tryRespondNotModified() handling since
that's is already handled by ResourceLoader::respond() meanwhile.

== Misc ==

* Remove redundant modifiedTime cache in ResourceLoaderFileModule.

* Change bugzilla references to Phabricator.

* Centralised inclusion of wgCacheEpoch using getDefinitionSummary. Previously this
  logic was duplicated in each place the modified timestamp was used.

* It's easy to forget calling the parent class in getDefinitionSummary().
  Previously this method only tracked 'class' by default. As such, various
  extensions hardcoded that one value instead of calling the parent and extending
  the array. To better prevent this in the future, getVersionHash() now asserts
  that the '_cacheEpoch' property made it through.

* tests: Don't use getDefinitionSummary() as an API.
  Fix ResourceLoaderWikiModuleTest to call getPages properly.

* In tests, the default timestamp used to be 1388534400000 (which is the unix time
  of 20140101000000; the unit tests' CacheEpoch). The new version hash of these
  modules is "XyCC+PSK", which is the base64 encoded prefix of the SHA1 digest of:
  '{"_class":"ResourceLoaderTestModule","_cacheEpoch":"20140101000000"}'

* Add sha1.js library for client-side hash generation.
  Compared various different implementations for code size (after minfication/gzip),
  and speed (when used for short hexidecimal strings).
  https://jsperf.com/sha1-implementations
  - CryptoJS <https://code.google.com/p/crypto-js/#SHA-1> (min+gzip: 2.5k)
    http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/sha1.js
    Chrome: 45k, Firefox: 89k, Safari: 92k
  - jsSHA <https://github.com/Caligatio/jsSHA>
    https://github.com/Caligatio/jsSHA/blob/3c1d4f2e/src/sha1.js (min+gzip: 1.8k)
    Chrome: 65k, Firefox: 53k, Safari: 69k
  - phpjs-sha1 <https://github.com/kvz/phpjs> (RL min+gzip: 0.8k)
    https://github.com/kvz/phpjs/blob/1eaab15d/functions/strings/sha1.js
    Chrome: 200k, Firefox: 280k, Safari: 78k

  Modern browsers implement the HTML5 Crypto API. However, this API is asynchronous,
  only enabled when on HTTPS in Chromium, and is quite low-level. It requires boilerplate
  code to actually use with TextEncoder, ArrayBuffer and Uint32Array. Due this being
  needed in the module loader, we'd have to load the fallback regardless. Considering
  this is not used in a critical path for performance, it's not worth shipping two
  implementations for this optimisation.

May also resolve:
* T44094
* T90411
* T94810

Bug: T94074
Change-Id: Ibb292d2416839327d1807a66c78fd96dac0637d0

8 years agoSimplified doEditContent exception handling
Aaron Schulz [Tue, 19 May 2015 21:40:50 +0000 (14:40 -0700)]
Simplified doEditContent exception handling

* Callers should not catch errors and fail to rollback
  changes as much here as anywhere else

Change-Id: I65cbeb8d0895223b7ad60c9081d703d14197cb4a

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 19 May 2015 19:47:12 +0000 (21:47 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Idff54a370b7401517d4f2313576773bc765ca3e4

8 years agoMerge "registration: Have cache entries expire after 24 hours"
jenkins-bot [Tue, 19 May 2015 15:23:54 +0000 (15:23 +0000)]
Merge "registration: Have cache entries expire after 24 hours"

8 years agoMerge "registration: Remove implementation of custom processors for now"
jenkins-bot [Tue, 19 May 2015 15:05:53 +0000 (15:05 +0000)]
Merge "registration: Remove implementation of custom processors for now"

8 years agoMerge "registration: Use a static whitelist of keys that are not attributes"
jenkins-bot [Tue, 19 May 2015 15:05:15 +0000 (15:05 +0000)]
Merge "registration: Use a static whitelist of keys that are not attributes"

8 years agoMerge "Added documentation for HTMLFormField's "hide-if""
jenkins-bot [Tue, 19 May 2015 14:27:05 +0000 (14:27 +0000)]
Merge "Added documentation for HTMLFormField's "hide-if""

8 years agoMessage text clarified.
Purodha [Tue, 19 May 2015 13:33:53 +0000 (13:33 +0000)]
Message text clarified.

See also:
https://translatewiki.net/wiki/Thread:Support/About_MediaWiki:Title-invalid-interwiki/en

Change-Id: Id6f4573527415ec5f82fd5a4599480e5c17c84d3

8 years agoMerge "Added ObjectCache::getMainStashInstance() and $wgMainStash"
jenkins-bot [Tue, 19 May 2015 07:44:44 +0000 (07:44 +0000)]
Merge "Added ObjectCache::getMainStashInstance() and $wgMainStash"

8 years agoMerge "Revert "Remove invalid language code "bh" (alias of "bho")""
jenkins-bot [Tue, 19 May 2015 06:03:35 +0000 (06:03 +0000)]
Merge "Revert "Remove invalid language code "bh" (alias of "bho")""

8 years agoregistration: Don't array_unique() over the queue before loading it
Kunal Mehta [Tue, 19 May 2015 05:30:37 +0000 (22:30 -0700)]
registration: Don't array_unique() over the queue before loading it

array_unique works over values, not keys (you can't have an array with
duplicate keys in PHP) so it would end up removing extensions that
happened to have an identical timestamp with another one.

Bug: T98956
Change-Id: I66e202ea882ae4d5cb1bcafb7882cbd9cd52a1b3

8 years agoregistration: Have cache entries expire after 24 hours
Kunal Mehta [Tue, 19 May 2015 04:49:34 +0000 (21:49 -0700)]
registration: Have cache entries expire after 24 hours

Since our cache invalidation strategy is to just change the key, don't
have old entries stick around forever.

Change-Id: Ib62b69adfc2855a2ecd08558d4054d9b5d3ed571

8 years agoRevert "Remove invalid language code "bh" (alias of "bho")"
Hoo man [Mon, 18 May 2015 22:37:00 +0000 (22:37 +0000)]
Revert "Remove invalid language code "bh" (alias of "bho")"

Still being heavily used for interwiki links.
See eg. https://www.wikidata.org/wiki/Wikidata:Contact_the_development_team#Link_for_bh.wiki

This reverts commit 34a3de0f65609c7ffdaafbf3770001e531a616cf.

Bug: T99059
Change-Id: I6db0c436dc2c7556bbc060584e0a725402238adf

8 years agoMade pushLazyJobs() handle all queue groups
Aaron Schulz [Tue, 19 May 2015 02:06:49 +0000 (19:06 -0700)]
Made pushLazyJobs() handle all queue groups

* This avoids __destruct() warnings
* Also remove push() code in __destruct() that just made
  more warnings since it's too late

Change-Id: I32a3cfabc94e36b9d2808b45d55209f3df46e47d

8 years agoMake JobRunner flush DeferredUpdates after each job
Aaron Schulz [Mon, 18 May 2015 21:20:35 +0000 (14:20 -0700)]
Make JobRunner flush DeferredUpdates after each job

Change-Id: Iff6625ddc04a15751d2bb07dc6558145e7ceb14a

8 years agoAdded documentation for HTMLFormField's "hide-if"
Daniel A. R. Werner [Mon, 18 May 2015 22:11:59 +0000 (00:11 +0200)]
Added documentation for HTMLFormField's "hide-if"

Change-Id: I410c58dc0586cfe97e39668c9608ce0d9e10a08b

8 years agoReapply f45be1f78b8462a62d77893fd7ac15757b049381
Bartosz Dziewoński [Mon, 18 May 2015 21:56:07 +0000 (23:56 +0200)]
Reapply f45be1f78b8462a62d77893fd7ac15757b049381

Accidentally reverted in 8a157f34c83a69c0b93be1a009f814179f4ff5ab.

Change-Id: I027f71961672936dc8c7d51b5e6313215748c21b

8 years agoMerge "Use getActionName() static"
jenkins-bot [Mon, 18 May 2015 21:02:11 +0000 (21:02 +0000)]
Merge "Use getActionName() static"

8 years agoUse getActionName() static
Federico Leva [Mon, 18 May 2015 20:20:00 +0000 (22:20 +0200)]
Use getActionName() static

Change-Id: I3225ecd2b8e4294c28ea0aa664f0246d0d028b11

8 years agoBetter information about downloading skins via Git
Bartosz Dziewoński [Mon, 18 May 2015 20:14:15 +0000 (22:14 +0200)]
Better information about downloading skins via Git

Rather than futilely try to explain Git in a single sentence, just link to
<https://www.mediawiki.org/wiki/Download_from_Git#Using_Git_to_download_MediaWiki_skins>.

Change-Id: Ib4323fa04309b80e3197834bdde48d4022458488

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

Change-Id: If429c59c6cc6733a9fc4fa92bb3f18f5f045fd7e

8 years agoMerge "Support changing icon variants on hover"
jenkins-bot [Mon, 18 May 2015 19:24:43 +0000 (19:24 +0000)]
Merge "Support changing icon variants on hover"

8 years agoAdded ObjectCache::getMainStashInstance() and $wgMainStash
Aaron Schulz [Thu, 30 Apr 2015 02:19:23 +0000 (19:19 -0700)]
Added ObjectCache::getMainStashInstance() and $wgMainStash

* This provides factory/config more appropriate for stashes
* Cleaned up some neighboring config comments while at it

Bug: T88493
Bug: T97620
Change-Id: Id370ee50be6e493a4700c858df863a183abc05fd

8 years agoMerge "Better message wording."
jenkins-bot [Mon, 18 May 2015 18:38:27 +0000 (18:38 +0000)]
Merge "Better message wording."

8 years agoUse lazyPush() instead of push() in a few places for jobs
Aaron Schulz [Mon, 18 May 2015 17:26:53 +0000 (10:26 -0700)]
Use lazyPush() instead of push() in a few places for jobs

Change-Id: I56661ea29988e4ee217a63f4c3ffcb78333cc454

8 years agoAdded JobQueueGroup::lazyPush method
Aaron Schulz [Fri, 15 May 2015 23:23:51 +0000 (16:23 -0700)]
Added JobQueueGroup::lazyPush method

* Made use of this in triggerOpportunisticLinksUpdate()
* This will defer and better batch job insertion
* Lazy job insertion and other deferred updates
  make use of register_postsend_function if present
* Also cleaned up some return types and exceptions
  in JobQueueGroup

Bug: T99302
Change-Id: I3a3968d75cb37563f970be08e63f31a090e0e037

8 years agoMerge "API Import: Die when namespace and rootpage is set"
jenkins-bot [Mon, 18 May 2015 14:46:26 +0000 (14:46 +0000)]
Merge "API Import: Die when namespace and rootpage is set"

8 years agoMerge "registration: Remove duplicate "ParserTestFiles" key from schema"
jenkins-bot [Mon, 18 May 2015 10:47:42 +0000 (10:47 +0000)]
Merge "registration: Remove duplicate "ParserTestFiles" key from schema"

8 years agoMerge "Set correct default date format for ce"
jenkins-bot [Mon, 18 May 2015 08:47:31 +0000 (08:47 +0000)]
Merge "Set correct default date format for ce"

8 years agoMerge "Converted FileBackendStore to using the WAN cache"
jenkins-bot [Mon, 18 May 2015 08:34:10 +0000 (08:34 +0000)]
Merge "Converted FileBackendStore to using the WAN cache"

8 years agoChinese Conversion Table Update 2015-3
Chiefwei [Sat, 25 Apr 2015 12:48:58 +0000 (20:48 +0800)]
Chinese Conversion Table Update 2015-3

Update the Chinese conversion table routinely to fix bugs reported from
https://zh.wikipedia.org/wiki/Wikipedia:%E5%AD%97%E8%AF%8D%E8%BD%AC%E6%8D%A2/%E4%BF%AE%E5%A4%8D%E8%AF%B7%E6%B1%82.

It is only data changes and only works for Chinese WikiProjects.

Change-Id: I8c9a52a3c03031330b8be771f3c74e6007efab73

8 years agoMerge "Converted User object cache to the WAN cache"
jenkins-bot [Mon, 18 May 2015 06:38:06 +0000 (06:38 +0000)]
Merge "Converted User object cache to the WAN cache"

8 years agoregistration: Use a static whitelist of keys that are not attributes
Kunal Mehta [Mon, 18 May 2015 06:22:46 +0000 (23:22 -0700)]
registration: Use a static whitelist of keys that are not attributes

Rather than continuously creating an array of keys that were used, just
hardcode a list of keys that aren't attributes. This also handles keys
like "AutoloadClasses" that is handled by the registry.

Bug: T98977
Change-Id: I35088a76ff4c58db71e8c9bc139fa0ccca738e3b

8 years agoMerge "Cleanups to WANObjectCache::getWithSetCallback code"
jenkins-bot [Mon, 18 May 2015 06:08:27 +0000 (06:08 +0000)]
Merge "Cleanups to WANObjectCache::getWithSetCallback code"

8 years agoMerge "Reduced the rate of RecentChangesUpdateJob insertion"
jenkins-bot [Mon, 18 May 2015 06:02:46 +0000 (06:02 +0000)]
Merge "Reduced the rate of RecentChangesUpdateJob insertion"

8 years agoMerge "Added RedisBagOStuff FIXME comments"
jenkins-bot [Mon, 18 May 2015 06:01:25 +0000 (06:01 +0000)]
Merge "Added RedisBagOStuff FIXME comments"

8 years agoregistration: Remove duplicate "ParserTestFiles" key from schema
Kunal Mehta [Mon, 18 May 2015 05:49:37 +0000 (22:49 -0700)]
registration: Remove duplicate "ParserTestFiles" key from schema

Bug: T99493
Change-Id: I43ea510162d01424171e738310b0519c85d28f68

8 years agoregistration: Remove implementation of custom processors for now
Kunal Mehta [Mon, 18 May 2015 05:48:58 +0000 (22:48 -0700)]
registration: Remove implementation of custom processors for now

The current implementation is broken due to the array_merge_recursive it
does on all the data, which would have broken things like
$wgGroupPermissions which requires special handling.

Remove the current implementation for now while we re-evaluatate how to
do this properly, and whether it is even needed.

Bug: T99492
Change-Id: I886892e6fd12d51446ede4fc7e6ef1371542b77e

8 years agoMerge "Log callers that trigger Title::newFromText $text type warning"
jenkins-bot [Sun, 17 May 2015 22:33:58 +0000 (22:33 +0000)]
Merge "Log callers that trigger Title::newFromText $text type warning"

8 years agoLog callers that trigger Title::newFromText $text type warning
Alex Monk [Sun, 17 May 2015 15:51:24 +0000 (16:51 +0100)]
Log callers that trigger Title::newFromText $text type warning

Follows-up Ic85d27d79, Ibedc31659. See T76305.

Change-Id: I8245744a9291d221f4e9302bb83db328a24f115f

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 17 May 2015 19:35:25 +0000 (21:35 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I766dea0aabf21c0bb94ec661d3dc55a5127bae0f

8 years agoMerge "Remove maintenance script deleteImageMemcached.php"
jenkins-bot [Sun, 17 May 2015 02:44:28 +0000 (02:44 +0000)]
Merge "Remove maintenance script deleteImageMemcached.php"

8 years agoRemove maintenance script deleteImageMemcached.php
Kevin Israel [Sat, 16 May 2015 21:32:57 +0000 (17:32 -0400)]
Remove maintenance script deleteImageMemcached.php

This script is broken; it deletes an object cache key that 1.11
(r22850 / ed4303922f4e) and newer no longer use. The most similar
working script is probably refreshImageMetadata.php --force.

Change-Id: Icf2223dc87861e02f20422492d40994f5302ad15

8 years agoApiOpenSearch: Pass second argument to ApiResult::removeValue()
Kunal Mehta [Sat, 16 May 2015 21:25:22 +0000 (14:25 -0700)]
ApiOpenSearch: Pass second argument to ApiResult::removeValue()

If $name is null, it will use $path ('warnings').

Bug: T99375
Change-Id: Iad295d2f560d1cc043f7fa64cf402983d4b0e6bd

8 years agoDo not allow setting deprecated $wgSpecialPageGroups over extension.json
umherirrender [Sat, 16 May 2015 11:45:24 +0000 (13:45 +0200)]
Do not allow setting deprecated $wgSpecialPageGroups over extension.json

$wgSpecialPageGroups is deprecated since 1.21
The code should be migrated to override SpecialPage::getGroupName before
adding an extension.json to the extension, instead of allowing setting
this over extension.json

Also added a warning to convertExtensionToRegistration.php for the no
longer supported global

Change-Id: Idccbe41b649de93548c5b0fca03145da716bcc65

8 years agoDeclare global in Action
Nemo bis [Sat, 16 May 2015 19:48:08 +0000 (21:48 +0200)]
Declare global in Action

Follows up e928d5bdd0fbc63.

Change-Id: I06e8490865554a0efa7678be6787deb8a22c5b82

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 16 May 2015 19:22:50 +0000 (21:22 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I3f5d2caaab8f4264574f7eb1c9aab9ba3791a7f3

8 years agoRemoved extra return in triggerOpportunisticLinksUpdate
Aaron Schulz [Fri, 15 May 2015 23:03:01 +0000 (16:03 -0700)]
Removed extra return in triggerOpportunisticLinksUpdate

Change-Id: Ifbce1ce6e940e4e7afbd1267283a4d0568713f6b

8 years agoMerge "Convert mediawiki.toc and mediawiki.user to using mw.cookie"
jenkins-bot [Sat, 16 May 2015 15:19:38 +0000 (15:19 +0000)]
Merge "Convert mediawiki.toc and mediawiki.user to using mw.cookie"

8 years agoMerge "Timestamp from Year/Month selector on forms should be wiki time"
jenkins-bot [Sat, 16 May 2015 13:48:02 +0000 (13:48 +0000)]
Merge "Timestamp from Year/Month selector on forms should be wiki time"

8 years agoAdded RedisBagOStuff FIXME comments
Aaron Schulz [Fri, 15 May 2015 22:55:09 +0000 (15:55 -0700)]
Added RedisBagOStuff FIXME comments

Change-Id: I6f4f85166584439a38d632356f3ed95e4fd4fd6f

8 years agoReduced the rate of RecentChangesUpdateJob insertion
Aaron Schulz [Fri, 15 May 2015 23:00:00 +0000 (16:00 -0700)]
Reduced the rate of RecentChangesUpdateJob insertion

Change-Id: Ic7db658f45365ca8ddf7f9dc807a30bc707fe517

8 years agoBumping lightncandy version from 0.18 to 0.21
kaldari [Fri, 15 May 2015 22:15:02 +0000 (15:15 -0700)]
Bumping lightncandy version from 0.18 to 0.21

See also change in vendor repo: I0ba740a88b636a9c1

Change-Id: Idbcc356595db2ceb267690570ef23cd08294426e

8 years agoFix name of South Azerbaijani
mjbmr [Fri, 8 May 2015 01:51:51 +0000 (01:51 +0000)]
Fix name of South Azerbaijani

Change-Id: Ibae3eb2c26a4acf1e9e8a3d3ccc852e8a0b61b06

8 years agoMerge "Always pass a valid User object to LoginUserMigrated hook"
jenkins-bot [Fri, 15 May 2015 20:23:04 +0000 (20:23 +0000)]
Merge "Always pass a valid User object to LoginUserMigrated hook"

8 years agoMerge "ApiOpenSearch: Don't output warnings in JSON mode"
jenkins-bot [Fri, 15 May 2015 20:23:00 +0000 (20:23 +0000)]
Merge "ApiOpenSearch: Don't output warnings in JSON mode"

8 years agoMerge "Use touchCheckKey when purging tag usage stats"
jenkins-bot [Fri, 15 May 2015 20:14:06 +0000 (20:14 +0000)]
Merge "Use touchCheckKey when purging tag usage stats"

8 years agoAlways pass a valid User object to LoginUserMigrated hook
Kunal Mehta [Fri, 15 May 2015 19:44:38 +0000 (12:44 -0700)]
Always pass a valid User object to LoginUserMigrated hook

Follows up 777078176f0b2.

Bug: T96174
Change-Id: I76d33ff5340fbf216c11ff06e2a1b9e01d46ba90

8 years agoUse touchCheckKey when purging tag usage stats
cenarium [Fri, 15 May 2015 19:36:22 +0000 (21:36 +0200)]
Use touchCheckKey when purging tag usage stats

Follow up on Ieec931c4211323ae7b838c783e45e1a83a7bb6a1.

Change-Id: I0bcab781baeaa3f7475ef0df43389645a37a2e37

8 years agoBetter message wording.
Purodha [Fri, 15 May 2015 19:18:07 +0000 (19:18 +0000)]
Better message wording.

See https://translatewiki.net/wiki/Thread:Support/About_MediaWiki:Default-skin-not-found/en_%283%29

Change-Id: I15ad590d9bd9b327e7475701319099e9fd0c9b48

8 years agoImprove RELEASE-NOTES for recent API change
Brad Jorsch [Tue, 5 May 2015 13:55:26 +0000 (09:55 -0400)]
Improve RELEASE-NOTES for recent API change

Bug: T98086
Change-Id: Ibb8dc283965f4ac2d90dd906e040aec9441f16d1

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 15 May 2015 19:02:17 +0000 (21:02 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ia192a2aff8018267a1d3fe756d6a21acd05a6bc2

8 years agoMerge "Revert "Follow-up ee320648fd1: output mw-content-{ltr,rtl} unconditionally""
jenkins-bot [Fri, 15 May 2015 18:45:50 +0000 (18:45 +0000)]
Merge "Revert "Follow-up ee320648fd1: output mw-content-{ltr,rtl} unconditionally""

8 years agoRevert "Follow-up ee320648fd1: output mw-content-{ltr,rtl} unconditionally"
Catrope [Fri, 15 May 2015 16:56:50 +0000 (16:56 +0000)]
Revert "Follow-up ee320648fd1: output mw-content-{ltr,rtl} unconditionally"

This reverts commit 143c81451eb841b8dfc886dcc6c5d794837b4fc2.

Applying mw-content-{ltr,rtl} to non-view pages caused problems, like
on the history page. MediaWiki:*.js pages always have ltr as their content
directionality, but the history page should be in the UI directionality
regardless of what the content directionality of the page is (since
none of the page content is even displayed!)

Bug: T99258
Change-Id: I87dea50e00b0833f077418ac8581d909f0b77746

8 years agoSupport changing icon variants on hover
Roan Kattouw [Wed, 13 May 2015 13:56:22 +0000 (14:56 +0100)]
Support changing icon variants on hover

This introduces .mw-ui-icon-{name}-{variant}-hover which only
displays the icon when the containing .mw-ui-hovericon element
is hovered.

Bug: T97816
Change-Id: I5be26cee39ec77daef3506be20a7a4f59787de36

8 years agoTimestamp from Year/Month selector on forms should be wiki time
umherirrender [Sat, 18 Apr 2015 20:35:00 +0000 (22:35 +0200)]
Timestamp from Year/Month selector on forms should be wiki time

When searching for a year/month with the year/month selector on
Special:Contributions or action=history the given time should be treated
as wiki time and therefore needs adjust to UTC before search in the
Database.
This has no effect on wikis with UTC like enwiki, but for example on
dewiki with an offset from 1hour/2hour.

Change-Id: Iccd41d19a360827b9c80b66582ca0daa7ed7576c

8 years agoShorter OutputPage access
Federico Leva [Fri, 15 May 2015 12:52:08 +0000 (14:52 +0200)]
Shorter OutputPage access

Change-Id: Ieb7387ece84accdc96104b23b5c237973423f768

8 years agoFix name of Central Kurdish language
mjbmr [Fri, 8 May 2015 00:34:37 +0000 (00:34 +0000)]
Fix name of Central Kurdish language

Change-Id: Ia5cf87e5c3f65f9a3d76b95b75b3bdc0f1472713

8 years agoMerge "Allow to customise addHelpLink() target via system message"
jenkins-bot [Fri, 15 May 2015 10:42:51 +0000 (10:42 +0000)]
Merge "Allow to customise addHelpLink() target via system message"

8 years agoMerge "Remove redundant line-height declarations from elements.css"
jenkins-bot [Fri, 15 May 2015 09:23:06 +0000 (09:23 +0000)]
Merge "Remove redundant line-height declarations from elements.css"

8 years agoRemove redundant line-height declarations from elements.css
Erwin Dokter [Wed, 29 Apr 2015 12:12:53 +0000 (12:12 +0000)]
Remove redundant line-height declarations from elements.css

Elements.css declares line-height of 1.5em for certain common
elements, like ol, ul and dd. These are redundant as each skin already
declares the same line-height for the content, and all elements inherit
this line-height from the body.

At the same time, these declaration override the content line-height of
1.6em set in Vector, creating inconsistencies that cannot be 'hacked'
away. Removing these line-height declarations has no impact, other
then making the typography refresh actually work as intended.

Bug: T66653
Change-Id: I5b682a9527294e96f3999773724cbf8fb9631197

8 years agoFix name of Bakthiari language
mjbmr [Mon, 11 May 2015 17:59:29 +0000 (17:59 +0000)]
Fix name of Bakthiari language

Change-Id: I684f4e7c1b1f45bbd0a1a0a6b037a369a4276d86

8 years agoAllow to customise addHelpLink() target via system message
Federico Leva [Sat, 2 May 2015 11:37:19 +0000 (13:37 +0200)]
Allow to customise addHelpLink() target via system message

Method similar to SpecialPage::outputHeader() to avoid registering
tons of system messages and to have -summary and -helppage tidily
listed together in Special:AllMessages by default.

Bug: T45591
Change-Id: Ic849dde00be7379c1909a8486cf20f48c5aea5cf

8 years agoCleanups to WANObjectCache::getWithSetCallback code
Aaron Schulz [Fri, 15 May 2015 05:52:35 +0000 (22:52 -0700)]
Cleanups to WANObjectCache::getWithSetCallback code

* Do not use lock() for tombstoned keys unless lockTSE was set
* Moved the is_callable() check down a bit further
* Also removed one inaccurate comment

Change-Id: I904e0681faa48b1dc2bc2a3c005a29d2f8347065

8 years agoMerge "resourceloader: Implement ResourceLoaderRawFileModule for 'mediawiki.js'"
jenkins-bot [Thu, 14 May 2015 22:28:31 +0000 (22:28 +0000)]
Merge "resourceloader: Implement ResourceLoaderRawFileModule for 'mediawiki.js'"

8 years agoProfilerOutputStats: tweak stat key normalization
Ori Livneh [Thu, 14 May 2015 21:49:51 +0000 (14:49 -0700)]
ProfilerOutputStats: tweak stat key normalization

When we convert a profiler entry to a statsd metric key, we replace
nonalphabetic characters with slashes. When part of the key is a file path with
a leading or trailing slash, this can result in keys that look like:
'MediaWiki._srv_mediawiki_foo_.bar', which is a bit ugly. This patch trims
leading and trailing underscores from each dot-separated key segment.

Change-Id: I71172b956f5a6120a75981a15dedf372d3893b88

8 years agoresourceloader: Implement ResourceLoaderRawFileModule for 'mediawiki.js'
Timo Tijhof [Wed, 13 May 2015 18:23:26 +0000 (19:23 +0100)]
resourceloader: Implement ResourceLoaderRawFileModule for 'mediawiki.js'

When adding files to this module, they all imply a global scope.
While most files have their own closure, it is still inconsistent
with normal modules which always have a closure via mw.loader.implement.

Base modules like 'mediawiki' are lacking such a closure, thus making
it hard to share variables within the different files that make up the
module without making it a globally public.

The use case is 13203c0a2180e5, where we could expose the sha1()
library within the scope of this module only.

Change-Id: I93fcd045f47ec6a595b26f739939e1d371832ac9

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 14 May 2015 19:33:30 +0000 (21:33 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Id5d8b4b7f7325a8c32f0ea33128dc49d0a180305

8 years agoAPI Import: Die when namespace and rootpage is set
umherirrender [Thu, 14 May 2015 19:32:30 +0000 (21:32 +0200)]
API Import: Die when namespace and rootpage is set

With I11521260a88a7f4a95fbdb71ac50bcf7b4fe5cd1 the rootpage parameter
gets ignored when namespace parameter is set.
This can break the behaviour for the client. Just break the client by
returning an error instead of silent ignoring a parameter.

Change-Id: Ie1c7447b5d59ff4d3466b504d5d1afc0d296841a

8 years agoApiPageSet: Indicate why a title was invalid
Brad Jorsch [Wed, 6 May 2015 19:33:37 +0000 (15:33 -0400)]
ApiPageSet: Indicate why a title was invalid

May as well.

Bug: T98198
Change-Id: Ib17088a9685c48d7db647896ecd59aced7911374

8 years agoMerge "resourceloader: Remove only=messages"
jenkins-bot [Thu, 14 May 2015 18:10:10 +0000 (18:10 +0000)]
Merge "resourceloader: Remove only=messages"

8 years agoMerge "API: Set HTMLForm when validating field in ApiOptions"
jenkins-bot [Thu, 14 May 2015 17:34:18 +0000 (17:34 +0000)]
Merge "API: Set HTMLForm when validating field in ApiOptions"

8 years agoSet correct default date format for ce
Niklas Laxström [Thu, 14 May 2015 12:35:59 +0000 (14:35 +0200)]
Set correct default date format for ce

Bug: T94665
Change-Id: I71dbd6dd4a25d21d483b5bf8e8a3c049c98c8f67