jenkins-bot [Thu, 15 Feb 2018 23:07:08 +0000 (23:07 +0000)]
Merge "rdbms: improve ILoadBalancer comments about reuseConnection()"
jenkins-bot [Thu, 15 Feb 2018 23:05:07 +0000 (23:05 +0000)]
Merge "rdbms: remove leading table name space hack in Database"
jenkins-bot [Thu, 15 Feb 2018 23:02:11 +0000 (23:02 +0000)]
Merge "Salvage site_stats row with negative values in miser mode"
jenkins-bot [Thu, 15 Feb 2018 23:02:08 +0000 (23:02 +0000)]
Merge "rdbms: remove "m" prefix from LoadBalancer fields"
Aaron Schulz [Thu, 15 Feb 2018 10:30:12 +0000 (02:30 -0800)]
rdbms: remove leading table name space hack in Database
This was added in r19879 (
3de6fd8c8) with no provided use case.
There also appears to be nothing exploiting this.
Change-Id: I1641d4ed16d612ab6f08ee1eeca1580af73888bf
Aaron Schulz [Wed, 14 Feb 2018 10:03:45 +0000 (02:03 -0800)]
rdbms: remove "m" prefix from LoadBalancer fields
Change-Id: I68fc74859bd58ef0c7591beef1c21411198d45e9
Timo Tijhof [Thu, 15 Feb 2018 22:30:26 +0000 (14:30 -0800)]
Use `lock(,,0)` instead of `lockIsFree && lock(,,1)` for non-blocking locks
This pattern is already used elsewhere and seems like a more efficient
way to acquire locks in a non-blocking way.
Change-Id: Idb369e7cb03b793d5f8295e956fecd8d1f849e17
Aaron Schulz [Thu, 15 Feb 2018 21:28:58 +0000 (13:28 -0800)]
rdbms: improve ILoadBalancer comments about reuseConnection()
Change-Id: I94f8e95f5ed9c3357d118e9bc66c55b389061e7f
jenkins-bot [Thu, 15 Feb 2018 21:12:23 +0000 (21:12 +0000)]
Merge "Drop the 'CategorizedRecentChanges' feature"
Translation updater bot [Thu, 15 Feb 2018 21:05:09 +0000 (22:05 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I820327da7a4aa07879b4fa23f8187783bf35befa
jenkins-bot [Thu, 15 Feb 2018 20:51:06 +0000 (20:51 +0000)]
Merge "objectcache: improve WANObjectCache reap method comments"
Aaron Schulz [Thu, 15 Feb 2018 19:48:48 +0000 (11:48 -0800)]
objectcache: improve WANObjectCache reap method comments
Change-Id: Icec0846b0e66229af39bb819d75144734fd111bf
jenkins-bot [Thu, 15 Feb 2018 19:47:47 +0000 (19:47 +0000)]
Merge "Be more db-friendly when purging expired userrights"
jenkins-bot [Thu, 15 Feb 2018 18:46:32 +0000 (18:46 +0000)]
Merge "build: Add grunt target for 'karma:firefox'"
James D. Forrester [Sat, 18 Mar 2017 01:17:17 +0000 (18:17 -0700)]
Drop the 'CategorizedRecentChanges' feature
It is off by default, it's very rarely used (GitHub finds four config
users setting it true), it has over time had fatals going unnoticed or
fixed for years. Let's just kill it.
Change-Id: Idac2341ed7ecf053ee84069df657e424e50b896c
addshore [Thu, 15 Feb 2018 14:15:45 +0000 (14:15 +0000)]
RevisionStore logging use wfBacktrace instead of wfDebugBacktrace
wfDebugBacktrace doesn't work very will with logstash.
The whole message ends up being too long and the log ends
up in the 'jsonTruncated' channel.
Instead use wfBacktrace which will be smaller as it just gives
us a string.
Change-Id: I5309ac2ad4592fb6dbb1474526d382893fb7e6c1
jenkins-bot [Thu, 15 Feb 2018 11:03:16 +0000 (11:03 +0000)]
Merge "EditPage::getBaseRevision can return null. (fix phpdoc)"
addshore [Thu, 15 Feb 2018 10:08:20 +0000 (10:08 +0000)]
EditPage::getBaseRevision can return null. (fix phpdoc)
If !$this->mBaseRevision then the code to populte $this->mBaseRevision
is run.
This code either calls Revision::newFromId or Revision::loadFromTimestamp
both of which are documented as being able to return null.
As a result EditPage::getBaseRevision can alos return null.
Bug: T187378
Change-Id: I60ad9ddcfbe6e1060cab1ad6aa2194c1a3406cbf
jenkins-bot [Thu, 15 Feb 2018 02:14:07 +0000 (02:14 +0000)]
Merge "Hard-deprecate ParserOutput stateful transform methods"
jenkins-bot [Thu, 15 Feb 2018 00:37:22 +0000 (00:37 +0000)]
Merge "resourceloader: Fix comment on Mobile Safari requirement"
Ed Sanders [Tue, 13 Feb 2018 11:03:07 +0000 (11:03 +0000)]
resourceloader: Fix comment on Mobile Safari requirement
Mobile Safari 5.1 doesn't support Function#bind.
Change-Id: Ifdbd593352ab6d682a37010b17a13370f3c96176
Umherirrender [Mon, 12 Feb 2018 21:06:05 +0000 (22:06 +0100)]
resourceloader: Remove ResourceLoaderModule::getPosition
@deprecated since 1.29
Bug: T184257
Change-Id: I1a59a1f0a5fbedfea9f0b28bee8c298710557a8d
jenkins-bot [Wed, 14 Feb 2018 23:43:50 +0000 (23:43 +0000)]
Merge "RCFilters: Add missing jQueryMsg dependency"
Aaron Schulz [Wed, 14 Feb 2018 23:23:42 +0000 (15:23 -0800)]
Salvage site_stats row with negative values in miser mode
* Instead of returning all zeroes, just use zero for the
negative values in the row.
* Allow large numbers since the fields are BIGINT.
* Clean up the return types to truly be integers.
* Respect the $groups argument in SiteStatsInit::getDB().
Bug: T186947
Change-Id: I51fdc45124c12aba114540fc0ec66a3e63d61e09
jenkins-bot [Wed, 14 Feb 2018 23:37:34 +0000 (23:37 +0000)]
Merge "rdbms: avoid "SHOW MASTER/SLAVE STATUS" queries in the GTID case"
Matthew Flaschen [Sat, 6 Jan 2018 01:11:08 +0000 (20:11 -0500)]
RCFilters: Add missing jQueryMsg dependency
Some of these messages use jQueryMsg-only features, like PLURAL.
Bug: T184320
Change-Id: I7f5a4979bb5ed5779e9d24d18189f89a9453c54e
Translation updater bot [Wed, 14 Feb 2018 21:08:32 +0000 (22:08 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: If74c8c7ca0ff8aa93e63505c9ce0009d891423fb
jenkins-bot [Wed, 14 Feb 2018 18:59:32 +0000 (18:59 +0000)]
Merge "Update $wgGitRepositoryViewers to use Gerrit/Gitiles instead of Phabricator"
Jayprakash12345 [Tue, 13 Feb 2018 05:43:55 +0000 (05:43 +0000)]
Update $wgGitRepositoryViewers to use Gerrit/Gitiles instead of Phabricator
Bug: T187152
Change-Id: I957274e670eb6d1b7971d8dbad7765af568cc96a
jenkins-bot [Wed, 14 Feb 2018 18:30:48 +0000 (18:30 +0000)]
Merge "Log the reason why revision->getContent() returns null"
jenkins-bot [Wed, 14 Feb 2018 18:05:38 +0000 (18:05 +0000)]
Merge "globals.txt: Remove trailing whitespace"
Chad Horohoe [Wed, 14 Feb 2018 17:57:48 +0000 (09:57 -0800)]
globals.txt: Remove trailing whitespace
Change-Id: I4e495754f810069247af60d72731a2f382eed8a6
jenkins-bot [Wed, 14 Feb 2018 17:31:33 +0000 (17:31 +0000)]
Merge "Only try to show character difference if it isn't empty"
Eddie Greiner-Petter [Sun, 15 Oct 2017 22:36:40 +0000 (00:36 +0200)]
Be more db-friendly when purging expired userrights
Each expired row has to be fetched from the user_groups table, deleted
from that table and added to the user_former_groups table. Per Jaimes
request, let's not do this for all rows at once but for smaller chunks
and wait for replication to catch up after each chunk has been
processed. In addition the function to purge the expired rows now sets a
lock so that there won't be multiple concurrent runs.
Also, cleaning this table up isn't urgent and thus should be done in a
job and not a deferred update, so let's move it there.
Bug: T176754
Change-Id: I671d4b9d09677a2f474477ba7fea33a44d6318aa
jenkins-bot [Tue, 13 Feb 2018 21:49:10 +0000 (21:49 +0000)]
Merge "mediawiki.action.edit.preview: Remove dependency on module 'jquery.form'"
jenkins-bot [Tue, 13 Feb 2018 21:08:33 +0000 (21:08 +0000)]
Merge "Fix typehint for multiple dbs in addCallableUpdate"
Translation updater bot [Tue, 13 Feb 2018 20:58:16 +0000 (21:58 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I5a54edceb1c256ae591518b788a6f9a93dd74abb
Stephane Bisson [Tue, 13 Feb 2018 20:50:49 +0000 (15:50 -0500)]
Fix typehint for multiple dbs in addCallableUpdate
Change-Id: Ic4fe6c529d9394cfd0c8c8652a28f47973342096
Follow-up: I0371ecd20101c5e622497e5912676300b040865e
Fomafix [Tue, 13 Feb 2018 17:47:10 +0000 (18:47 +0100)]
mediawiki.action.edit.preview: Remove dependency on module 'jquery.form'
The dependency on jQuery.fn.formToArray from module 'jquery.form' was
added in
e7505417 and removed in
30a2b712.
The module 'jquery.form' is now unused in core.
Change-Id: Ic257b426584d8aff3a3bad233074f628077250eb
jenkins-bot [Tue, 13 Feb 2018 18:22:32 +0000 (18:22 +0000)]
Merge "Add SPARQL client to core"
jenkins-bot [Tue, 13 Feb 2018 17:58:59 +0000 (17:58 +0000)]
Merge "Tag redirects from moves as new redirects"
jenkins-bot [Tue, 13 Feb 2018 17:45:49 +0000 (17:45 +0000)]
Merge "Search for Hooks::runWithoutAbort in maintenance/findHooks.php"
Brad Jorsch [Wed, 22 Nov 2017 23:12:40 +0000 (18:12 -0500)]
Hard-deprecate ParserOutput stateful transform methods
This also removes all the in-core calls that had been kept for the
benefit of extensions, and causes them to not have any effect since
anything that had been calling them was already either a no-op or will
probably be broken now that nothing in core is setting or checking the
flags.
Change-Id: Id22c1a5a6d6a249debb14063ae3f8838d105b634
jenkins-bot [Tue, 13 Feb 2018 07:21:17 +0000 (07:21 +0000)]
Merge "Add clearUserWatchedItems methods to WatchedItemStoreInterface"
addshore [Mon, 12 Feb 2018 12:22:03 +0000 (12:22 +0000)]
Add clearUserWatchedItems methods to WatchedItemStoreInterface
Follows up to
6cf900ffb0bec584e64202bc3.
The main implementation of these methods was merged, but the
method signatures were not added to the interface, nor to the
other implementations of that interface (NoWrite*).
I would have expected phan to spot this, if we were not
skipping so many of its checks.
Change-Id: I169d0312e9022d0d3b31d2424ec62dd9978f03bb
jenkins-bot [Tue, 13 Feb 2018 04:45:01 +0000 (04:45 +0000)]
Merge "Improve ExtensionRegistry test coverage"
Kunal Mehta [Sat, 10 Feb 2018 08:03:19 +0000 (00:03 -0800)]
Improve ExtensionRegistry test coverage
Change-Id: I7f7445952f057995a3e3215145803affa5aceede
Aaron Schulz [Sun, 11 Feb 2018 19:49:27 +0000 (11:49 -0800)]
Migrage callers away from SiteStatsUpdate::__construct()
Change-Id: I4d81f5f87c93865e8fe1b7986074070376eab8f9
Timo Tijhof [Tue, 13 Feb 2018 01:34:26 +0000 (17:34 -0800)]
build: Add grunt target for 'karma:firefox'
The 'karma:more' doesn't seem particularly useful, but the ability
to run Firefox from a preset seems more useful. Especially from CI
in Travis where one might want to use only one or the other.
Change-Id: I522295298888e8566781d81fa14dd08368bf0ce4
Aaron Schulz [Sun, 11 Feb 2018 19:04:20 +0000 (11:04 -0800)]
Various cleanup to SiteStats classes
* Mark method visibility
* Remove unused code/methods
* Use WAN cache process cache in pagesInNs()
* Remove "m" prefix from SiteStatsInit fields
* Avoid use of $wg variables
Change-Id: Iab4001f02c9b2e8667ca4bac033fd4f6ef272148
jenkins-bot [Mon, 12 Feb 2018 21:48:47 +0000 (21:48 +0000)]
Merge "resourceloader: Removed tests for deprecated 'position' parameter"
Umherirrender [Mon, 12 Feb 2018 21:00:15 +0000 (22:00 +0100)]
resourceloader: Removed tests for deprecated 'position' parameter
This parameter is a no-op for these tests, as such, nothing was being
tested by specifying it in tests. The behaviour 'test' and 'test.top'
was identical.
Bug: T184257
Change-Id: Ia2bb731f00d4b4175f7b75174aeafaca9412329e
Kunal Mehta [Sat, 10 Feb 2018 07:44:06 +0000 (23:44 -0800)]
registration: Remove unused ExtensionRegistry::markLoaded
This is unused, and it would make more sense for whatever wants to add
credits to directly modify $this->loaded instead of incurring the
overhead of an extra function call.
Change-Id: Icce1a87d2dc8ce61cb05eace6e0b65d6cea4c58d
Aaron Schulz [Sun, 11 Feb 2018 18:27:35 +0000 (10:27 -0800)]
Move SiteStatsInit to its own file
Change-Id: Ief4e5f83d8dce93641623c2fa9c2195a564ee656
jenkins-bot [Mon, 12 Feb 2018 19:28:00 +0000 (19:28 +0000)]
Merge "Make SiteStatsInit::doPlaceholderInit() use 1 for ss_row_id"
Aaron Schulz [Sat, 10 Feb 2018 08:37:42 +0000 (00:37 -0800)]
Make SiteStatsInit::doPlaceholderInit() use 1 for ss_row_id
This makes it consistent with refresh() and avoids having two rows
on new wikis. Also make the SELECT explicitly look for row 1.
Bug: T186947
Change-Id: I4f952888bf8fecc791366a9698e46d61a4ad4ff3
jenkins-bot [Mon, 12 Feb 2018 17:54:43 +0000 (17:54 +0000)]
Merge "Add tests for ExtensionJsonValidator"
jenkins-bot [Mon, 12 Feb 2018 17:51:54 +0000 (17:51 +0000)]
Merge "Complete VersionChecker test coverage"
jenkins-bot [Mon, 12 Feb 2018 17:44:34 +0000 (17:44 +0000)]
Merge "SpecialLog: replace unnecessary strict comparison"
jenkins-bot [Mon, 12 Feb 2018 17:10:35 +0000 (17:10 +0000)]
Merge "mediawiki.special.upload: Reorder functions"
Translation updater bot [Mon, 12 Feb 2018 08:01:03 +0000 (09:01 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I706d41286e7e63e42a7cce5413ed3b3b81c70dd3
jenkins-bot [Mon, 12 Feb 2018 07:16:42 +0000 (07:16 +0000)]
Merge "mediawiki.Title: Reorder function declaration"
Fomafix [Sat, 10 Feb 2018 21:16:00 +0000 (22:16 +0100)]
mediawiki.Title: Reorder function declaration
This avoids the eslint rule exceptions:
* no-use-before-define
* vars-on-top
Change-Id: Ie9c9145052fe8629b1aa50ac3e2ac62d6a10ec0f
jenkins-bot [Mon, 12 Feb 2018 06:58:20 +0000 (06:58 +0000)]
Merge "Refactor Skin::buildSidebar() code style"
jenkins-bot [Sun, 11 Feb 2018 22:06:29 +0000 (22:06 +0000)]
Merge "Update suppressWarning()/restoreWarning() calls"
Translation updater bot [Sun, 11 Feb 2018 09:04:16 +0000 (10:04 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I2a2c6ff85ebe6c1bf93c74e58dcdbf2e3afbee33
Melos [Sun, 11 Feb 2018 07:43:47 +0000 (08:43 +0100)]
SpecialLog: replace unnecessary strict comparison
As suggested in 409541 replace unnecessary strict comparison
introduced in
e6b2491736a9
Change-Id: I20a963be9aeac4274984cbcd2d7e97e040ceea9a
Brad Jorsch [Fri, 24 Nov 2017 19:22:25 +0000 (14:22 -0500)]
ParserOutput: Add 'deduplicateStyles' post-cache transformation
This transformation will find <style> tag with a "data-mw-deduplicate"
attribute. For each value of the attribute, the first instance will be
kept as-is, while any subsequent tags with the same value will be
replaced by a <link rel="mw-deduplicated-inline-style"> with its href
referring to the "data-mw-deduplicate" value using a custom scheme.
This also adds an $attribs parameter to Html::inlineStyle() so the
data-mw-deduplicate attribute can be added.
Note this doesn't actually depend on Ib931e25c, but action=mobileview
will break if it starts being used without that patch.
Bug: T160563
Change-Id: I055abdf4d73ec65771eaa4fe0999ec907c831568
Depends-On: Ib931e25ce85072000e62c486bbe5907f03372494
Umherirrender [Sat, 10 Feb 2018 21:25:40 +0000 (22:25 +0100)]
Search for Hooks::runWithoutAbort in maintenance/findHooks.php
Follows-up I94c7ab656bd1a04
Change-Id: I63faf3071e55bb0ba5aba1536bc98a969fb564af
Bartosz Dziewoński [Thu, 8 Feb 2018 21:28:16 +0000 (22:28 +0100)]
Add mediawiki.widgets.visibleByteLimit to JSDuck index
Change-Id: Iaad0e4aad3e78294667e82b4fbd009e241f765e8
Fomafix [Sat, 10 Feb 2018 20:47:18 +0000 (21:47 +0100)]
mediawiki.special.upload: Reorder functions
This avoids forward references and disabling of the eslint rule
no-use-before-define can removed.
Change-Id: I7bc229f4d95862f39a5a408218135dc6eae6155d
Melos [Sat, 10 Feb 2018 11:42:40 +0000 (12:42 +0100)]
SpecialLog: Fix results when no offender is specified
With
467ee1e82f15 offender is not ignored when it's a
nonexistent username and a empty list is showed.
Ignore offender search when no offender is specified.
Bug: T186950
Change-Id: I93c9dafc9299d0ba1d01090471c5b49dcc904fe8
Reedy [Sat, 10 Feb 2018 07:40:43 +0000 (07:40 +0000)]
Update MediaWiki\quietCall() -> Wikimedia\quietCall()
Bug: T182273
Change-Id: Id7d8e176fcd93040e30e46cb64fc6a3d36bc8230
Reedy [Sat, 10 Feb 2018 07:52:26 +0000 (07:52 +0000)]
Update suppressWarning()/restoreWarning() calls
Bug: T182273
Change-Id: I9e1b628fe5949ca54258424c2e45b2fb6d491d0f
Translation updater bot [Sat, 10 Feb 2018 07:42:46 +0000 (08:42 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: Iab9baefdc22d9652659a4bc2b976a677d080a962
Kunal Mehta [Sat, 10 Feb 2018 07:37:22 +0000 (23:37 -0800)]
Add tests for ExtensionJsonValidator
Change-Id: I883a502fc3ed6cd7b8651d9e5e78dba7177ead9c
Kunal Mehta [Sat, 10 Feb 2018 07:14:07 +0000 (23:14 -0800)]
Complete VersionChecker test coverage
And fix a few typos in the error messages and the accidental inclusion
of whitespace.
Change-Id: I4ea90c5543e394c3f30b1da1456e4676377188f7
Kunal Mehta [Sat, 10 Feb 2018 06:21:19 +0000 (22:21 -0800)]
registration: Simplify extracting path based globals
The code for ParserTestFiles and ServiceWiringFiles was identical, so
unify it into one function. For most extensions, this should save two
unnecessary function calls as a bonus.
Change-Id: If5ed189f97b7d3b9cd7b550f3ad2e90abe30005d
Kunal Mehta [Sat, 10 Feb 2018 06:03:42 +0000 (22:03 -0800)]
Complete ExtensionProcessor test coverage
Change-Id: I80103e9b7eaba0bb3efa3b736f3f188a536f2919
jenkins-bot [Sat, 10 Feb 2018 00:30:08 +0000 (00:30 +0000)]
Merge "editTests: Use the correct list of parser test files"
jenkins-bot [Sat, 10 Feb 2018 00:30:06 +0000 (00:30 +0000)]
Merge "Add a few more @covers to ParserIntegrationTest"
jenkins-bot [Fri, 9 Feb 2018 23:41:45 +0000 (23:41 +0000)]
Merge "rdbms: make safeWaitForMasterPos() respect "waitTimeout""
Aaron Schulz [Wed, 7 Feb 2018 00:38:39 +0000 (16:38 -0800)]
rdbms: make safeWaitForMasterPos() respect "waitTimeout"
Also remove the "m" prefix from the member variable.
Change-Id: I695f520a69980214da5e9b7fbd2c80924b3a4038
jenkins-bot [Fri, 9 Feb 2018 22:34:46 +0000 (22:34 +0000)]
Merge "Fix ParserOutput::getText 'unwrap' flag for end-of-doc comment"
Gergő Tisza [Fri, 9 Feb 2018 21:30:12 +0000 (13:30 -0800)]
Fix ParserOutput::getText 'unwrap' flag for end-of-doc comment
The closing div might be followed by debug information in HTML comments.
Bug: T186927
Change-Id: I72d4079dfe9ca9b3a14476ace1364eb5efdee846
Kunal Mehta [Fri, 9 Feb 2018 20:08:05 +0000 (12:08 -0800)]
editTests: Use the correct list of parser test files
$wgParserTestFiles is deprecated, so this wasn't running the core parser
tests. Using ParserTestRunner::getParserTestFiles() includes everything,
including autodiscovered extension parser tests.
Change-Id: Ie3b02565c184e8e06931ab52a39ca8ae0877aab9
jenkins-bot [Fri, 9 Feb 2018 20:06:18 +0000 (20:06 +0000)]
Merge "Use WatchedItemStore clearing in SpecialEditWatchlist"
jenkins-bot [Fri, 9 Feb 2018 19:59:55 +0000 (19:59 +0000)]
Merge "Add clearWatchedItems to WatchedItemStore"
jenkins-bot [Fri, 9 Feb 2018 19:53:55 +0000 (19:53 +0000)]
Merge "Avoid pointless DB_MASTER connections in User::clearSharedCache()"
addshore [Tue, 15 Mar 2016 00:36:36 +0000 (00:36 +0000)]
Use WatchedItemStore clearing in SpecialEditWatchlist
This switches to using the WatchedItemStore that has the ability to
delete all watchlist items for a user using the jobqueue.
The job was introduced in:
Icea573a10078ea3f09dc2e4e9fdc737bf639935d
Functionality added to the store in:
I2f8c8be860a03116535dbd1e6a18ce2e8bc546b4
This patch is the first code calling the new functionality.
If the number of watched items for the user is less
than the number that can be completed in a single
batch then they will still be deleted during the
interactive session.
Bug: T68212
Bug: T129481
Change-Id: I2f8c8be860a03116535dbd1e6a18ce2e8bc546b4
addshore [Tue, 15 Mar 2016 00:36:02 +0000 (00:36 +0000)]
Add clearWatchedItems to WatchedItemStore
Change-Id: I67d1057c76ddccece4727f4df701a3ad14c3bbaa
Aaron Schulz [Fri, 9 Feb 2018 19:28:59 +0000 (11:28 -0800)]
Avoid pointless DB_MASTER connections in User::clearSharedCache()
Change-Id: Ifc4f489cea4460185cb2d8317f174cabd67f5862
Kunal Mehta [Fri, 9 Feb 2018 19:18:30 +0000 (11:18 -0800)]
Add a few more @covers to ParserIntegrationTest
Change-Id: I638077683d9d3cb40f81b4f4d594f16c349f1519
Aaron Schulz [Fri, 9 Feb 2018 19:14:08 +0000 (11:14 -0800)]
Catch Error exceptions in MediaWiki::run()
This avoids triggering other exceptions down the road such as
"Got COMMIT while atomic sections FileDeleteForm::doDelete,
LocalFile::lockingTransaction are still open". Those would
happen in LBFactory::__destruct(), when it tries to commit any
dangling transactions (firing attached callbacks too). Just like
with the Exception case, the DBs needs to all be rolled back.
Also make LoadBalancer::rolbackMasterChanges() rollback any
explicit transactions even if they have no pending changes.
This clears up the state to avoid later atomic section errors.
Change-Id: Ic0b6b12c1edc1eec239f4f048359b3bbb497d3ff
Brad Jorsch [Fri, 9 Feb 2018 17:43:30 +0000 (12:43 -0500)]
Fix CommentStore->createComment() call in LocalFile.php
This was incorrectly changed in I3abb62a5, createComment() is not one of
the methods that was adjusted in that patch.
Change-Id: I9c26e0ad69ffc6fa5349a6975a4134efb3cf0eff
Matěj Suchánek [Sat, 3 Feb 2018 16:23:44 +0000 (16:23 +0000)]
Tag redirects from moves as new redirects
Bug: T184117
Change-Id: Ic9a0abcb530787f652e7d439ecc7cac5f603be56
jenkins-bot [Fri, 9 Feb 2018 13:47:40 +0000 (13:47 +0000)]
Merge "rdbms: make DOMAIN_ANY ignore bogus MySQL DB names in config"
Translation updater bot [Fri, 9 Feb 2018 07:33:06 +0000 (08:33 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I79bd58ffc0181305a64d1a8c379b58547e3a745c
Aaron Schulz [Fri, 9 Feb 2018 02:48:38 +0000 (18:48 -0800)]
rdbms: make DOMAIN_ANY ignore bogus MySQL DB names in config
This regressed in
14ee3f2, trying to select the server config
"dbname" value as the database on connect. If that config is
bogus, then the connection attempt would fail. Instead, always
pass null to the driver's connection function if the DB domain
doesn't matter.
This affected WMF sites during lag checks, on account of the
"serverTemplate" value in $wgLBFactoryConf always using the local
wiki domain (whether the cluster had such a database or not).
Use strlen() as mysqli sees null and "" as the same for $dbname.
Bug: T186764
Change-Id: I6699d17c0125a08415046211fee7906bbaf2c366
Aaron Schulz [Fri, 9 Feb 2018 06:39:56 +0000 (22:39 -0800)]
Refactor Skin::buildSidebar() code style
Change-Id: I054452ba6a83b3fc3c717a825acae6824d84bb49