Brad Jorsch [Mon, 28 Mar 2016 18:53:04 +0000 (14:53 -0400)]
Use ::class in place of string constants
This takes advantage of namespacing, and avoids having
double-backslashes all over the place.
Change-Id: I450fe4e9b1c4cf4e24fced3932fe796cbbadf3a3
jenkins-bot [Mon, 28 Mar 2016 02:36:42 +0000 (02:36 +0000)]
Merge "Explicitly mark SkinTemplate properties as public"
jenkins-bot [Mon, 28 Mar 2016 02:27:29 +0000 (02:27 +0000)]
Merge "API: Normalize input URL in ApiQueryExtLinksUsage"
jenkins-bot [Mon, 28 Mar 2016 02:27:13 +0000 (02:27 +0000)]
Merge "Split Pager classes out of SpecialPage files"
jenkins-bot [Mon, 28 Mar 2016 02:27:09 +0000 (02:27 +0000)]
Merge "Split LocalisationCache.php classes into own files"
jenkins-bot [Mon, 28 Mar 2016 02:23:01 +0000 (02:23 +0000)]
Merge "wgUseMediaWikiUIEverywhere false in Html/XmlTest"
jenkins-bot [Mon, 28 Mar 2016 02:22:44 +0000 (02:22 +0000)]
Merge "Factor SpecilaPageExecutor out of SpecialPageTestBase"
Translation updater bot [Sun, 27 Mar 2016 18:29:34 +0000 (20:29 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I977112d0c7c10d043c8f71ace015cf0d97e373f3
jenkins-bot [Sun, 27 Mar 2016 16:07:22 +0000 (16:07 +0000)]
Merge "Unblock form handling: Check for 'Tags' index in $data from UI before trying to access it"
jenkins-bot [Sat, 26 Mar 2016 22:20:53 +0000 (22:20 +0000)]
Merge "jquery.ui.datepicker: Support sr-ec as user interface language"
Brad Jorsch [Sat, 26 Mar 2016 22:14:43 +0000 (18:14 -0400)]
API: Normalize input URL in ApiQueryExtLinksUsage
This matches the behavior of Special:LinkSearch, and makes it more
likely to give sensible results for non-normalized input.
Bug: T130912
Change-Id: I2f60dd48fdfc24108110a24ad41b297ece7f33df
Aaron Schulz [Fri, 25 Mar 2016 19:35:42 +0000 (12:35 -0700)]
Lower pcTTL in checkRedirect() to 30
The process cache does not see other purges, so lower this
for sanity in case of long-running scripts.
Change-Id: I545ce6b160bb10ffe1877284a397a247c960d885
Ori Livneh [Fri, 25 Mar 2016 20:57:28 +0000 (13:57 -0700)]
Clear process cache in parser tests
Have the parser test set-up code call WANObjectCache::clearProcessCache().
d1c4eafef5 added this to the PHPUnit test set-up code, but not the parser
tests'.
Change-Id: I870c8bae0336afc499224e4c937c6b8d6ab4d457
jenkins-bot [Fri, 25 Mar 2016 22:15:34 +0000 (22:15 +0000)]
Merge "Use distinct log actions for patrol"
jenkins-bot [Fri, 25 Mar 2016 22:08:42 +0000 (22:08 +0000)]
Merge "Enable filtering by action on Special:Log"
cenarium [Sat, 14 Nov 2015 05:32:33 +0000 (06:32 +0100)]
Use distinct log actions for patrol
A distinct log action is provided for automatic patrols.
The old 'auto' param is preserved so that old log entries can still
be correctly identified in logs and API queries.
With I6a61175f9a111c03d15b4d41751c818e3a411ff6, this enables us to
filter new manual patrol entries in logs.
Old automatic entries will be in the wrong list, but still marked
as automatic.
Bug: T27799
Change-Id: I05d962fa3ec45039122bb7e370b7e3fb8bbaa3c8
Fomafix [Fri, 25 Mar 2016 21:45:42 +0000 (21:45 +0000)]
moment: Correct support language codes sr-el and sr
MediaWiki currently uses the language code sr-el for Serbian written
using the Latin script. The language code sr has as fallback sr-ec and
used for Serbian written using the Cyrillic script.
Change-Id: I450ac589cfbe9e1e37c67c4f7f2472c7563c0fc1
jenkins-bot [Fri, 25 Mar 2016 19:33:24 +0000 (19:33 +0000)]
Merge "Request-local caching of image_redirect"
jenkins-bot [Fri, 25 Mar 2016 19:20:13 +0000 (19:20 +0000)]
Merge "Use Diffusion for default Git Viewer"
Ori Livneh [Thu, 24 Mar 2016 22:50:44 +0000 (15:50 -0700)]
Request-local caching of image_redirect
LocalRepo::checkRedirect() cache image redirect checks in memory to avoid
unnecessary trips to memcached. Same idea as Idbd11637.
Change-Id: Idaa12376382aaa0bd8cb988240ec1da0b688359d
Fomafix [Fri, 25 Mar 2016 17:56:26 +0000 (17:56 +0000)]
jquery.ui.datepicker: Support sr-ec as user interface language
MediaWiki currently uses the language code sr-ec for Serbian written using the Cyrillic script.
The language code sr has as fallback sr-ec.
This change allows to use both sr and sr-ec as user interface language.
Change-Id: Iaf6d4db1e986baedb38f53d86a5990dca0cacfb7
Alex Monk [Fri, 25 Mar 2016 04:05:39 +0000 (04:05 +0000)]
Unblock form handling: Check for 'Tags' index in $data from UI before trying to access it
Was showing this notice:
Undefined index: Tags in /path/to/mw/includes/specials/SpecialUnblock.php on line 241
The API sets this but the UI does not
Change-Id: Ibf31c2b9be4d4b621d1745fd87550a383c389f12
jenkins-bot [Fri, 25 Mar 2016 16:50:12 +0000 (16:50 +0000)]
Merge "mw.widgets.TitleWidget: Use the Promise for the data as well"
Ori Livneh [Fri, 25 Mar 2016 16:41:00 +0000 (16:41 +0000)]
Merge "Fix-up for Iaf90c20c33: add missing slash"
Ori Livneh [Fri, 25 Mar 2016 16:38:16 +0000 (09:38 -0700)]
Fix-up for Iaf90c20c33: add missing slash
Change-Id: I92169a3b74123db8ceaca222db760095a7c06d4f
jenkins-bot [Fri, 25 Mar 2016 16:29:33 +0000 (16:29 +0000)]
Merge "Datepicker: Use language code sr-el for Serbian with Latin script"
jenkins-bot [Fri, 25 Mar 2016 16:24:04 +0000 (16:24 +0000)]
Merge "Provide a unique request identifier"
jenkins-bot [Fri, 25 Mar 2016 16:14:35 +0000 (16:14 +0000)]
Merge "Add missing 'public' keywords to some Language methods"
Ori Livneh [Fri, 25 Mar 2016 01:43:23 +0000 (18:43 -0700)]
Provide a unique request identifier
When MediaWiki encounters an unhandled exception, the error message it produces
includes a randomly-generated token, which allows the exception details to be
looked up in the error logs. This is useful but narrow: would it not be useful
to have the ability to retrieve all log records associated with a particular
request, rather than just exception details? (Hint: yes.)
So: introduce the notion of a request-global unique ID, retrievable via
WebRequest::getRequestId(). When MediaWiki is behind Apache + mod_unique_id
(which provides the same facility) or some other software which sets a
UNIQUE_ID envvar, the value of that envvar is used as the request ID.
Otherwise, it is a randomly-generated 24-character string.
The request ID supplants exception-specific IDs; MWExceptionHandler::getLogId()
is deprecated, accordingly. The request ID is also added as an annotation to
all Monolog-processed log records, and is exposed client-side as 'wgRequestId'.
This allows developers to associate a page view with log records even when the
page view does not result in an unhandled exception. (For the WMF, I also
intend to add it as an annotation to profiling data).
The request ID is not a tracking token; it does not persist, and it is
associated with a backend request, not with a particular user or a particular
session. Like the data in the NewPP report, the request ID is designed to be
cacheable, so that if, for example, a developer notices something weird in the
HTML, s/he can associate the output with a backend request regardless of
whether the response was served from the cache or directly from the backend.
Some prior art:
* https://httpd.apache.org/docs/2.4/mod/mod_unique_id.html
* http://api.rubyonrails.org/classes/ActionDispatch/RequestId.html
* https://github.com/dabapps/django-log-request-id
* https://packagist.org/packages/php-middleware/request-id
* https://github.com/rhyselsmore/flask-request-id
Change-Id: Iaf90c20c330e0470b9b98627a0228cadefd301d1
jenkins-bot [Fri, 25 Mar 2016 15:38:18 +0000 (15:38 +0000)]
Merge "Http::getProxy() method to get proxy configuration"
Sébastien Santoro [Fri, 25 Mar 2016 15:10:19 +0000 (15:10 +0000)]
Http::getProxy() method to get proxy configuration
MediaWiki currently uses two sources for proxy configuration:
* the $wgHTTPProxy global configuration variable
* the http_proxy environment variable
The HTTP proxy adress to use is a valuable information for
extensions handling directly HTTP requests instead of use
helper classes provided by the core to construct them.
This change offers an Http::getProxy() utility method to get
the configuration, regardless of the source.
Bug: T117954
Change-Id: I5df31845df71f05ac581f532cc9bd7a1fea25583
jenkins-bot [Fri, 25 Mar 2016 13:55:42 +0000 (13:55 +0000)]
Merge "mediawiki.widgets: Remove use of bind() for lexical 'this' binding"
Timo Tijhof [Fri, 25 Mar 2016 00:35:39 +0000 (00:35 +0000)]
mediawiki.widgets: Remove use of bind() for lexical 'this' binding
Follows-up
4636ac79dd.
Bind can be useful when needing to pass an instance method elewhere.
However when nesting closures, use the scope directly instead of binding 'this'
several layers deep. This is fragile at best and doesn't make it less confusing.
Leave the natural 'this' unchanged. Change this can go wrong both ways and
results in unpredictable behaviour and confusing code that is hard to review.
Sometimes one means the outer 'this' but gets the inner one, and sometimes you
need the inner one (e.g. inside callbacks for jQuery). Consistently assign a
variable and use scope to access objects. Besides, one can't escape it when you
need both.
This avoids an entire class of potential errors. It also performs marginally
better without a binding but that's besides the point as there are other valid
uses of bind().
Change-Id: I1fcfdbd8fa7c52e150cadd8a520591e700c5bfa9
Fomafix [Fri, 25 Mar 2016 11:04:00 +0000 (11:04 +0000)]
Datepicker: Use language code sr-el for Serbian with Latin script
jquery.ui should change from sr-SR to the BCP 47 suggested code sr-Latn.
Bug: T130914
Change-Id: I16a408b88d936dc0b5add9951285af416cd87797
jenkins-bot [Fri, 25 Mar 2016 11:01:08 +0000 (11:01 +0000)]
Merge "Allow titles with falsy title text in suggestions"
jenkins-bot [Fri, 25 Mar 2016 10:47:50 +0000 (10:47 +0000)]
Merge "Use WIS:addWatchBatchForUser in SpecialEditWatchlist"
jenkins-bot [Fri, 25 Mar 2016 10:37:43 +0000 (10:37 +0000)]
Merge "Switch Signature of WatchedItemStore::addWatchBatch"
jenkins-bot [Fri, 25 Mar 2016 10:37:00 +0000 (10:37 +0000)]
Merge "Avoid master queries on deletion form view"
Timo Tijhof [Fri, 25 Mar 2016 00:18:09 +0000 (00:18 +0000)]
media: Misc code clean up in DjVu.php
* Use $cache->makeKey() instead of global.
* Access constants via $cache.
* Remove obsolete 'that = this' PHP 5.3 workaround.
Change-Id: I75505d3e3017fde185e43815d4e7acaba3fee69c
Erik Bernhardson [Thu, 24 Mar 2016 23:35:54 +0000 (16:35 -0700)]
Allow titles with falsy title text in suggestions
A valid title, such as 0, would end up being ignored in this clause and
not providing a title. Make the empty string check stricter to allow
these titles through.
Change-Id: I938a7dfe294e979c19f720eadb6f96282b1c4588
jenkins-bot [Thu, 24 Mar 2016 21:55:22 +0000 (21:55 +0000)]
Merge "Set doesWrites() for Special:Undelete"
Aaron Schulz [Thu, 24 Mar 2016 21:18:27 +0000 (14:18 -0700)]
Set doesWrites() for Special:Undelete
Change-Id: Ie9044c9a57cb354a412ab515208b71ce44e52185
Translation updater bot [Thu, 24 Mar 2016 21:09:30 +0000 (22:09 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I31cbae4f585f73a2a0ab97909206185a0d1c0aef
Aaron Schulz [Thu, 24 Mar 2016 20:53:55 +0000 (13:53 -0700)]
Avoid master queries on deletion form view
Bug: T92357
Change-Id: I9c785e8e541f0e4fb7fa0f11cab2d33c26f7fb3a
jenkins-bot [Thu, 24 Mar 2016 20:49:15 +0000 (20:49 +0000)]
Merge "Define 'zh-hans' and 'zh-hant' localisations for Moment.js"
jenkins-bot [Thu, 24 Mar 2016 20:38:27 +0000 (20:38 +0000)]
Merge "Set $wgIncludeLegacyJavaScript false by default"
jenkins-bot [Thu, 24 Mar 2016 20:31:01 +0000 (20:31 +0000)]
Merge "Throw an exception when the $key argument to hash_hmac is not a string"
Timo Tijhof [Thu, 24 Mar 2016 20:00:45 +0000 (20:00 +0000)]
mw.widgets.TitleWidget: Use the Promise for the data as well
Follows-up
a8eba66. Use the Promise for the data as well instead of
just as a callback to evaluate a static variable. This removes any
risk of race conditions or other misuse of the variable.
Also simplify the array creation by using map instead of pushing
in an each loop.
Change-Id: Ide1489a5139ef3b26cf0de6ca6f2e675ef32c724
jenkins-bot [Thu, 24 Mar 2016 19:59:56 +0000 (19:59 +0000)]
Merge "parserTest: Remove mention of non-existent 'noxml' option"
Gary Guo [Thu, 24 Mar 2016 18:45:46 +0000 (18:45 +0000)]
Define 'zh-hans' and 'zh-hant' localisations for Moment.js
Bug: T123080
Change-Id: I38ac5f1669364f7512be8c63ee51ce1449f6db26
Gergő Tisza [Thu, 24 Mar 2016 18:22:45 +0000 (19:22 +0100)]
Throw an exception when the $key argument to hash_hmac is not a string
HHVM throws a fatal error when $key is not a string (unlike $data which
is typecast), so we might as well as throw an exception so that
at least we have a stack trace.
Bug: T126316
Change-Id: Iad9a499b51647c7dbcd58e9ab7ac8e8cb6359bba
Fomafix [Wed, 27 Jan 2016 15:31:07 +0000 (15:31 +0000)]
mw.widgets.TitleWidget.js: Share interwikiPrefixes between multiple instances
The interwikiPrefixes are static and do not need to load separately for every instance.
Bug: T124899
Change-Id: I316bdcc67ba176d22a70cd30fc3eb72bfe0be509
James D. Forrester [Wed, 16 Mar 2016 10:53:33 +0000 (10:53 +0000)]
Set $wgIncludeLegacyJavaScript false by default
This setting was deprecated in
0ac4f998 but was left as true by default, which
means sysadmins weren't prompted to find and fix faulty code. Setting this to
false by default gives them a release in which to fix the code (setting this
back to true until such fixes are made) before we remove it entirely in the
next MediaWiki release. Extensions, skins, gadgets and scripts that need the
mediawiki.legacy.wikibits module should express a dependency on it in their
ResourceLoader manifest.
Bug: T35836
Change-Id: If787d0975b6019827e81f4ea0d90898e361d9acd
addshore [Wed, 16 Mar 2016 13:54:26 +0000 (13:54 +0000)]
Use WIS:addWatchBatchForUser in SpecialEditWatchlist
Bug: T129481
Change-Id: I550e295786afaf9970fe96788f31d514827cd0bc
addshore [Tue, 22 Mar 2016 18:07:49 +0000 (18:07 +0000)]
Switch Signature of WatchedItemStore::addWatchBatch
Adding batches of watched items per users
makes much more sense.
Only the deprecated static WatchedItem method
needed the old silly way of passing in objects.
Change-Id: I90f9583b66bd3b5afcf07faefedb38a8a0149f6e
Subramanya Sastry [Thu, 24 Mar 2016 17:48:52 +0000 (12:48 -0500)]
Sync up with Parsoid parserTests.
This now aligns with Parsoid commit
5538d868777d2d5abb125dac310550fde3873689
Change-Id: I6750107c92c6dd96fe28ca96e66db43e0235c470
jenkins-bot [Thu, 24 Mar 2016 17:10:35 +0000 (17:10 +0000)]
Merge "Dont count RC_CATEGORIZE in Special:ActiveUsers"
Tjones [Thu, 24 Mar 2016 15:45:43 +0000 (15:45 +0000)]
Merge "Add redirect=no only to redirects on redirect pages"
jenkins-bot [Thu, 24 Mar 2016 15:06:34 +0000 (15:06 +0000)]
Merge "Use WIS::getWatchedItemsForUser in SpecialEditWatchlist"
jenkins-bot [Thu, 24 Mar 2016 15:06:30 +0000 (15:06 +0000)]
Merge "Introduce basic SpecialEditWatchlistTest"
jenkins-bot [Thu, 24 Mar 2016 15:03:32 +0000 (15:03 +0000)]
Merge "Introduce basic SpecialWatchlistTest"
jenkins-bot [Thu, 24 Mar 2016 15:03:28 +0000 (15:03 +0000)]
Merge "Cast row namespace to int in SpecialWatchlist"
addshore [Thu, 24 Mar 2016 14:51:13 +0000 (14:51 +0000)]
wgUseMediaWikiUIEverywhere false in Html/XmlTest
It seems both of these tests assertions all expect
this to be false.
Ic675e92d8dd8f11fa67914d2ce1dc00a379106ca
ended up discovering these issues somehow
with these tests suddenly starting to fail.
Change-Id: I9d2d3c18d1c9640e2ff04d6fd4296abb86e26877
addshore [Thu, 24 Mar 2016 14:00:41 +0000 (14:00 +0000)]
Factor SpecilaPageExecutor out of SpecialPageTestBase
Change-Id: I3c8ae980db5ba3b34bd6664f400bc3b5cdf587c0
addshore [Thu, 24 Mar 2016 13:18:38 +0000 (13:18 +0000)]
Introduce basic SpecialEditWatchlistTest
Change-Id: I9f765c4183314850169f685abd242e979a79bd68
addshore [Thu, 24 Mar 2016 13:11:07 +0000 (13:11 +0000)]
Introduce basic SpecialWatchlistTest
Change-Id: I98a2ad112189a09581a0564da3c3357939a5d7de
Ricordisamoa [Thu, 24 Mar 2016 13:02:50 +0000 (14:02 +0100)]
Add missing 'public' keywords to some Language methods
All of them are already being used outside the class:
* getFallbackLanguages
* getBookstoreList
* getFormattedNamespaces
* getNsText
* getFormattedNsText
* getGenderNsText
* needsGenderDistinction
* getNamespaceAliases
* getNamespaceIds
* getNsIndex
* getVariantname
* getDatePreferences
* getDefaultDateFormat
* getDatePreferenceMigrationMap
* getImageFiles
* getExtraUserToggles
* getMessageFromDB
* getMonthName
* getMonthNamesArray
* getMonthNameGen
Change-Id: Iff5495596c5a711259c45b4d57c453aad9526a9a
addshore [Wed, 16 Mar 2016 13:40:40 +0000 (13:40 +0000)]
Use WIS::getWatchedItemsForUser in SpecialEditWatchlist
This also adds a order option to:
WacthedItemStore::getWatchedItemsForUser
Tests are also updated
Change-Id: Ia683b92846ad79bde3f37068a8e168c5a8bdc201
addshore [Thu, 24 Mar 2016 11:25:40 +0000 (11:25 +0000)]
Split Pager classes out of SpecialPage files
Change-Id: I6c8dbc9084040dd3b8a5e19caaf076bd14b77762
addshore [Thu, 24 Mar 2016 11:02:29 +0000 (11:02 +0000)]
Dont count RC_CATEGORIZE in Special:ActiveUsers
Bug: T130550
Change-Id: Ia2296586d35bb21085fcf386f26ad6f4e765e534
addshore [Mon, 21 Mar 2016 11:51:16 +0000 (11:51 +0000)]
Split LocalisationCache.php classes into own files
Change-Id: I1b88081e6b082fcad73990550a3ffbf58e11d97e
addshore [Thu, 24 Mar 2016 10:43:58 +0000 (10:43 +0000)]
Cast row namespace to int in SpecialWatchlist
Something similar to this recently got through
and caused exceptions on mw.org
This looks like the same thing, a ns from a db row
being handed straight to the TitleValue constructor
without being cast.
Change-Id: Ic126cd713c5210c9ae3d8e805081849ccf84a7f6
jenkins-bot [Thu, 24 Mar 2016 10:38:19 +0000 (10:38 +0000)]
Merge "ZipDirectoryReader: Don't try to parse zero-length files"
jenkins-bot [Thu, 24 Mar 2016 10:33:23 +0000 (10:33 +0000)]
Merge "MimeMagic: Prevent PHP warning when trying to read zero bytes"
Bartosz Dziewoński [Thu, 24 Mar 2016 09:14:03 +0000 (10:14 +0100)]
ZipDirectoryReader: Don't try to parse zero-length files
With the current code, 'zip-bad' would be returned (eventually). I think
'zip-wrong-format' is a more correct response. This prevents weird errors
when trying to upload such a file (and results in saner errors instead).
Change-Id: Ic2c010f318d98df4783da1cf5126e8dd88aa9014
Bartosz Dziewoński [Thu, 24 Mar 2016 09:06:34 +0000 (10:06 +0100)]
MimeMagic: Prevent PHP warning when trying to read zero bytes
Honestly, there's no reason why fread() should warn when asked to read
zero bytes. It should just return zero bytes of content. Eh, PHP.
Bug: T130813
Change-Id: I56c4826759390bdbf6af04da28e2d9ed07781bca
Ricordisamoa [Thu, 24 Mar 2016 08:44:09 +0000 (09:44 +0100)]
Always use 'bool' instead of 'boolean' in Doxygen tags
Just like commit
f86a5590aae7fbe6d9b8a3d129c7a04a11a27579
Change-Id: Ic9d08bca6524d6bb4baf5170c081ad0f3d738e28
jenkins-bot [Thu, 24 Mar 2016 06:56:30 +0000 (06:56 +0000)]
Merge "Improve sign-up portion of the login form"
jenkins-bot [Thu, 24 Mar 2016 04:44:21 +0000 (04:44 +0000)]
Merge "Title: Fix inaccurate documentation of getUserPermissionsErrorsInternal"
Matthew Flaschen [Fri, 18 Mar 2016 23:54:46 +0000 (19:54 -0400)]
Title: Fix inaccurate documentation of getUserPermissionsErrorsInternal
Blocks are checked (checkUserBlock).
Change-Id: I3a164d1003f2bea3e3e07081c9bebfabd884ade9
jenkins-bot [Thu, 24 Mar 2016 03:45:16 +0000 (03:45 +0000)]
Merge "OutputPage: Minor clean up of <head> and HTML"
Timo Tijhof [Thu, 18 Feb 2016 16:33:15 +0000 (16:33 +0000)]
OutputPage: Minor clean up of <head> and HTML
* Remove trailing space in self-closing tag.
Brings parserTest output of Parser and Parsoid closer together.
* Remove various line breaks at begin and end of script contents.
* Remove FILTER_NOMIN from makeConfigSetScript() output.
This isn't part of any user- or page-dependent module and not minified.
And Xml::encodeJsCall already ensures compact output for prod mode.
Bug: T127328
Change-Id: I85a5a59fd0955c1a112e8b24b933f0d9e983a156
jenkins-bot [Thu, 24 Mar 2016 02:56:31 +0000 (02:56 +0000)]
Merge "jquery.suggestions: Fix typo "singleton" in documentation"
Timo Tijhof [Thu, 24 Mar 2016 02:44:47 +0000 (02:44 +0000)]
jquery.suggestions: Fix typo "singleton" in documentation
Change-Id: I81af9a1974ea9c9dcd26f201bf055554087ccd99
jenkins-bot [Thu, 24 Mar 2016 01:04:14 +0000 (01:04 +0000)]
Merge "Request-local caching of DjVu dimensions"
Timo Tijhof [Tue, 8 Mar 2016 18:32:37 +0000 (18:32 +0000)]
parserTest: Remove mention of non-existent 'noxml' option
The 'noxml' documentation in parserTests.txt was added in 2006 (
7eea2398; r12504),
however it wasn't actually implemented.
It wasn't until 2009 (
7aa4a8f9; r54767) that $wgWellFormedXml was created,
which defaults to true and has no relation to this option.
Remove the 'noxml' options from existing tests.
Change-Id: Ie3ae9f491b5747716080607b81b9763bf2bcc889
jenkins-bot [Wed, 23 Mar 2016 23:28:58 +0000 (23:28 +0000)]
Merge "Request-local caching of revision text"
Ori Livneh [Wed, 23 Mar 2016 19:37:01 +0000 (12:37 -0700)]
Request-local caching of DjVu dimensions
Make DjVuHandler::getDimensionInfo() cache dimension info in memory so that
operations which get the dimensions of each page don't result in multiple
round-trips to memcached.
Change-Id: Idbd11637a8f7d87e4774f76a5b90d7469f3b0857
Timo Tijhof [Sat, 12 Mar 2016 02:19:35 +0000 (02:19 +0000)]
mediawiki.requestIdleCallback: Implement timeRemaining()
This matches the native API. This allows callers to better batch and spread out
expensive operations based on actual execution speed.
Right now CentralNotice is manually creating arbitrarily sized batches in
kvStoreMaintenance. Instead this can use a while loop with timeRemaining()
to run as quickly as possible whilst still being able to stop and yield when
it runs for too long. This way will naturally take more iterations on slow
devices and less iterations on faster ones - to be least disruptive.
While timeRemaining() is already available in the native interface,
it was previously unsafe to call because the fallback didn't implement it.
* Remove redundant QUnit.test() expect numbers.
* Add a test for the native one if available. This will catch silly mistakes
like assigning the native one to mw.requestIdleCallback directly that result
in 'Uncaught TypeError: Illegal invocation' due to missing call context.
Change-Id: I9721fab9e89c561e31101b5556a3748431353548
jenkins-bot [Wed, 23 Mar 2016 21:55:54 +0000 (21:55 +0000)]
Merge "Cast namespaceId to int in SpecialEditWatchlist::cleanupWatchlist"
addshore [Wed, 23 Mar 2016 21:21:00 +0000 (21:21 +0000)]
Cast namespaceId to int in SpecialEditWatchlist::cleanupWatchlist
Bug: T130778
Change-Id: I4b62e5b251f8c3d31aa2f76a9988b5cb7c8cf3b7
jenkins-bot [Wed, 23 Mar 2016 21:20:56 +0000 (21:20 +0000)]
Merge "SpecialUploadStash: Add links to view a thumb of each uploaded file"
Translation updater bot [Wed, 23 Mar 2016 20:54:56 +0000 (21:54 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: Idf395e9379605a64103df4ee0ce3847b600f5ede
Aaron Schulz [Fri, 4 Mar 2016 19:58:20 +0000 (11:58 -0800)]
Cleanups to WikiRevision
* Check for blank $source variable more properly.
* Avoid use of ugly File::DELETE_SOURCE flag.
* Remove now-unused $flags parameter to uploadOld().
Change-Id: I6bc610cfead0036700b4f9a82e13f2bd9ab10f32
jenkins-bot [Wed, 23 Mar 2016 15:45:45 +0000 (15:45 +0000)]
Merge "Add WatchedItemStore::getWatchedItemsForUser"
jenkins-bot [Wed, 23 Mar 2016 14:58:51 +0000 (14:58 +0000)]
Merge "Ensure that User::getId() returns int"
addshore [Tue, 15 Mar 2016 22:19:16 +0000 (22:19 +0000)]
Add WatchedItemStore::getWatchedItemsForUser
This method is also no used in SpecialEditWatchlist
Unit and Integration tests have also been added.
Bug: T129481
Change-Id: Ica136b6fee63be8de4c2fe502288dd2318d99114
jenkins-bot [Wed, 23 Mar 2016 10:37:13 +0000 (10:37 +0000)]
Merge "SessionManager: Use existing backend for the ID if one is loaded"
Ori Livneh [Wed, 23 Mar 2016 00:21:48 +0000 (17:21 -0700)]
Request-local caching of revision text
It's not uncommon for the revision text of a Scribunto module to be retrieved
half a dozen times or more in the course of a single request. Caching them in
APC is a non-starter, because there is no practical way to determine which keys
are hot, and storing everything in APC is not viable. Request-local caching
gives us much of the benefit with no negative consequences apart from a nominal
increase to memory usage.
Use a MapCacheLRU to hold cache items so we can limit the size of the cache to
10 items, to prevent uncontrolled memory growth for long-running scripts.
Change-Id: I77575d6d0ea2d06fc6c93f664c5407641aab88d9
jenkins-bot [Wed, 23 Mar 2016 00:56:01 +0000 (00:56 +0000)]
Merge "Add new index to make updateCollation.php painless"