lhc/web/wiklou.git
5 years agoMerge "build: Convert jsduck.json whitelist to blacklist"
jenkins-bot [Wed, 9 May 2018 19:13:51 +0000 (19:13 +0000)]
Merge "build: Convert jsduck.json whitelist to blacklist"

5 years agoMerge "Introduce change_tag_def table"
jenkins-bot [Wed, 9 May 2018 18:52:42 +0000 (18:52 +0000)]
Merge "Introduce change_tag_def table"

5 years agobuild: Convert jsduck.json whitelist to blacklist
Timo Tijhof [Wed, 9 May 2018 17:55:20 +0000 (18:55 +0100)]
build: Convert jsduck.json whitelist to blacklist

This will make it a lot easier to move files from src/mediawiki/
to src/ without having to enumerate each file because previously
it was included by "src/mediawiki" entirely, but we can't include
"src/" entirely because of the implicitly excluded files.

Bug: T193826
Change-Id: Ib1b1a2e851d2cb8f1426a0d16343adcd6344a14f

5 years agoMerge "mediawiki.notification: Move files to their own directory"
jenkins-bot [Wed, 9 May 2018 18:14:07 +0000 (18:14 +0000)]
Merge "mediawiki.notification: Move files to their own directory"

5 years agoMerge "Don't initialize MediaWikiServices before extensions have been loaded"
jenkins-bot [Wed, 9 May 2018 18:14:03 +0000 (18:14 +0000)]
Merge "Don't initialize MediaWikiServices before extensions have been loaded"

5 years agoMerge "Update OOUI to v0.27.0"
jenkins-bot [Wed, 9 May 2018 18:14:00 +0000 (18:14 +0000)]
Merge "Update OOUI to v0.27.0"

5 years agoMerge "jquery.tablesorter: Move files to their own directory"
jenkins-bot [Wed, 9 May 2018 17:42:41 +0000 (17:42 +0000)]
Merge "jquery.tablesorter: Move files to their own directory"

5 years agoMerge "mediawiki.messagePoster: Move WikitextMessagePoster.js to its own directory"
jenkins-bot [Wed, 9 May 2018 17:42:38 +0000 (17:42 +0000)]
Merge "mediawiki.messagePoster: Move WikitextMessagePoster.js to its own directory"

5 years agomediawiki.notification: Move files to their own directory
Timo Tijhof [Wed, 9 May 2018 17:01:59 +0000 (18:01 +0100)]
mediawiki.notification: Move files to their own directory

* Reduce clutter in src/mediawiki/.
* Make it easier to see from the repo structure which files
  belong to this module, and which files not. For example,
  'mediawiki.notification.convertmessagebox' and 'mediawiki.notify' are
  logically related, but not actually part of this 4-file module.

Bug: T193826
Change-Id: I274323dffa8af1d046beb21d88f633f432a6ebbc

5 years agoMerge "Add equals() to UserIdentity"
jenkins-bot [Wed, 9 May 2018 17:28:00 +0000 (17:28 +0000)]
Merge "Add equals() to UserIdentity"

5 years agoUpdate OOUI to v0.27.0
Volker E [Wed, 9 May 2018 01:38:43 +0000 (18:38 -0700)]
Update OOUI to v0.27.0

Release notes:
 https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v0.27.0

Depends-on: I40dc6a2441fcd37e785f11b7a5e2f5da932e94df
Change-Id: I2acf232fd172d176b305d65d88db5b7bbfe34b88

5 years agojquery.tablesorter: Move files to their own directory
Timo Tijhof [Wed, 9 May 2018 17:12:15 +0000 (18:12 +0100)]
jquery.tablesorter: Move files to their own directory

* Reduce clutter in src/jquery/.
* Make it easier to see which files belong to which module, especially
  src/jquery/images/ which was confusingly shared between multiple modules.
  This also helps emphasize that while jquery.tablesorter.less is included,
  jquery.tablesorter.styles.less is not.

