jenkins-bot [Sun, 18 Dec 2016 02:53:47 +0000 (02:53 +0000)]
Merge "Add dotall modifier to EDITSECTION_REGEX"
jenkins-bot [Sat, 17 Dec 2016 22:35:07 +0000 (22:35 +0000)]
Merge "mediawiki.special.watchlist: Fix render stampede after "Mark all pages visited""
Translation updater bot [Sat, 17 Dec 2016 20:53:03 +0000 (21:53 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I649e54c975f5fe8445821e53ef121ec088167ca9
jenkins-bot [Sat, 17 Dec 2016 15:40:12 +0000 (15:40 +0000)]
Merge "Fixing mediawiki's য় problem"
Stanislav Malyshev [Fri, 16 Dec 2016 23:04:14 +0000 (15:04 -0800)]
Fix deprecation message - use correct method name (defaultPrefixSearch)
Change-Id: Ie4dbb28b4ca11ecfeaccd331db55f92130f6cdf1
jenkins-bot [Sat, 17 Dec 2016 06:55:58 +0000 (06:55 +0000)]
Merge "mediawiki.api.watch: Use formatversion=2 for API requests"
jenkins-bot [Sat, 17 Dec 2016 06:42:10 +0000 (06:42 +0000)]
Merge "user: Minor clean up of User::isLocallyBlockedProxy()"
jenkins-bot [Sat, 17 Dec 2016 06:41:34 +0000 (06:41 +0000)]
Merge "Fix various minor IDEA warnings in LoadBalancer"
Timo Tijhof [Sat, 17 Dec 2016 06:09:06 +0000 (22:09 -0800)]
user: Minor clean up of User::isLocallyBlockedProxy()
Change-Id: If8bcb2f26f14ce04ee23fb9500be95c8cdf1a967
Timo Tijhof [Sat, 17 Dec 2016 05:47:28 +0000 (21:47 -0800)]
mediawiki.special.watchlist: Fix render stampede after "Mark all pages visited"
Follow-up
9ea1142fad,
f4d70ceedc,
73592aea1c.
The progress bar has a continuous animation that is rather CPU heavy.
While it is set to 'visibility hidden', this is merely a way to make the
contents of the element transparent. It is still interactable (e.g. if it
has hover or click handlers, they would trigger if hovering in that area)
and still rendered with full 60fps paint and layout.
Instead, detach and (re-)append the element as needed. Since the element
has an absolute position, it doesn't cause a content reflow when the element
is detached. This fact is already made use of considering the element is
inserted only after the submit button is clicked - without content reflow.
Change-Id: I06ef0d527044e5a6080febdb618eaffeb6ec85fa
jenkins-bot [Sat, 17 Dec 2016 05:14:18 +0000 (05:14 +0000)]
Merge "Change linking Special:PageLanguage on action=info"
jenkins-bot [Sat, 17 Dec 2016 03:17:10 +0000 (03:17 +0000)]
Merge "mediawiki.searchSuggest: Remove inline browser compat check"
jenkins-bot [Sat, 17 Dec 2016 03:17:06 +0000 (03:17 +0000)]
Merge "Adjust phan script to run sub-projects"
jenkins-bot [Sat, 17 Dec 2016 02:25:03 +0000 (02:25 +0000)]
Merge "SearchInputWidget: Support searching a namespaces besides 0"
jenkins-bot [Sat, 17 Dec 2016 01:57:58 +0000 (01:57 +0000)]
Merge "mediawiki.api: Add test for api deferred rejection of errorformat!=bc"
jenkins-bot [Sat, 17 Dec 2016 01:48:46 +0000 (01:48 +0000)]
Merge "jquery.tipsy: Remove support for 'live' option"
Matthias Mullie [Fri, 16 Dec 2016 07:30:43 +0000 (08:30 +0100)]
mediawiki.api: Add test for api deferred rejection of errorformat!=bc
Change-Id: Ia4e1d575e07df690919d63502f9fedffff7be0a3
Bartosz Dziewoński [Mon, 25 Jul 2016 11:37:45 +0000 (13:37 +0200)]
jquery.tipsy: Remove support for 'live' option
Follows-up
aa524075ac from 2014.
It was relying on jQuery features that have been deprecated a long time
ago, officially removed in jQuery 1.11, and removed for real in 3.0.
We have to get rid of it at some point. As far as I can tell, nothing
in our repositories uses this option anymore.
Rather than remove the code and diverge further from upstream Tipsy,
I'm just making it throw an error if this is passed. Maybe one day we'll
upgrade Tipsy too to some modern version and this will then disappear.
Bug: T85048
Change-Id: I7dca8334556b1079cd4fee2e6e921232fe3d46ef
Timo Tijhof [Sat, 17 Dec 2016 01:22:52 +0000 (17:22 -0800)]
mediawiki.searchSuggest: Remove inline browser compat check
Introduced in
1f987fb5eea4.
This is quite dated and obsolete since then. The current code in
the 'mediawiki.searchSuggest' and 'jquery.suggestions' works fine
in all currently supported Grade A browsers (per startup.js).
Change-Id: I6d281459e230fa6a2971a31314f9e963dc83ff2b
jenkins-bot [Sat, 17 Dec 2016 01:29:08 +0000 (01:29 +0000)]
Merge "Fix type annotation"
jenkins-bot [Sat, 17 Dec 2016 01:28:36 +0000 (01:28 +0000)]
Merge "tests: Fix broken setup/teardown in mediawiki.language.test.js"
Erik Bernhardson [Sat, 17 Dec 2016 01:16:04 +0000 (17:16 -0800)]
Adjust phan script to run sub-projects
Rather than duplicating the phan and postprocess-phan.php scripts
into extensions, this allows passing the path to the extension
(or skin, or whichever) to the phan script and it will run the analysis
for that project.
Individual projects will need a tests/phan/config.php file that defines
how the analysis will run in their project.
Bug: T153040
Change-Id: I58ad44f6a8769088e87d5d6cf1079e633c082f88
Kunal Mehta [Sat, 17 Dec 2016 00:09:02 +0000 (16:09 -0800)]
SearchInputWidget: Support searching a namespaces besides 0
0 is currently hardcoded in searchSuggest, making it hard to use
SearchInputWidget for other things.
SearchInputWidget already takes a namespace parameter by virtue of
extending TitleInputWidget, so use that.
Change-Id: Iecf93d1e8d4075a5a9aa0f08059c609aa8db4f6d
Max Semenik [Sat, 17 Dec 2016 00:55:58 +0000 (16:55 -0800)]
Fix type annotation
Change-Id: I8996a7617c4723c9c4ff8f91d0f3767c9e67dd28
Timo Tijhof [Sat, 17 Dec 2016 00:55:33 +0000 (16:55 -0800)]
tests: Fix broken setup/teardown in mediawiki.language.test.js
Ref T152476.
Change-Id: Ie871d36dadefd69d0a5dc85c275b55d4d477dc78
jenkins-bot [Sat, 17 Dec 2016 00:54:55 +0000 (00:54 +0000)]
Merge "registration: Always specify version number in extension.schema.json file"
jenkins-bot [Fri, 16 Dec 2016 21:11:39 +0000 (21:11 +0000)]
Merge "Remove deprecated function User::isPasswordReminderThrottled()"
jenkins-bot [Fri, 16 Dec 2016 21:06:15 +0000 (21:06 +0000)]
Merge "Remove 2 deprecated functions from class User"
Translation updater bot [Fri, 16 Dec 2016 20:59:51 +0000 (21:59 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I586676d3574c23e6746b7673664734ae66eb7984
Max Semenik [Fri, 16 Dec 2016 00:23:10 +0000 (16:23 -0800)]
Remove deprecated function User::isPasswordReminderThrottled()
Deprecated and stubbed in 1.27, only throws exceptions these days.
The only user in core or extensions is AjaxLogin which is completely
broken anyway (T153385).
Change-Id: I298fbc3e65d98b3af2f3cfef3d9884e277e6717c
Max Semenik [Fri, 16 Dec 2016 00:10:03 +0000 (16:10 -0800)]
Remove 2 deprecated functions from class User
They've been deprecated in 1.27 and only throw exceptions
no callers in core or extensions.
Change-Id: I1ccfa39c287b640b435a075449e4674daf8d24e7
jenkins-bot [Fri, 16 Dec 2016 20:41:34 +0000 (20:41 +0000)]
Merge "WatchedItemStore::setNotificationTimestampsForUser(): Allow clearing timestamp"
jenkins-bot [Fri, 16 Dec 2016 20:11:17 +0000 (20:11 +0000)]
Merge "Minor adjustments to align with WikimediaUI color palette"
Umherirrender [Fri, 16 Dec 2016 19:57:06 +0000 (20:57 +0100)]
Change linking Special:PageLanguage on action=info
Change from linking of description to extra link behind the data. Also
reorder the code and language name to match the order on
Special:PageLanguage
Change-Id: I859df5d04c5d937fba55c309034a0350574b5af7
Kunal Mehta [Fri, 16 Dec 2016 19:32:26 +0000 (11:32 -0800)]
registration: Always specify version number in extension.schema.json file
Instead of having the current version of the schema live at
extension.schema.json, always include a version number in it. This
simplifies both the code, and makes merging, cherry-picks, rebasing,
etc. easier when the current schema version changes.
Change-Id: I1b5ef4ced1eb34b8bdda7ba9b3f086b1997b704c
Brad Jorsch [Fri, 16 Dec 2016 19:31:24 +0000 (14:31 -0500)]
WatchedItemStore::setNotificationTimestampsForUser(): Allow clearing timestamp
ApiSetNotificationTimestamp expects to be able to clear the timestamp by
passing null. Allow that to work as expected.
Bug: T153482
Change-Id: Ibf4ba56f0abd3b72283f7a33e4665d5999a70b82
Aftab [Wed, 14 Dec 2016 14:20:53 +0000 (14:20 +0000)]
Fixing mediawiki's য় problem
Bengali $magicWords translations with য় (U+09DF) does not working because the character য় (U+09DF) was interpreted by MediaWiki as য (U+09AF) and nukta (U+09BC).
See also: https://gerrit.wikimedia.org/r/#/c/326433/
Bug: T153132
Change-Id: I6ef18acd7c1eb0ce87e81163ef0130620d48d200
jenkins-bot [Fri, 16 Dec 2016 18:51:54 +0000 (18:51 +0000)]
Merge "TitleWidget: Cache siteinfo API response"
Kunal Mehta [Fri, 16 Dec 2016 17:46:38 +0000 (09:46 -0800)]
TitleWidget: Cache siteinfo API response
This information rarely changes, so cache it for a day client-side.
Bug: T153388
Change-Id: I375a17737855eaa661c85e0dde2b7e58b67bc710
Brad Jorsch [Thu, 1 Dec 2016 16:51:03 +0000 (11:51 -0500)]
Add the concept of "system blocks"
Blocks made for configured proxies, dnsbls, or the configured range
soft-blocks being added in I6c11a6b9 aren't real blocks stored in the
database. Let's actually flag these blocks as such and use a more
appropriate message when displaying them to the user.
Change-Id: I697e3eec2520792e98c193200c2b1c28c35bf382
jenkins-bot [Fri, 16 Dec 2016 17:20:16 +0000 (17:20 +0000)]
Merge "Decrease the number of 'function says it should return something' errors"
jenkins-bot [Fri, 16 Dec 2016 17:18:00 +0000 (17:18 +0000)]
Merge "Fix type annotations"
jenkins-bot [Fri, 16 Dec 2016 17:15:12 +0000 (17:15 +0000)]
Merge "More properly fix error message"
Brad Jorsch [Fri, 16 Dec 2016 14:34:43 +0000 (09:34 -0500)]
More properly fix error message
I2b686228 was a quick bandaid, but resulted in the error message not
actually reporting the incorrect list type.
Change-Id: I2b2bd6ee66a78fadb31b3524dfe04bf9e1f45535
Geoffrey Mon [Fri, 16 Dec 2016 01:35:12 +0000 (20:35 -0500)]
Don't show dialog to confirm whether to reset watchlist
People don't seem to like having a dialog to ask for confirmation to set all
pages to visited in the watchlist, and the PHP server-side reset
functionality doesn't ask for a confirmation anyways.
Bug: T153438
Change-Id: I92aa3c0670925efc691d8bdba2c1c503e17ddb8c
jenkins-bot [Fri, 16 Dec 2016 07:22:24 +0000 (07:22 +0000)]
Merge "Cleanup some incorrect return annotations"
jenkins-bot [Fri, 16 Dec 2016 07:16:45 +0000 (07:16 +0000)]
Merge "Add <!DOCTYPE html> to HTML responses"
jenkins-bot [Fri, 16 Dec 2016 07:16:38 +0000 (07:16 +0000)]
Merge "mediawiki.special.watchlist: Optimize JavaScript code"
jenkins-bot [Fri, 16 Dec 2016 07:15:18 +0000 (07:15 +0000)]
Merge "Add ILocalizedException interface"
jenkins-bot [Fri, 16 Dec 2016 07:15:15 +0000 (07:15 +0000)]
Merge "IcuCollation: Add the current class name to 'first-letters' cache key"
jenkins-bot [Fri, 16 Dec 2016 04:14:43 +0000 (04:14 +0000)]
Merge "Remove un-necessary stdClass use"
Mark A. Hershberger [Fri, 16 Dec 2016 03:36:39 +0000 (22:36 -0500)]
Remove un-necessary stdClass use
And it causes the following warning when you visit the list of special pages:
The use statement with non-compound name 'stdClass' has no effect
Change-Id: I3698dab32a572e8c39788ddfc0ae2b3312a2e94e
Aaron Schulz [Fri, 16 Dec 2016 03:32:26 +0000 (19:32 -0800)]
Fix various minor IDEA warnings in LoadBalancer
Change-Id: Ic65a04ca1b988fe36e088709d7dc4e981670cb62
jenkins-bot [Fri, 16 Dec 2016 03:22:45 +0000 (03:22 +0000)]
Merge "Add LoadBalancer::getMaintenanceConnectionRef() method"
tjlsangria [Sun, 2 Oct 2016 19:26:42 +0000 (15:26 -0400)]
Add NS_TEMPLATE to wgNamespacesWithSubpages in DefaultSettings.php
Bug: T147160
Change-Id: I504de3332bbc4b39d8d69fa324949988d56d0b67
jenkins-bot [Fri, 16 Dec 2016 02:57:57 +0000 (02:57 +0000)]
Merge "resourceloader: Include backtrace in formatted errors (if enabled)"
jenkins-bot [Fri, 16 Dec 2016 02:57:08 +0000 (02:57 +0000)]
Merge "resourceloader: Don't let module exception break startup"
Timo Tijhof [Sat, 3 Dec 2016 03:57:42 +0000 (19:57 -0800)]
resourceloader: Include backtrace in formatted errors (if enabled)
Make ResourceLoader error formatting the same as everywhere else.
Which means if wgShowExceptionDetails is enabled locally, the
trace will be included as well.
This matches logic in MWExceptionRenderer.
Also move the typical error handling used by respond() to a
utility method to reduce duplication of code and avoid mistakes.
Change-Id: If04ae99618e4a758ed0f9dd2b555496b76da29de
jenkins-bot [Fri, 16 Dec 2016 01:01:39 +0000 (01:01 +0000)]
Merge "registration: Improve dependency checking"
jenkins-bot [Fri, 16 Dec 2016 01:00:04 +0000 (01:00 +0000)]
Merge "registration: Allow specifying extension dependencies"
jenkins-bot [Fri, 16 Dec 2016 00:58:37 +0000 (00:58 +0000)]
Merge "registration: Generalize CoreVersionChecker to VersionChecker"
jenkins-bot [Fri, 16 Dec 2016 00:41:58 +0000 (00:41 +0000)]
Merge "Fix PhanTypeInvalidLeftOperand in Language.php"
jenkins-bot [Fri, 16 Dec 2016 00:20:45 +0000 (00:20 +0000)]
Merge "Fix undefined $param"
Max Semenik [Thu, 15 Dec 2016 23:19:57 +0000 (15:19 -0800)]
Decrease the number of 'function says it should return something' errors
Change-Id: Ib5115fe5bbaa67d8a6e54cc3ba1ba7020e239e11
C. Scott Ananian [Tue, 20 Sep 2016 22:26:32 +0000 (18:26 -0400)]
Protect language converter markup in the preprocessor.
This ensures that `{{echo|-{R|foo}-}}` is parsed correctly as
a template invocation with a single argument, not as two separate
arguments split by the `|`.
Bug: T146304
Change-Id: I709d007c70a3fd19264790055042c615999b2f67
Timo Tijhof [Sat, 3 Dec 2016 00:48:14 +0000 (16:48 -0800)]
resourceloader: Don't let module exception break startup
When getScript (or some other method used in a module response)
throws an error, only that module fails (by outputting mw.loader.state
instead of mw.loader.implement). Other modules will work.
This has always been the case and is working fine. For example,
"load.php?modules=foo|bar", where 'foo' throws, will return:
```js
/* exception message: .. */
mw.loader.implement('bar', ..)
mw.loader.state('foo', 'error')
```
The problem, however, is that during the generation of the startup
module, we iterate over all other modules. In 2011, the
getVersionHash method (then: getModifiedTime) was fairly simple
and unlikely to throw errors.
Nowadays, some modules use enableModuleContentVersion which will
involve the same code path as for regular module responses.
The try/catch in ResourceLoader::makeModuleResponse() suffices
for the case of loading modules other than startup. But when
loading the startup module, and an exception happens in getVersionHash,
then the entire startup response is replaced with an exception comment.
Example case:
* A file not existing for a FileModule subclass that uses
enableModuleContentVersion.
* A database error from a data module, like CiteDataModule or
CNChoiceData.
Changes:
* Ensure E-Tag is still useful while an error happens in production
because we respond with 200 OK and one error isn't the same as
another.
Fixed by try/catch in getCombinedVersion.
* Ensure start manifest isn't disrupted by one broken module.
Fixed by try/catch in StartupModule::getModuleRegistrations().
Tests:
* testMakeModuleResponseError: The case that already worked fined.
* testMakeModuleResponseStartupError: The case fixed in this commit.
* testGetCombinedVersion: The case fixed in this commit for E-Tag.
Bug: T152266
Change-Id: Ice4ede5ea594bf3fa591134bc9382bd9c24e2f39
Kunal Mehta [Thu, 15 Dec 2016 23:09:26 +0000 (15:09 -0800)]
registration: Improve dependency checking
* Pass $coreVersion to VersionChecker's constructor, don't require a
setter.
* Bump ExtensionRegistry::CACHE_VERSION
* Return single strings from handle* functions, avoid array_merge calls
* Improve invalid version error message
* Fix naming of VersionCheckerTest class
Change-Id: Id4f66b815aa41dbbc4b966095d6b99e542e548b4
Reedy [Thu, 15 Dec 2016 22:43:07 +0000 (22:43 +0000)]
Fix undefined $param
Change-Id: I2b6862284b80c27f1f6189a261428324295699ae
jenkins-bot [Thu, 15 Dec 2016 22:18:30 +0000 (22:18 +0000)]
Merge "MessageCache invalidation improvements"
Max Semenik [Thu, 15 Dec 2016 21:59:32 +0000 (13:59 -0800)]
Fix type annotations
Change-Id: Ib72c98358b2f0b3b73b6f105adea47346373d46d
Amir Sarabadani [Sat, 10 Dec 2016 10:31:25 +0000 (14:01 +0330)]
Minor adjustments to align with WikimediaUI color palette
All but one of them affecting border-colors and in one case a :hover
background-color.
- <hr>
- catlinks
- datatable
- mw-plusminus-null
- headings h1, h2 and so on
Bug: T152025
Change-Id: I233e42ac399202791dd44e48dc58487be0f9d8ac
Translation updater bot [Thu, 15 Dec 2016 21:50:06 +0000 (22:50 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: Ia6cd0fab7698eda791b80f21ee7b15a259738bd7
Erik Bernhardson [Thu, 15 Dec 2016 19:33:43 +0000 (11:33 -0800)]
Fix two instances of calling function with too few args
At one point SearchIndexFieldDefinition was updated to require the
engine to be passed in, but it seems that update was missed here.
BackupDumper::loadPlugin() requires the second argument, set it to
the empty string to keep current behaviour.
Change-Id: Ifbd8fc4870ff63b2d338f8bb4d251d7a3477b989
Fomafix [Thu, 15 Dec 2016 14:01:49 +0000 (15:01 +0100)]
mediawiki.special.watchlist: Optimize JavaScript code
* Create progress bar not before submit.
* Reenable the disabled reset button after response.
Currently a reload of the watch list after reset may lead to a disabled
reset button.
* Reduce indenting by make an early return.
* Add some line breaks for better readability.
* Add some comments.
Follows-up to
9ea1142fad935999ac64e2920321520c1bbbfb61
Change-Id: Ibfafa140172bae55be01383ef7a9899104d46938
jenkins-bot [Thu, 15 Dec 2016 19:46:34 +0000 (19:46 +0000)]
Merge "Correct DatabaseSqlite::unionQueries annotation"
jenkins-bot [Thu, 15 Dec 2016 19:22:39 +0000 (19:22 +0000)]
Merge "Enable supplying inline interwiki results"
Erik Bernhardson [Thu, 15 Dec 2016 19:22:03 +0000 (11:22 -0800)]
Correct DatabaseSqlite::unionQueries annotation
The annotation was claiming string, but it's very obvious from
the usage the it should be string[].
Change-Id: I99849a338971590ca68dfb175b2458ad5ebc0df2
Bartosz Dziewoński [Thu, 15 Dec 2016 14:17:56 +0000 (15:17 +0100)]
IcuCollation: Add the current class name to 'first-letters' cache key
Instances of subclasses of IcuCollation with customizations for
specific languages probably shouldn't share this cache with instances
of IcuCollation with the same language.
Change-Id: I06d66d199c99448a3375381baef0366c4d99c8c4
jenkins-bot [Thu, 15 Dec 2016 13:58:50 +0000 (13:58 +0000)]
Merge "Set $linktrail for MessagesKu_latn.php"
jenkins-bot [Thu, 15 Dec 2016 13:37:56 +0000 (13:37 +0000)]
Merge "Add CollationFa"
Amir Sarabadani [Sun, 31 Jul 2016 14:36:49 +0000 (19:06 +0430)]
Add CollationFa
Bug: T139110
Change-Id: Ie15a2ee1c22ff4a1d2b721ed137227fe83dd12ea
Ghybu [Thu, 15 Dec 2016 01:19:31 +0000 (01:19 +0000)]
Set $linktrail for MessagesKu_latn.php
Bug: T153233
Change-Id: I488129a002a92481412667706dbd2c534aa8d45b
jenkins-bot [Thu, 15 Dec 2016 10:16:01 +0000 (10:16 +0000)]
Merge "SpecialUserrights: Use session data instead of URL parameter for success"
jenkins-bot [Thu, 15 Dec 2016 07:46:34 +0000 (07:46 +0000)]
Merge "Fix linking Special:ChangeContentModel from action=info"
jenkins-bot [Thu, 15 Dec 2016 06:58:28 +0000 (06:58 +0000)]
Merge "SpecialRunJobs: Use wfHttpError to generate error messages"
jenkins-bot [Thu, 15 Dec 2016 06:54:13 +0000 (06:54 +0000)]
Merge "Add maintenance/view.php for viewing page contents"
Fomafix [Sat, 24 Sep 2016 18:51:32 +0000 (20:51 +0200)]
SpecialRunJobs: Use wfHttpError to generate error messages
wfHttpError generates HTML so the content fits to the Content-Type.
Bug: T146546
Change-Id: Ia90f22564ecb3807aff3b787242bc74fe1678def
Timo Tijhof [Thu, 15 Dec 2016 06:16:31 +0000 (22:16 -0800)]
RELEASE-NOTES: Fixup for
dfb50ab9f3
Change-Id: Ibe2efcd11c3f97ca343f43168bde278e44537be9
jenkins-bot [Thu, 15 Dec 2016 06:11:22 +0000 (06:11 +0000)]
Merge "Back off from job types longer for DB read-only errors"
jenkins-bot [Thu, 15 Dec 2016 06:05:55 +0000 (06:05 +0000)]
Merge "Escape return path extra params to php mail()"
jenkins-bot [Thu, 15 Dec 2016 06:04:50 +0000 (06:04 +0000)]
Merge "A full word instead of an acronym for the revid message"
jenkins-bot [Thu, 15 Dec 2016 06:02:19 +0000 (06:02 +0000)]
Merge "Always show exceptions of type 'error' in LTR"
Jack Phoenix [Fri, 9 Dec 2016 06:59:52 +0000 (08:59 +0200)]
Make DifferenceEngine's markPatrolledLink and getRevisionHeader public so that hooked functions can use them where needed
The said hooks were added to core in
https://gerrit.wikimedia.org/r/#/c/298026/ . One of the many intended use
cases is https://gerrit.wikimedia.org/r/#/c/326074/ which currently fatals
due to these two being protected, and obviously we don't want to lose
functionality when hooking into one (or more) of the aforementioned hooks.
Change-Id: I260c8b57c0bb2af3a6982bd7142b112a4a023391
Depends-On: I02de9069854532faec4c0c1798a10f862e6dfd7c
Jack Phoenix [Thu, 17 Nov 2016 02:14:26 +0000 (04:14 +0200)]
A few more hooks in DifferenceEngine
For mucking with the class member variable mNewContent and optionally
allowing the suppression of the "missing revision" message when revision
data is not found for a requested revision.
Originally implemented as the "GetUserMessagesDiffCurrent" hook (yes,
these three separate hooks in three separate places were essentially the
same) by Wikia for their SiteWideMessages extension.
Change-Id: Ie0c175af2af418d4ed3de28c94df918115312da3
Translation updater bot [Wed, 14 Dec 2016 20:56:06 +0000 (21:56 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I1b8437a0df98dccdd524ef3a0ff8493a98bf59f1
C. Scott Ananian [Wed, 14 Dec 2016 19:55:46 +0000 (14:55 -0500)]
Sync up with Parsoid parserTests.
This now aligns with Parsoid commit
73798df0632e10313b82987d0b99e93c73407ca7
Change-Id: Ia0e511311eb05276617cc7bdff72b07347591ca3
jenkins-bot [Wed, 14 Dec 2016 19:41:20 +0000 (19:41 +0000)]
Merge "Fix parameter type docs"
jenkins-bot [Wed, 14 Dec 2016 19:30:11 +0000 (19:30 +0000)]
Merge "Document type of LogEntry::isPatrollable property"
jenkins-bot [Wed, 14 Dec 2016 18:56:19 +0000 (18:56 +0000)]
Merge "mediawiki.special.apisandbox: Avoid bitwise tricks when checking for integers"
Florian Schmidt [Sat, 3 Dec 2016 18:19:25 +0000 (19:19 +0100)]
registration: Allow specifying extension dependencies
There are some extensoins that depend upon another extension or skin,
usually in different ways:
* A constant that is added in the dependency extension, and the
existence of is checked for. This is problematic because it requires a
specific load order.
* Checking whether a specific class exists. This is problematic because
it is extremely fragile, and breaks whenever the class is renamed.
* Checking ExtensionRegistry::isLoaded(). This is mostly there, but it
only checks at runtime, and doesn't provide any machine readable data.
Furthermore, developers implement each one differently, with very little
standardization.
With this, extensions may now specify what other extensions they depend
on. This is for explicit *hard* dependencies that must be installed.
For example:
"requires": {
"MediaWiki": ">= 1.25.0",
"extensions": {
"FakeExtension": "*"
},
"skins": {
"FakeSkin": "*"
}
}
This would add a minimum requirement on MediaWiki 1.25.0+ (already
implemented), as well as the requirement that the FakeExtension extension
needs to be installed, as well as the FakeSkin skin. A wildcard (*) is
used instead of an explicit version requirement as many extensions do
not actually version themselves, and there is no consistent versioning
scheme yet.
Bug: T117277
Change-Id: If1cccee1a16a867a71bb0285691c400443d8a30a