Aaron Schulz [Tue, 9 Dec 2014 07:23:30 +0000 (23:23 -0800)]
Replace wfRunHooks calls with direct Hooks::run calls
* This avoids the overhead of an extra function call
Change-Id: I8ee996f237fd111873ab51965bded3d91e61e4dd
jenkins-bot [Wed, 10 Dec 2014 20:22:05 +0000 (20:22 +0000)]
Merge "API edit: allow ConfirmEdit to use the merged parse"
jenkins-bot [Wed, 10 Dec 2014 19:47:44 +0000 (19:47 +0000)]
Merge "Fix case of various newFromID/newFromId functions"
jenkins-bot [Wed, 10 Dec 2014 19:47:24 +0000 (19:47 +0000)]
Merge "Xml: Simplify processing of attributes in Xml::label"
umherirrender [Tue, 2 Dec 2014 18:13:06 +0000 (19:13 +0100)]
Fix case of various newFromID/newFromId functions
User::newFromID -> User::newFromId
Revision::newFromID -> Revision::newFromId
RecentChange::newFromID -> RecentChange::newFromId
WikiPage::newFromId -> WikiPage::newFromID
Title::newFromId -> Title::newFromID
Change-Id: I310f26653613951e9b21ce915a92d205a87937f1
Ricordisamoa [Wed, 10 Dec 2014 07:43:28 +0000 (07:43 +0000)]
Xml: Simplify processing of attributes in Xml::label
Comment inserted by Antoine Musso with
d86a3bc2177f79.
Also fixed wrong indentation.
Change-Id: I054762929413f90090b446c603b60ed9544c06d1
Aaron Schulz [Wed, 10 Dec 2014 19:04:56 +0000 (11:04 -0800)]
Fixed internalClean class/method existence check for HHVM
* Follows up
4f281083fda91879a77fb87d64d8a9533526bd0c
Change-Id: I5fa406ed1c4f2eefd1c22e9ab90e72655f31d162
Bryan Davis [Wed, 10 Dec 2014 18:08:18 +0000 (11:08 -0700)]
hhvm: Check for tidy function instead of class
Bug: T78166
Change-Id: Ie60e23ffbafd698a3458eed1efce92d54c8d0c2a
Ricordisamoa [Wed, 10 Dec 2014 01:44:07 +0000 (01:44 +0000)]
Avoid preloading unused messages in ContribsPager
* newarticle
* rev-delundel
* rollbacklink
A bit of history:
* messages preloading
** added by Brion Vibber
commit
935bca8ee764847868ce6c597b43eb74e0908c10
* usage of newarticle
** added by Erik Moeller
commit
d61d3486f0eb7713e58d80f984891cb8882cf7ef
** removed by Alexandre Emsenhuber
commit
84be101a9098166731fe6a1e30615d2f9b094eeb
* usage of rev-delundel
** added by Aaron Schulz
commit
0ed239362c54656b95d4d602fcc33d6f5ace8932
** fixed by Raimond Spekking
commit
349ef821d66a54ee0c6b7ce6024bded399518e95
** removed by Aaron Schulz
commit
90dcb3c1f2c4b03f2cb9358b40666af1eff88a99
* usage of rollbacklink
** present in Lee Daniel Crocker's 'initial revision'
commit
d82c14fb4fbac288b42ca5918b0a72f33ecb1e69
** removed from old version by Aryeh Gregor
commit
3a0c45e93cf7cdcfadfd2545a497562968e023ee
** unused but still preloaded in Ilmari Karonen's new version
commit
2df501fa0d2723bf2a196390c2507a6043cdcdaf
Change-Id: Ib9fce5c1af4f0fd7dd3dcfefa4a6611d61123e02
Ricordisamoa [Tue, 9 Dec 2014 22:23:08 +0000 (22:23 +0000)]
Fixup
4f0b2f42419c283e8c94a5be6147d54ae7731a6b
It messed up a couple of entries in RELEASE-NOTES-1.24,
now brought into HISTORY.
Change-Id: I84795de70b0cb24af122acd0aa6ebc8367a782d5
Ricordisamoa [Tue, 9 Dec 2014 19:10:11 +0000 (19:10 +0000)]
Fix documentation of hook 'BeforeParserFetchFileAndTitle'
By placing the notice "If 'broken' is a key in $options
then the file will appear..." added by Aaron Schulz with
commit
9d572d1844380c0db268b456f297bd7675eb609f.
This solves a 'FIXME' added by Siebrand Mazeland with
commit
b33c77a52562975aa2503dac66e716e6a5a7ad2e.
Change-Id: I9d100588276faac5d5b2be979d8140389e5ed85a
jenkins-bot [Wed, 10 Dec 2014 15:26:30 +0000 (15:26 +0000)]
Merge "API: Allow redirecting a page to itself using action=edit"
jenkins-bot [Wed, 10 Dec 2014 12:06:14 +0000 (12:06 +0000)]
Merge "jquery.mwExtension.test: Use better sample data for isDomElement"
jenkins-bot [Wed, 10 Dec 2014 12:03:51 +0000 (12:03 +0000)]
Merge "Always use 'bool' instead of 'boolean' after '@param' and '@return'"
Ricordisamoa [Wed, 10 Dec 2014 05:09:35 +0000 (05:09 +0000)]
Always use 'bool' instead of 'boolean' after '@param' and '@return'
The former is by far the most common.
Skipped:
* resources/lib/jquery.ui/jquery.ui.datepicker.js
* resources/src/mediawiki.special/mediawiki.special.upload.js
Change-Id: I73c93797e745128ba703e4865080c36784caa474
Kevin Israel [Wed, 10 Dec 2014 11:48:13 +0000 (06:48 -0500)]
API: Allow redirecting a page to itself using action=edit
Follows-up
02660685708747d5.
Change-Id: I60aa15ac9f33c560c940c55cf98626bb9ff4b822
jenkins-bot [Wed, 10 Dec 2014 05:42:48 +0000 (05:42 +0000)]
Merge "Added some abstract methods to DatabaseBase"
Timo Tijhof [Wed, 10 Dec 2014 04:38:47 +0000 (04:38 +0000)]
jquery.mwExtension.test: Use better sample data for isDomElement
* getElementById, getElementsByTagName()[0] and jQuery#get(0) all
return an HTMLElement. Test that only once.
Avoid using random internal QUnit elements like #qunit-header.
These don't always exist (e.g. when running tests via Karma).
If anything, it should use #qunit-fixture. But might as well
create a simple DIV and test that.
* Use 'null' instead of getElementById('not-found'). We're
testing isDomElement, not getElementById.
* Add test for TextNode.
* Separate tests for isDomElement and isEmpty.
Change-Id: If9284fbbd066897561ae8e679f5f7ceab9255e18
Ori Livneh [Tue, 2 Dec 2014 01:10:52 +0000 (17:10 -0800)]
Simplify MWTidy
* Make the internal MWTidy::*clean() functions always return an array of two
elements: the output buffer and the error buffer.
* Make MWTidy::externalTidy() always read both stdout and stderr. We can read
stderr after stdout because tidy.c produces output in the same order.
* Remove the $stderr parameter from the private MWTidy::*clean() methods, since
error output is always returned.
* Merge MWTidy::phpClean and MWTidy::hhvmClean, since the difference between
them is now small enough that splitting them up is not warranted.
* On HHVM, MWTidy::internalTidy() always returns an empty string for the error
buffer.
Change-Id: I178b42d6ebdd1a5b9bd5921eb093a6c5014ffa49
jenkins-bot [Wed, 10 Dec 2014 00:39:39 +0000 (00:39 +0000)]
Merge "Add parser tests for tables with pipes and wikilinks"
Aaron Schulz [Tue, 9 Dec 2014 23:32:46 +0000 (15:32 -0800)]
Added some abstract methods to DatabaseBase
Change-Id: I75781ee55d48d9fda40d600228100708d6524df8
jenkins-bot [Wed, 10 Dec 2014 00:22:38 +0000 (00:22 +0000)]
Merge "Allow moment on mobile web"
jenkins-bot [Tue, 9 Dec 2014 23:46:52 +0000 (23:46 +0000)]
Merge "Made SectionProfiler cache the ScopedCallback closure to lower overhead"
jenkins-bot [Tue, 9 Dec 2014 23:46:04 +0000 (23:46 +0000)]
Merge "Register a shutdown function to log fatal errors"
Aaron Schulz [Tue, 9 Dec 2014 07:44:00 +0000 (23:44 -0800)]
Made SectionProfiler cache the ScopedCallback closure to lower overhead
Change-Id: Ia6f2ef4bb82dad13d49e74c730530295d5719009
jenkins-bot [Tue, 9 Dec 2014 23:39:25 +0000 (23:39 +0000)]
Merge "Sync up with Parsoid parserTests."
Bryan Davis [Fri, 5 Dec 2014 01:23:03 +0000 (18:23 -0700)]
Register a shutdown function to log fatal errors
MWExceptionHandler::handleFatalError() is installed as a shutdown
function to inspect `error_get_last()` output and log the error via
MWExceptionHandler::logError(). The error is examined to determine if it
is a missing class error so that a descriptive log message can be
provided instructing the server administrator on 3rd party library
installation methods.
Bug: T74777
Change-Id: I04748626487022c51050ffa7846236947a082d68
C. Scott Ananian [Tue, 9 Dec 2014 23:00:48 +0000 (18:00 -0500)]
Sync up with Parsoid parserTests.
This now aligns with Parsoid commit
ced8a485d503dd8aa4884894b7288efc34d95f6a
Change-Id: I0850a9c39ca703ad40c897378a099efbe1418b29
Aaron Schulz [Thu, 4 Dec 2014 09:42:20 +0000 (01:42 -0800)]
Reuse page preview parses by using the edit stash system
* This also changes previews to render section edit tokens but
remove them on output, avoiding cache fragmentation.
* Also shortened the resulting getStashKey() value.
Change-Id: Ic8fa87669106b960c76912b864788b781f6ee2e6
Matthew Flaschen [Tue, 9 Dec 2014 22:38:12 +0000 (17:38 -0500)]
Allow moment on mobile web
Bug: T78069
Change-Id: I72ccbd430aea92bc4a71eb51d4203dfc3b3d7ae2
Aaron Schulz [Tue, 9 Dec 2014 22:23:11 +0000 (14:23 -0800)]
Made prepareContentForEdit() use the stash cache by default
Change-Id: I1123a8da4764df67f1b0f2b18f6ea74ec5be7be9
jenkins-bot [Tue, 9 Dec 2014 22:19:22 +0000 (22:19 +0000)]
Merge "API: Don't use an empty LinkBatch in ApiOpenSearch"
jenkins-bot [Tue, 9 Dec 2014 22:17:24 +0000 (22:17 +0000)]
Merge "Handle phpunit being autoloaded from checkLess.php"
Brad Jorsch [Tue, 9 Dec 2014 22:11:38 +0000 (17:11 -0500)]
API: Don't use an empty LinkBatch in ApiOpenSearch
Bug: T78074
Change-Id: Ie4609b0867d816375f49190ee2860526b8fd8f3e
jenkins-bot [Tue, 9 Dec 2014 22:07:14 +0000 (22:07 +0000)]
Merge "Fix out-of-order entry in autoload.php"
Ori Livneh [Tue, 9 Dec 2014 21:57:31 +0000 (13:57 -0800)]
Fix out-of-order entry in autoload.php
Follows
1c1734758056005413dffe9859c72604231ecd9f.
Change-Id: I9b4aa5c7c9fff9c7625861c33080aeb291eef964
Aaron Schulz [Tue, 9 Dec 2014 21:48:17 +0000 (13:48 -0800)]
Various edit stash fixes
* Unlock the key at the right point, so checkCache actually sees the result
* Turn CRLF to LF just as EditPage does via getText(), this avoids misses
* Added a bit more debug logging
Change-Id: I5c296325ebee2501e5de59b8090e1ddde8689f17
umherirrender [Wed, 16 Jul 2014 09:28:25 +0000 (11:28 +0200)]
Add parser tests for tables with pipes and wikilinks
Change-Id: Ifd6c8eb9a9f951b9aa9f21a95d77915905220063
Translation updater bot [Tue, 9 Dec 2014 20:37:59 +0000 (21:37 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I1b86a2b23ee0c26fbe6f3ebe0c8d2553ea06c7ac
jenkins-bot [Tue, 9 Dec 2014 19:42:08 +0000 (19:42 +0000)]
Merge "Changed some DatabaseBase type hints to IDatabase"
Ricordisamoa [Tue, 9 Dec 2014 19:07:07 +0000 (19:07 +0000)]
Make maintenance/findHooks.php check includes/mail/
bf8810d6bcba81de0452ef46963e46d128ea41f2 split some
email-related code into a separate directory, along
with references to five hooks, thus listed as
'Documented and not found':
* AbortTalkPageEmailNotification
* AlternateUserMailer
* SendWatchlistEmailNotification
* UpdateUserMailerFormattedPageStatus
* UserMailerChangeReturnPath
Change-Id: I7601ea2f2b0c4c9dcf802114e464be9af88fa5cb
jenkins-bot [Tue, 9 Dec 2014 19:28:11 +0000 (19:28 +0000)]
Merge "ResourceLoader: Stop passing around errors as /**/-comments"
jenkins-bot [Tue, 9 Dec 2014 19:27:22 +0000 (19:27 +0000)]
Merge "ResourceLoaderImageModule for icons"
Federico Leva [Tue, 9 Dec 2014 14:50:56 +0000 (15:50 +0100)]
updateArticleCount.php: use "vslow" DB by default, allow master
Similar to initSiteStats.php, SiteStatsUpdate.php.
Needed by I13f866b565f665a00ec6ce61bb5073cf380bd0ff
Bug: T68867
Change-Id: I061b1bd7bd4b84db5ca4ecf406980dd6981941d1
Bartosz Dziewoński [Tue, 11 Nov 2014 20:00:17 +0000 (21:00 +0100)]
ResourceLoader: Stop passing around errors as /**/-comments
They are prone to being stripped by CSS and JS minification and can't
be used for non-CSS non-JS responses, like images.
We've already been keeping some state related to errors in the
$hasErrors member variable, let's go all the way and replace it with
$errors array, which tracks all errors accumulated during current
respond() call. When processing completes, all errors are added to the
response, if possible.
Change-Id: I6643f010174cb1f17780622e8a63db03cffe19e1
Bartosz Dziewoński [Tue, 11 Nov 2014 19:50:44 +0000 (20:50 +0100)]
ResourceLoaderImageModule for icons
ResourceLoaderImageModule needs a set of SVG files and some data in
the module definition, and produces styles for a set of CSS classes,
one for each image, optionally with differently colored variants,
generated in SVG and PNG, data-URI-embedded if possible, compatible
with all browsers, and generally slick.
The intended usage is to ship icon libraries with MediaWiki that can
be used throughout the pages with no additional code.
* ResourceLoaderImageModule implements all of the logic for data
parsing and CSS generation.
* ResourceLoaderImage implements the logic for SVG image colorization
(for variants) and rasterization.
* ResourceLoader and ResourceLoaderContext were extended to serve a
new kind of load.php request that delivers a single image file. This
is used for fallback PNG images served to browsers that don't
understand SVG.
See change Ic6a76bfb for a demo.
Bug: T76473
Co-Authored-By: Trevor Parscal <trevorparscal@gmail.com>
Co-Authored-By: Bartosz Dziewoński <matma.rex@gmail.com>
Change-Id: Idf6ff4eb8e94f45946f15d283d34108b881fae6e
Chad Horohoe [Tue, 9 Dec 2014 19:06:10 +0000 (11:06 -0800)]
Remove $logType and $visible, leftover from before output refactoring
Change-Id: I4d320b27471608d38b65c14c132d45c6ce3e94a8
jenkins-bot [Tue, 9 Dec 2014 18:37:00 +0000 (18:37 +0000)]
Merge "Parser test for "Free external link with trailing punctuation""
Reedy [Tue, 9 Dec 2014 14:41:46 +0000 (14:41 +0000)]
Fix type hint in SkinTemplateOutputPageBeforeExec in hooks.txt
No Template class, it's QuickTemplate or subclasses
Change-Id: Ie0868a98f762ab13aaa075cf4b1a8bcc5aea0b8c
jenkins-bot [Tue, 9 Dec 2014 15:03:02 +0000 (15:03 +0000)]
Merge "Fix for broken thumbnails when the file width is in $wgThumbnailBucket"
Brad Jorsch [Tue, 9 Dec 2014 14:28:35 +0000 (09:28 -0500)]
API: Don't double generator list
Bug: T77974
Change-Id: I1746da0f802e6ab7f87c83ad9918c05f98ab5ea8
Aaron Schulz [Tue, 9 Dec 2014 09:05:22 +0000 (01:05 -0800)]
Changed some DatabaseBase type hints to IDatabase
Change-Id: I1158c71f110b140473f56d5cbe352da1f4513ad9
Gergő Tisza [Tue, 9 Dec 2014 01:55:49 +0000 (01:55 +0000)]
Fix for broken thumbnails when the file width is in $wgThumbnailBucket
When the source file width equals a bucket width,
File::getThumbnailBucket() suggests the use of a thumbnail of that
size. A thumbnailing attempt with the same width as the original
usually returns an error; File::generateBucketsIfNeeded() creates
an empty temporary file to later overwrite with the thumbnail, and
does not clean that file up on error. This empty file is then used
as the intermediary thumbnail for everything in the top bucket.
Bug: T77950
Change-Id: I8c2fdd9b51d227f34cac874ed2b16c87adc9315d
jenkins-bot [Tue, 9 Dec 2014 01:05:20 +0000 (01:05 +0000)]
Merge "resourceloader: Refactor empty value trimming for mw.loader.register"
Timo Tijhof [Tue, 9 Dec 2014 00:29:19 +0000 (00:29 +0000)]
resourceloader: Refactor empty value trimming for mw.loader.register
We already did this, but it was rather convoluted with lots of
if/elseif sequences checking all the possible values.
Remove this logic from ResourceLoaderStartUpModule. Simplying it
simply create the array and pass it to ResourceLoader::makeLoaderRegisterScript.
In makeLoaderRegisterScript, we apply a filter to the array(s) that
trim empty values.
While at it:
* As with other registration properties' default values (like for dependencies,
group, and skip) also use 'null' for the default value of 'source'.
The mediawiki.js client was already compatible with this, and the server omitted
it if it was the last value in the list. But in all other cases it explicitly
outputs "local". Use null instead of simplicity sake. This also gains us a
few characters in the output, and a relatively larger win after gzip since
there's lots more re-using of "null".
* Remove stray casting of $version to int. This only happened in case of
registering a single module (which don't do anywhere), and is redundant.
Change-Id: I1f321e7b8bd3b5cffc550b51169957a3da9b971d
Aaron Schulz [Mon, 8 Dec 2014 22:05:23 +0000 (14:05 -0800)]
Made xhprof scopedProfileIn() work via merging SectionProfiler results
* This works around various pecl/hhvm xhprof extension issues.
Change-Id: I04555db1d0781bafc758ab9965c4af2fab9569f4
Aaron Schulz [Mon, 8 Dec 2014 21:36:19 +0000 (13:36 -0800)]
Refactored xhprof getFunctionReport() to use getFunctionStats()
* Also added more doc comments to getFunctionStats()
Change-Id: I3741713d3c80b0bbc622eb17ce4c3a047bf5a06c
jenkins-bot [Mon, 8 Dec 2014 23:11:07 +0000 (23:11 +0000)]
Merge "Fixed running percents in SectionProfiler"
Aaron Schulz [Wed, 3 Dec 2014 23:14:33 +0000 (15:14 -0800)]
Fixed running percents in SectionProfiler
* Previously it assumed methods never overlapped.
* Also fixed running collation when in trace mode.
Change-Id: I6cbf5384a57ea68197495173d75732f5df328040
Kunal Mehta [Mon, 8 Dec 2014 22:30:32 +0000 (14:30 -0800)]
composer.json: cdb/cdb was renamed to wikimedia/cdb
The version number was also bumped to 1.0.1.
Change-Id: I67b00060e5144385314f0576a327d951027870ae
Translation updater bot [Mon, 8 Dec 2014 21:58:32 +0000 (22:58 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I9cc798961281a198617f1e09b7f63cdf5293a5b2
jenkins-bot [Mon, 8 Dec 2014 21:00:36 +0000 (21:00 +0000)]
Merge "Removed unused getSummaryReport method"
jenkins-bot [Mon, 8 Dec 2014 20:53:08 +0000 (20:53 +0000)]
Merge "Display error when user tries to create self-redirect"
Aaron Schulz [Mon, 8 Dec 2014 20:52:01 +0000 (12:52 -0800)]
Removed unused getSummaryReport method
Change-Id: Id65c6702cc2eb75047fbfa88a6b79163c7dc2528
m4tx [Mon, 8 Dec 2014 18:45:15 +0000 (19:45 +0100)]
Display error when user tries to create self-redirect
Bug: T29683
Change-Id: Idcd7a50d12c8f124bc447805654b1a9e86dee3e4
jenkins-bot [Mon, 8 Dec 2014 20:33:30 +0000 (20:33 +0000)]
Merge "Do not list Test classes in the TestsAutoLoader.php"
umherirrender [Mon, 8 Dec 2014 20:07:31 +0000 (21:07 +0100)]
Do not list Test classes in the TestsAutoLoader.php
phpunit will load the file, when scanning all folders for Test files
Change-Id: I07b7252511dc31ea6433e645a9c46fb1517abced
jenkins-bot [Mon, 8 Dec 2014 19:17:23 +0000 (19:17 +0000)]
Merge "Index ResourceLoader dependency lists in startup"
Trevor Parscal [Sat, 25 Oct 2014 00:18:24 +0000 (17:18 -0700)]
Index ResourceLoader dependency lists in startup
By using the existing indexes of modules in the array being passed to
mw.loader.register we can reduce the size of the startup module by about
6% after gzip (nearly 20% before) on a wiki with very few modules (such
as my localhost). Comparing data from en.wikipedia.org shows about 9%
after gzip (nearly 30% before).
The technique adds a function to mediawiki.js which resolves the indexes
before registering the modules, which costs a little bit of data in that
payload, but it's negligible (118 bytes after gzip) in comparison to the
overall reduction.
Also, cleaned up lies in documentation and strange use of "m" as an
iterator variable.
Bonus: fix ISO8601 timestamp instead of UNIX timestamp being passed
to custom loader scripts.
Change-Id: If12991413fa6129cd20ceab0e59a3a30a4fdf5ce
Erik Bernhardson [Mon, 8 Dec 2014 18:28:21 +0000 (10:28 -0800)]
Handle phpunit being autoloaded from checkLess.php
When phpunit is available via the autoloader, rather than directly in the
include path, checkLess was erroring out. Additionally
RequestContext::resetMain() was outputting warnings due to MW_PHPUNIT_TEST
not being defined.
Change-Id: I28921c018daa59b2da78ffb5312690d1ce8fbb0a
Derk-Jan Hartman [Mon, 8 Dec 2014 11:03:37 +0000 (12:03 +0100)]
mediawiki.feedback: Improve error handling
Some loose ends with the rewrite to promises, add some logging in case
of errors, so it's a bit easier to figure out why something was failing
Bug: T51636
Change-Id: I081c58378566baef273b76c1a25c3b2d8ba0e19e
jenkins-bot [Sun, 7 Dec 2014 21:59:12 +0000 (21:59 +0000)]
Merge "Promote LivePreview from its experimental state"
jenkins-bot [Sun, 7 Dec 2014 20:58:45 +0000 (20:58 +0000)]
Merge "xhprof: Guard against division by 0 when computing percentages"
Translation updater bot [Sun, 7 Dec 2014 20:34:05 +0000 (21:34 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I76befd65afcc8832e06bb4eaa8ebe03c52f53afb
jenkins-bot [Sun, 7 Dec 2014 08:17:38 +0000 (08:17 +0000)]
Merge "Add tests for class names in the api main and query module manager"
Translation updater bot [Sat, 6 Dec 2014 21:00:06 +0000 (22:00 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I243c441edba60c96d971065f328b5e96d10c11cc
jenkins-bot [Sat, 6 Dec 2014 20:37:43 +0000 (20:37 +0000)]
Merge "mediawiki.legacy.oldshared: Copy missing image and add SVG version"
Scimonster [Sat, 6 Dec 2014 16:46:49 +0000 (16:46 +0000)]
jquery.textSelection: Select sample text, if possible, when splitlines is true
Bug: T72764
Change-Id: Ic39b56f78d8e0bfeaa5ad5ff3d0e9e6e6a0e56fc
Kevin Israel [Sat, 6 Dec 2014 11:31:58 +0000 (06:31 -0500)]
RELEASE-NOTES-1.25: bug 44740 -> T46740
Follows-up
c393f874706e as indicated in
e0698e254512.
Change-Id: Ib25638e2808436bbf3321b8c7870dcc5bc2cb7b3
James D. Forrester [Sat, 6 Dec 2014 01:37:28 +0000 (17:37 -0800)]
Update OOjs UI to v0.4.0
Release notes:
https://git.wikimedia.org/blob/oojs%2Fui.git/v0.4.0/History.md
Change-Id: I8c81656d4f95138d7c187e71e52ee60b669a46a5
kaldari [Mon, 1 Dec 2014 21:42:54 +0000 (13:42 -0800)]
Add FollowSymLinks option to /images .htaccess rule
This makes sure that thumbnails load properly. Apparently
(in OSX at least), if you don't have FollowSymLinks or
SymLinksIfOwnerMatch on, loading thumbnails gives a 500
error with the existing rewrite rules in place.
Bug: 62289
Change-Id: Icc812fcf9a0b821d2ad84359e5c1d8fb8e9c78a0
jenkins-bot [Fri, 5 Dec 2014 22:21:11 +0000 (22:21 +0000)]
Merge "resourceloader: Make timestamp handling more consistent"
Translation updater bot [Fri, 5 Dec 2014 21:53:58 +0000 (21:53 +0000)]
Merge "Localisation updates from https://translatewiki.net."
Translation updater bot [Fri, 5 Dec 2014 21:49:04 +0000 (22:49 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: Ie09f63ee1738a54217bf1f02dc2ba0a954e3f5d3
umherirrender [Fri, 5 Dec 2014 21:31:59 +0000 (22:31 +0100)]
phpcs: The abstract declaration must precede the visibility
Change-Id: I957eb6007f110252726e67c1fb7099b02fdca676
Kunal Mehta [Fri, 5 Dec 2014 21:38:54 +0000 (13:38 -0800)]
Remove unused global declaration
Change-Id: I4239cee1410c40d3ffd4a19f409a91a945a72d60
Timo Tijhof [Fri, 5 Dec 2014 20:28:54 +0000 (20:28 +0000)]
resourceloader: Make timestamp handling more consistent
* Use time() instead of:
- wfTimestamp()
- wfTimestamp( TS_UNIX )
- wfTimestamp( TS_UNIX, 0 )
- wfTimestamp( TS_UNIX, time() )
- intval( wfTimestamp( TS_UNIX, time() ) )
* Consistently use 1 as default instead of 0. Previously the
unwritten convention was that anything "final" max()'ed with 1,
and any internal method would use 0, but this wasn't applied
consistently made it fragile. There doesn't seem to be any
value in returning 0 only to have it maxed up to 1 (because if
the 0 would ever make it out alive, we'd be in trouble).
* wfTimestamp returns a string for TS_UNIX. In PHP this doesn't
matter much. In fact, max() takes number-like integers so
transparently, it even preserves it:
> max( 1, 3, '2' );
< 3
> max( 1, '3', 2 );
< "3"
Just cast it in one place at the very end (StartupModule)
instead of doing intval( wfTimestamp() ).
* Fix weird documentation claiming getModifiedTime can return
an array, or mixed.
* Remove 'version > 1 ? version : 1' logic in
ResourceLoader::makeLoaderRegisterScript. The client doesn't
have "0 means now" behaviour so this isn't needed. And the method
was only doing it for variadic argument calls.
Removal of quotes around timestamps reduced the size of the startup
module from 26.8KB to 25.9KB before gzip. After gzip the size was
and still is 5.7KB, though. (From 5456 bytes to 5415 bytes.)
Change-Id: If92ca3e7511e78fa779f2f2701e2ab24db78c8a8
umherirrender [Thu, 27 Nov 2014 17:03:07 +0000 (18:03 +0100)]
Fixed spacing
- Added/removed spaces around parenthesis
- Added newline in empty blocks
- Added space after switch/foreach/function
- Use tabs at begin of line
- Add newline at end of file
Change-Id: I244cdb2c333489e1020931bf4ac5266a87439f0d
jenkins-bot [Fri, 5 Dec 2014 19:43:06 +0000 (19:43 +0000)]
Merge "Optimize how user options are delivered to the client"
jenkins-bot [Fri, 5 Dec 2014 19:43:00 +0000 (19:43 +0000)]
Merge "ResourceLoaderUserCSSPrefsModule: Remove unused dependency on mediawiki.user"
Ori Livneh [Thu, 4 Dec 2014 07:37:56 +0000 (23:37 -0800)]
Optimize how user options are delivered to the client
We currently embed the full set of user options in a <script> tag in the HTML
output of every page. This is grossly inefficient, because the full set of
options is usually largely made up of site defaults which the user hasn't
customized.
So instead of doing that, let's emit the default options using one
ResourceLoader module and then apply the user's customizations on top.
This has the effect of slightly increasing the total bytes of JavaScript code
(because options that the user has customized will be emitted twice: once with
their default value in the user.defaults module, and then again with the
customized value in user.options). But this is more than offset by the
fact that the bulk of user options code (~4 kB uncompressed on enwiki) becomes
cacheable across requests.
Bonus round:
* Varnish gets to cache 4 kB fewer per page.
* Changes to the default options don't take 30 days to propagate.
Change-Id: I5a7e258d2d69159381bf5cc363227088b8fd6019
jenkins-bot [Fri, 5 Dec 2014 18:04:41 +0000 (18:04 +0000)]
Merge "Fixing confusing function description"
Timo Tijhof [Fri, 5 Dec 2014 12:03:07 +0000 (12:03 +0000)]
ResourceLoaderUserCSSPrefsModule: Remove unused dependency on mediawiki.user
Follows-up
57310ab8380.
Change-Id: I06ad8c37cf53643bb65f6cabd8b843f63d4f5ec3
umherirrender [Sun, 3 Aug 2014 20:04:45 +0000 (22:04 +0200)]
Fix backlink for RevertAction
RevertAction::getDescription cannot set subtitle on OutputPage,
because the subtitle on OutputPage gets cleared before the
result of getDescription is added and than the subtitle is gone.
Refactored the code for building the backlink into a static function
and use it.
Change-Id: Iedad0b8e040035a9a10a0b140d2322357e6b539a
jenkins-bot [Fri, 5 Dec 2014 13:47:22 +0000 (13:47 +0000)]
Merge "mediawiki.Uri: Implement support for a mutable defaultUri"
Bartosz Dziewoński [Mon, 17 Nov 2014 22:41:29 +0000 (23:41 +0100)]
mediawiki.legacy.oldshared: Copy missing image and add SVG version
Copied images from mediawiki.skinning.
Change-Id: If58832e59c6f04ce5ef8ee39d821708098f8952e
jenkins-bot [Fri, 5 Dec 2014 12:30:20 +0000 (12:30 +0000)]
Merge "jquery.client: Recognize IE12 correctly"
Roan Kattouw [Thu, 4 Dec 2014 02:01:55 +0000 (18:01 -0800)]
jquery.client: Recognize IE12 correctly
IE12's User-Agent is, unhelpfully:
Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36 Edge/12.0
Unsurprisingly, this is currently recognized as Chrome 36.
The word "Trident" also doesn't appear any more, because IE12's
new layout engine is called "Edge". So look for that string instead.
Change-Id: I94a4ff2cc37ae6ce0c677ef92eeb6a2dff30c1f4
Tim Starling [Fri, 5 Dec 2014 04:25:18 +0000 (15:25 +1100)]
API edit: allow ConfirmEdit to use the merged parse
ConfirmEdit was tripling the amount of time it took to save a typical
page via the API, since it was assuming that the APIEditBeforeSave hook
was giving unmerged wikitext, requiring a full parse of the content
before and after the edit in order to check the addurl trigger.
Apparently nobody bothered to update it after Ia59fb6bb.
APIEditBeforeSave is unusable anyway, because it is given the serialized
content, without any information about the content model. It really
needs the Content object in order to do it properly. So instead, adapt
EditFilterMergedContent for the purpose. Incidentally, that avoids the
inelegant defined('MW_API') check in ConfirmEdit's
EditFilterMergedContent handler, since both API and normal edits are
handled by EditFilterMergedContent in the same way.
Unfortunately the interpretation of the 'value' member in the Status
object passed to EditFilterMergedContent is not extensible, being an
integer instead of an associative array. So we add a custom member in
order to get the result array back down the stack.
Another obstacle to this design was the lack of an EditPage object
passed to EditFilterMergedContent. ConfirmEdit was previously directly
calling EditPage::showEditForm() with a $formCallback which outputs the
necessary HTML. Instead, I hacked up runPostMergeFilters() a bit, to
allow the hook to request that the edit page be shown again even if
hookError is not set. Then a new EditPage::showEditForm:fields hook does
the necessary HTML output, instead of $formCallback.
Marked $formCallback as deprecated, since I think it is now unused.
Change-Id: I4b4270dd868a643512d4717927858b6ef0556d8a
James D. Forrester [Tue, 3 Jun 2014 20:51:39 +0000 (13:51 -0700)]
Remove jQuery Migrate and $wgIncludejQueryMigrate
As indicated in MediaWiki 1.24, removing the jQuery Migrate bridging patch
that allows legacy Javascript code that depends ancient features of
jQuery removed in jQuery 1.9 to work.
Change-Id: I0934247182e2737716c9d40f4bf93415adcdadf3