lhc/web/wiklou.git
6 years agoFix typo in postgres patch-drop-ar_text.sql
Brad Jorsch [Thu, 26 Apr 2018 18:52:12 +0000 (14:52 -0400)]
Fix typo in postgres patch-drop-ar_text.sql

Change-Id: I6d479d123848325b8501275ef4b98fc81cd99505

6 years agoMerge "Filter autodiscovered parser tests in ConvertExtensionToRegistration"
jenkins-bot [Thu, 26 Apr 2018 05:11:56 +0000 (05:11 +0000)]
Merge "Filter autodiscovered parser tests in ConvertExtensionToRegistration"

6 years agoMerge "import: Don't try duplicate detection when the sha1 is unavailable"
jenkins-bot [Thu, 26 Apr 2018 05:06:46 +0000 (05:06 +0000)]
Merge "import: Don't try duplicate detection when the sha1 is unavailable"

6 years agotests: Assert that the user who deleted a page is logged as such
James D. Forrester [Wed, 28 Feb 2018 23:03:26 +0000 (15:03 -0800)]
tests: Assert that the user who deleted a page is logged as such

These tests are rather basic, but they're better than the nothing that
seems to be the current state. Revision deletion is still untested and
suppression is only very lightly tested. More tests should be added.

Bug: T188479
Bug: T188773
Change-Id: Iba0f41ffddc6af45e0a4be86176708160f4821f4

6 years agoMerge "Introduce ResourceLoaderLessVarFileModule"
jenkins-bot [Thu, 26 Apr 2018 00:16:09 +0000 (00:16 +0000)]
Merge "Introduce ResourceLoaderLessVarFileModule"

6 years agoMerge "RELEASE-NOTES: Move a deprecation to "Deprecations" section"
jenkins-bot [Wed, 25 Apr 2018 22:49:36 +0000 (22:49 +0000)]
Merge "RELEASE-NOTES: Move a deprecation to "Deprecations" section"

6 years agoMerge "phpunit: Clear job queues in MediaWikiTestCase::setUp()"
jenkins-bot [Wed, 25 Apr 2018 22:34:50 +0000 (22:34 +0000)]
Merge "phpunit: Clear job queues in MediaWikiTestCase::setUp()"

6 years agoRELEASE-NOTES: Move a deprecation to "Deprecations" section
Bartosz Dziewoński [Wed, 25 Apr 2018 22:13:03 +0000 (00:13 +0200)]
RELEASE-NOTES: Move a deprecation to "Deprecations" section

Change-Id: Ibe4ce1ed4d209f3d111524074c9e6cbd5b889aa6

6 years agoMerge "Remove cssclass in the favor of 'type' => 'user'"
jenkins-bot [Wed, 25 Apr 2018 21:51:50 +0000 (21:51 +0000)]
Merge "Remove cssclass in the favor of 'type' => 'user'"

6 years agoMerge "Make setSubmitProgressive() Deprecate"
jenkins-bot [Wed, 25 Apr 2018 21:45:50 +0000 (21:45 +0000)]
Merge "Make setSubmitProgressive() Deprecate"

