lhc/web/wiklou.git
5 years agoMerge "Preserve 'ooui' query string when overriding"
jenkins-bot [Tue, 8 May 2018 21:38:59 +0000 (21:38 +0000)]
Merge "Preserve 'ooui' query string when overriding"

5 years agoMerge "Special:Preferences: Create flag to enable OOjs UI"
jenkins-bot [Tue, 8 May 2018 21:32:01 +0000 (21:32 +0000)]
Merge "Special:Preferences: Create flag to enable OOjs UI"

5 years agoPreserve 'ooui' query string when overriding
Ed Sanders [Thu, 3 May 2018 13:17:41 +0000 (14:17 +0100)]
Preserve 'ooui' query string when overriding

Change-Id: I32df23b427f18e6275beaa6cc10cd58dc3b6eb36

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 8 May 2018 19:58:14 +0000 (21:58 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I9929e2ade53186340619aeceece3e1eed6166985

5 years agoMerge "BotPasswords: Indicate when a password needs reset"
jenkins-bot [Tue, 8 May 2018 19:26:04 +0000 (19:26 +0000)]
Merge "BotPasswords: Indicate when a password needs reset"

5 years agoMerge "Fall back to default language when no i18n'ed licenses available"
jenkins-bot [Tue, 8 May 2018 19:21:24 +0000 (19:21 +0000)]
Merge "Fall back to default language when no i18n'ed licenses available"

5 years agoMerge "tidy: Remove obsolete Depurate and Balancer drivers"
jenkins-bot [Tue, 8 May 2018 15:46:14 +0000 (15:46 +0000)]
Merge "tidy: Remove obsolete Depurate and Balancer drivers"

5 years agotidy: Remove obsolete Depurate and Balancer drivers
Kunal Mehta [Mon, 7 May 2018 08:34:13 +0000 (01:34 -0700)]
tidy: Remove obsolete Depurate and Balancer drivers

The Html5Depurate driver was intended to be used with an external Java
service, but it never gained traction due to deployment concerns.

The Html5Internal (Balancer) driver was originally intended for use with
the balanced templates proposal and could also handle tidying. But it was
tightly coupled to MediaWiki, so part of it was used as the basis of the
RemexHtml library. Remex most likely can also implement the balanced
templates proposal, so there isn't any reason to keep the Balancer code
around anymore,

Change-Id: I8542d69e9cdbf0e2fb7ebbb919933a64c1b8c293

5 years agoMerge "jquery.makeCollapsible: Fix typo in documentation"
jenkins-bot [Tue, 8 May 2018 15:26:29 +0000 (15:26 +0000)]
Merge "jquery.makeCollapsible: Fix typo in documentation"

5 years agoMerge "selenium: Minor clean-up in preparation for packaging"
jenkins-bot [Tue, 8 May 2018 15:16:43 +0000 (15:16 +0000)]
Merge "selenium: Minor clean-up in preparation for packaging"

5 years agoselenium: Minor clean-up in preparation for packaging
Timo Tijhof [Wed, 2 May 2018 03:48:36 +0000 (04:48 +0100)]
selenium: Minor clean-up in preparation for packaging

This is functionally a no-op, purely refactoring (mostly style).

* Consistently require packages at the top of a file.
  (e.g. MWBot in edit.page.js).

* Remove unused .call(this) from mwbot interaction closures,
  which didn't use 'this'.

* Use Node.js regular Promise chaining with then(), instead of
  complex bluebird.coroutine generator function yields, which
  are intended to emulate async-await, but the syntax is quite
  error-prone for inexperienced developers and hard to debug.
  Once we require Node 7+ for the selenium tests, we can use
  async-await here natively, but until then, might as well use
  regular then() syntax, which we already use elsewhere in the
  tests, and is also what MWBot documentation uses.

* Also applied some minor whitespace changes for consistency
  among these files and other MediaWiki JS. E.g. no empty line
  before the first statement of a function. Add a new line between
  different methods, and between the end of a class and the
  export statement.

* Remove 'use strict' from test files. The patterns that would expose
  the bad non-strict behaviour are mostly already forbidden by ESLint,
  and the run-time optimisation to disable non-strict can't be noticed
  in tests (more useful in prod where e.g. the same process would run
  a function 1 million times). Main reason here is to keep things
  simple for new-comers and reduce boilerplate, given that these tests
  will mainly be worked on by browser-JS developers, not Node.js devs,
  and we don't currently use strict mode in our front-end code, either.

* Remove unused bluebird dependency.

Bug: T193088
Change-Id: I59f9211299e8e884c28c7733bcee3b7b28542610

5 years agojquery.makeCollapsible: Fix typo in documentation
Bartosz Dziewoński [Tue, 8 May 2018 14:17:41 +0000 (16:17 +0200)]
jquery.makeCollapsible: Fix typo in documentation

Change-Id: Iaf53f0e460bc8684f0925c2f3963d988f8624aa4

5 years agoMerge "HTMLTitleTextField: Allow this field to not be required"
jenkins-bot [Tue, 8 May 2018 00:36:06 +0000 (00:36 +0000)]
Merge "HTMLTitleTextField: Allow this field to not be required"

5 years agoMerge "RELEASE-NOTES-1.32: Follow-up f1d0d364c4d, explain this is alignment not quali...
jenkins-bot [Mon, 7 May 2018 22:41:26 +0000 (22:41 +0000)]
Merge "RELEASE-NOTES-1.32: Follow-up f1d0d364c4d, explain this is alignment not quality loss"

5 years agoMerge "mediawiki.util: Drop updateTooltipAccessKeys(), deprecated since 1.24"
jenkins-bot [Mon, 7 May 2018 22:33:03 +0000 (22:33 +0000)]
Merge "mediawiki.util: Drop updateTooltipAccessKeys(), deprecated since 1.24"

5 years agoRELEASE-NOTES-1.32: Follow-up f1d0d364c4d, explain this is alignment not quality...
James D. Forrester [Mon, 7 May 2018 19:36:20 +0000 (12:36 -0700)]
RELEASE-NOTES-1.32: Follow-up f1d0d364c4d, explain this is alignment not quality loss

Change-Id: I03f6db941516a74c1f16aeb8158a6445ebc7b5a9

5 years agoMerge "mediawiki.util: Drop escapeId(), deprecated since 1.30 and unused"
jenkins-bot [Mon, 7 May 2018 22:24:42 +0000 (22:24 +0000)]
Merge "mediawiki.util: Drop escapeId(), deprecated since 1.30 and unused"

5 years agoMerge "RELEASE-NOTES-1.32: Some cleanup"
jenkins-bot [Mon, 7 May 2018 22:23:38 +0000 (22:23 +0000)]
Merge "RELEASE-NOTES-1.32: Some cleanup"

5 years agoMerge "Use BlockListPager::getLimitSelectList() in Special:BlockList and Special...
jenkins-bot [Mon, 7 May 2018 22:03:33 +0000 (22:03 +0000)]
Merge "Use BlockListPager::getLimitSelectList() in Special:BlockList and Special:AutoblockList"

5 years agoMerge "Sort user groups in Special:Listusers"
jenkins-bot [Mon, 7 May 2018 22:00:53 +0000 (22:00 +0000)]
Merge "Sort user groups in Special:Listusers"

5 years agoMerge "jquery-tablesorter and sortable classes always added together"
jenkins-bot [Mon, 7 May 2018 20:23:17 +0000 (20:23 +0000)]
Merge "jquery-tablesorter and sortable classes always added together"

5 years agojquery-tablesorter and sortable classes always added together
jdlrobson [Mon, 7 May 2018 19:45:13 +0000 (12:45 -0700)]
jquery-tablesorter and sortable classes always added together

If absent, jquery-tablesorter should add the sortable class.
The sortable class should be used to avoid FOUC, but clients
may need time to update their interfaces to do so.

Bug: T194045
Change-Id: I76709bf30ab06ff5ee7fc18bed1f143002477529

5 years agoMerge "rdbms: fix finalization stage errors in LBFactory::commitMasterChanges"
jenkins-bot [Mon, 7 May 2018 19:39:01 +0000 (19:39 +0000)]
Merge "rdbms: fix finalization stage errors in LBFactory::commitMasterChanges"

5 years agomediawiki.util: Drop updateTooltipAccessKeys(), deprecated since 1.24
James D. Forrester [Fri, 4 May 2018 18:37:46 +0000 (11:37 -0700)]
mediawiki.util: Drop updateTooltipAccessKeys(), deprecated since 1.24

Bug: T193901
Change-Id: I72d82b8c3a073c4ecde24f88bb5a2027327adb0c

5 years agomediawiki.util: Drop escapeId(), deprecated since 1.30 and unused
James D. Forrester [Fri, 4 May 2018 18:33:33 +0000 (11:33 -0700)]
mediawiki.util: Drop escapeId(), deprecated since 1.30 and unused

Bug: T193901
Change-Id: Ifef37d2f0ccf8acbe36900a25d2a51864083f11f

5 years agoRELEASE-NOTES-1.32: Some cleanup
James D. Forrester [Fri, 4 May 2018 18:31:16 +0000 (11:31 -0700)]
RELEASE-NOTES-1.32: Some cleanup

Change-Id: Id58d0d18116a82bccf6b9aabc695ae36a668d4e4

5 years agoHTMLTitleTextField: Allow this field to not be required
Bartosz Dziewoński [Mon, 7 May 2018 18:57:32 +0000 (20:57 +0200)]
HTMLTitleTextField: Allow this field to not be required

Previously we would always run the validation, and it would fail when
the field was empty, since empty string is not a valid title.

Respect the 'required' option (defined by HTMLFormField) and make it
default to true for compatibility with existing forms that might rely
on this.

Also add a TODO comment about a confusing special case in validation
code. I don't want to dig into that.

Change-Id: I93ad51ffe7bee597d2d127f4c5d6b2929ffc8f7e

5 years agoMerge "Replace deprecated ObjectCache and CommentStore calls in filerepo"
jenkins-bot [Mon, 7 May 2018 18:21:42 +0000 (18:21 +0000)]
Merge "Replace deprecated ObjectCache and CommentStore calls in filerepo"

5 years agordbms: fix finalization stage errors in LBFactory::commitMasterChanges
Aaron Schulz [Sat, 5 May 2018 22:09:30 +0000 (15:09 -0700)]
rdbms: fix finalization stage errors in LBFactory::commitMasterChanges

If a pre-commit callback caused a new LoadBalancer object to be created,
that object will be in the "cursory" state rather than the "finalized"
state. If any callbacks run on an LB instance, make LBFactory iterate
over them all again to finalize these new instances.

Make LoadBalancer::finializeMasterChanges allow calls to
already-finalized instances for simplicity.

Bug: T193668
Change-Id: I4493e9571625a350c0a102219081ce090967a4ac

5 years agotests: Add some more @covers tags
Kunal Mehta [Mon, 7 May 2018 08:22:40 +0000 (01:22 -0700)]
tests: Add some more @covers tags

Change-Id: I84b66879773d97593152b683ff69d034ed67aa3d

5 years agoDon't globally disable PHPCS's prohibition of assert()
Kunal Mehta [Mon, 7 May 2018 08:09:19 +0000 (01:09 -0700)]
Don't globally disable PHPCS's prohibition of assert()

Whitelist the remaining usages of assert(), and reinstate the PHPCS sniff
that forbids usage of it. Add FIXME comments as well, so any casual readers
of the code will not think that the disabling and usage is intentional.

Change-Id: I7cabe715c0e6aa6a9ef3ffe5657f3de7fd8e662b

5 years agoMerge "Special:ListFiles: Convert to use OOUI"
jenkins-bot [Mon, 7 May 2018 17:12:17 +0000 (17:12 +0000)]
Merge "Special:ListFiles: Convert to use OOUI"

5 years agoresourceloader: Deprecate OutputPage::addModuleScripts()
Timo Tijhof [Fri, 2 Mar 2018 01:21:32 +0000 (17:21 -0800)]
resourceloader: Deprecate OutputPage::addModuleScripts()

And the counter-part in ParserOutput as well.

This follows-up on 80e5b160e0985, which removed the last use of this
method. It also deprecated ResourceLoaderClientHtml::setModuleScripts()
but that isn't usually used directly. The public interfaces are
mainly in OutputPage/ParserOutput, which are now deprecated as well.

Bug: T188689
Change-Id: I90baafdfc089ac03c4c3abc12065c0b60d43994e

5 years agoSpecial:ListFiles: Convert to use OOUI
Aashaka Shah [Sat, 12 Mar 2016 09:55:16 +0000 (15:25 +0530)]
Special:ListFiles: Convert to use OOUI

Bug: T117743
Change-Id: I1e61dc80e83f0aac9ec6a4e98837ca730b6946de

5 years agoReplace deprecated ObjectCache and CommentStore calls in filerepo
WMDE-Fisch [Fri, 4 May 2018 13:39:33 +0000 (15:39 +0200)]
Replace deprecated ObjectCache and CommentStore calls in filerepo

Change-Id: I0e863dc8e4bc6dac938a2ed437c2691aace19690

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 6 May 2018 19:53:50 +0000 (21:53 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I4088291349d08d9aa1ea2510b04cebd16a2fb085

5 years agoMerge "Remove deprecated SqlDataUpdate class"
jenkins-bot [Sun, 6 May 2018 08:18:56 +0000 (08:18 +0000)]
Merge "Remove deprecated SqlDataUpdate class"

5 years agoRemove empty skins folder from phan config
Umherirrender [Sun, 6 May 2018 07:13:06 +0000 (09:13 +0200)]
Remove empty skins folder from phan config

Similar to extensions folder there is nothing to do

Change-Id: I5bd9a8f70fb020325c892f04e3eac7a3e46d772a

5 years agoMerge "rdbms: set cpPosIndex to null in ChronologyProtector::shutdown on failure"
jenkins-bot [Sun, 6 May 2018 02:08:14 +0000 (02:08 +0000)]
Merge "rdbms: set cpPosIndex to null in ChronologyProtector::shutdown on failure"

5 years agordbms: set cpPosIndex to null in ChronologyProtector::shutdown on failure
Aaron Schulz [Tue, 1 May 2018 18:21:13 +0000 (11:21 -0700)]
rdbms: set cpPosIndex to null in ChronologyProtector::shutdown on failure

This already happens on lock acquisition failure but not on write failure.
If the write failed, then there is not point timing out on the next request
after waiting "waitForPosStoreTimeout" seconds.

Also raise the initPositions() logging for missing positions to WARNING
and improve the wait loop log entries in that method.

Change-Id: Id738eb6f85c91dd05fadd2e6c3f19ae3204e2575

5 years agoFix class/function case mismatches
Max Semenik [Fri, 4 May 2018 06:58:42 +0000 (23:58 -0700)]
Fix class/function case mismatches

Change-Id: I25632d4db5a451975cb7a678372d8675c28c0897

5 years agoMerge "rdbms: consolidate LBFactory code for running callbacks"
jenkins-bot [Sat, 5 May 2018 21:06:02 +0000 (21:06 +0000)]
Merge "rdbms: consolidate LBFactory code for running callbacks"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 5 May 2018 19:53:57 +0000 (21:53 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I98b5541df86b2be47d7d3cf74871bbb0a902f84e

5 years agoMerge "mw.widgets.visibleLengthLimit: Do not show countdown until last 99 characters"
jenkins-bot [Sat, 5 May 2018 11:50:19 +0000 (11:50 +0000)]
Merge "mw.widgets.visibleLengthLimit: Do not show countdown until last 99 characters"

5 years agoRemove deprecated SqlDataUpdate class
Umherirrender [Wed, 2 May 2018 19:42:56 +0000 (21:42 +0200)]
Remove deprecated SqlDataUpdate class

Deprecated since 1.28

Change-Id: I4dcbc8fcfdb99caa0469e7cf63745b94e19cd21d

5 years agoskins: Move default style modules to getDefaultModules
Timo Tijhof [Tue, 24 Apr 2018 23:22:00 +0000 (00:22 +0100)]
skins: Move default style modules to getDefaultModules

This advances T140664 as well, because it encourages module
loading logic from the skin to be in this single method.

Update the tests for setupSkinUserCss(), to now target
getDefaultModules() instead, given setupSkinUserCss() no longer
provides these behaviours. Had to move where the mock object
was created so that it can be injected in the skin (previously
it could be passed as parameter). Besides, its generally best-
practice to create mocks and stubs within the test anyhow, not in
the data provider.

Bug: T140664
Depends-On: Ib2b19ba165a9d646a770702cdf1724509156b93e
Change-Id: I3404c1c2a7e8eae0b803b31f333cb9b837f43d4a

5 years agordbms: consolidate LBFactory code for running callbacks
Aaron Schulz [Fri, 4 May 2018 22:33:34 +0000 (15:33 -0700)]
rdbms: consolidate LBFactory code for running callbacks

This makes sure rollbackMasterChanges() has the same looping logic
for consistency.

Also clarify some code comments.

Change-Id: Id34ba8ff7377c9f3842e2db675c8050a6e68407e

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 4 May 2018 19:57:22 +0000 (21:57 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I8b952979bdd5b13e3d0267c106439f8c27e46433

5 years agoMerge "Replace wfGetLB"
jenkins-bot [Fri, 4 May 2018 19:08:32 +0000 (19:08 +0000)]
Merge "Replace wfGetLB"

5 years agoMerge "Add Ambonese Malay (abs) to Names.php"
jenkins-bot [Fri, 4 May 2018 18:00:27 +0000 (18:00 +0000)]
Merge "Add Ambonese Malay (abs) to Names.php"

5 years agoMerge "resourceloader: Improve coverage of SkinModule"
jenkins-bot [Fri, 4 May 2018 17:41:17 +0000 (17:41 +0000)]
Merge "resourceloader: Improve coverage of SkinModule"

5 years agoMerge "API: Add ApiParseTest case for 'styles' in getDefaultModules"
jenkins-bot [Fri, 4 May 2018 16:35:15 +0000 (16:35 +0000)]
Merge "API: Add ApiParseTest case for 'styles' in getDefaultModules"

5 years agoresourceloader: Improve coverage of SkinModule
Timo Tijhof [Fri, 4 May 2018 16:30:33 +0000 (17:30 +0100)]
resourceloader: Improve coverage of SkinModule

* Ignore getLogoData() which is a one-line proxy to ::getLogo,
  that can't really be tested because static methods can't be stubbed.
  It exists so that this method can be stubbed instead. The actual
  method is already covered.

* Simplify @covers for getStyles() to allow indirect coverage within
  the class because it's intended as a higher-level integration tests.
  The other tests in the suite still cover a specific method only.

Change-Id: I1445a016c1f12a6d8ceaaf745023a28cf20e5371

5 years agoMerge "jsjpegmeta: Move export patch to a separate file"
jenkins-bot [Fri, 4 May 2018 16:30:25 +0000 (16:30 +0000)]
Merge "jsjpegmeta: Move export patch to a separate file"

5 years agoMerge "CLDRPluralRuleParser: Move from src/ to lib/ without local patch"
jenkins-bot [Fri, 4 May 2018 16:28:14 +0000 (16:28 +0000)]
Merge "CLDRPluralRuleParser: Move from src/ to lib/ without local patch"

5 years agoMerge "moment: Put src files for moment in their own directory"
jenkins-bot [Fri, 4 May 2018 16:28:11 +0000 (16:28 +0000)]
Merge "moment: Put src files for moment in their own directory"

5 years agojsjpegmeta: Move export patch to a separate file
Timo Tijhof [Fri, 4 May 2018 02:54:20 +0000 (03:54 +0100)]
jsjpegmeta: Move export patch to a separate file

Keep the main file in src/ for now, because it's got some whitespace
changes and a closure-wrap that make it differ from upstream's
version. Those changes are hard to review both for diffing and for
functional differences due to its odd-looking scope assignments that
I'd rather not change as part of this.

Change-Id: I248831cfa984432d0a30aa923a9bcd98029b05c4

5 years agoMerge "Use proper namespace name on Special:RelatedChanges"
jenkins-bot [Fri, 4 May 2018 14:57:34 +0000 (14:57 +0000)]
Merge "Use proper namespace name on Special:RelatedChanges"

5 years agoBotPasswords: Indicate when a password needs reset
Brad Jorsch [Fri, 4 May 2018 13:35:55 +0000 (09:35 -0400)]
BotPasswords: Indicate when a password needs reset

Certain things, such as changing the account's main login credentials,
causes all bot passwords to be invalidated. This state should be
indicated in Special:BotPasswords, and the API when login fails.

Bug: T193829
Change-Id: Ib12929fed861742c9f2f76702c9ac3254e8a5d97

5 years agoAdd Ambonese Malay (abs) to Names.php
MarcoAurelio [Wed, 2 May 2018 09:37:28 +0000 (09:37 +0000)]
Add Ambonese Malay (abs) to Names.php

Bug: T193566
Change-Id: I2c3b3812f5f2e4bb66c48da2b442194003eabb67

5 years agoMerge "Add 'logid' parameter to Special:Log"
jenkins-bot [Fri, 4 May 2018 02:56:08 +0000 (02:56 +0000)]
Merge "Add 'logid' parameter to Special:Log"

5 years agoCLDRPluralRuleParser: Move from src/ to lib/ without local patch
Timo Tijhof [Fri, 4 May 2018 02:28:10 +0000 (03:28 +0100)]
CLDRPluralRuleParser: Move from src/ to lib/ without local patch

Follows-up 648667ac9f, which didn't move this module because
it had a local patch for exposing via module.exports and mw.lib
(instead of its default 'pluralRuleParser' global).

Restore the file back to a clean copy from upstream, and perform
the export via a separately concatenated file instead, using the
same pattern we already use for 'oojs' and 'moment'.

Change-Id: I27ee80dc34e0ad5206cf9c1ce68be3ec8811ecf8

5 years agomoment: Put src files for moment in their own directory
Timo Tijhof [Fri, 4 May 2018 01:42:55 +0000 (02:42 +0100)]
moment: Put src files for moment in their own directory

Change-Id: Id4eaf32186e4a9414bb25cb6c08dc18ae4a8ad92

5 years agoAdd 'logid' parameter to Special:Log
Sam Wilson [Mon, 23 Apr 2018 03:55:24 +0000 (11:55 +0800)]
Add 'logid' parameter to Special:Log

Make it possible to get a URL for a single log entry,
as an alternative to using Special:Redirect/logid/123.

The existing single-log-entry link of Special:Redirect/logid/123
is also simplified to be a redirect to this new parameter.

Bug: T191608
Bug: T187638
Change-Id: I5f2e52531cd2ba617a25570e40aa8c5168e284d9

5 years agoMerge "resourceloader: Improve test coverage of ResourceLoader::register()"
jenkins-bot [Fri, 4 May 2018 01:52:36 +0000 (01:52 +0000)]
Merge "resourceloader: Improve test coverage of ResourceLoader::register()"

5 years agoresourceloader: Improve test coverage of ResourceLoader::register()
Timo Tijhof [Fri, 4 May 2018 01:15:24 +0000 (02:15 +0100)]
resourceloader: Improve test coverage of ResourceLoader::register()

Verify that calling register() twice does not throw, but warns,
and that the last registration wins.

This behaviour was actually surprising to me because it used to
throw, and I'd assume that when we added the warning, the behaviour
would go from fatal to non-fatal, but keep that the last one is
at fault/unsupported.

Perhaps b1ea0612 / d3e3bcfd6 (T116628) should've added a return
statement. Oh well, we can consider changing that later, but at
least test for it.

Change-Id: I955132868146ea5bf88c9b9e648c84d8196cb1f9

5 years agoMerge "Use AutoCommitUpdate in LinksUpdate::doUpdate"
jenkins-bot [Fri, 4 May 2018 00:40:06 +0000 (00:40 +0000)]
Merge "Use AutoCommitUpdate in LinksUpdate::doUpdate"

5 years agoAPI: Add ApiParseTest case for 'styles' in getDefaultModules
Timo Tijhof [Fri, 4 May 2018 00:01:40 +0000 (01:01 +0100)]
API: Add ApiParseTest case for 'styles' in getDefaultModules

Follows-up a01d8be82c.

Bug: T140664
Change-Id: Ic4151a548884d10a2302af49d89e9e36fd6766fd

5 years agoUse AutoCommitUpdate in LinksUpdate::doUpdate
Aaron Schulz [Wed, 2 May 2018 00:22:33 +0000 (17:22 -0700)]
Use AutoCommitUpdate in LinksUpdate::doUpdate

The hook handlers are likely to write to secondary databases, in which
case it is better to wrap the callback in its own transaction round.

This lowers the chance of pending write warnings happening in
runMasterTransactionIdleCallbacks() as well as DBTransactionError
exceptions in LBFactory due to recursion during commit.

Bug: T191282
Bug: T193668
Change-Id: Ie207ca312888b6bb076f783d41f05b701f70a52e

5 years agoSkin: Remove the cache-compat remainings of mediawiki.sectionAnchor
Timo Tijhof [Thu, 3 May 2018 23:32:58 +0000 (00:32 +0100)]
Skin: Remove the cache-compat remainings of mediawiki.sectionAnchor

Follows-up 5205405385397782b5. Two 2 years seems long enough :)

Bug: T18691
Change-Id: Id2f17312cbfe3ee9dda68bf8f9bcf94e18b003c6

5 years agoMerge "Silence TransactionProfiler in MediaWiki::triggerSyncJobs"
jenkins-bot [Thu, 3 May 2018 22:48:39 +0000 (22:48 +0000)]
Merge "Silence TransactionProfiler in MediaWiki::triggerSyncJobs"

5 years agoMerge "Make DeferredUpdates avoid running during LBFactory::commitMasterChanges"
jenkins-bot [Thu, 3 May 2018 22:37:52 +0000 (22:37 +0000)]
Merge "Make DeferredUpdates avoid running during LBFactory::commitMasterChanges"

5 years agoMerge "resourceloader: Remove remnants of "dependencies as a function""
jenkins-bot [Thu, 3 May 2018 22:32:34 +0000 (22:32 +0000)]
Merge "resourceloader: Remove remnants of "dependencies as a function""

5 years agoMerge "resourceloader: Remove creation of dynamic-styles marker"
jenkins-bot [Thu, 3 May 2018 22:32:10 +0000 (22:32 +0000)]
Merge "resourceloader: Remove creation of dynamic-styles marker"

5 years agoresourceloader: Remove remnants of "dependencies as a function"
Timo Tijhof [Mon, 23 Apr 2018 18:47:59 +0000 (19:47 +0100)]
resourceloader: Remove remnants of "dependencies as a function"

This hasn't been used in a while, at least two years from what
I could find. It also doesn't have tests, and numerous paths
that possibly should handle it, don't.

This was originally implemented for TMH as a way to dynamically
change what it loads based on the browser environment.

However, this has been addressed by two other aspects already:

* mw.loader.using() - During development of ResourceLoader, this
  method was unstable for a short while. During that pre-release
  time, dynamic dependencies was added as workaround for TMH.
  It being stable addresses TMH's use case of loading *different*
  modules (with callback) based on environment factors.
  This allows complete mutation of the array passed: remove,
  replace, and add operations. This can be used to completely
  change was a module does based on browser environment,
  e.g. load a decoder for X instead of Y, but places the logic
  in the startup module, which is inefficient.
  TMH has switched long ago to using using() instead.

* 'skipFunction' - Introduced in more recent years, this was
  added to more efficiently address the 'remove' use case.
  E.g. where the 'needs' are consistent between browsers, but
  a subset of the needs may be available natively without
  needing a polyfil. The skipFunction allows once to mark
  a module as "ready" without actually loading anything.
  This has been used for efficient and conditional loading of
  DOM2, JSON and ES5 polyfills. (All of which have been removed
  since, but that's a separate story.)

Bug: T192623
Change-Id: Ia97df72a0c3f0fc0dc917fce0a94213b23db4daa

5 years agoMake DeferredUpdates avoid running during LBFactory::commitMasterChanges
Aaron Schulz [Wed, 2 May 2018 23:56:07 +0000 (16:56 -0700)]
Make DeferredUpdates avoid running during LBFactory::commitMasterChanges

Bug: T193668
Change-Id: I50890ef17ea72481a14c4abcd93ae58b93f15d28

5 years agoRELEASE-NOTES-1.31: More cleanup
James D. Forrester [Thu, 3 May 2018 20:30:05 +0000 (13:30 -0700)]
RELEASE-NOTES-1.31: More cleanup

Change-Id: I645d6591424fb116439e85c28eaf52142583ba0b

5 years agoMerge "RELEASE-NOTES-1.31: Add notes for I94377faa51"
jenkins-bot [Thu, 3 May 2018 20:01:35 +0000 (20:01 +0000)]
Merge "RELEASE-NOTES-1.31: Add notes for I94377faa51"

5 years agoMerge "Localisation updates from https://translatewiki.net."
L10n-bot [Thu, 3 May 2018 19:59:01 +0000 (19:59 +0000)]
Merge "Localisation updates from https://translatewiki.net."

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 3 May 2018 19:58:52 +0000 (21:58 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ie50ed1c556acb37d00c94b55877196df3b30e9d5

5 years agoMerge "RELEASE-NOTES-1.31: Add notes for I8228cdd3b"
jenkins-bot [Thu, 3 May 2018 19:56:37 +0000 (19:56 +0000)]
Merge "RELEASE-NOTES-1.31: Add notes for I8228cdd3b"

5 years agoMerge "RELEASE-NOTES-1.31: Add notes for Ia76dd6db363"
jenkins-bot [Thu, 3 May 2018 19:56:34 +0000 (19:56 +0000)]
Merge "RELEASE-NOTES-1.31: Add notes for Ia76dd6db363"

5 years agomediawiki.jqueryMsg: Remove deprecated window.gM() method
Timo Tijhof [Mon, 30 Apr 2018 22:58:00 +0000 (23:58 +0100)]
mediawiki.jqueryMsg: Remove deprecated window.gM() method

* Deprecated with warnings since MediaWiki 1.23 (released 2013).
* Zero results for 'gM(' in mwgrep (sitewide scripts on public WMF wikis).

Bug: T135148
Change-Id: I3b97355012fc8741c7f4953f4b249d70beb96b01

5 years agoMerge "CRH Transliteration Pattern Matching Fixes"
jenkins-bot [Thu, 3 May 2018 16:01:25 +0000 (16:01 +0000)]
Merge "CRH Transliteration Pattern Matching Fixes"

5 years agoSpecial:Preferences: Create flag to enable OOjs UI
Ed Sanders [Tue, 1 May 2018 13:59:29 +0000 (14:59 +0100)]
Special:Preferences: Create flag to enable OOjs UI

This reverts commit 808e45d13d400256d36cfcd95e79a567197d9a8b.

Bug: T117781
Change-Id: I152b82bcd647d97062eb82cd2d1064609124f9bc

5 years agoMerge "Use OOUI form for edit watchlist"
jenkins-bot [Thu, 3 May 2018 15:22:42 +0000 (15:22 +0000)]
Merge "Use OOUI form for edit watchlist"

5 years agoMerge "selenium: Run wdio directly without grunt"
jenkins-bot [Thu, 3 May 2018 07:29:40 +0000 (07:29 +0000)]
Merge "selenium: Run wdio directly without grunt"

5 years agoMerge "sortable tables/mw-collapsible no longer causes page jump"
jenkins-bot [Thu, 3 May 2018 01:09:42 +0000 (01:09 +0000)]
Merge "sortable tables/mw-collapsible no longer causes page jump"

5 years agoRELEASE-NOTES-1.31: Add notes for I94377faa51
James D. Forrester [Wed, 2 May 2018 22:43:40 +0000 (15:43 -0700)]
RELEASE-NOTES-1.31: Add notes for I94377faa51

Change-Id: Icb7223864fd2bb3c5f2c961f3526d4f70e34bf7f

5 years agoRELEASE-NOTES-1.31: Add notes for I8228cdd3b
James D. Forrester [Wed, 2 May 2018 22:42:06 +0000 (15:42 -0700)]
RELEASE-NOTES-1.31: Add notes for I8228cdd3b

Change-Id: I8a7faa3486055c137c6918aa75481aa64a02b856

5 years agoRELEASE-NOTES-1.31: Add notes for Ia76dd6db363
James D. Forrester [Wed, 2 May 2018 22:38:04 +0000 (15:38 -0700)]
RELEASE-NOTES-1.31: Add notes for Ia76dd6db363

Change-Id: Id661a75205b2c799afb02485ac2e408869eab093

5 years agoRELEASE-NOTES-1.31: Wrap to 80 chars and fix up
James D. Forrester [Wed, 2 May 2018 22:00:16 +0000 (15:00 -0700)]
RELEASE-NOTES-1.31: Wrap to 80 chars and fix up

Change-Id: I0a090a3ac057021ac2e3544f5e05b2fadd0b9155
(cherry picked from commit ccc3d1fc0570c6e3057562b1583bd743aef5d9fb)

5 years agoMerge "Make DeferredUpdates re-throw exceptions during testing."
jenkins-bot [Wed, 2 May 2018 21:44:26 +0000 (21:44 +0000)]
Merge "Make DeferredUpdates re-throw exceptions during testing."

5 years agoMake DeferredUpdates re-throw exceptions during testing.
daniel [Thu, 29 Mar 2018 20:14:55 +0000 (22:14 +0200)]
Make DeferredUpdates re-throw exceptions during testing.

This is a stop-gap solution for the problem described in T190178.
A better solution would probably include changing the behavior
of LegacyLogger.

Bug: T190178
Change-Id: I433be04b8ee725becd174e567270aa674d2661df

5 years agoMerge "Remove $wgExperimentalHtmlIds and related code, deprecated in 1.30"
jenkins-bot [Wed, 2 May 2018 20:55:40 +0000 (20:55 +0000)]
Merge "Remove $wgExperimentalHtmlIds and related code, deprecated in 1.30"

5 years agoReplace wfGetLB
Umherirrender [Wed, 2 May 2018 20:12:12 +0000 (22:12 +0200)]
Replace wfGetLB

@deprecated since 1.27

Change-Id: Ibdd49fdfc0d1511503e1ed2173a592c612996c53

5 years agoUse OOUI form for edit watchlist
Ed Sanders [Tue, 24 Apr 2018 11:09:12 +0000 (12:09 +0100)]
Use OOUI form for edit watchlist

Change-Id: I2e2aa099e7941e1685dcaca37842b12a3469d5f3

5 years agoMerge "Remove three deprecated functions from the Revision class."
jenkins-bot [Wed, 2 May 2018 20:03:40 +0000 (20:03 +0000)]
Merge "Remove three deprecated functions from the Revision class."

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 2 May 2018 19:57:47 +0000 (21:57 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ib865977cd3bd5c326b9005397a165bc250c24ea5

5 years agoRemove three deprecated functions from the Revision class.
Matthew Bowker [Wed, 2 May 2018 19:32:38 +0000 (13:32 -0600)]
Remove three deprecated functions from the Revision class.

This commit removes Revision::getRawUser(), Revision::getRawUserText(), and Revision::getRawComment(). All three were deprecated in 1.25 and are only used in unmaintained extensions.

Bug: T61113
Change-Id: I729985b791df89bc7e577fb823e647c48549e637