Also follows-up 8cdfcc5fd, which placed its style-module definition among
the 'mediawiki.*' modules instead of near the 'jquery.*' modules.

Change-Id: Ib639de5df323a36982ecdd89158a939beaaa2dd3

5 years agomediawiki.messagePoster: Move WikitextMessagePoster.js to its own directory
Timo Tijhof [Fri, 4 May 2018 02:12:18 +0000 (03:12 +0100)]
mediawiki.messagePoster: Move WikitextMessagePoster.js to its own directory

It was currently in the directory for 'mediawiki.messagePoster', but this
file actually belongs to a different module.

Bug: T193826
Change-Id: Ia51d2a373173c1bc7fe78196dbef89089c51ac86

5 years agoMerge "resourceloader: Remove AJAX call from addScript() in mediawiki.js"
jenkins-bot [Wed, 9 May 2018 16:50:55 +0000 (16:50 +0000)]
Merge "resourceloader: Remove AJAX call from addScript() in mediawiki.js"

5 years agoselenium: Initial version of wdio-mediawiki package
Timo Tijhof [Wed, 2 May 2018 17:48:24 +0000 (18:48 +0100)]
selenium: Initial version of wdio-mediawiki package

This is new package will be reusable by other repositories for
their browser tests, without having to reference the internal
selenium/pageobjects/ directory from MediaWiki core.

In addition to not requiring direct imports, it will also avoid
problems in the future by allowing the package to be versioned
and iterated upon without forcing an atomic global upgrade
(or broken master builds), everytime we change something.

See wdio-mediawiki/README for details.

Within MediaWiki core itself, the package is used using the
'file' specifier in its package.json, so that we always test
and develop using its working copy, which makes drafting and
testing changes easier.

Also misc changes to make wdio.conf easier to understand.

Bug: T193088
Change-Id: I547a7899e7a97693a93567dd763784e637433d55

5 years agoselenium: Create local ./log directory if needed
Timo Tijhof [Wed, 2 May 2018 22:47:16 +0000 (23:47 +0100)]
selenium: Create local ./log directory if needed

Without this, the tests sometimes fail like this:

> Error: ENOENT: no such file or directory, open './log/should-be-creatable.png'
>   at screenshot() - saveScreenshot.js:52:17
>   at saveScreenshot("./log/should-be-creatable.png")

This seems to race with the junit plugin, which uses mkdirp to
create it if missing, but the screenshot handling is separate
from that. WebdriverIO's own screenshot handling also does this
so it makes sense for ours to do that, too.

I considered trying to re-use WebdriverIO's save mechanism,
directly but it's not publicly exposed and only used for the
crash scenario, so for now we'll have to keep our own.

Also:
* Add to gitignore.

* Update default to use __dirname instead of './' because the
  latter will somtimes be mediawiki/ and sometimes be selenium/
  depending on whether you run all tests or some tests.

* Remove trailing slash from default logPath, and instead add the
  slash in filePath.
  Reason:
  - The LOG_DIR used by Jenkins doesn't end in a slash either
    (currently not failing because we no longer use that job,
    and let quibble run the tests instead, which doesn't set
    the LOG_DIR).
  - The WDIO docs and example also use screenshotPath without
    trailing slash.
  - Without this, setting LOG_DIR=/tmp/something results in
    filenames like /tmp/somethingexample.png.

Bug: T193088
Change-Id: I6550f9315bae89f96a791f7ae8cc2fbec5ee8dd5

5 years agoMerge "[MCR] Introduce RevisionSlotsUpdate."
jenkins-bot [Wed, 9 May 2018 13:27:08 +0000 (13:27 +0000)]
Merge "[MCR] Introduce RevisionSlotsUpdate."

5 years agoMerge "search: Add result ranking in MySQL"
jenkins-bot [Wed, 9 May 2018 12:01:56 +0000 (12:01 +0000)]
Merge "search: Add result ranking in MySQL"