6 years agoMerge "Removed unused Module mediawiki.userSuggest"
jenkins-bot [Wed, 25 Apr 2018 21:43:20 +0000 (21:43 +0000)]
Merge "Removed unused Module mediawiki.userSuggest"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 25 Apr 2018 20:23:18 +0000 (22:23 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I6b22a6cadf7bfb166074c8ce29d1de9e6c9d16a3

6 years agoIntroduce ResourceLoaderLessVarFileModule
jdlrobson [Fri, 20 Apr 2018 18:42:41 +0000 (11:42 -0700)]
Introduce ResourceLoaderLessVarFileModule

This ResourceLoader module provides a way to ship
messages to CSS variables.

We will need this going forward to deal with flash of
unstyled content in various JavaScript based UIs that
are subject to i18n such as table sorting and
collapsible elements.

To avoid overhead of hitting the database to fetch and
transform localisation messages we make use of the MessageBlobStore
making use of `messages` definition already inside
ResourceLoaderFileModule. Given this resource is only intended
for render blocking styles without JavaScript this should be okay
(although if requested in JavaScript will also ship associated
messages)

Bug: T42812
Change-Id: I2bf12cdc848478889acbe9a7a970e46f8aefa287

6 years agoMerge "mail: Always quote uncoded names in MailAddress"
jenkins-bot [Wed, 25 Apr 2018 17:09:11 +0000 (17:09 +0000)]
Merge "mail: Always quote uncoded names in MailAddress"

6 years agoMerge "ApiSandbox: Resize layout to fit content, and remove fullscreen mode"
jenkins-bot [Wed, 25 Apr 2018 16:03:33 +0000 (16:03 +0000)]
Merge "ApiSandbox: Resize layout to fit content, and remove fullscreen mode"

6 years agoMerge "Fix unclear comments on various ChangeTags functions"
jenkins-bot [Wed, 25 Apr 2018 15:40:35 +0000 (15:40 +0000)]
Merge "Fix unclear comments on various ChangeTags functions"

6 years agoApiSandbox: Resize layout to fit content, and remove fullscreen mode
Ed Sanders [Tue, 24 Apr 2018 13:02:07 +0000 (14:02 +0100)]
ApiSandbox: Resize layout to fit content, and remove fullscreen mode

Avoids unpleasant nested scrollbars, and hacky fullscren mode.

Make toolbar position:sticky to keep buttons visible.

Bug: T129157
Change-Id: Ia3c3176c1bd7cac6af2c35f53d820f1272df72a5

6 years agoMerge "TraditionalImageGallery factor getCaptionHtml into own function"
jenkins-bot [Wed, 25 Apr 2018 12:04:17 +0000 (12:04 +0000)]
Merge "TraditionalImageGallery factor getCaptionHtml into own function"

6 years agoTraditionalImageGallery factor getCaptionHtml into own function
Marius Hoch [Tue, 24 Apr 2018 15:52:56 +0000 (17:52 +0200)]
TraditionalImageGallery factor getCaptionHtml into own function

Better design and also want to override this in Wikibase.

Bug: T192869
Change-Id: I24de654ba9a14b8fe0925007e6ceeabca277c075

6 years agoFix unclear comments on various ChangeTags functions
TTO [Mon, 23 Apr 2018 01:44:33 +0000 (01:44 +0000)]
Fix unclear comments on various ChangeTags functions

These functions tell you whether *a user* can perform the relevant
actions. They are not meant to be used by extensions, except when
the extension is performing these actions on behalf of a user.

Change-Id: I8437ec2d66c151f504755964e20fda808d35de3b

6 years agoMerge "PHPVersionCheck: Properly check for `xml` extension in PHP 7.2+"
jenkins-bot [Wed, 25 Apr 2018 01:01:40 +0000 (01:01 +0000)]
Merge "PHPVersionCheck: Properly check for `xml` extension in PHP 7.2+"

6 years agoPHPVersionCheck: Properly check for `xml` extension in PHP 7.2+
Kunal Mehta [Sat, 14 Apr 2018 22:31:00 +0000 (15:31 -0700)]
PHPVersionCheck: Properly check for `xml` extension in PHP 7.2+

In 7.2, the `utf8_encode` function was moved into core PHP, and is no
longer a part of the `xml` extension. Use a different function to check
for the existence of it.

Change-Id: Ib50c1a59dd9c2a8777b07b2f7a3dd638a55832c6

6 years agoGeneralize ResourceLoader 'excludepage' functionality
Brad Jorsch [Tue, 28 Feb 2017 20:52:17 +0000 (15:52 -0500)]
Generalize ResourceLoader 'excludepage' functionality

There has long been a hack for previewing edits to user JS/CSS, where
OutputPage would pass an 'excludepage' parameter to
ResourceLoaderUserModule to tell it not to load one particular page and
would instead embed that page statically. That's nice, but there are
other places where we could use the same thing.

This patch generalizes it:
* DerivativeResourceLoaderContext may now contain a callback for mapping
  titles to replacement Content objects.
* ResourceLoaderWikiModule::getContent() uses the overrides, and
  requests embedding when they're used. All subclasses in Gerrit should
  pick it up automatically.
* OutputPage gains methods for callers to add to the override mapping,
  which it passes on to RL. It loses a bunch of the special casing it
  had for the 'user' and 'user.styles' modules.
* EditPage sets the overrides on OutputPage when doing the preview, as
  does ApiParse for prop=headhtml. TemplateSandbox does too in I83fa0856.
* OutputPage::userCanPreview() gets less specific to editing user CSS
  and JS, since RL now handles the embedding based on the actual
  modules' dependencies and EditPage only requests it on preview.

ApiParse also gets a new hook to support TemplateSandbox's API
integration (used in I83fa0856).

Bug: T112474
Change-Id: Ib9d2ce42931c1de8372e231314a1f672d7e2ac0e

6 years agoMerge "Align to WikimediaUI themed widgets"
jenkins-bot [Wed, 25 Apr 2018 00:26:11 +0000 (00:26 +0000)]
Merge "Align to WikimediaUI themed widgets"

6 years agoMerge "rdbms: make IDatabase::onTransaction* methods pass the DB handle for convenience"
jenkins-bot [Wed, 25 Apr 2018 00:24:33 +0000 (00:24 +0000)]
Merge "rdbms: make IDatabase::onTransaction* methods pass the DB handle for convenience"

6 years agoMerge "Update OOUI to v0.26.5"
jenkins-bot [Wed, 25 Apr 2018 00:24:30 +0000 (00:24 +0000)]
Merge "Update OOUI to v0.26.5"

6 years agoMerge "Special:PrefixIndex: Fix form legend"
jenkins-bot [Tue, 24 Apr 2018 23:59:38 +0000 (23:59 +0000)]
Merge "Special:PrefixIndex: Fix form legend"

6 years agoUpdate OOUI to v0.26.5
Volker E [Tue, 24 Apr 2018 23:53:54 +0000 (16:53 -0700)]
Update OOUI to v0.26.5

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

Depends-on: Ieed078f4113e5ac4770c9e5d1f778a02c18ac6b7
Change-Id: Ia5e491f765935c2bf4bfeac2d02f1978f1a03b50

6 years agordbms: make IDatabase::onTransaction* methods pass the DB handle for convenience
Aaron Schulz [Tue, 17 Apr 2018 04:39:02 +0000 (21:39 -0700)]
rdbms: make IDatabase::onTransaction* methods pass the DB handle for convenience

Change-Id: Ia45a26830d62326b103593268fbf34c907783c90

6 years agomail: Always quote uncoded names in MailAddress
Alexia E. Smith [Tue, 10 Apr 2018 22:10:33 +0000 (17:10 -0500)]
mail: Always quote uncoded names in MailAddress

Otherwise, names that contain whitespace (but no special characters
that need Q-encoding) will be sent as-is in an email header. While
that's valid by RFC 1036, RFC 5322 and others, some mail programs
fail to correctly process spaces. Avoid these problems by simply
quoting the name always - except for cases which are Q-encoded,
which must remain unquoted to be valid (and also cannot contain
spaces, thus unaffected).

Before:
> From: Foo Bar <fb@example.org>

After:
> From "Foo Bar" <fb@example.org>

Update test to work with the new criteria.

Bug: T191931
Change-Id: I4b2a0a80e8b43ecc943939fc5ebaa356a4f840e0

6 years agoMerge "resourceloader: Consider having dependencies as non-empty in WikiModule::isKno...
jenkins-bot [Tue, 24 Apr 2018 21:11:48 +0000 (21:11 +0000)]
Merge "resourceloader: Consider having dependencies as non-empty in WikiModule::isKnownEmpty"

6 years agoresourceloader: Consider having dependencies as non-empty in WikiModule::isKnownEmpty
jdlrobson [Tue, 24 Apr 2018 00:11:27 +0000 (17:11 -0700)]
resourceloader: Consider having dependencies as non-empty in WikiModule::isKnownEmpty

If a module itself is empty, it must consider any dependencies
it has before bailing out as empty.

Bug: T191596
Change-Id: I2b45b948a6f78060e53513d3b4b77f48d7bf4a6b

6 years agoMerge "SiteConfiguration: Add test to confirm null as valid override"
jenkins-bot [Tue, 24 Apr 2018 19:57:11 +0000 (19:57 +0000)]
Merge "SiteConfiguration: Add test to confirm null as valid override"

6 years agoMerge "Localisation updates from https://translatewiki.net."
L10n-bot [Tue, 24 Apr 2018 19:55:30 +0000 (19:55 +0000)]
Merge "Localisation updates from https://translatewiki.net."

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 24 Apr 2018 19:55:15 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I08e57f36ecea92e65b4af4f03b22b8790b7e3f8f

6 years agoMerge "SiteConfiguration: Clean up test cases"
jenkins-bot [Tue, 24 Apr 2018 19:54:25 +0000 (19:54 +0000)]
Merge "SiteConfiguration: Clean up test cases"

6 years agoMerge "Create Expiry Widget with Date Time Selector"
jenkins-bot [Tue, 24 Apr 2018 18:22:58 +0000 (18:22 +0000)]
Merge "Create Expiry Widget with Date Time Selector"

6 years agoSiteConfiguration: Add test to confirm null as valid override
Timo Tijhof [Tue, 24 Apr 2018 17:30:24 +0000 (18:30 +0100)]
SiteConfiguration: Add test to confirm null as valid override

E.g. not being misinterpreted as unset or something like that.

Change-Id: I253f17a828ae47886d1c4f2ca5097a546c38d119

6 years agoSiteConfiguration: Clean up test cases
Timo Tijhof [Tue, 24 Apr 2018 17:28:43 +0000 (18:28 +0100)]
SiteConfiguration: Clean up test cases

Make a clear distinction between names of configuration keys,
and "magic" keys that relate to SiteConfiguration class options.

Previously words like 'tag', 'wiki', and 'params' were over-used
in the test fixture making it very hard to see what is what.

Change all the configuration keys to camelcase so that 'WithParams'
and 'params' are different strings.

Change-Id: I279e57e30fb0a858ffd1f883f0601e96354ddead

6 years agoMerge "Add "developer tools" preferences section"
jenkins-bot [Tue, 24 Apr 2018 16:05:03 +0000 (16:05 +0000)]
Merge "Add "developer tools" preferences section"

6 years agoMerge "Remove onhashchange fallback code"
jenkins-bot [Tue, 24 Apr 2018 15:55:16 +0000 (15:55 +0000)]
Merge "Remove onhashchange fallback code"

6 years agomw.special.apisandbox: Offer to fill in token when not given
Bartosz Dziewoński [Fri, 3 Mar 2017 20:32:49 +0000 (21:32 +0100)]
mw.special.apisandbox: Offer to fill in token when not given

Change-Id: I53c414f0a80ce76907d3293971a47e87aa67fb06

6 years agoRemove onhashchange fallback code
Ed Sanders [Tue, 24 Apr 2018 12:40:34 +0000 (13:40 +0100)]
Remove onhashchange fallback code

We no longer support any browsers that don't have
the hashchange event.

Change-Id: I5e6bfd1d5c634df21b6b3d06dcf007112cdf15fa

6 years agoMerge "Fix width of OOUI TextInputWidget with .mw-editfont-... classes"
jenkins-bot [Tue, 24 Apr 2018 11:38:28 +0000 (11:38 +0000)]
Merge "Fix width of OOUI TextInputWidget with .mw-editfont-... classes"

6 years agoAdd "developer tools" preferences section
Gilles Dubuc [Tue, 24 Apr 2018 08:10:57 +0000 (10:10 +0200)]
Add "developer tools" preferences section

Under editing. Will be used for the ParserMigration
and PerformanceInspector extensions

Bug: T129322
Change-Id: Id98d8d5245f207bd817854e43794800e89fe0f50

6 years agophpunit: Clear job queues in MediaWikiTestCase::setUp()
Timo Tijhof [Mon, 23 Apr 2018 23:46:11 +0000 (00:46 +0100)]
phpunit: Clear job queues in MediaWikiTestCase::setUp()

This should fix the flaky unit test 'SiteStatsTest::testJobsCountGetCached',
which fails locally as follows, when run in isolation.

> 1) SiteStatsTest::testJobsCountGetCached
> A single job enqueued bumps jobscount stat to 1
> Failed asserting that 2 matches expected 1.
>
> /var/www/mediawiki/tests/phpunit/includes/SiteStatsTest.php:22
> /var/www/mediawiki/tests/phpunit/MediaWikiTestCase.php:421
> /var/www/mediawiki/maintenance/doMaintenance.php:94

