Translation updater bot [Thu, 4 Jun 2015 19:14:12 +0000 (21:14 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ia78d394ebff2c701442d32f63c1936d1139200c5
jenkins-bot [Thu, 4 Jun 2015 18:33:29 +0000 (18:33 +0000)]
Merge "Deprecate $wgEnableParserCache"
jenkins-bot [Thu, 4 Jun 2015 18:23:03 +0000 (18:23 +0000)]
Merge "resourceloader: Remove redundant getModifiedTime implementations"
Aaron Schulz [Tue, 19 May 2015 21:47:33 +0000 (14:47 -0700)]
Deprecate $wgEnableParserCache
* There is little reason to disable it and one can set $wgParserCacheType
if truly needed
Change-Id: Iec5fc7729d0f9de67ec2aa6c0e9c2c1e3e0d57ad
jenkins-bot [Thu, 4 Jun 2015 18:16:09 +0000 (18:16 +0000)]
Merge "resourceloader: Add unit test for validateScriptFile()"
jenkins-bot [Thu, 4 Jun 2015 17:58:04 +0000 (17:58 +0000)]
Merge "language: Use item 'fallbackSequence' instead of duplicating logic"
Timo Tijhof [Mon, 1 Jun 2015 23:04:26 +0000 (00:04 +0100)]
language: Use item 'fallbackSequence' instead of duplicating logic
The 'fallbackSequence' is exactly generated for this purpose. It
is equal to the value of 'fallback' after splitting, trimming
and ensuring 'en' is present. See LocalisationCache::recache().
Also simplify returning of the first array index by returning it
directly instead of modifying the array first.
Due to an inconsistency between how LocalisationCache and Language classes
treat the fallback sequence differently, we have to manually fallback
to 'en' in case of unknown language codes. This is because otherwise
Language::factory() will throw an exception causing tests to fail.
We should investigate whether this is desirable or not, but keeping
existing behaviour for now and documenting it.
Change-Id: I9c1d51b59aabebf5a31f38205304bb8cc22dcd8c
jenkins-bot [Thu, 4 Jun 2015 16:23:04 +0000 (16:23 +0000)]
Merge "Use a faster 7z command line by default"
jenkins-bot [Thu, 4 Jun 2015 16:16:59 +0000 (16:16 +0000)]
Merge "Revert "Add 'mediawiki.skinning.logo' module""
daniel [Thu, 4 Jun 2015 15:02:19 +0000 (17:02 +0200)]
Avoid data loss if compression fails
Change-Id: I0b6de030b101fdc3b2ea2cd0c15913e33e9da98d
Krinkle [Thu, 4 Jun 2015 15:00:02 +0000 (15:00 +0000)]
Revert "Add 'mediawiki.skinning.logo' module"
This is redundant and creates more modules than necessary.
The use case of not wanting to load "mediawiki.skinning.interface"
in a custom skin is invalid. For this exact purpose we already created
the ResourceLoaderSkinModule class which is generic and re-usable.
Skins can add that class name to their stylesheet file module to
append the logo styles. This way involves no extra modules. Not in
core, and not in any skin.
This reverts commit
43346e1527dc6f30e33c5acd4f479acc0eab7d0a.
Change-Id: I2b0a1d5ed72f2d5338ad26af6e04227bec45dcc1
Baha Man [Tue, 28 Apr 2015 20:03:52 +0000 (16:03 -0400)]
mediawiki.searchSuggest: Add track event on search form submission
Only fired from the skin-provided search box currently.
Bug: T97310
Change-Id: Iaccacdabca427afe1c1d5c42ae6d18d19a70543b
Timo Tijhof [Sun, 24 May 2015 12:05:13 +0000 (14:05 +0200)]
HttpStatus: Implement header() method
Standardise this. Currently MediaWiki does this in many different ways.
> WebResponse->header( "HTTP/1.0 $code $message" );
> WebResponse->header( "HTTP/1.1 $code $message" );
> WebResponse->header( "HTTP/1.x $code $message" );
> WebResponse->header( "HTTP/1.1 $code " . HttpStatus::getMessage( $code ) );
> WebResponse->header( "HTTP/1.1 $code $message", true, $code );
> header( "Status: $code $message", true, $code );
Change-Id: I1551e89808a1a67310549ec8d9fcb387754c9169
jenkins-bot [Wed, 3 Jun 2015 23:51:47 +0000 (23:51 +0000)]
Merge "hierarchicalize(!) stat names"
Ori Livneh [Wed, 3 Jun 2015 22:38:02 +0000 (15:38 -0700)]
hierarchicalize(!) stat names
Graphite expects name components to be dot-separated, so our habit of using
dashes doesn't really make sense. Change metric names to be more compatible
with Graphite, except the job queue's, since that will require a gdash
dashboard definition migration.
Change-Id: I77d0ff7606a8fc88434e4352d23415a9a8f4725a
jenkins-bot [Wed, 3 Jun 2015 21:59:15 +0000 (21:59 +0000)]
Merge "Explicitly define module position for mediawiki.htmlform.ooui.styles"
jenkins-bot [Wed, 3 Jun 2015 21:50:32 +0000 (21:50 +0000)]
Merge "Normalize hooks.txt formatting"
jenkins-bot [Wed, 3 Jun 2015 20:29:41 +0000 (20:29 +0000)]
Merge "Implemented getAllAcquiredJobs in JobQueueDB"
jenkins-bot [Wed, 3 Jun 2015 20:24:21 +0000 (20:24 +0000)]
Merge "ResourceLoader::filter: use APC when running under HHVM"
Aaron Schulz [Wed, 3 Jun 2015 20:04:42 +0000 (13:04 -0700)]
Implemented getAllAcquiredJobs in JobQueueDB
Change-Id: Ie9f0b9357b365f8bddd1f2fdcac11dec29aec876
Translation updater bot [Wed, 3 Jun 2015 20:17:02 +0000 (20:17 +0000)]
Merge "Localisation updates from https://translatewiki.net."
Ori Livneh [Wed, 13 May 2015 03:45:01 +0000 (20:45 -0700)]
ResourceLoader::filter: use APC when running under HHVM
On HHVM, (a) the cost of a ResourceLoader::filter cache miss is smaller, and
(b) APC is faster and more resilient than PHP's. These two things tilt the
scales in favor of using APC rather than Memcached.
Change-Id: I30b490e5bc815849d4b0bb06f2dbbb68825ed225
jenkins-bot [Wed, 3 Jun 2015 20:10:01 +0000 (20:10 +0000)]
Merge "jobqueue: Record stats on how long it takes before a job is run"
Kunal Mehta [Wed, 3 Jun 2015 19:20:38 +0000 (12:20 -0700)]
jobqueue: Record stats on how long it takes before a job is run
Bug: T101054
Change-Id: I5dc13d79a5ec2e8cb6679e3ff2535b5cb031ca30
Translation updater bot [Wed, 3 Jun 2015 19:47:14 +0000 (21:47 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I24e09368cdcdb0b0d7517e5219098fb246ad525a
Bryan Davis [Wed, 3 Jun 2015 05:03:51 +0000 (23:03 -0600)]
Normalize hooks.txt formatting
* Line wrap at 80 columns
* Added missing '$' for pass by reference parameters
* "$param_name: ..." for all params
* Parameter descriptions that wrap have a 2 space hanging indent
* "DEPRECATED! Use ..." immediately follows hook name
* Indent code examples with tabs per MW coding standards
* Move "hanging" information into description headers
* Fix some really out-of-order alphabetizations
Change-Id: Ic5453c90fb9b58e9fc137d8f45dcd255957bf76d
jenkins-bot [Wed, 3 Jun 2015 19:36:11 +0000 (19:36 +0000)]
Merge "Move Title null check in Special:RevisionDelete"
umherirrender [Wed, 3 Jun 2015 19:16:41 +0000 (21:16 +0200)]
Move Title null check in Special:RevisionDelete
The property $this->targetObj was used before null check in
SpecialRevisionDelete::getList
Move up the existing null check to avoid the fatal:
Catchable fatal error: Argument 3 passed to
RevisionDeleter::createList() must be an instance of Title, null given,
called in \includes\specials\SpecialRevisiondelete.php on line 354 and
defined in \includes\revisiondelete\RevisionDeleter.php on line 83
On request with an unknown rev id
Follow-Up: Ic078af5417798db1b2900057dbf7514112e94b46
Bug: T96538
Change-Id: I0c7913ecb11ffce844add7b1f3b810d54c367519
Bartosz Dziewoński [Wed, 3 Jun 2015 18:26:06 +0000 (20:26 +0200)]
Explicitly define module position for mediawiki.htmlform.ooui.styles
It was written before the warnings were added, but merged afterwards,
so this got missed, or something like that.
Change-Id: If2d7d3c41568ae7005dc99101dc6ba8fc038d4a8
jenkins-bot [Wed, 3 Jun 2015 17:38:35 +0000 (17:38 +0000)]
Merge "Let deduplicateRootJob() accept JobSpecification for consistency"
Timo Tijhof [Thu, 14 May 2015 01:31:42 +0000 (02:31 +0100)]
resourceloader: Don't cache minification of user.tokens
As of
b1e4006b4, the tokens are different on every request.
Caching these is completely useless because the cache entry is
simply unreachable and is extra overhead on every request for
logged-in users to save content to Memcached.
Whether they should be minified at all and whether they perhaps
shouldn't change on every request is a separate matter.
Bug: T84960
Change-Id: I6016e4b01e44e0acbfd6d49f7d99555e2290c9cb
jenkins-bot [Wed, 3 Jun 2015 16:25:09 +0000 (16:25 +0000)]
Merge "content: Recognise .json as JsonContent in User and MediaWiki namespace"
Kunal Mehta [Wed, 3 Jun 2015 15:03:20 +0000 (08:03 -0700)]
registration: Don't override boolean false settings
Our optimization of !$GLOBALS[$key] was affecting settings where a true
setting was being disabled in LocalSettings.php. Now explicitly check it
is an array before overriding it.
Bug: T100767
Change-Id: Id5397e526d66559bfabe6065223b1181a8a9d31e
Timo Tijhof [Tue, 2 Jun 2015 18:40:55 +0000 (19:40 +0100)]
resourceloader: Remove redundant getModifiedTime implementations
Follows-up
f37cee996e which replaced the getHashMtime() and
getDefinitionMtime() methods with dummies that always return 1.
These getModifiedTime() implementations were only tracking the
definition summary or custom hash, which is already tracked
by getVersionHash().
Notes:
* SpecialCharacterDataModule: This one was odd as it was tracking
both the mtime *and* the file contents.
* UserCSSPrefsModule/UserOptionsModule: Remove redundant caching.
Already taken care of by getVersionHash() as of
f37cee996e.
Bug: T94074
Change-Id: I6e37c3c2f85ef4599a8643b0efabc18de2f51ec4
jenkins-bot [Wed, 3 Jun 2015 13:37:33 +0000 (13:37 +0000)]
Merge "wl_notificationtimestamp code comments typo, false statement"
jenkins-bot [Wed, 3 Jun 2015 07:47:00 +0000 (07:47 +0000)]
Merge "Made User::touch no longer call load()"
Gergő Tisza [Sun, 24 May 2015 11:30:10 +0000 (11:30 +0000)]
Add a hook for reporting exceptions
Bug: T100141
Change-Id: I893f8b93e09f9ef70beef46922d304fdb3600b78
jenkins-bot [Wed, 3 Jun 2015 03:34:35 +0000 (03:34 +0000)]
Merge "Move XmlSelect to its own file"
Geoffrey Mon [Tue, 2 Jun 2015 23:43:45 +0000 (19:43 -0400)]
Move XmlSelect to its own file
Move the XmlSelect class to its own file to make it easier to find
and utilize. Helps prevent the use of unnecessary
Html::openElement, Html::element, etc.
Bug: T93234
Change-Id: I66119a2d0eda15569de06c493a0ee302f21deb3f
Timo Tijhof [Mon, 1 Jun 2015 14:02:50 +0000 (15:02 +0100)]
exception: Use standard message for HTTP status 500
This is the only case in the MediaWiki code base where a custom
message is used. Supporting in the standard HttpStatus library
would require a $customMessage parameter which seems unnecessary.
Additional information should be communicated using additional
HTTP response headers or inside the body content.
Besides, in current PHP versions and in Apache 2.4, the message is
already being ignored and replaced with the standard message (see T100984).
Bug: T100984
Change-Id: I11b58a2f3ce22568479d36027d15e5c6f428ff15
jdlrobson [Thu, 30 Apr 2015 00:21:24 +0000 (17:21 -0700)]
mediawiki.template: Mustache should return jQuery object instead of array
This is consistent with Flow and Hogan in Mobile.
Change-Id: If5c9e08ade185ebdb42a292f87d7506a68528c88
jenkins-bot [Wed, 3 Jun 2015 00:05:52 +0000 (00:05 +0000)]
Merge "Combine deleteArchived{Files,Revisions}.inc into the .php scripts"
Timo Tijhof [Tue, 2 Jun 2015 22:48:47 +0000 (23:48 +0100)]
resourceloader: Add unit test for validateScriptFile()
Follows-up
cd0dff5c00.
Change-Id: Ie208e58053048e932ef3f61f849148b1d88bc0be
Timo Tijhof [Mon, 1 Jun 2015 23:06:46 +0000 (00:06 +0100)]
resourceloader: Use mw.log instead of 'throw' for scripts with syntax errors
For scripts loaded from load.php using mw.loader.implement(), an
exception is handled fine and results in the module state progressing
from 'loading' to 'errror'.
However, for wikis modules loaded with only=scripts from the HTML directly,
there is no wrapper. As such, the state() call appended to the script is
never reached and the module indefinitely stays "loading".
VisualEditor (and others) already explicitly ignore the error state
of the wiki modules (with inline mw.loader.using and casting the Promise to resolved).
However in this case the Promise never completed to neither success nor failure.
As such, this was causing users with syntax errors in their user script to
encounter a stuck VisualEditor loading bar that never goes beyond 70%.
Change-Id: I091a020bdd3392b965e0e25d03b216037fadc48f
jenkins-bot [Tue, 2 Jun 2015 22:23:44 +0000 (22:23 +0000)]
Merge "cache: Add in-process caching to MessageBlobStore"
Timo Tijhof [Thu, 14 May 2015 18:54:39 +0000 (19:54 +0100)]
cache: Add in-process caching to MessageBlobStore
This allows us to continue to use MessageBlobStore::get() as a way
to pre-fetch messages in batches for multiple modules while also
allowing individual modules to retrieve their messages in a convenient
way.
This is in preparation for implementing ResourceLoaderModule::buildContents
and using it in ResourceLoaderModule::getVersionHash.
ResourceLoader::respond() already fetches message blobs in batches for the
actual response, but it also needs getVersionHash(), which would otherwise
fetch the same messages a second time.
Change-Id: I7e4c8b65765b54807123e85cfbb7eb2e5b2f39bd
jenkins-bot [Tue, 2 Jun 2015 22:08:42 +0000 (22:08 +0000)]
Merge "Check result of preg_match_all in Parser.php"
Aaron Schulz [Thu, 21 May 2015 23:24:42 +0000 (16:24 -0700)]
Use less fuzzy User::getDBTouched() in ApiStashEdit::getStashKey()
* The getTouched() value can bump more often or vary in DCs
Change-Id: Idffa22c9dde7c7950943b104ed61f5779636b7e7
Translation updater bot [Tue, 2 Jun 2015 19:17:31 +0000 (21:17 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I860b228e2f23cdb32f066943d377b583bc6436eb
Aaron Schulz [Tue, 2 Jun 2015 18:38:43 +0000 (11:38 -0700)]
Fixed $flags bit operation precedence fail in User::loadFromDatabase()
* The bug made READ_LATEST also act as READ_LOCKING
Bug: T100577
Bug: T100869
Bug: T98706
Change-Id: I85092970c236fc4482371216b9f6592c49a27942
Brian Wolff [Mon, 25 May 2015 21:21:59 +0000 (15:21 -0600)]
Move xml_free_parser out of destructor.
Attempt to reduce error log spam. I'm not sure about the exact
cause of this error, nor have I really reproduced locally, so
I don't know if this will help, but getting it out of destructor
seems like a good idea.
I also do not know if calling xml_free_parser is really needed
(Would php automatically destroy parser during garbage collection?)
Bug: T89532
Change-Id: I5709b6cf26cf4a9032a79d2b5f48ed3b4238eaee
jenkins-bot [Tue, 2 Jun 2015 17:40:48 +0000 (17:40 +0000)]
Merge "Use a fixed comment placeholder string in CSSMin"
jenkins-bot [Tue, 2 Jun 2015 17:28:09 +0000 (17:28 +0000)]
Merge "OOUI theme support"
Aaron Schulz [Tue, 2 Jun 2015 00:23:06 +0000 (17:23 -0700)]
Made User::touch no longer call load()
* Just reset mQuickTouched instead of guessing a new value
in touch() for simplicity
Change-Id: Ibfe551cf061919ab18c4ff634d8db8f3c0eaf0a5
Ori Livneh [Tue, 2 Jun 2015 03:49:16 +0000 (20:49 -0700)]
Use a fixed comment placeholder string in CSSMin
Both the problem and solution are nearly identical to the ones presented in
I31d4556bb. Use a constant string as a comment placeholder, and differentiate
it from possible user input using \x7f, which is not valid CSS anyway[1].
[1]: http://www.w3.org/TR/CSS21/grammar.html
Change-Id: I3d3c2578d5e9c1fe52c02e87901cb08d03847ea7
Federico Leva [Tue, 12 May 2015 19:00:46 +0000 (21:00 +0200)]
wl_notificationtimestamp code comments typo, false statement
The timestamp is updated earlier.
Change-Id: I5c40affc346b85fa5350c381ee3f93c86b26d454
jenkins-bot [Tue, 2 Jun 2015 14:20:07 +0000 (14:20 +0000)]
Merge "Fixing definition and use of $attrs parameter in Html::buttonAttributes"
jenkins-bot [Tue, 2 Jun 2015 14:08:39 +0000 (14:08 +0000)]
Merge "Improve doc of maxage and s-maxage API parameters"
jenkins-bot [Tue, 2 Jun 2015 13:34:07 +0000 (13:34 +0000)]
Merge "Made LoadBalancer debug log entries use "localhost" placeholder"
jenkins-bot [Tue, 2 Jun 2015 13:29:19 +0000 (13:29 +0000)]
Merge "Rewrite Language::hebrewNumeral()"
jenkins-bot [Tue, 2 Jun 2015 13:20:27 +0000 (13:20 +0000)]
Merge "Reduce page deletion lock contention"
Amir E. Aharoni [Thu, 21 May 2015 23:26:05 +0000 (02:26 +0300)]
Rewrite Language::hebrewNumeral()
Use arrays instead of strings, to avoid using
string functions with Unicode.
Handle thousands according to how years like 1000, 2000, etc.
are named in the Hebrew Wikipedia.
Bug: T97444
Change-Id: I5334e86793d28dfcf8939a249b03a5ea85fa4e69
Amir E. Aharoni [Thu, 21 May 2015 22:21:09 +0000 (01:21 +0300)]
Cleanup the code of Language::hebrewNumeral()
Change == to === and add empty lines for readability.
Change-Id: Ifeabbf0d6adca25d8a797bd423f1bbdc0f8223ee
Amir E. Aharoni [Mon, 4 May 2015 21:27:35 +0000 (00:27 +0300)]
Add tests for Language::hebrewNumeral()
Some failing tests are commented out and will be properly fixed
in subsequent commits.
Bug: T97444
Change-Id: I19721b5dc3dc6bbe923d9bf401fcf5d765fb7a7c
S Page [Tue, 2 Jun 2015 07:52:18 +0000 (00:52 -0700)]
Improve doc of maxage and s-maxage API parameters
They set HTTP cache control headers. i18-only change.
Change-Id: I9eefdd51d6937388326ceb7b6baa72288221c2f7
jenkins-bot [Tue, 2 Jun 2015 05:06:52 +0000 (05:06 +0000)]
Merge "Add List-Unsubscribe header to emails"
jenkins-bot [Tue, 2 Jun 2015 04:51:44 +0000 (04:51 +0000)]
Merge "mediawiki.ui: checkbox: Render "on top of" the label"
kaldari [Tue, 2 Jun 2015 01:46:07 +0000 (18:46 -0700)]
Fixing definition and use of $attrs parameter in Html::buttonAttributes
Also clarifying definition of $modifiers parameter.
Also simplifying code for case where $attrs['class'] is not set.
Change-Id: I425211681ba75cb71c1ccc3b3c038c075ea9acb9
Kunal Mehta [Tue, 2 Jun 2015 01:50:51 +0000 (18:50 -0700)]
registration: Remove "additionalitems" property from array (authors)
It doesn't make sense for arrays which can't have items to begin with.
Follows up
bfe4ddd8108efe
Change-Id: I851b70782fa8210802fe576fee771ddf1bdd7fec
jenkins-bot [Tue, 2 Jun 2015 01:33:36 +0000 (01:33 +0000)]
Merge "composer.json: Downgrade PHPUnit to 3.7.37 (temporarily)"
jenkins-bot [Mon, 1 Jun 2015 23:48:53 +0000 (23:48 +0000)]
Merge "Follow-up
727454f: Add mediawiki.widgets to jsduck"
jenkins-bot [Mon, 1 Jun 2015 23:47:09 +0000 (23:47 +0000)]
Merge "Add help link for 8 more special pages"
James D. Forrester [Mon, 1 Jun 2015 23:33:21 +0000 (16:33 -0700)]
Follow-up
727454f: Add mediawiki.widgets to jsduck
Change-Id: I1715c5bbca8735de8c391dee4e2cec8269414acf
jenkins-bot [Mon, 1 Jun 2015 22:15:11 +0000 (22:15 +0000)]
Merge "Commit all connections after each job"
Nik Everett [Fri, 29 May 2015 22:07:27 +0000 (18:07 -0400)]
Commit all connections after each job
If you don't commit the slave connections then they keep their old snapshots.
This clears the snapshots so they don't get out of date views of the world.
Bug: T100838
Change-Id: I1f6f910d88324beb589b2ad9466d8786376eda55
Translation updater bot [Mon, 1 Jun 2015 20:08:37 +0000 (22:08 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I491182176e3357ed36de4856e20af71d735dcd27
jenkins-bot [Mon, 1 Jun 2015 19:24:56 +0000 (19:24 +0000)]
Merge "Moved addAutopromoteOnceGroups() call to a deferred update"
jenkins-bot [Mon, 1 Jun 2015 18:54:02 +0000 (18:54 +0000)]
Merge "Add tests for HttpError"
aude [Mon, 1 Jun 2015 18:19:19 +0000 (20:19 +0200)]
Add tests for HttpError
Still missing tests for HttpError::report, but would
have caught the issue that Ie216d19 fixed.
Change-Id: Ic35d70af52c3a2d2a25fc3b9952383198db31fb1
Florian [Mon, 1 Jun 2015 18:01:38 +0000 (20:01 +0200)]
Remove legacy vertical-align from select fields
They shouldn't be aligned at the top by default.
Bug: T98493
Change-Id: I17b0825079ff28dfc9ea2c1ec24018073aec3794
Marius Hoch [Mon, 1 Jun 2015 17:40:41 +0000 (19:40 +0200)]
Fix undefined variable $header in HttpError
Change-Id: Ie216d1959f2ea903fdbc124b718b4988e08229ae
Follows-up: I8b61d7e9ea4101e3a9ef5f9a59a97db45aeef68c
jenkins-bot [Mon, 1 Jun 2015 17:16:54 +0000 (17:16 +0000)]
Merge "Add 'mediawiki.skinning.logo' module"
Timo Tijhof [Sun, 24 May 2015 12:39:15 +0000 (14:39 +0200)]
HttpError: Consistently escape document title
Wasn't actually a vulnerability because HttpStatus::getMessage
can only return one of a fixed set of values which are all plain
text without any special characters. However the return value
there is meant to plain text and not html, so just like
Html::element and other interfaces, things should be consitently
escaped.
Also renamed variables for clarity.
Change-Id: I8b61d7e9ea4101e3a9ef5f9a59a97db45aeef68c
jenkins-bot [Mon, 1 Jun 2015 13:42:41 +0000 (13:42 +0000)]
Merge "Add Vivek Ghaisas (polybuildr) to the CREDITS file"
jenkins-bot [Mon, 1 Jun 2015 13:38:55 +0000 (13:38 +0000)]
Merge "Made isAllowed(), showHistory() and formatRevisionRow() protected to allow for easier subclassing"
jenkins-bot [Mon, 1 Jun 2015 11:50:33 +0000 (11:50 +0000)]
Merge "SpecialMediaStatistics: Protect against invalid indexes"
Brian Wolff [Mon, 1 Jun 2015 11:16:20 +0000 (11:16 +0000)]
Merge "Fix some RecentChange phpdoc return types"
jenkins-bot [Mon, 1 Jun 2015 11:13:07 +0000 (11:13 +0000)]
Merge "Tweak 'position' of 'mediawiki.skinning.*' modules"
addshore [Mon, 1 Jun 2015 11:05:58 +0000 (12:05 +0100)]
Fix some RecentChange phpdoc return types
Change-Id: I3e75a97f7fc76e2dc052463511e32f330cfca9ce
jenkins-bot [Mon, 1 Jun 2015 02:57:02 +0000 (02:57 +0000)]
Merge "Use a fixed marker prefix string in the Parser and MWTidy"
jenkins-bot [Mon, 1 Jun 2015 02:39:57 +0000 (02:39 +0000)]
Merge "Move MWTimestamp::getHumanTimestamp() to Language"
Ori Livneh [Tue, 26 May 2015 20:48:33 +0000 (13:48 -0700)]
Use a fixed marker prefix string in the Parser and MWTidy
Generating one-time, unique strip markers hurts us in multiple ways:
* The strip marker regexes don't benefit from JIT compilation, so they are
slower to execute than they could be.
* Although the regexes don't benefit from JIT compilation, they are still
compiled, because HHVM bets on regexes getting reused. This extra work is
fairly costly (1-2% of CPU usage on the app servers) and doesn't pay off.
* The size of the PCRE JIT cache is finite, and the caching of one-off regexes
displaces from the cache regexes which are in fact reused.
Tim's preferred solution (per his review comment on
https://gerrit.wikimedia.org/r/167530/) is to use fixed strip markers.
So:
* Replace usage of $parser->mUniqPrefix with Parser::MARKER_PREFIX, which
complements the existing Parser::MARKER_SUFFIX.
* Deprecate Parser::mUniqPrefix and its accessor, Parser::uniqPrefix().
* Deprecate Parser::getRandomString(), since it is no longer useful.
* In Preprocessor_*:preprocessToObj() and Parser::fetchTemplateAndTitle,
replace any occurences of \x7f with '?', to prevent strip marker forgery.
\x7f is not valid input anyway.
* Deprecate the $prefix parameter for StripState::__construct, since a custom
prefix may no longer be specified.
Change-Id: I31d4556bbb07acb72c33fda335fa5a230379a03f
Kunal Mehta [Sun, 31 May 2015 04:50:42 +0000 (21:50 -0700)]
Remove deprecated MWFunction::newObj()
Change-Id: I180e9e1e0bcf17c9e72b607c69cae00f47de6579
Bartosz Dziewoński [Sun, 24 May 2015 16:56:44 +0000 (18:56 +0200)]
OOUI theme support
* Split off OOjs UI's module definitions to a separate file from
Resources.php.
* Extend ResourceLoaderImageModule to support per-skin images and
variants.
* Allow skins to specify their preferred OOjs UI theme using new
skin registry attribute 'SkinOOUIThemes'. The default remains the
'mediawiki' theme, 'apex' can also be chosen now.
* Implement custom ResourceLoaderOOUIImageModule which implements some
special sauce required to shoehorn OOjs UI image set definitions into
ResourceLoaderImageModule with skin-specific styles support.
Bug: T100895
Change-Id: I3fbacbce95126a4cc29221352f3ef846f41e7b1b
Ori Livneh [Sun, 31 May 2015 22:16:11 +0000 (15:16 -0700)]
Whitespace fix for RELEASE-NOTES-1.26
Change-Id: I23a02f465b20117a1855e2a0881fc3bdf1e9ab14
jenkins-bot [Sun, 31 May 2015 21:48:31 +0000 (21:48 +0000)]
Merge "Remove mw-ui-icon*:after"
jenkins-bot [Sun, 31 May 2015 20:20:01 +0000 (20:20 +0000)]
Merge "Create mediawiki.widgets and mw.widgets.TitleInputWidget in it"
jenkins-bot [Sun, 31 May 2015 20:12:10 +0000 (20:12 +0000)]
Merge "Implement MalformedTitleException for JS and use in constructor"
James D. Forrester [Sun, 31 May 2015 20:01:39 +0000 (13:01 -0700)]
mailmap: Add an additional e-mail for Bartosz per request
Change-Id: Ia3c9f1c83a8d15cb5758288d435b31c3bf1e8b19
Geoffrey Mon [Fri, 15 May 2015 05:19:30 +0000 (01:19 -0400)]
Implement MalformedTitleException for JS and use in constructor
Implements MalformedTitleExceptions to provide information on
invalid titles. Throw these exceptions from Title constructor
instead of generic Errors.
Bug: T89648
Change-Id: I9ed16a5a30b01df785ad736df4b84111c5939bbf