5 years agoNames.php: Add missing LTR markers after closing parentheses
Fomafix [Wed, 21 Mar 2018 19:11:05 +0000 (20:11 +0100)]
Names.php: Add missing LTR markers after closing parentheses

Currently some language autonyms with parentheses have misaligned
parentheses on RTL environment on some browser. To reproduce open
index.php?title=Special:Preferences&uselang=en-rtl
Google Chrome is affected. Mozilla Firefox is not affected.

This changes fixes this problem like at the other autonyms with
parentheses.

Change-Id: Ie01116821b067017434681ea995e97ada8ff0a6d

5 years agoMerge "Change language name of ko-kp to 조선말"
jenkins-bot [Wed, 9 May 2018 04:36:45 +0000 (04:36 +0000)]
Merge "Change language name of ko-kp to 조선말"

5 years agoresourceloader: Remove AJAX call from addScript() in mediawiki.js
Aaron Schulz [Tue, 8 May 2018 21:58:01 +0000 (14:58 -0700)]
resourceloader: Remove AJAX call from addScript() in mediawiki.js

Bug: T192623
Change-Id: If38376cb987c273b9991129df8f9a2ae04cfa4ed

5 years agoresourceloader: Move always() call to addScript() in mediawiki.js
Aaron Schulz [Tue, 8 May 2018 21:39:29 +0000 (14:39 -0700)]
resourceloader: Move always() call to addScript() in mediawiki.js

Bug: T192623
Change-Id: Ic0134baf0b501354c8713c7dad6a2e5b7f185793

5 years agoMerge "resourceloader: Avoid jQuery usage in queueModuleScript"
jenkins-bot [Tue, 8 May 2018 21:42:44 +0000 (21:42 +0000)]
Merge "resourceloader: Avoid jQuery usage in queueModuleScript"

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 agoresourceloader: Avoid jQuery usage in queueModuleScript
Aaron Schulz [Tue, 8 May 2018 10:44:33 +0000 (03:44 -0700)]
resourceloader: Avoid jQuery usage in queueModuleScript

Bug: T192623
Change-Id: I46db7883c309cdec3722dd2d6169cf239bb113fb

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 agoIntroduce change_tag_def table
Amir Sarabadani [Fri, 4 May 2018 17:29:53 +0000 (19:29 +0200)]
Introduce change_tag_def table

Table defining tag names for IDs. Also stores hit counts to avoid expensive queries on change_tag
See T185355 for more information

Bug: T193867
Bug: T185355
Change-Id: I4fd943589b3ed304471304c8beda15327a8edbcf

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 agoAdd equals() to UserIdentity
Gergő Tisza [Tue, 8 May 2018 14:31:03 +0000 (16:31 +0200)]
Add equals() to UserIdentity

Change-Id: Ia2f33d551e96bd6f58ba9414049449282575a63b

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 ago[MCR] Introduce RevisionSlotsUpdate.
daniel [Fri, 30 Mar 2018 11:29:33 +0000 (13:29 +0200)]
[MCR] Introduce RevisionSlotsUpdate.

The RevisionSlotsUpdate interface represents a change to a pages slots,
as applied by an edit.

This also introduces RevisionSlots::hasSameContent and pulls up
getTouchedSlots() and getInheritedSlots() from MutableRevisionStore
to RevisionStore, in preparation of using these classes in the
refactoring of WikiPage::doEditContent and friends.

Bug: T174038
Change-Id: Idb0ef885b343a76137b640fdfc1bf36104b00895

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 agoDon't initialize MediaWikiServices before extensions have been loaded
Max Semenik [Tue, 1 May 2018 00:35:08 +0000 (17:35 -0700)]
Don't initialize MediaWikiServices before extensions have been loaded

Bug: T153256
Bug: T190425
Change-Id: I749f66d13a8c8a8ae4a83661b83c56f0db74a187

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"