Instrumenting JobQueueMemory::doBatchPush reveals the following
jobs to have been queued.

- MediaWikiTestCase->run/->addCoreDBData/::getTestSysop/..
  ../User->addGroup/UserGroupMembership->insert/..
  > UserGroupExpiryJob (2)
- MediaWikiTestCase->run/->addCoreDBData/WikiPage->doEditContent/..
  ../WikiPage->{closure}/WikiPage->doEditUpdates/JobQueueGroup->lazyPush/..
  > CategoryMembershipChangeJob
  > HTMLCacheUpdateJob (2)

Fix this by adding clearing of job queues to doLightweightServiceReset()
in MediaWikiTestCase.

Also:
- Move the call to doLightweightServiceReset() from run() to setUp(),
  where it is easier to understand in context. It still runs at the same
  logical point because PHPUnit calls setUp() right before run().

- Remove redundant reset for WANObjectCache->clearProcessCache that
  was both in setUp() and in doLightweightServiceReset().

- Simplify SiteStatsTest by removing the hardcoded delete() calls.
  An alternative fix for the flaky unit test would've been to add
  a delete() call to categoryMembershipChange, but rather than hardcoding
  all possible jobs that TestCase or another test could make, it's easier
  to just reset/delete them all between tests.

- Simplify SiteStatsTest by using the $cache reference directly instead
  of roundtripping through MediaWikiServices. If for some reason
  setService() didn't work, the test will fail either way because it must
  match the one used by JobQueueGroup (TODO: Use injection!), and besides
  the setService() method already has its own unit test.

