Aaron Schulz [Thu, 21 May 2015 06:56:25 +0000 (23:56 -0700)]
Avoid pointless getNativeData() call in isCountable()
Change-Id: I40ed1972a8815de645d11217b35c1060d5007e5a
jenkins-bot [Wed, 20 May 2015 23:56:25 +0000 (23:56 +0000)]
Merge "registration: 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
Aaron Schulz [Wed, 20 May 2015 23:01:51 +0000 (16:01 -0700)]
Flush lazy jobs in load.php and api.php too
* A more proper solution will have one method for all this stuff
Bug: T99775
Bug: T99849
Change-Id: I16a32b260386a85504eb85ea58f1156b4e581a83
kaldari [Wed, 20 May 2015 21:47:14 +0000 (21:47 +0000)]
Merge "Bumping lightncandy version from 0.18 to 0.21"
jenkins-bot [Wed, 20 May 2015 20:25:17 +0000 (20:25 +0000)]
Merge "Fix Special:Preferences onBeforeUnload handler"
jenkins-bot [Wed, 20 May 2015 20:10:02 +0000 (20:10 +0000)]
Merge "Pass a message key to MalformedTitleException constructor"
Florian [Wed, 20 May 2015 20:05:24 +0000 (22:05 +0200)]
Fix Special:Preferences onBeforeUnload handler
Bug: T94194
Change-Id: If9e3836c6061cf99dc0859dafb99b9456e6efd0e
Translation updater bot [Wed, 20 May 2015 19:45:18 +0000 (19:45 +0000)]
Merge "Localisation updates from https://translatewiki.net."
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
Translation updater bot [Wed, 20 May 2015 19:39:59 +0000 (21:39 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I606ac1f2237b561daf4bc88426e3b9f5e65a8fc9
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
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
jenkins-bot [Wed, 20 May 2015 09:14:00 +0000 (09:14 +0000)]
Merge "Message text clarified."
jenkins-bot [Wed, 20 May 2015 07:49:07 +0000 (07:49 +0000)]
Merge "Make JobRunner flush DeferredUpdates after each job"
jenkins-bot [Wed, 20 May 2015 07:21:35 +0000 (07:21 +0000)]
Merge "Simplified doEditContent exception handling"
jenkins-bot [Wed, 20 May 2015 07:08:33 +0000 (07:08 +0000)]
Merge "Fixed wrong EnqueueJob comment"
jenkins-bot [Wed, 20 May 2015 04:48:59 +0000 (04:48 +0000)]
Merge "Do not allow setting deprecated $wgSpecialPageGroups over extension.json"
Aaron Schulz [Wed, 20 May 2015 02:26:36 +0000 (19:26 -0700)]
Fixed wrong EnqueueJob comment
Change-Id: I8a84bae9cd4206eb042e5a29c91d8281e296ecd1
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
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
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
Translation updater bot [Tue, 19 May 2015 19:47:12 +0000 (21:47 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Idff54a370b7401517d4f2313576773bc765ca3e4
jenkins-bot [Tue, 19 May 2015 15:23:54 +0000 (15:23 +0000)]
Merge "registration: Have cache entries expire after 24 hours"
jenkins-bot [Tue, 19 May 2015 15:05:53 +0000 (15:05 +0000)]
Merge "registration: Remove implementation of custom processors for now"
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"
jenkins-bot [Tue, 19 May 2015 14:27:05 +0000 (14:27 +0000)]
Merge "Added documentation for HTMLFormField's "hide-if""
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
jenkins-bot [Tue, 19 May 2015 07:44:44 +0000 (07:44 +0000)]
Merge "Added ObjectCache::getMainStashInstance() and $wgMainStash"
jenkins-bot [Tue, 19 May 2015 06:03:35 +0000 (06:03 +0000)]
Merge "Revert "Remove invalid language code "bh" (alias of "bho")""
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
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
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
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
Aaron Schulz [Mon, 18 May 2015 21:20:35 +0000 (14:20 -0700)]
Make JobRunner flush DeferredUpdates after each job
Change-Id: Iff6625ddc04a15751d2bb07dc6558145e7ceb14a
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
Bartosz Dziewoński [Mon, 18 May 2015 21:56:07 +0000 (23:56 +0200)]
Reapply
f45be1f78b8462a62d77893fd7ac15757b049381
Accidentally reverted in
8a157f34c83a69c0b93be1a009f814179f4ff5ab.
Change-Id: I027f71961672936dc8c7d51b5e6313215748c21b
jenkins-bot [Mon, 18 May 2015 21:02:11 +0000 (21:02 +0000)]
Merge "Use getActionName() static"
Federico Leva [Mon, 18 May 2015 20:20:00 +0000 (22:20 +0200)]
Use getActionName() static
Change-Id: I3225ecd2b8e4294c28ea0aa664f0246d0d028b11
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
Translation updater bot [Mon, 18 May 2015 19:35:35 +0000 (21:35 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: If429c59c6cc6733a9fc4fa92bb3f18f5f045fd7e
jenkins-bot [Mon, 18 May 2015 19:24:43 +0000 (19:24 +0000)]
Merge "Support changing icon variants on hover"
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
jenkins-bot [Mon, 18 May 2015 18:38:27 +0000 (18:38 +0000)]
Merge "Better message wording."
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
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
jenkins-bot [Mon, 18 May 2015 14:46:26 +0000 (14:46 +0000)]
Merge "API Import: Die when namespace and rootpage is set"
jenkins-bot [Mon, 18 May 2015 10:47:42 +0000 (10:47 +0000)]
Merge "registration: Remove duplicate "ParserTestFiles" key from schema"
jenkins-bot [Mon, 18 May 2015 08:47:31 +0000 (08:47 +0000)]
Merge "Set correct default date format for ce"
jenkins-bot [Mon, 18 May 2015 08:34:10 +0000 (08:34 +0000)]
Merge "Converted FileBackendStore to using the WAN cache"
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
jenkins-bot [Mon, 18 May 2015 06:38:06 +0000 (06:38 +0000)]
Merge "Converted User object cache to the WAN cache"
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
jenkins-bot [Mon, 18 May 2015 06:08:27 +0000 (06:08 +0000)]
Merge "Cleanups to WANObjectCache::getWithSetCallback code"
jenkins-bot [Mon, 18 May 2015 06:02:46 +0000 (06:02 +0000)]
Merge "Reduced the rate of RecentChangesUpdateJob insertion"
jenkins-bot [Mon, 18 May 2015 06:01:25 +0000 (06:01 +0000)]
Merge "Added RedisBagOStuff FIXME comments"
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
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
jenkins-bot [Sun, 17 May 2015 22:33:58 +0000 (22:33 +0000)]
Merge "Log 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
Translation updater bot [Sun, 17 May 2015 19:35:25 +0000 (21:35 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I766dea0aabf21c0bb94ec661d3dc55a5127bae0f
jenkins-bot [Sun, 17 May 2015 02:44:28 +0000 (02:44 +0000)]
Merge "Remove 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
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
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
Nemo bis [Sat, 16 May 2015 19:48:08 +0000 (21:48 +0200)]
Declare global in Action
Follows up
e928d5bdd0fbc63.
Change-Id: I06e8490865554a0efa7678be6787deb8a22c5b82
Translation updater bot [Sat, 16 May 2015 19:22:50 +0000 (21:22 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I3f5d2caaab8f4264574f7eb1c9aab9ba3791a7f3
Aaron Schulz [Fri, 15 May 2015 23:03:01 +0000 (16:03 -0700)]
Removed extra return in triggerOpportunisticLinksUpdate
Change-Id: Ifbce1ce6e940e4e7afbd1267283a4d0568713f6b
jenkins-bot [Sat, 16 May 2015 15:19:38 +0000 (15:19 +0000)]
Merge "Convert mediawiki.toc and mediawiki.user to using mw.cookie"
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"
Aaron Schulz [Fri, 15 May 2015 22:55:09 +0000 (15:55 -0700)]
Added RedisBagOStuff FIXME comments
Change-Id: I6f4f85166584439a38d632356f3ed95e4fd4fd6f
Aaron Schulz [Fri, 15 May 2015 23:00:00 +0000 (16:00 -0700)]
Reduced the rate of RecentChangesUpdateJob insertion
Change-Id: Ic7db658f45365ca8ddf7f9dc807a30bc707fe517
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
mjbmr [Fri, 8 May 2015 01:51:51 +0000 (01:51 +0000)]
Fix name of South Azerbaijani
Change-Id: Ibae3eb2c26a4acf1e9e8a3d3ccc852e8a0b61b06
jenkins-bot [Fri, 15 May 2015 20:23:04 +0000 (20:23 +0000)]
Merge "Always pass a valid User object to LoginUserMigrated hook"
jenkins-bot [Fri, 15 May 2015 20:23:00 +0000 (20:23 +0000)]
Merge "ApiOpenSearch: Don't output warnings in JSON mode"
jenkins-bot [Fri, 15 May 2015 20:14:06 +0000 (20:14 +0000)]
Merge "Use touchCheckKey when purging tag usage stats"
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
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
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
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
Translation updater bot [Fri, 15 May 2015 19:02:17 +0000 (21:02 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ia192a2aff8018267a1d3fe756d6a21acd05a6bc2
jenkins-bot [Fri, 15 May 2015 18:45:50 +0000 (18:45 +0000)]
Merge "Revert "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
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
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
Federico Leva [Fri, 15 May 2015 12:52:08 +0000 (14:52 +0200)]
Shorter OutputPage access
Change-Id: Ieb7387ece84accdc96104b23b5c237973423f768
mjbmr [Fri, 8 May 2015 00:34:37 +0000 (00:34 +0000)]
Fix name of Central Kurdish language
Change-Id: Ia5cf87e5c3f65f9a3d76b95b75b3bdc0f1472713
jenkins-bot [Fri, 15 May 2015 10:42:51 +0000 (10:42 +0000)]
Merge "Allow to customise addHelpLink() target via system message"
jenkins-bot [Fri, 15 May 2015 09:23:06 +0000 (09:23 +0000)]
Merge "Remove 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
mjbmr [Mon, 11 May 2015 17:59:29 +0000 (17:59 +0000)]
Fix name of Bakthiari language
Change-Id: I684f4e7c1b1f45bbd0a1a0a6b037a369a4276d86
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
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
jenkins-bot [Thu, 14 May 2015 22:28:31 +0000 (22:28 +0000)]
Merge "resourceloader: Implement ResourceLoaderRawFileModule for 'mediawiki.js'"
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
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
Translation updater bot [Thu, 14 May 2015 19:33:30 +0000 (21:33 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Id5d8b4b7f7325a8c32f0ea33128dc49d0a180305
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
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