Brian Wolff [Wed, 29 Jun 2016 14:45:25 +0000 (10:45 -0400)]
SECURITY: Make $wgBlockDisablesLogin also restrict logged in permissions
Does both Title and user related methods, so it catches things that only
call $wgUser->isAllowed( 'read' ), as well as giving a nicer error message
for things that use $title->userCan().
Otherwise, the user can still do stuff and read pages if they have an
ongoing session.
Issue reported by Multichill
Bug: T129738
Change-Id: Ic929a385fa81c27cbc6ac3a0862f51190d3ae993
Brian Wolff [Tue, 19 Apr 2016 14:25:43 +0000 (10:25 -0400)]
SECURITY: Make blocks log users out if $wgBlockDisablesLogin
Issue originally reported by Multichill
Bug: T129738
Change-Id: Iddc58e504297c60f6d3ca99f21034fe7c5cf9801
Daniel Kinzler [Mon, 13 Jun 2016 08:01:43 +0000 (04:01 -0400)]
SECURITY: Check read permission when loading page content in ApiParse.
Prevents leaking page contents for extensions that deny read rights
to certain pages via a userCan hook, but still allow the user to
have read rights in general.
Issue originally reported by Tobias
Bug: T115333
Change-Id: I19f5c2583393794cff802a70af7ccf43c2fed85c
jenkins-bot [Mon, 22 Aug 2016 22:31:13 +0000 (22:31 +0000)]
Merge "Deprecated jQuery method .size() replaced with property .length"
jenkins-bot [Mon, 22 Aug 2016 21:50:21 +0000 (21:50 +0000)]
Merge "Add `.mw-ui-icon-small` to icon classes"
Victor Porton [Mon, 22 Aug 2016 20:20:13 +0000 (23:20 +0300)]
Deprecated jQuery method .size() replaced with property .length
Bug: T143596
Change-Id: I1b37715097ea3f801bb4b8fdfda2a1232fdb118c
jenkins-bot [Mon, 22 Aug 2016 20:01:50 +0000 (20:01 +0000)]
Merge "Special:UserLogin: Don't show login button when not required"
Bartosz Dziewoński [Mon, 22 Aug 2016 19:16:21 +0000 (21:16 +0200)]
ApiUpload: Fix fatal in dieStatusWithCode()
If $extraData was null, but $moreExtraData was given, the following
fatal would occur:
Fatal error: Unsupported operand types in
/var/www/html/w/includes/api/ApiUpload.php on line 408
Follow-up to
c9b5b3e988e3554c231860a2da587dff16b05e0c.
Change-Id: I613eed1f7429247fe46afa454d36f518f6a81ebe
jenkins-bot [Mon, 22 Aug 2016 19:03:41 +0000 (19:03 +0000)]
Merge "Avoid INSERT..SELECT in MovePage"
Florian [Wed, 27 Jul 2016 20:01:43 +0000 (22:01 +0200)]
Special:UserLogin: Don't show login button when not required
If no AuthenticationRequest requires a separate login button, it
shouldn'tbe visible. This is, for example, the case, when only
link providers are used, that require the user to redirect to a third
party site, as it usually just shows a single submit button.
In this case, the login button is still visible because of other additional
fields, such as the remember me button. This change checks each primary
authentication provider, if it provides its provide his own submit
button or not, and if so, removes the login button completely.
Bug: T141471
Change-Id: Ib18a69582cb3f79d438ab009d8755f0d5e415bcb
jenkins-bot [Mon, 22 Aug 2016 18:44:15 +0000 (18:44 +0000)]
Merge "Use newer transaction methods in BatchRowWriter"
Brad Jorsch [Mon, 22 Aug 2016 18:22:12 +0000 (14:22 -0400)]
API: Don't require 'users' parameter to contain all valid usernames
Instead, go back to validating the individual values so one invalid name
doesn't cause the whole module to error out. The code for that was all
still there, just unused since Ic67fb540.
Bug: T142895
Change-Id: Ia5eae51d69185580ac2c772afc198a92813e407a
jenkins-bot [Mon, 22 Aug 2016 18:08:16 +0000 (18:08 +0000)]
Merge "HTMLForm: Refactor loading of modules required to infuse fields"
jenkins-bot [Mon, 22 Aug 2016 18:05:01 +0000 (18:05 +0000)]
Merge "Fix IDEA warning in VirtualRESTServiceClient"
jenkins-bot [Mon, 22 Aug 2016 17:46:17 +0000 (17:46 +0000)]
Merge "Unset weird ancient WMF-specific shared upload settings"
jenkins-bot [Mon, 22 Aug 2016 17:41:34 +0000 (17:41 +0000)]
Merge "SpecialExport: Add 'hide-if' to form definition"
jenkins-bot [Mon, 22 Aug 2016 17:37:34 +0000 (17:37 +0000)]
Merge "Split DBLockManager classes into their own files"
Bartosz Dziewoński [Sun, 31 Jul 2016 14:56:23 +0000 (16:56 +0200)]
HTMLForm: Refactor loading of modules required to infuse fields
Rather than have a master list in autoinfuse.js (duplicated in
hide-if.js), we put this information in each field class and put it
in the generated HTML as a separate 'data-' attribute. This also
allows new fields defined by extensions to be correctly autoinfused.
Change-Id: I3da75706209cbc16b19cc3f02b355e58ca75fec9
Chad Horohoe [Mon, 22 Aug 2016 17:15:57 +0000 (10:15 -0700)]
Unset weird ancient WMF-specific shared upload settings
They won't work for anyone, not even WMF
Change-Id: I520f684fe833f0e1a9dc5b56d83366cb909fd480
jenkins-bot [Mon, 22 Aug 2016 16:02:24 +0000 (16:02 +0000)]
Merge "Support 'hide-if' parameters in OOUI HTMLForm"
Bartosz Dziewoński [Sun, 31 Jul 2016 14:35:59 +0000 (16:35 +0200)]
SpecialExport: Add 'hide-if' to form definition
Change-Id: Ic03620849f863bc4e21347984f84c532c189c4ea
jenkins-bot [Mon, 22 Aug 2016 15:51:52 +0000 (15:51 +0000)]
Merge "mw.widgets.DateInputWidget: Fix label dimensions for Apex theme skins"
jenkins-bot [Mon, 22 Aug 2016 15:44:26 +0000 (15:44 +0000)]
Merge "jquery.makeCollapsible: Support for .mw-collapsible-toggle inside <li>"
Bartosz Dziewoński [Sat, 30 Jul 2016 23:19:26 +0000 (01:19 +0200)]
Support 'hide-if' parameters in OOUI HTMLForm
For plain HTML forms, we just put the required data in the 'data-hide-if'
attribute. For OOUI, it's not so easy - while we could just call
->setAttribute(...) on the FieldLayout, this would disappear when
infusing (since it's not part of the config), and we have no control over
when some piece of JavaScript decides to infuse the element. Even if we
managed to handle it first, infusing replaces the DOM nodes for elements
with new ones, which would "disable" our event handlers.
To solve this, I'm creating two new layouts HTMLFormFieldLayout and
HTMLFormActionFieldLayout (subclassing FieldLayout and ActionFieldLayout)
with a common trait (mixin) HTMLFormElement. This is all implemented both
in PHP and JS. Right now it only serves to carry the 'hide-if' data from
PHP to JS code, but I imagine it'll be extended in the future for other
HTMLForm features not yet present in the OOUI version (e.g. 'cloner'
fields).
The code in hide-if.js has been modified to work with jQuery objects or
with OOjs UI Widgets with minimal changes. I had to duplicate the map of
HTMLFormField classes to modules they require there (from autoinfuse.js),
which is ugly - I'm fixing this in a follow-up commit
I3da75706209cbc16b19cc3f02b355e58ca75fec9.
Bug: T141558
Change-Id: I3b06a6f75eed01d3e0bdc5dd33e1b40b7a2fc0a2
Victor Porton [Sat, 20 Aug 2016 20:13:27 +0000 (23:13 +0300)]
jquery.makeCollapsible: Support for .mw-collapsible-toggle inside <li>
Bug: T143484
Change-Id: Ib3480f543399c206e6ee7fc47ad7b22b9c2446b5
Volker E [Thu, 18 Aug 2016 22:44:33 +0000 (15:44 -0700)]
Add `.mw-ui-icon-small` to icon classes
Adding small icon class `.mw-ui-icon-small`. Also adapting documentation.
Change-Id: Ia140779d488dddf9014087e8d48852c8c53977e3
Aaron Schulz [Mon, 22 Aug 2016 03:03:17 +0000 (20:03 -0700)]
Use newer transaction methods in BatchRowWriter
Change-Id: I9f8c2576f511419e77e9b6f10c96a43e5d69704e
Kunal Mehta [Mon, 22 Aug 2016 02:17:01 +0000 (19:17 -0700)]
MWTimestamp: Allow providing a DateTime object directly
For cases where you already have a DateTime object on hand and want to
use MWTimestamp's formatting code. Since MWTimestamp stores DateTime
objects internally, just set it to the $timestamp member variable.
Change-Id: Ie60392e32743d4d082d2c9347ef68418d5eb86ad
Aaron Schulz [Sun, 21 Aug 2016 23:18:56 +0000 (16:18 -0700)]
Fix IDEA warning in VirtualRESTServiceClient
The value was overridden before usage.
Change-Id: If79890dd9a878358133882c41c5fd234ebed012c
Translation updater bot [Sun, 21 Aug 2016 20:08:21 +0000 (22:08 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I28649c5ec88c05c17aeb113f10b0b27a13cc9240
Kunal Mehta [Sun, 21 Aug 2016 01:40:26 +0000 (18:40 -0700)]
debug: Don't separately calculate query runtime
It is already calculated for the transaction profiler, so re-use that.
Change-Id: Ifcc43484c25e00e2409fbfb421ca2f9cecd67492
Kunal Mehta [Sun, 21 Aug 2016 01:30:41 +0000 (18:30 -0700)]
debug: Remove unused 'jquery.tipsy' dependency
mediawiki.debug has not used jquery.tipsy since
9144673b5c95.
Change-Id: I3ad61c786437c513eb4cfcb145522225e9942a72
jenkins-bot [Sun, 21 Aug 2016 05:13:50 +0000 (05:13 +0000)]
Merge "Give all idle transaction callbacks a chance to run"
Aaron Schulz [Fri, 19 Aug 2016 22:25:08 +0000 (15:25 -0700)]
Give all idle transaction callbacks a chance to run
Catch exceptions from other DB handle callback runs.
Also use the first exception instead of the last for
callback runs, as the it is more likely to be meaningfull.
Change-Id: Ib180d684b090ae26ad6ec0854322d5cb4286cc81
Paladox [Sun, 21 Aug 2016 00:00:51 +0000 (01:00 +0100)]
Fix repo url in docs/database.txt
Change-Id: I9c7558252cc71126e45acb56c8c4fc68d353c86e
Translation updater bot [Sat, 20 Aug 2016 20:04:25 +0000 (22:04 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Icd414580d3aeb2aba4af16f299ec339a2d843c8e
Aaron Schulz [Sat, 20 Aug 2016 17:26:01 +0000 (10:26 -0700)]
Split DBLockManager classes into their own files
Change-Id: If903a90a5be2d6ff11504d34eb125e86c1ab1191
jenkins-bot [Sat, 20 Aug 2016 16:54:50 +0000 (16:54 +0000)]
Merge "Do not automatically infuse any OOjs UI widgets"
jenkins-bot [Sat, 20 Aug 2016 16:54:46 +0000 (16:54 +0000)]
Merge "Split the 'mediawiki.htmlform' module code into multiple files"
Bartosz Dziewoński [Fri, 22 Jul 2016 18:10:18 +0000 (20:10 +0200)]
mw.widgets.DateInputWidget: Fix label dimensions for Apex theme skins
Change-Id: Ia4d27e24dc706045f8f3e31d94ae803c7b6b28b4
jenkins-bot [Fri, 19 Aug 2016 22:23:56 +0000 (22:23 +0000)]
Merge "Detect when callers catch DB errors and fail to rollback"
Aaron Schulz [Fri, 19 Aug 2016 20:12:27 +0000 (13:12 -0700)]
Detect when callers catch DB errors and fail to rollback
This makes it harder to accidently circumvent the MWExceptionHandler
rollback logic.
Change-Id: Ia1f89fa0f88ff3aacf5d9b93300dbf909fa74fdd
Translation updater bot [Fri, 19 Aug 2016 20:00:33 +0000 (22:00 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Idd0a7553ba64610ce873c52909baa1bff5ee0b14
jenkins-bot [Fri, 19 Aug 2016 19:39:17 +0000 (19:39 +0000)]
Merge "Allow requiring cache size for page props"
jenkins-bot [Fri, 19 Aug 2016 18:40:17 +0000 (18:40 +0000)]
Merge "Extract ParserOutput search index data fields from WikiTextContentHandler"
Aaron Schulz [Fri, 19 Aug 2016 18:31:41 +0000 (11:31 -0700)]
Avoid INSERT..SELECT in MovePage
That construct has poor locking characteristics in terms of
auto-inc columns as well as not allowing such inserts concurrently
for statement-based replication. Also, the INSERT..SELECT did not
have an ORDER BY, which could lead to pr_id drift with statement
based replication.
Change-Id: I47ca89abcbe4598d3b56cf077a47055500a0647f
aude [Tue, 9 Aug 2016 17:22:09 +0000 (13:22 -0400)]
Extract ParserOutput search index data fields from WikiTextContentHandler
Bug: T142491
Change-Id: I69b010b893135e53fac7f16f4b927b8fbcba06d2
jenkins-bot [Fri, 19 Aug 2016 08:29:18 +0000 (08:29 +0000)]
Merge "Send registration welcome email post-commit"
Gergő Tisza [Fri, 19 Aug 2016 06:06:25 +0000 (06:06 +0000)]
Send registration welcome email post-commit
Follow-up to I8f1bd3e.
Change-Id: I26e7a1857363d4e6627a0f583a8556d0fd8ae623
jenkins-bot [Fri, 19 Aug 2016 04:37:04 +0000 (04:37 +0000)]
Merge "OutputPage: Make ResourceLoader position exemption more generic"
Aaron Schulz [Fri, 19 Aug 2016 03:53:20 +0000 (20:53 -0700)]
Clarify some WANObjectCache docs
Change-Id: I819a630ebba4122a757f04fbf702122069af4fb1
jenkins-bot [Fri, 19 Aug 2016 02:57:18 +0000 (02:57 +0000)]
Merge "objectcache: add mcrouter support to WANObjectCache"
Timo Tijhof [Fri, 19 Aug 2016 02:04:21 +0000 (19:04 -0700)]
OutputPage: Make ResourceLoader position exemption more generic
Follows-up
80e5b160e which moved queue formatting out of OutputPage into a
a separate ResourceLoaderClientHtml class.
The special handling for 'user' and 'user.styles' modules, and the exempt
module groups was kept in OutputPage. However the handling for it was
hardcoded for the modules in that group by default. It did not account for
modules with a group of 'user' loaded by an extension (e.g. GlobalCssJs).
GlobalCssJs modules were wrongly loaded in the regular style queue
(still in a separate request group, but not in the right cascading order
below the DynamicSyles marker).
This commit generalises the handling previously put in buildExemptModules
and moves it to getRlClient() so that it may apply to all style modules.
This commit should be a no-op besides the moving of any <link rel=stylesheet>
for non-core modules in group 'site' or 'user' now being one line lower
in the <head> HTML (after the DynamicStyles marker).
Bug: T143357
Change-Id: I1d6ea10b42293acfc535578172ad7ab2369f6299
jenkins-bot [Fri, 19 Aug 2016 02:01:26 +0000 (02:01 +0000)]
Merge "Check for warnings for assembled file after a chunked upload"
jenkins-bot [Fri, 19 Aug 2016 01:43:11 +0000 (01:43 +0000)]
Merge "API: Insist authn parameters be in the POST body"
Bartosz Dziewoński [Wed, 17 Aug 2016 15:57:47 +0000 (17:57 +0200)]
Check for warnings for assembled file after a chunked upload
Bug: T130564
Change-Id: Iebc84f030c45c634dc29b02cbd720f33abf50f2b
Bartosz Dziewoński [Tue, 26 Jul 2016 12:12:21 +0000 (14:12 +0200)]
Do not automatically infuse any OOjs UI widgets
This is not really what we had in mind when developing the infusion
feature and I think it's not helpful. Most of the time there is just
no benefit; a ButtonWidget generated in PHP and in JS behaves and
looks pretty much the same, and rebuilding it through infusion is a
small performance hit. If you're not adding any event handlers, it only
makes sense for various dropdowns, which have themed styling.
For the primary use case of adding JS behaviors to PHP widgets you
need to call OO.ui.infuse() anyway to get a reference to the JS
widget, and not infusing automatically should make it easier to reason
about your code. Infusion tries to be very transparent, but it can't
hide the fact that the DOM is re-built, making your references to DOM
nodes from before infusion useless and losing anything from PHP that
wasn't included in the config (e.g. custom attributes).
This commit removes automated infusion from mediawiki.page.ready
and adds some custom code in mediawiki.special.movePage and
mediawiki.htmlform. I see only two extensions using infusable OOjs UI
widgets in Gerrit (ArticlePlaceholder and ExtensionDistributor) and
neither should be affected by this change.
Change-Id: I56608c537fc57c5c54960b0603694f2612f45618
Bartosz Dziewoński [Sat, 30 Jul 2016 23:15:07 +0000 (01:15 +0200)]
Split the 'mediawiki.htmlform' module code into multiple files
This module implements several related, but separate enhancements to
HTMLForm. While it makes sense to use a single ResourceLoader module
to serve this code, it doesn't make sense to keep all of it in a
single file. It was approaching 500 lines of code, and pieces of the
separate features were mixed together.
This commit mostly shuffles code around, only tweaking some
indentation, 'var' statements and function wrappers.
There is one small functional change: the enhancements now use the
'htmlform.enhance' mw.hook, which is fired on document-ready and when
new fields are added dynamically. Previously it was only used to allow
extensions to define their own HTMLForm enhancements.
(Also moved HTMLForm styles into the same directory as the newly-split
scripts.)
Change-Id: I22054b39868239ddb59317dadfaaa067653f8804
Bartosz Dziewoński [Wed, 17 Aug 2016 18:43:55 +0000 (20:43 +0200)]
UploadBase: Stop mLocalFile doubling as stashed file
"I've a great idea", they said. "You know what would be cool? If I
made this boring getter, getLocalFile(), return something completely
different after the file was stashed. This will be a nice surprise for
someone in the future to discover", they added gleefully.
I am pretty sure everything still works, but I never could get async
upload publishing to work locally, so I'd appreciate some testing.
Change-Id: I11dcf2ed89e4f1dd8ddf081af521da005efdbf39
Timo Tijhof [Wed, 17 Aug 2016 18:57:57 +0000 (11:57 -0700)]
ResourceLoaderImage: Use hashes for versioning instead of timestamps
Remove use of the deprecated getModifiedTime() method and incorporate
file information in getDefinitionSummary() directly, instead of relying
on the parent class to include getModifiedTime().
Change getDefinitionSummary() to append to the summary instead of
setting arbitrary keys in the array directly to avoid conflicts.
This matches the pattern used elsewhere.
Change ResourceLoaderImage to use file hashes instead of timestamps
to avoid needless cache invalidation. At Wikimedia these modules
tend to roll over every week due to git not storing timestamps.
See also T104950,
9112c9347b,
f37cee996.
Change-Id: I5d019bfb991c3b8042d1db14a853ba46cc690315
jenkins-bot [Thu, 18 Aug 2016 22:48:13 +0000 (22:48 +0000)]
Merge "Issue 301 redirects for Special:Search/searchterm"
Aaron Schulz [Fri, 12 Aug 2016 02:27:50 +0000 (19:27 -0700)]
objectcache: add mcrouter support to WANObjectCache
* Update documentation about relay methods.
* Change interim key set() to add() to avoid broadcasting it.
* Remove the behavior of doing purges synchronously in the
local DC first before relay. In both the event relayer and
mcrouter case, they will be asynchronous. It was hardly
even possible to use such behavior since loads come from
slave DBs, which do not see changes right after COMMIT.
Bug: T97562
Change-Id: I7759c82ae6e1b72fc227882a99c9a712a46374f6
Erik Bernhardson [Wed, 17 Aug 2016 18:35:54 +0000 (11:35 -0700)]
Issue 301 redirects for Special:Search/searchterm
Including the search term, which is PII, in the page title allows for
leaking this information through page view dumps. Instead of happily
handling these issue a 301 redirect to tell clients they should not
be issueing these requests, and should instead use the search query
parameter. Dumps at wikimedia remove 30[123] response codes from the
dump output so this will also stop leaking the PII.
Change-Id: Icce7cc4585e90742a8dd3513e7c9f7276e479cd7
jenkins-bot [Thu, 18 Aug 2016 22:29:51 +0000 (22:29 +0000)]
Merge "Send new account and password reset emails post-commit"
Brad Jorsch [Thu, 18 Aug 2016 17:36:11 +0000 (13:36 -0400)]
API: Insist authn parameters be in the POST body
Passwords should always be submitted in the POST body, not in the query
string. Thus, a warning will now be returned if the password for
action=login or any sensitive authentication request parameters for
AuthManager actions are found in the query string.
These warnings should be upgraded to errors in 1.29.
Change-Id: Ifb2c684bb28c9acc004be2b0c2fef839eb7624aa
jenkins-bot [Thu, 18 Aug 2016 20:59:08 +0000 (20:59 +0000)]
Merge "AuthManager: Allow for flagging fields as "sensitive""
jenkins-bot [Thu, 18 Aug 2016 20:40:46 +0000 (20:40 +0000)]
Merge "Type hint array for HTMLFormFieldCloner::getInputHTMLForKey()"
Aaron Schulz [Thu, 18 Aug 2016 20:23:33 +0000 (13:23 -0700)]
Send new account and password reset emails post-commit
Change-Id: I8f1bd3e882e20fefa5ce0167202d511aa066cfe2
L10n-bot [Thu, 18 Aug 2016 20:16:48 +0000 (20:16 +0000)]
Merge "Localisation updates from https://translatewiki.net."
jenkins-bot [Thu, 18 Aug 2016 20:16:47 +0000 (20:16 +0000)]
Merge "Revert "AuthManager: Commit transaction after auto-creating a user""
Translation updater bot [Thu, 18 Aug 2016 20:07:39 +0000 (22:07 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I421964a5b97efd9f366b2f95e09422231c2db299
Stanislav Malyshev [Thu, 18 Aug 2016 06:25:37 +0000 (23:25 -0700)]
Allow requiring cache size for page props
Needed for batch processing where size of the batch is known
and the batch should fit in cache.
Change-Id: Ib6d6e6ab7e12788c934cd0e973bc35e133aeccbb
Brad Jorsch [Thu, 18 Aug 2016 17:03:10 +0000 (13:03 -0400)]
AuthManager: Allow for flagging fields as "sensitive"
This can allow AuthenticationRequests to flag certain fields as
sensitive, so e.g. the API can insist they be in the POST body rather
than in the query string.
Change-Id: I7b12aa4cd8f5a570f0df7213c0f9084b5a4d4de7
Aaron Schulz [Sat, 23 Jul 2016 00:00:13 +0000 (17:00 -0700)]
Revert "AuthManager: Commit transaction after auto-creating a user"
*
81be9512a022 should obviate the main desire for this.
The normal commit step is now relied upon again.
*
820f5d6ce57f and
a26fbb67054 enforce DBO_TRX transactions.
* Committing the implicit transaction(s) prematurely is bad
for web request and cross-DB transactionality. Only code
that has clear outermost DB context (e.g. jobs/maintenance)
should be doing things like this as it becomes hard to reason
about (e.g. how much the request/caller needs atomicity
or whether there is an outer (start|end)Atomic section).
This reverts commit
83c66caa0831086db7c2033ddda38106584060d0.
Change-Id: I1a5533b239e53f2089f239651c6fdf97e51c9062
Bartosz Dziewoński [Wed, 17 Aug 2016 17:35:03 +0000 (17:35 +0000)]
Revert "Work around T87871 to avoid double-loading OOjs UI PHP styles"
We no longer need this workaround after T87871 was fixed.
This reverts commit
e65186c443a5887024da50b66fe92bcf267a0752.
Change-Id: Ieba46fb07e1e92d9a6a86cb84d0ecaf208312baa
Bartosz Dziewoński [Thu, 18 Aug 2016 19:00:51 +0000 (21:00 +0200)]
ResourceLoaderImageModule: Mark as style-only
Follow-up to
a464d1d41d69f12fe93146629254f6c785f43d81.
Bug: T87871
Change-Id: Iff307af1cf550c02bea94d596f316b30da259900
jenkins-bot [Thu, 18 Aug 2016 18:31:54 +0000 (18:31 +0000)]
Merge "Add sanity check to getScopedLockAndFlush() for pending writes"
Kunal Mehta [Wed, 17 Aug 2016 05:53:16 +0000 (22:53 -0700)]
Allow marking legacy ContentHandler hooks as deprecated
Instead of having a single development flag that controls whether all
the hooks emit warnings, use the standard hook deprecation method to
mark individual hooks as deprecated once we have determined that their
usage is minimal.
Change-Id: I9a00ae131cb7f609c1d44926d1f6547089f70c34
jenkins-bot [Thu, 18 Aug 2016 17:42:53 +0000 (17:42 +0000)]
Merge "resourceloader: Move mw.loader qunit tests to a separate file"
jenkins-bot [Thu, 18 Aug 2016 17:27:55 +0000 (17:27 +0000)]
Merge "Remove useless check for MEDIAWIKI definition"
Chad Horohoe [Thu, 18 Aug 2016 17:11:01 +0000 (10:11 -0700)]
Remove useless check for MEDIAWIKI definition
This class isn't any more special than others, it can be autoloaded
like all the others and there's nothing to execute in the file scope
Change-Id: I7c415025c9c15cf19110f39452df3a14e44bf6f9
jenkins-bot [Thu, 18 Aug 2016 10:39:09 +0000 (10:39 +0000)]
Merge "API: Force indexes for prop=linkshere|transcludedin|fileusage"
Aaron Schulz [Thu, 18 Aug 2016 06:50:21 +0000 (23:50 -0700)]
Add sanity check to getScopedLockAndFlush() for pending writes
Also made a few related exception message more uniform.
Change-Id: I4491f16493b3d9f8ab8fad45fc6373e0d7f7d67b
Aaron Schulz [Wed, 17 Aug 2016 21:05:41 +0000 (14:05 -0700)]
getScopedLockAndFlush() should not commit when exceptions are thrown
Previously it would commit() since the __destruct() call happens
as an exception is thrown but before it reached MWExceptionHandler.
Change-Id: I3d4186eb9ec02cf4d42ac84590869e2cf29b30b4
jenkins-bot [Wed, 17 Aug 2016 23:14:13 +0000 (23:14 +0000)]
Merge "installer: Update assets README to mention public-domain.png."
jenkins-bot [Wed, 17 Aug 2016 23:01:12 +0000 (23:01 +0000)]
Merge "Make doAtomicSection() return the callback result"
Timo Tijhof [Wed, 17 Aug 2016 22:56:17 +0000 (15:56 -0700)]
installer: Update assets README to mention public-domain.png.
Follows-up
be0b28d4. This way it'll be found when searching for the file.
Change-Id: I57fafa0b3e6a63a61f7c67e3279ee875eae2a344
jenkins-bot [Wed, 17 Aug 2016 22:55:34 +0000 (22:55 +0000)]
Merge "ObjectFactoryTest: Add tests for 'factory' option"
jenkins-bot [Wed, 17 Aug 2016 22:50:58 +0000 (22:50 +0000)]
Merge "phpunit: Add @covers to ObjectFactoryTest"
Aaron Schulz [Wed, 17 Aug 2016 22:43:48 +0000 (15:43 -0700)]
Make doAtomicSection() return the callback result
This makes the method a bit more convenient
Change-Id: Ic140e200cddcdf8e1a09b65c94d2da3aed62756d
Timo Tijhof [Wed, 17 Aug 2016 21:49:09 +0000 (14:49 -0700)]
resourceloader: Move mw.loader qunit tests to a separate file
Change-Id: I867f00b0845664a2b670c460c58bf4f7791e0b38
jenkins-bot [Wed, 17 Aug 2016 21:30:04 +0000 (21:30 +0000)]
Merge "Fix text extraction where we don't have proper file handler"
jenkins-bot [Wed, 17 Aug 2016 21:14:20 +0000 (21:14 +0000)]
Merge "Remove pointless override of doStashFile in UploadFromStash"
jenkins-bot [Wed, 17 Aug 2016 21:10:16 +0000 (21:10 +0000)]
Merge "resourceloader: Add structure unit test to confirm messages exist"
jenkins-bot [Wed, 17 Aug 2016 21:06:33 +0000 (21:06 +0000)]
Merge "Make transaction enforcement stricter"
Aaron Schulz [Wed, 17 Aug 2016 19:22:19 +0000 (12:22 -0700)]
Remove pointless override of doStashFile in UploadFromStash
Change-Id: If6bc31d7398c68320a6633b045c33279bf6f8dbd
Stanislav Malyshev [Wed, 17 Aug 2016 20:54:23 +0000 (13:54 -0700)]
Fix text extraction where we don't have proper file handler
Bug: T143251
Change-Id: I611f6a001bbcea971cc9126bd3f004622e88b47d
Timo Tijhof [Tue, 15 Mar 2016 03:11:55 +0000 (03:11 +0000)]
resourceloader: Add structure unit test to confirm messages exist
Bug: T129976
Change-Id: I5333523efe3e7b9191e871d67d9eb650002c7784
Translation updater bot [Wed, 17 Aug 2016 20:05:52 +0000 (22:05 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I2ab6b5289ad6ef9afec11b3306a76e09ab9b5371
jenkins-bot [Wed, 17 Aug 2016 19:38:10 +0000 (19:38 +0000)]
Merge "Run 'UploadStashFile' hook for chunked uploads too"