Change-Id: Ia4b7871221c76c65eacf31915b515705a36940d5

6 years agoMerge "Improve docs for Enotif-related settings"
jenkins-bot [Mon, 23 Apr 2018 23:13:56 +0000 (23:13 +0000)]
Merge "Improve docs for Enotif-related settings"

6 years agoMerge "rdbms: remove deprecated getLaggedSlaveMode() method alias"
jenkins-bot [Mon, 23 Apr 2018 22:56:24 +0000 (22:56 +0000)]
Merge "rdbms: remove deprecated getLaggedSlaveMode() method alias"

6 years agoImprove docs for Enotif-related settings
Timo Tijhof [Fri, 20 Apr 2018 23:14:11 +0000 (00:14 +0100)]
Improve docs for Enotif-related settings

Also fix documentation that was claiming wgEmergencyContact as
the default enotif sender, which is wrong. EmailNotification uses
$wgPasswordSender instead.

Change-Id: I5b060acac7bdfdbca9ac31e3473286225d1caa6f

6 years agoimport: Don't try duplicate detection when the sha1 is unavailable
Brad Jorsch [Mon, 23 Apr 2018 20:57:28 +0000 (16:57 -0400)]
import: Don't try duplicate detection when the sha1 is unavailable

Trying to compare a string field with 0 (cast from false) raises an
error in PostgreSQL, and we're expecting it to not detect duplicates in
that situation anyway.

