Marius Hoch [Fri, 2 Jan 2015 18:33:04 +0000 (19:33 +0100)]
Make Linker::formatLinksInComment format links to other wikis
Needed for CentralAuth.
Change-Id: Ibdedf087f85046646450367cbf1811db578d8f4b
Bryan Davis [Thu, 8 Jan 2015 23:24:50 +0000 (16:24 -0700)]
Guard against unset key access in ResourceLoaderImageModule
Seen in production error logs:
Undefined index: icon in ResourceLoaderImageModule.php on line 162
Undefined index: icon in ResourceLoaderImageModule.php on line 185
Change-Id: I44e16563bda2dcc0be3c9694ed2b09d20b3d7468
daniel [Fri, 9 Jan 2015 14:18:14 +0000 (14:18 +0000)]
Check $wgAjaxEditStash before using cached edits.
Without this, stale data from the cache may still be used
even after $wgAjaxEditStash was disabled.
This is important mainly during testing, when a reliable way
to toggle stashing is needed to investigate issues that may
be related to the stashing mechanism.
Change-Id: Ib9ff68b43763e3857d1a28e34b48439d78c1ed5c
jenkins-bot [Fri, 9 Jan 2015 17:04:54 +0000 (17:04 +0000)]
Merge "Remove silly debug line"
jenkins-bot [Fri, 9 Jan 2015 17:02:38 +0000 (17:02 +0000)]
Merge "Don't call localisation functions when initializing pageset"
Mark Holmquist [Fri, 9 Jan 2015 16:57:24 +0000 (10:57 -0600)]
Remove silly debug line
This is flooding logstash with "thumbnail buckets null" which is neither
helpful nor necessary.
Change-Id: I9ce6d75c53ec5c10e32b056ae3eeee035b189b18
jenkins-bot [Fri, 9 Jan 2015 16:22:25 +0000 (16:22 +0000)]
Merge "Skip ApiStashEdit if custom DataUpdates are present."
daniel [Fri, 9 Jan 2015 15:51:15 +0000 (15:51 +0000)]
Skip ApiStashEdit if custom DataUpdates are present.
Bug: T86305
Change-Id: I423ba39a46a08edf2862b8439169ff91338fb6eb
gladoscc [Thu, 1 Jan 2015 09:58:49 +0000 (20:58 +1100)]
Rename testBug32548Exponent to testExponentLineBreaking
Fix for @todo
Change-Id: I0dcef36fe9cee95ae320b535bac883d5e26ad140
Niklas Laxström [Fri, 9 Jan 2015 09:15:30 +0000 (10:15 +0100)]
Unbreak master by restoring Profiler::profile(In|Out)
Keep functions in the abstract class to keep BC with SMW.
To I781f62be9
Change-Id: I81d3912cbffc88ed66c9d6d787db9f1ffe3b2de3
jenkins-bot [Fri, 9 Jan 2015 07:31:26 +0000 (07:31 +0000)]
Merge "Don't discourage usage of Html::element()"
Federico Leva [Fri, 9 Jan 2015 07:02:42 +0000 (08:02 +0100)]
Don't discourage usage of Html::element()
Old advice from 2009 (
7aa4a8f9), not quite useful nowadays. The preceding
sentence already says that in absence of attributes the function may not
do much.
Change-Id: I4d276d6f42394fc09662ddfd7e1ffd13fb197bf6
jenkins-bot [Fri, 9 Jan 2015 01:01:30 +0000 (01:01 +0000)]
Merge "mw.ui: checkbox: Add state change transition"
jenkins-bot [Thu, 8 Jan 2015 23:37:53 +0000 (23:37 +0000)]
Merge "Export mw.Message's string formatter as mw.format"
Ori Livneh [Tue, 6 Jan 2015 18:23:41 +0000 (10:23 -0800)]
Export mw.Message's string formatter as mw.format
For very simple string formatting, make mw.Message's `$N` substring
interpolation functionality available publicly as mw.format.
Change-Id: I87f62ac478aab80994caf79d3c89e1215cf088d4
Bryan Davis [Tue, 30 Dec 2014 23:42:32 +0000 (16:42 -0700)]
Introduce Composer merge plugin
Require Composer merge plugin to allow easier local Composer dependency
management without composer.json edit conflicts. The configuration
provided will merge Composer configuration directives found in
a `composer.local.json` config file into those specified by MediaWiki's
composer.json file at Composer runtime.
Bug: T67188
Change-Id: I66a19d0154191e536aab37a5e183e4505bf3e9be
Max Semenik [Fri, 2 Jan 2015 08:47:26 +0000 (00:47 -0800)]
Don't call localisation functions when initializing pageset
Language::commaList() gets called even though in 99% of cases it's not
description that's needed but other parameter information, resulting in
0.6% of overall cluster CPU time being wasted per
https://performance.wikimedia.org/xenon/svgs/daily/2015-01-02.svgz
Change-Id: Ic77e4a03d1bbd1aa5f86dc250d9f903d7eb25618
Translation updater bot [Thu, 8 Jan 2015 21:18:22 +0000 (22:18 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: Ib7fd6758e921b9b58f23304b8b64518af746ccca
Niklas Laxström [Thu, 8 Jan 2015 09:30:05 +0000 (10:30 +0100)]
Don't say either when providing only one example
To I2b0e0ac1a
Change-Id: If47de90c11cf0c6f555fb15261fc5884d2acf59f
jenkins-bot [Thu, 8 Jan 2015 19:49:53 +0000 (19:49 +0000)]
Merge "Log to DBPerformance log when many LB connections are acquired"
jenkins-bot [Thu, 8 Jan 2015 19:47:40 +0000 (19:47 +0000)]
Merge "Fix typo references in comments to ResourceLoaderStartUpModule"
jenkins-bot [Thu, 8 Jan 2015 19:45:30 +0000 (19:45 +0000)]
Merge "Made profileIn/profileOut methods a no-op"
Ricordisamoa [Thu, 8 Jan 2015 19:11:57 +0000 (20:11 +0100)]
Fix phpcs errors in includes/
Mostly Squiz.WhiteSpace.SuperfluousWhitespace.EmptyLines
Change-Id: I678b2f0902f11cd1dfa1611b9da24e7237df9122
Aaron Schulz [Sat, 20 Dec 2014 11:58:35 +0000 (03:58 -0800)]
Log to DBPerformance log when many LB connections are acquired
Change-Id: Idcb7233bc418a793b87f4d445807be5eced12d95
Adrian Heine [Thu, 8 Jan 2015 08:56:10 +0000 (09:56 +0100)]
Fix typo references in comments to ResourceLoaderStartUpModule
Change-Id: I73436f76d0b42f6f9c0b3277a1b07fb6c2d7eb81
jenkins-bot [Thu, 8 Jan 2015 17:51:37 +0000 (17:51 +0000)]
Merge "Added ProfilerSectionOnly class"
jenkins-bot [Thu, 8 Jan 2015 17:48:33 +0000 (17:48 +0000)]
Merge "Switched API to using scopedProfileIn()"
jenkins-bot [Thu, 8 Jan 2015 17:47:16 +0000 (17:47 +0000)]
Merge "Removed remaining profile calls"
jenkins-bot [Thu, 8 Jan 2015 17:39:47 +0000 (17:39 +0000)]
Merge "Remove $wgDebugFunctionEntry, unused"
jenkins-bot [Thu, 8 Jan 2015 17:23:41 +0000 (17:23 +0000)]
Merge "Added MapCacheLRU::getAllKeys() method"
jenkins-bot [Thu, 8 Jan 2015 16:23:49 +0000 (16:23 +0000)]
Merge "Add a sort parameter to SearchEngine"
jenkins-bot [Thu, 8 Jan 2015 16:01:03 +0000 (16:01 +0000)]
Merge "Always use the canonical extension name when necessary"
jenkins-bot [Thu, 8 Jan 2015 15:46:10 +0000 (15:46 +0000)]
Merge "Change loading order of Chinese conversion tables"
Liangent [Thu, 4 Sep 2014 12:19:43 +0000 (12:19 +0000)]
Change loading order of Chinese conversion tables
Apply the conversion variants from specific zones before zh-hans
and zh-hant, to allow fitting specific linguistic habits before
falling back to the generic ones. The actual rules will be added
in a followup patch.
Previously, the zh-cn table was composed by:
(1) Load zh2Hans as zh-hans table
(2) Load zh2CN + zh2Hans as zh-cn table
(3) Load Conversiontable/zh-hans + zh-hans as zh-hans table
(4) Load Conversiontable/zh-cn + zh-cn as zh-cn table
(5) Load zh-hans + zh-cn as the final zh-cn table
The new loading order is:
(1) Load zh2Hans as zh-hans table
(2) Load zh2CN as zh-cn table
(3) Load Conversiontable/zh-hans + zh-hans as zh-hans table
(4) Load Conversiontable/zh-cn + zh-cn as zh-cn table
(5) Load zh-cn + zh-hans as the final zh-cn table
Change-Id: Ie9d08b85d4911618946fa7efd23eb898412449e5
aude [Fri, 19 Dec 2014 09:20:38 +0000 (10:20 +0100)]
Cleanup SiteListFileCache test files in tearDown
Also use tempnam instead of time().
Bug: T84970
Change-Id: I5eb4379671cde45f70bb03d4634f9f34495a6b29
Brad Jorsch [Thu, 8 Jan 2015 12:33:38 +0000 (07:33 -0500)]
Allow CACHE_NONE as a fallback for ObjectCache::newAccelerator
Test for null specifically rather than falsiness,
because CACHE_NONE is 0.
Bug: T86162
Change-Id: I98b9da42c6a5fd6cdf721cdbd5473a5e959581b8
Prateek Saxena [Thu, 8 Jan 2015 10:19:09 +0000 (15:49 +0530)]
mw.ui: Add an example of using the icon class with a button
Change-Id: I2728aaad60ff68134a18f94ae0b2e258a65ac4b0
Aaron Schulz [Thu, 8 Jan 2015 10:55:43 +0000 (02:55 -0800)]
Switched API to using scopedProfileIn()
Change-Id: Iaafad236c3e4c85e1b491e76f61322a266123ba6
Aaron Schulz [Thu, 8 Jan 2015 10:32:34 +0000 (02:32 -0800)]
Removed remaining profile calls
Change-Id: I31c81c78715048004fc8fca0f27d09c1fa71c118
Aaron Schulz [Thu, 8 Jan 2015 10:10:02 +0000 (02:10 -0800)]
Added ProfilerSectionOnly class
Change-Id: I45d1036433a7cca13293de22adf1b63b916393fe
Aaron Schulz [Thu, 8 Jan 2015 09:54:51 +0000 (01:54 -0800)]
Made profileIn/profileOut methods a no-op
Change-Id: I781f62be9747bb41af6faad6fbe265414fb77669
Chad Horohoe [Thu, 8 Jan 2015 05:07:24 +0000 (21:07 -0800)]
Remove $wgDebugFunctionEntry, unused
Change-Id: I5f215ab2275333b329406ca7dda7b12fc0b9b6ec
Aaron Schulz [Wed, 7 Jan 2015 21:57:56 +0000 (13:57 -0800)]
Converted some profiling to scopedProfileIn
Change-Id: I63eb315155ef03d20a2d228c2be07a24baa0c278
Kunal Mehta [Wed, 15 Oct 2014 00:31:15 +0000 (17:31 -0700)]
Implement extension registration from an extension.json file
Introduces wfLoadExtension()/wfLoadSkin() which should be used in
LocalSettings.php rather than require-ing a PHP entry point.
Extensions and skins would add "extension.json" or "skin.json" files
in their root, which contains all the information typically
present in PHP entry point files (classes to autoload, special pages,
API modules, etc.) A full schema can be found at
docs/extension.schema.json, and a script to validate these to the
schema is provided. An additional script is provided to convert
typical PHP entry point files into their JSON equivalents.
The basic flow of loading an extension goes like:
* Get the ExtensionRegistry singleton instance
* ExtensionRegistry takes a filename, reads the file or tries
to get the parsed JSON from APC if possible.
* The JSON is run through a Processor instance,
which registers things with the appropriate
global settings.
* The output of the processor is cached in APC if possible.
* The extension/skin is marked as loaded in the
ExtensionRegistry and a callback function is executed
if one was specified.
For ideal performance, a batch loading method is also provided:
* The absolute path name to the JSON file is queued
in the ExtensionRegistry instance.
* When loadFromQueue() is called, it constructs a hash
unique to the members of the current queue, and sees
if the queue has been cached in APC. If not, it processes
each file individually, and combines the result of each
Processor into one giant array, which is cached in APC.
* The giant array then sets various global settings,
defines constants, and calls callbacks.
To invalidate the cached processed info, by default the mtime
of each JSON file is checked. However that can be slow if you
have a large number of extensions, so you can set $wgExtensionInfoMTime
to the mtime of one file, and `touch` it whenever you update
your extensions.
Change-Id: I7074b65d07c5c7d4e3f1fb0755d74a0b07ed4596
Aaron Schulz [Wed, 7 Jan 2015 22:19:06 +0000 (14:19 -0800)]
Converted some section profiling to scopedProfileIn
Change-Id: If69de34a046f4f33fc57b93beaf264f522ce7386
Nik Everett [Fri, 24 Jan 2014 08:15:16 +0000 (00:15 -0800)]
Add a sort parameter to SearchEngine
SearchEngine grows a method to list valid sort orders one to set the
sort for the next search, and one to read it. The default implemenation
only supports 'relevance' and the documenation strongly urges that all
other implemenations leave that as the default. Other implementations
can support other orders. Cirrus already supports title_asc and title_desc.
Change-Id: Ie946150c6796139201221dfa6f7750c210e97166
jenkins-bot [Wed, 7 Jan 2015 21:38:38 +0000 (21:38 +0000)]
Merge "Removed ProfilerStandard and ProfilerSimpleTrace"
jenkins-bot [Wed, 7 Jan 2015 21:05:00 +0000 (21:05 +0000)]
Merge "API: Improve handling of interwiki redirects when resolving"
Brad Jorsch [Mon, 29 Dec 2014 17:50:50 +0000 (12:50 -0500)]
API: Improve handling of interwiki redirects when resolving
When ApiPageSet resolves redirects, it should add the targets of any
interwiki redirects to its list of interwiki titles.
Also, when outputting the list of redirects it may as well include a
'tointerwiki' property to match the 'tofragment' property it already
outputs.
Bug: T85417
Change-Id: Icf1346f52c8efa099b502433de1b18c4caad09df
Translation updater bot [Wed, 7 Jan 2015 20:43:06 +0000 (21:43 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: Ia1d8ae53646ddaf0185f3bf946c06679e9cab72d
jenkins-bot [Wed, 7 Jan 2015 20:33:40 +0000 (20:33 +0000)]
Merge "PostgreSQL: Fix Special:ActiveUsers GROUP BY query"
Aaron Schulz [Wed, 7 Jan 2015 19:31:34 +0000 (11:31 -0800)]
Removed ProfilerStandard and ProfilerSimpleTrace
Change-Id: I2b0e0ac1a277e66b15095e766ed5df834b1ae5f9
jenkins-bot [Wed, 7 Jan 2015 19:27:45 +0000 (19:27 +0000)]
Merge "Remove obvious function-level profiling"
Kunal Mehta [Wed, 7 Jan 2015 02:13:01 +0000 (18:13 -0800)]
Cookie: Fix @throws comment
Change-Id: I3f63a58b74ab4dd46010c8a61da98c1cae419195
Chad Horohoe [Wed, 17 Dec 2014 17:41:27 +0000 (09:41 -0800)]
Remove obvious function-level profiling
Xhprof generates this data now. Custom profiling of various
sub-function units are kept.
Calls to profiler represented about 3% of page execution
time on Special:BlankPage (1.5% in/out); after this change
it's down to about 0.98% of page execution time.
Change-Id: Id9a1dc9d8f80bbd52e42226b724a1e1213d07af7
Evan McIntire [Sun, 28 Dec 2014 01:40:47 +0000 (20:40 -0500)]
Marked replaceMultiple() as deprecated
MagicWord::replaceMultiple() is completely unused in both core and
all extensions on gerrit, so it is being marked as deprecated.
Change-Id: I6289a36351a2cbc47a0cad237cc985e5c3136773
gladoscc [Thu, 1 Jan 2015 10:49:05 +0000 (21:49 +1100)]
Add type hinting for WikiPage::onArticleEdit, etc
Type hinting will catch false & null as specified in the todo.
Change-Id: I64fade3a7aa5e15323dc63a13d84d969d0b942b3
jenkins-bot [Wed, 7 Jan 2015 18:41:21 +0000 (18:41 +0000)]
Merge "jquery-ui: Remove dark color from links inside dialogs"
Bartosz Dziewoński [Wed, 7 Jan 2015 18:31:05 +0000 (19:31 +0100)]
jquery-ui: Remove dark color from links inside dialogs
Bug: T85857
Change-Id: I29aafd41ce142b05c1bd9aafb096f38273ca747e
Kunal Mehta [Wed, 7 Jan 2015 18:22:48 +0000 (10:22 -0800)]
CleanUpTest: Consolidate individual "@todo Document" comments into one
This avoids PHPUnit marking nearly every test as risky.
Change-Id: I7cb5fc3eca2e9496a61d223dcae7576e7ddb4cad
jenkins-bot [Wed, 7 Jan 2015 15:29:22 +0000 (15:29 +0000)]
Merge "Update QUnit from v1.14.0 to v1.16.0"
Adrian Heine [Wed, 7 Jan 2015 10:00:59 +0000 (11:00 +0100)]
Update QUnit from v1.14.0 to v1.16.0
- Release notes
https://github.com/jquery/qunit/blob/1.16.0/History.md
- Source of imported files
https://code.jquery.com/qunit/qunit-1.16.0.js
https://code.jquery.com/qunit/qunit-1.16.0.css
- Unit tests still pass.
Tested on [[Special:JavaScriptTest/qunit]] with $wgEnableJavaScriptTest = true
Bug: T85994
Change-Id: Ic2d5e91d4f1e16a87618b18c3a83d31aaa0ab91c
jenkins-bot [Wed, 7 Jan 2015 14:20:57 +0000 (14:20 +0000)]
Merge "Remove the 'top' definition from .mw-ui-icon-element:before"
Prateek Saxena [Wed, 7 Jan 2015 00:50:05 +0000 (06:20 +0530)]
Remove the 'top' definition from .mw-ui-icon-element:before
This was making the icon stick to the top of the button it was
inside. We couldn't find an example of the issue that the earlier
patch was trying to fix (on #wikimedia-mobile).
Bug: T85778
Change-Id: Ifea204ee9b86b01f61f3c48372619dadce64da9b
Reverts: Iadd741f02155a9b5ddeb6cd8ff64fa13ae5506d7
jenkins-bot [Wed, 7 Jan 2015 08:57:04 +0000 (08:57 +0000)]
Merge "Escape unescaped messages in Special:Preferences"
Kunal Mehta [Wed, 7 Jan 2015 02:11:25 +0000 (18:11 -0800)]
Cleanup ParsoidVirtualRESTService
* Remove unused global
* Throw \Exception instead of \MWException since this is in includes/libs/
Change-Id: I2e51d7e25a755b79d14d1814951449f6ce14c68e
jenkins-bot [Wed, 7 Jan 2015 01:29:44 +0000 (01:29 +0000)]
Merge "Make a VirtualRESTService class for Parsoid"
Alex Monk [Wed, 24 Dec 2014 00:18:40 +0000 (00:18 +0000)]
Make a VirtualRESTService class for Parsoid
So that code to deal with Parsoid can be shared across different extensions.
Relies on I1d57ff24
Bug: T1218
Change-Id: Id658d925b722b885fd425c27f7c4fd2cd02ad0b4
gladoscc [Tue, 6 Jan 2015 07:44:10 +0000 (18:44 +1100)]
Escape unescaped messages in Special:Preferences
Bug: T85864
Change-Id: Ie516549bce72a0052570ab38bde4c03e2bc1b69b
Prateek Saxena [Tue, 6 Jan 2015 23:46:28 +0000 (05:16 +0530)]
mw.ui: checkbox: Add state change transition
Bug: T78372
Change-Id: If7141e8be250bfb14cbee7bfc6e56730de317312
Aaron Schulz [Fri, 19 Dec 2014 19:46:10 +0000 (11:46 -0800)]
Trigger onResponses on non-replacement request too in VirtualRESTServiceClient
Change-Id: I1e550812f3c021c2e2f4246345df2f9dd47d15b8
Jeff Janes [Fri, 18 Jul 2014 20:21:53 +0000 (13:21 -0700)]
PostgreSQL: Fix Special:ActiveUsers GROUP BY query
For GROUP BY queries, PostgreSQL require all columns in the
unaggregated part of the select list to also be in the
GROUP BY list.
To fix this, add user_name and user_id to the GROUP BY list along side
qcc_title.
This addition cannot change the query results, because user_name and
user_id are functionally dependent on qcc_title: user_name because
of the WHERE clause for this query, and user_id due to the 1 to 1
relationship between user_name and user_id enforced by their unique
and not null constraints on the underlying table.
This has been tested on PostgreSQL and MySQL.
Bug: 68087
Change-Id: I3aed715b40ff6e2290220122acbda0f0e74b5b36
Translation updater bot [Tue, 6 Jan 2015 21:06:32 +0000 (22:06 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I8a6dcdacfbe59bd9b34c314c957ce05a15c0e7a5
Chad [Tue, 6 Jan 2015 18:50:28 +0000 (18:50 +0000)]
Merge "Revert "Keep backend param to search API as long as there's a backend""
Chad [Tue, 6 Jan 2015 18:50:14 +0000 (18:50 +0000)]
Revert "Keep backend param to search API as long as there's a backend"
Actually on second thought, having the parameter disappear is
a better option than keeping it around with only one possible
value.
This reverts commit
7a79b017a03c78ddc0b8bf8762346957bef71936.
Change-Id: Ia67fa1425e0aa1ee95e0a1733f89d29f94f1eeee
Ricordisamoa [Tue, 6 Jan 2015 16:26:00 +0000 (17:26 +0100)]
Always use the canonical extension name when necessary
Items in $wgExtensionCredits can expose a 'namemsg' attribute,
but it should only be used for localized strings.
SpecialVersion->execute() correctly uses 'name', while commit
326f3f450ce56420090e3bb30eb9a9cccfe1816e inadvertently made
getCreditsForExtension() use 'namemsg'.
Same as
ace5db002378ca8b3ff63a66ba5ab35267754b9f for license files.
Change-Id: Ifbcecc906f41eced48493c48d4f2a85eed232551
jenkins-bot [Tue, 6 Jan 2015 17:45:29 +0000 (17:45 +0000)]
Merge "Remove double escaping of group member name on Special:ListUsers"
jenkins-bot [Tue, 6 Jan 2015 16:36:12 +0000 (16:36 +0000)]
Merge "grunt: Add Karma task for automated QUnit testing in browsers"
umherirrender [Mon, 29 Dec 2014 21:10:38 +0000 (22:10 +0100)]
Remove double escaping of group member name on Special:ListUsers
Similar to T31340 the group name gets double escaped
Bug: T85864
Change-Id: I9202fc12c2d72baf1f61cb69624b37411b0edacc
jenkins-bot [Tue, 6 Jan 2015 15:54:31 +0000 (15:54 +0000)]
Merge "Always use the canonical extension name to link the license file"
umherirrender [Fri, 19 Dec 2014 16:25:05 +0000 (17:25 +0100)]
Use also $wgAutoloadClasses in tests for module names
Extensions using $wgAutoloadClasses where this test will fail
Follow-Up: If1125cd5fa4ed836fe15fc79480d78ebd899be4e
Change-Id: Ic2024605d7d59890c527cc0580a49da73f8516c8
jenkins-bot [Mon, 5 Jan 2015 23:05:00 +0000 (23:05 +0000)]
Merge "API: Avoid unstubbing User for language pref when not needed"
jenkins-bot [Mon, 5 Jan 2015 22:40:15 +0000 (22:40 +0000)]
Merge "Proper namespace handling for WikiImporter"
Translation updater bot [Mon, 5 Jan 2015 21:47:33 +0000 (22:47 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I360f162ccf794d3709c0d64d617d6ffbdf85b23f
jenkins-bot [Mon, 5 Jan 2015 21:15:25 +0000 (21:15 +0000)]
Merge "Add applicable protection types to the prop=info API"
Ricordisamoa [Fri, 26 Dec 2014 22:13:50 +0000 (23:13 +0100)]
Add applicable protection types to the prop=info API
Disabled by default, enabled with inprop=protections,
returned as 'restrictiontypes', also for non-existing titles.
Change-Id: I98604b60626b84bd8cb601a4149b80db1b6787b7
jenkins-bot [Mon, 5 Jan 2015 20:55:22 +0000 (20:55 +0000)]
Merge "Remove silly reference ampersands from database functions in maint"
Timo Tijhof [Tue, 2 Dec 2014 22:39:08 +0000 (22:39 +0000)]
exception: Implement error-json log
Follows-up
399ba2f.
Bug: T75619
Bug: T45086
Change-Id: Ia7ba355d5925a6268ffa321ffc13cc6906b487f8
jenkins-bot [Mon, 5 Jan 2015 19:46:21 +0000 (19:46 +0000)]
Merge "Add batch lookup for user groups and titles on Special:ActiveUsers"
jenkins-bot [Mon, 5 Jan 2015 19:41:36 +0000 (19:41 +0000)]
Merge "Use content language for edit summary on upload overwrite"
Chad Horohoe [Mon, 5 Jan 2015 19:32:44 +0000 (11:32 -0800)]
Remove silly reference ampersands from database functions in maint
This is 2015 and we use PHP5 I think.
Change-Id: I012de0df540fc91577585de939bb929c68664222
Timo Tijhof [Wed, 10 Dec 2014 05:58:31 +0000 (05:58 +0000)]
grunt: Add Karma task for automated QUnit testing in browsers
To use, ensure npm modules are up to date by running 'npm install'
in tests/frontend. Then run 'grunt qunit' to run it in Chrome.
To run it in both Firefox and Chrome (locally), run
grunt karma:more
Moved fixture from hardcoded HTML to the testrunner so that our
tests don't depend on arbitrary HTML and thus also pass in browser
contexts where the page only loads QUnit + test suites (e.g. Karma).
Change-Id: I4e96da137340a28789b38940e75d4b6b8bc5d76a
Timo Tijhof [Tue, 2 Dec 2014 21:48:21 +0000 (21:48 +0000)]
SpecialJavaScriptTest: Add export feature
Add an 'export' subpage to SpecialJavaScriptTest which allows
one to request a self-sufficient JavaScript payload that will
bootstrap a ResourceLoader client and load the test suites.
This is needed for using Karma (which only loads JavaScript,
no full html pages). As such elements from the Skin and OutputPage
will not exist. While all QUnit tests in MediaWiki core and
most extensions I've seen already use #qunit-fixture, this is
now required. This to prevent leakage of elements from one
test to another, but it also prevents tests from depending
on elements provided by the server.
While the Karma setup is still in the pipeline (might land before
this commit loses WIP status), for now this can be tested via
the 'Special:JavaScriptTest/qunit/plain' subpage.
Refactor:
* Use HTTP status code 404 in the response for "noframework".
* Simplify HTML footprint by using <div id="qunit"> instead of
hardcoding the full structure. This feature was added to QUnit
since v1.3.0 (Feb 2012), we're using v1.14.0 (Jan 2014).
QUnit's header is automatically derived from document.title.
* Remove redundant addModules() for 'test.mediawiki.qunit.testrunner'.
This is already added by default.
* Move allowClickjacking() call so that it applies to other modes
as well. The exported javascript needs to have wgBreakFrame set
to false so that test runners can frame it.
* Change mediawiki.special.javaScriptTest to not depend on QUnit.
It caused QUnit to load on error pages. And in theory the page
is suited for other frameworks and shouldn't load QUnit this way.
Bug: T74063
Change-Id: I3d4d0df43bb426d9579eb0349b8b5477281a7cfc
Brad Jorsch [Mon, 5 Jan 2015 16:59:48 +0000 (11:59 -0500)]
API: Avoid unstubbing User for language pref when not needed
It's fairly common that the API doesn't need to load the user
preferences, except to implement the unfortunate default uselang=user.
So let's move the handling of uselang=user to
RequestContext::getLanguage(), and have the API just assume that its
parent context will eventually fall back to that for uselang=user.
Bug: T85635
Change-Id: I947348d87b31808d331055dac6feb0cc2e1dd15d
Bryan Davis [Mon, 5 Jan 2015 16:08:58 +0000 (09:08 -0700)]
Revise wording for installed libraries release note
Change-Id: I7afafa1b5b954e4555b10c8fd2a225f0f4754115
Kunal Mehta [Sat, 3 Jan 2015 23:28:02 +0000 (15:28 -0800)]
Don't display composer installed extensions/skins on Special:Version
Extensions and skins should already be adding their credits through
$wgExtensionCredits, meaning that they would be duplicated in the
"Installed libraries" section.
Anything that has a type that begins with "mediawiki-" will now
be skipped.
Release notes were added for this commit and
528297f8db8dea.
Change-Id: Ie873b16c1a8a696c7de833ae69b263161d9e15a8
jenkins-bot [Mon, 5 Jan 2015 15:53:21 +0000 (15:53 +0000)]
Merge "mw.ui: checkbox: Remove margin from checkbox input to fix the pseudo element overlap"
Bartosz Dziewoński [Mon, 5 Jan 2015 15:48:53 +0000 (15:48 +0000)]
Merge "mw.ui: radio: Add state transition to radio buttons"
jenkins-bot [Mon, 5 Jan 2015 15:44:15 +0000 (15:44 +0000)]
Merge "Adjust images in packed gallery on window resize"
m4tx [Sun, 4 Jan 2015 07:32:52 +0000 (08:32 +0100)]
Adjust images in packed gallery on window resize
Original element sizes are stored in data(), and on window resize,
they are restored, so elements can be justified as on just loaded
page.
Bug: T55664
Change-Id: I286e0a4c8230c11619ca30f8f3b66778de835a33