Change-Id: Ibff6daee6bbec00e37532e03c9ece041ba612de0

6 years agoMerge "Drop archive.ar_text and ar_flags"
jenkins-bot [Mon, 23 Apr 2018 20:15:26 +0000 (20:15 +0000)]
Merge "Drop archive.ar_text and ar_flags"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 23 Apr 2018 20:13:00 +0000 (22:13 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Iac53ea2bc5fb098aa3dddae111e7a52532cad4f3

6 years agoMerge "Make populateRevisionLength fix rows with ar_len = 0."
jenkins-bot [Mon, 23 Apr 2018 20:06:04 +0000 (20:06 +0000)]
Merge "Make populateRevisionLength fix rows with ar_len = 0."

6 years agoMerge "rdbms: make select() warn when FOR UPDATE is used with aggregation"
jenkins-bot [Mon, 23 Apr 2018 20:01:13 +0000 (20:01 +0000)]
Merge "rdbms: make select() warn when FOR UPDATE is used with aggregation"

6 years agoMerge "Avoid locking aggregated SELECT in Category::refresh"
jenkins-bot [Mon, 23 Apr 2018 20:00:14 +0000 (20:00 +0000)]
Merge "Avoid locking aggregated SELECT in Category::refresh"

6 years agordbms: remove deprecated getLaggedSlaveMode() method alias
Aaron Schulz [Mon, 23 Apr 2018 06:05:41 +0000 (23:05 -0700)]
rdbms: remove deprecated getLaggedSlaveMode() method alias

Change-Id: Iecdd39270d27ee1a2f9e1d714ec02c710fa241ef

6 years agoMerge "Use CONN_TRX_AUTO in WikiPage speculative revision ID callback"
jenkins-bot [Mon, 23 Apr 2018 19:10:04 +0000 (19:10 +0000)]
Merge "Use CONN_TRX_AUTO in WikiPage speculative revision ID callback"

6 years agoMake populateRevisionLength fix rows with ar_len = 0.
daniel [Mon, 23 Apr 2018 09:07:24 +0000 (11:07 +0200)]
Make populateRevisionLength fix rows with ar_len = 0.

Due to T192189, some rows in the archive table may have ar_len set to 0
erronously. This can be detected by checking if they have ar_sha1 set to
"phoiac9h4m842xq45sp7s6u21eteeq1", which is the hash of the empty string.

This patch makes populateRevisionLength.php detect and fix such rows.

Bug: T192189
Change-Id: I9b6cd62f4b8c5bf93cd305b56af4352a527e19c9

6 years agoRELEASE-NOTES: Fix typo in CSSMin release note
Timo Tijhof [Mon, 23 Apr 2018 17:35:02 +0000 (18:35 +0100)]
RELEASE-NOTES: Fix typo in CSSMin release note

Follows-up c058bc4af3.

Bug: T189375
Change-Id: I21200dba6649d775d519249ae09cc21660dc864b

6 years agoUse CONN_TRX_AUTO in WikiPage speculative revision ID callback
Aaron Schulz [Sat, 24 Mar 2018 13:49:14 +0000 (06:49 -0700)]
Use CONN_TRX_AUTO in WikiPage speculative revision ID callback

This increases the odds of seeing newer data and not guessing a
wrong revision ID due to getting raced out between stash and save.

Change-Id: Icf0f9b9c4d559f4ddf05a4ca8679e3c4dca5620a

6 years agoMerge "wikibits: Remove redundant stubs for document.write"
jenkins-bot [Mon, 23 Apr 2018 17:20:05 +0000 (17:20 +0000)]
Merge "wikibits: Remove redundant stubs for document.write"

6 years agoMerge "selenium: Abstract test command behind 'npm run'"
jenkins-bot [Mon, 23 Apr 2018 16:53:11 +0000 (16:53 +0000)]
Merge "selenium: Abstract test command behind 'npm run'"

6 years agoMerge "build: Switch QUnit package from deprecated 'qunitjs' to 'qunit'"
jenkins-bot [Mon, 23 Apr 2018 16:53:00 +0000 (16:53 +0000)]
Merge "build: Switch QUnit package from deprecated 'qunitjs' to 'qunit'"

6 years agoMerge "Add release notes for CSSMin bug fix"
jenkins-bot [Mon, 23 Apr 2018 16:47:32 +0000 (16:47 +0000)]
Merge "Add release notes for CSSMin bug fix"

6 years agoMerge "userrights: Add array typehints to SpecialUserrights methods"
jenkins-bot [Mon, 23 Apr 2018 16:18:30 +0000 (16:18 +0000)]
Merge "userrights: Add array typehints to SpecialUserrights methods"

6 years agoAdd release notes for CSSMin bug fix
Timo Tijhof [Mon, 23 Apr 2018 16:18:03 +0000 (17:18 +0100)]
Add release notes for CSSMin bug fix

Follows-up 5333d63cb.

Change-Id: Ib504500308630daa1051c21da8721b3058d8d793

6 years agordbms: make sure cpPosIndex cookie is applied to LBFactory in time
Aaron Schulz [Fri, 20 Apr 2018 20:45:49 +0000 (13:45 -0700)]
rdbms: make sure cpPosIndex cookie is applied to LBFactory in time

Once getMain() was called in setSchemaAliases(), the ChronologyProtector
was initialized and the setRequestInfo() call in Setup.php had no effect.
Only the request values read in LBFactory::__construct() were used, which
reflect $_GET but not cookie values.

Use the $wgDBtype variable to avoid this and add an exception when that
sort of thing happens.

Further defer instantiation of ChronologyProtector so that methods like
ILBFactory::getMainLB() do not trigger construction.

Bug: T192611
Change-Id: I735d3ade5cd12a5d609f4dae19ac88fec4b18b51

6 years agobuild: Switch QUnit package from deprecated 'qunitjs' to 'qunit'
Timo Tijhof [Mon, 23 Apr 2018 15:32:50 +0000 (16:32 +0100)]
build: Switch QUnit package from deprecated 'qunitjs' to 'qunit'

This should fix the deprecation warning from npm in CI logs.

Change-Id: I5d02dd8d6a86123d7935db51b8d0b5d88218869f

6 years agoselenium: Abstract test command behind 'npm run'
Timo Tijhof [Mon, 23 Apr 2018 14:56:54 +0000 (15:56 +0100)]
selenium: Abstract test command behind 'npm run'

This makes it possible to use in Quibble. Right now, Quibble
cannot use 'npm run selenium' yet because it sets up its own
chromedriver, which would conflict with selenium.sh.

But, in preparation for Id95f18927b5, we can at least abstract
the test command so that it can easily be changed without having
to update Quibble and without having to worry about it being the
same in all MediaWiki branches.

Bug: T179190
Change-Id: I622ec3bf36746502cae891cc6bec23982b21f876

6 years agoMerge "jquery.tablesorter: References ignored in sortkey."
jenkins-bot [Mon, 23 Apr 2018 14:05:11 +0000 (14:05 +0000)]
Merge "jquery.tablesorter: References ignored in sortkey."

6 years agojquery.tablesorter: References ignored in sortkey.
madd [Sun, 22 Apr 2018 13:52:03 +0000 (15:52 +0200)]
jquery.tablesorter: References ignored in sortkey.

Text in elements with class='reference' excluded for sorting.

Bug: T29745
Change-Id: If3969c00cbb7a74362fe85f4cad361da488526d5

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 22 Apr 2018 19:52:41 +0000 (21:52 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ic59e840c7e00449454f0d402f57e26003e169417

6 years agoFix typo: bytePointLimit -> byteLimit
Ed Sanders [Sun, 22 Apr 2018 11:48:59 +0000 (12:48 +0100)]
Fix typo: bytePointLimit -> byteLimit

Change-Id: Ifafc4bdd6663e1ccfa6be938e5fc72fd1442a9a5

6 years agoRemoved unused Module mediawiki.userSuggest
Jayprakash12345 [Sun, 22 Apr 2018 03:46:31 +0000 (03:46 +0000)]
Removed unused Module mediawiki.userSuggest

Bug: T192694
Change-Id: If40dc121f3417a4ea3ead441a99f7c9b63c4e1f9

6 years agoSpecial:PrefixIndex: Fix form legend
Volker E [Sun, 22 Apr 2018 02:13:22 +0000 (19:13 -0700)]
Special:PrefixIndex: Fix form legend

`allpages` is insufficient description, making use of
`prefixindex` equivalent to page title.

Change-Id: I75117d3d881df05d9f85835caf0fdf3cd7adcf01

6 years agoRemove cssclass in the favor of 'type' => 'user'
Jayprakash12345 [Sat, 21 Apr 2018 23:47:07 +0000 (05:17 +0530)]
Remove cssclass in the favor of 'type' => 'user'

* Special:ListFiles uses ImageListPager class as Object.
  Changes ImageListPager will happen there

Bug: T192694
Change-Id: I671c0659bd3f28f4369e2c86b06bb434dbd8430b

6 years agoRemove cssclass in the favor of 'type' => 'user'
Jayprakash12345 [Sat, 21 Apr 2018 23:20:10 +0000 (04:50 +0530)]
Remove cssclass in the favor of 'type' => 'user'

Bug: T192694
Change-Id: If385c16c9099475d50dcb775484f710450360ed2

6 years agoMerge "Remove cssclass in the favor of 'type' => 'user'"
jenkins-bot [Sat, 21 Apr 2018 20:54:25 +0000 (20:54 +0000)]
Merge "Remove cssclass in the favor of 'type' => 'user'"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 21 Apr 2018 19:54:38 +0000 (21:54 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: If368d4b40a1bde11c66da9bf24be7ad60452e665

6 years agoMerge "Add Gorontalo language file"
jenkins-bot [Sat, 21 Apr 2018 19:35:41 +0000 (19:35 +0000)]
Merge "Add Gorontalo language file"

6 years agoAdd Gorontalo language file
Martin Urbanec [Fri, 16 Mar 2018 21:11:13 +0000 (21:11 +0000)]
Add Gorontalo language file

Bug: T189127
Change-Id: Ib15fcc1b1b63674afdc0642e7139e11972898c95

6 years agoFix width of OOUI TextInputWidget with .mw-editfont-... classes
Ed Sanders [Thu, 1 Feb 2018 12:25:00 +0000 (13:25 +0100)]
Fix width of OOUI TextInputWidget with .mw-editfont-... classes

Bug: T192373
Change-Id: I6a6757874a3502b42cff0a3edb55115a305ad609

6 years agoMerge "MessagesEs.php: add non-camelcase names to some special page names"
jenkins-bot [Sat, 21 Apr 2018 12:52:15 +0000 (12:52 +0000)]
Merge "MessagesEs.php: add non-camelcase names to some special page names"

6 years agowikibits: Remove redundant stubs for document.write
Timo Tijhof [Sat, 21 Apr 2018 01:54:33 +0000 (02:54 +0100)]
wikibits: Remove redundant stubs for document.write

The browser already warns for these, and our stubs were actually
making it somewhat worse by appending to a weird place in the page
instead of what the browser does (which is to either allow it
properly, or ignore).

Bug: T192623
Change-Id: I1924b252a8b986c4f1ad65f96149b8c06c1fad9b

6 years agoMerge "HTMLForm: Remove usage of HTMLForm::setSubmitProgressive"
jenkins-bot [Sat, 21 Apr 2018 01:42:29 +0000 (01:42 +0000)]
Merge "HTMLForm: Remove usage of HTMLForm::setSubmitProgressive"

6 years agoHTMLForm: Remove usage of HTMLForm::setSubmitProgressive
Jayprakash12345 [Fri, 6 Apr 2018 00:33:26 +0000 (06:03 +0530)]
HTMLForm: Remove usage of HTMLForm::setSubmitProgressive

`[ 'primary', 'progressive' ]` is already set in `$mSubmitFlags`.

Bug: T191586
Change-Id: Id20a3bc81a47c6c2979a4d2881cecc760956394f

6 years agoMerge "Hard-deprecate wfUsePHP()"
jenkins-bot [Sat, 21 Apr 2018 00:25:46 +0000 (00:25 +0000)]
Merge "Hard-deprecate wfUsePHP()"

6 years agoRemove cssclass in the favor of 'type' => 'user'
Jayprakash12345 [Fri, 20 Apr 2018 23:41:54 +0000 (05:11 +0530)]
Remove cssclass in the favor of 'type' => 'user'

Bug: T192694
Change-Id: I3be9fbcd990346df7c918d5ddf71f9e0a73a52df

6 years agoMerge "Hard-deprecate wfCountDown()"
jenkins-bot [Fri, 20 Apr 2018 23:41:06 +0000 (23:41 +0000)]
Merge "Hard-deprecate wfCountDown()"

6 years agoMake setSubmitProgressive() Deprecate
Jayprakash12345 [Fri, 6 Apr 2018 01:11:32 +0000 (06:41 +0530)]
Make setSubmitProgressive() Deprecate

Bug: T191586
Change-Id: Ie310ea9c3ca7c9e4b8755ba500e2ccafd0b64463

6 years agoMerge "resourceloader: Improve titleInfo docs and simplify title key"
jenkins-bot [Fri, 20 Apr 2018 22:43:19 +0000 (22:43 +0000)]
Merge "resourceloader: Improve titleInfo docs and simplify title key"

6 years agoMessagesEs.php: add non-camelcase names to some special page names
MarcoAurelio [Fri, 20 Apr 2018 07:56:42 +0000 (07:56 +0000)]
MessagesEs.php: add non-camelcase names to some special page names

Change-Id: Ia36b48ff40a390434864f327dcb4bfa49cd44cd8

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 20 Apr 2018 19:58:16 +0000 (21:58 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I1b5f321f6908a18a961762bbbd7d6e515ad4067e

6 years agoMerge "OutputPage: Factor out CdnCacheEpoch logic and cover with tests"
jenkins-bot [Fri, 20 Apr 2018 19:44:00 +0000 (19:44 +0000)]
Merge "OutputPage: Factor out CdnCacheEpoch logic and cover with tests"

6 years agoMerge "CSSMin: Fix breaking of quoted urls with outer spacing"
jenkins-bot [Fri, 20 Apr 2018 19:24:15 +0000 (19:24 +0000)]
Merge "CSSMin: Fix breaking of quoted urls with outer spacing"

6 years agoMerge "ParserTestRunner: Fix some documentation types"
jenkins-bot [Fri, 20 Apr 2018 19:10:37 +0000 (19:10 +0000)]
Merge "ParserTestRunner: Fix some documentation types"

6 years agoParserTestRunner: Fix some documentation types
Kunal Mehta [Sun, 15 Apr 2018 08:07:06 +0000 (01:07 -0700)]
ParserTestRunner: Fix some documentation types

Change-Id: I7d0375815dc6ac91cc3f39ea7910cdf1dff49666

6 years agouserrights: Add array typehints to SpecialUserrights methods
Timo Tijhof [Thu, 19 Apr 2018 17:57:18 +0000 (18:57 +0100)]
userrights: Add array typehints to SpecialUserrights methods

Follows-up e3ce482e1b4da37.

* Add them to parameters of doSaveUserGroups(), which were the
  entrypoint to the error fixed by e3ce482e1b4da37.

* Add them to parameters of addLogEntry(), which is where the
  actual count() error happened.

Bug: T182377
Change-Id: I647a1ebf6dc0e80952efe2a3c1192fd8ac5dc1b7

6 years agoMerge "Special:ProtectedTitles: Use HTMLForm"
jenkins-bot [Fri, 20 Apr 2018 17:34:52 +0000 (17:34 +0000)]
Merge "Special:ProtectedTitles: Use HTMLForm"

6 years agoRemove EDIT_TOKEN_SUFFIX constant
Florian Schmidt [Fri, 30 Mar 2018 21:25:18 +0000 (23:25 +0200)]
Remove EDIT_TOKEN_SUFFIX constant

It isn't used anymore anywhere, according to a code search on github.

Depends-On: I56291c6a5b6c2bb359c6633748a68f4964d71923
Change-Id: I4b3f7b7bdf9bd0dbc8225bbcfb2da23016ae6bb3