lhc/web/wiklou.git
4 years agoSplit down patch-comment-table.sql
Reedy [Thu, 15 Aug 2019 13:36:53 +0000 (14:36 +0100)]
Split down patch-comment-table.sql

Bug: T227662
Change-Id: I7617616df57f7468d06e9b52426b6851bfef0e7d

4 years agoMerge "Clear block cookie if the value is invalid"
jenkins-bot [Tue, 20 Aug 2019 19:21:15 +0000 (19:21 +0000)]
Merge "Clear block cookie if the value is invalid"

4 years agoMerge "Add instrumentation to Special:Mute"
jenkins-bot [Tue, 20 Aug 2019 17:34:29 +0000 (17:34 +0000)]
Merge "Add instrumentation to Special:Mute"

4 years agoMerge "Put block cookie expiry into UTC for comparison with current time"
jenkins-bot [Tue, 20 Aug 2019 17:25:21 +0000 (17:25 +0000)]
Merge "Put block cookie expiry into UTC for comparison with current time"

4 years agoMerge "rdbms: simplify LoadBalancer::getLaggedReplicaMode()"
jenkins-bot [Tue, 20 Aug 2019 17:19:00 +0000 (17:19 +0000)]
Merge "rdbms: simplify LoadBalancer::getLaggedReplicaMode()"

4 years agoMerge "Tests: Set dbname for DatabaseSqliteTest"
jenkins-bot [Tue, 20 Aug 2019 16:51:53 +0000 (16:51 +0000)]
Merge "Tests: Set dbname for DatabaseSqliteTest"

4 years agoMerge "ApiSandbox: Load mediawiki.hlist RL module"
jenkins-bot [Tue, 20 Aug 2019 16:08:11 +0000 (16:08 +0000)]
Merge "ApiSandbox: Load mediawiki.hlist RL module"

4 years agoMerge "objectcache: fix WRITE_ALLOW_SEGMENTS in BagOStuff cas() and add() methods"
jenkins-bot [Tue, 20 Aug 2019 15:50:58 +0000 (15:50 +0000)]
Merge "objectcache: fix WRITE_ALLOW_SEGMENTS in BagOStuff cas() and add() methods"

4 years agoPut block cookie expiry into UTC for comparison with current time
Thalia [Tue, 20 Aug 2019 14:32:47 +0000 (15:32 +0100)]
Put block cookie expiry into UTC for comparison with current time

Change-Id: Ia01a364a01ebacec8783ecdcfe4a129cfb746eb8

4 years agoMerge "TitleOptionWidget: Documentation type fix"
jenkins-bot [Tue, 20 Aug 2019 15:20:13 +0000 (15:20 +0000)]
Merge "TitleOptionWidget: Documentation type fix"

4 years agoMerge "RCFilters: add namespace filters for all contents and all discussions"
jenkins-bot [Tue, 20 Aug 2019 15:20:02 +0000 (15:20 +0000)]
Merge "RCFilters: add namespace filters for all contents and all discussions"

4 years agoMerge "hooks.txt: Convert docs to modern extension registration style"
jenkins-bot [Tue, 20 Aug 2019 15:13:41 +0000 (15:13 +0000)]
Merge "hooks.txt: Convert docs to modern extension registration style"

4 years agoobjectcache: fix WRITE_ALLOW_SEGMENTS in BagOStuff cas() and add() methods
Aaron Schulz [Thu, 15 Aug 2019 01:31:48 +0000 (21:31 -0400)]
objectcache: fix WRITE_ALLOW_SEGMENTS in BagOStuff cas() and add() methods

Add MediumSpecificBagOStuff::getValueOrSegmentList() helper method.

Also:
* Use $keysMissing variable correctly in CachedBagOStuff::getMulti()
  to avoid extra overhead.
* Optimize mergeViaCas() when the current value matches the new one.

Change-Id: I5c4bd74379bc459216ac0278150ce3aecff3b851

4 years agoTitleOptionWidget: Documentation type fix
Ed Sanders [Tue, 20 Aug 2019 14:13:30 +0000 (16:13 +0200)]
TitleOptionWidget: Documentation type fix

Change-Id: I6ea4a1749a373c64e12d5c0ee1e5d55953523205

4 years agoApiSandbox: Load mediawiki.hlist RL module
Brad Jorsch [Tue, 20 Aug 2019 13:52:54 +0000 (09:52 -0400)]
ApiSandbox: Load mediawiki.hlist RL module

The default l10n for the main module's description uses the hlist class,
so load it.

It might make more sense to have it as a module dependency of an
appropriate RL module like mediawiki.apipretty instead of requiring
every caller to load it manually, but it seems that's not really done
because RL is weird about handling CSS-only modules as dependencies.

Bug: T230782
Change-Id: I6493d7d789f3cebee737645528cddfb1d3acb1d7

4 years agohooks.txt: Convert docs to modern extension registration style
DannyS712 [Mon, 19 Aug 2019 07:01:43 +0000 (07:01 +0000)]
hooks.txt: Convert docs to modern extension registration style

This changes the examples in hooks.txt from using the old format of
manually entering additions into `wgHooks` to instead use the new
`"Hooks“: {}` object format.

Bug: T230397
Change-Id: I48a9986e4243eb933088d36b4bb095b345ab62fd

4 years agoMerge "objectcache: make newFromId()/newWANcacheFromId()/getDefaultKeyspace() private"
jenkins-bot [Tue, 20 Aug 2019 13:40:26 +0000 (13:40 +0000)]
Merge "objectcache: make newFromId()/newWANcacheFromId()/getDefaultKeyspace() private"

4 years agoobjectcache: make newFromId()/newWANcacheFromId()/getDefaultKeyspace() private
Aaron Schulz [Tue, 13 Aug 2019 00:46:14 +0000 (17:46 -0700)]
objectcache: make newFromId()/newWANcacheFromId()/getDefaultKeyspace() private

Change-Id: I30b99f23dbd9637ca8178d3a3650b4c38ec43e7d

4 years agoMerge "Prime connections and update description of McTest script"
jenkins-bot [Tue, 20 Aug 2019 12:59:23 +0000 (12:59 +0000)]
Merge "Prime connections and update description of McTest script"

4 years agoMerge "Tests for TempFSFile"
jenkins-bot [Tue, 20 Aug 2019 12:32:19 +0000 (12:32 +0000)]
Merge "Tests for TempFSFile"

4 years agoMerge "docs: Fix typos for 'parameter' and 'perform'"
jenkins-bot [Tue, 20 Aug 2019 10:05:15 +0000 (10:05 +0000)]
Merge "docs: Fix typos for 'parameter' and 'perform'"

4 years agoMerge "logging: Fix typo for `getPerformer()` interface method declaration"
jenkins-bot [Tue, 20 Aug 2019 10:02:24 +0000 (10:02 +0000)]
Merge "logging: Fix typo for `getPerformer()` interface method declaration"

4 years agodocs: Fix typos for 'parameter' and 'perform'
DannyS712 [Tue, 20 Aug 2019 00:47:01 +0000 (00:47 +0000)]
docs: Fix typos for 'parameter' and 'perform'

Bug: T201491
Change-Id: I37ed48907bf7c1a1d4ebab7b10b41a77623eba8a

4 years agoTests: Set dbname for DatabaseSqliteTest
Kosta Harlan [Tue, 20 Aug 2019 09:28:29 +0000 (11:28 +0200)]
Tests: Set dbname for DatabaseSqliteTest

Bug: T230780
Change-Id: I93d3771233c74443f76b0a402a4820e1e1e30ee7

4 years agoTests for TempFSFile
Aryeh Gregor [Tue, 20 Aug 2019 08:22:31 +0000 (11:22 +0300)]
Tests for TempFSFile

These are in preparation for making a TempFSFileFactory service, thus
the odd break-up into two files. I split it into a separate commit so
that we could verify that the same tests pass before and after the
conversion to service.

Tests cover everything except getUsableTempDirectory() (which I don't
see how to test), and register_shutdown_function()-related stuff (which
seems actually impossible to test without starting a new PHP process).

Change-Id: If61b7ea3e332adc2bceefc8e6879a9e9443c99dd

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 20 Aug 2019 07:37:55 +0000 (09:37 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I5d21bfc6534244188a6d639590681edeba3e9e7d

4 years agoMerge "Test that classes use all their ServiceOptions"
jenkins-bot [Mon, 19 Aug 2019 19:23:08 +0000 (19:23 +0000)]
Merge "Test that classes use all their ServiceOptions"

4 years agoClear block cookie if the value is invalid
Dayllan Maza [Mon, 19 Aug 2019 18:59:25 +0000 (14:59 -0400)]
Clear block cookie if the value is invalid

When a block cookie is present and the block is invalid or doesn't exists
or the cookie value is invalid or malformed, the cookie is removed.

Bug: T227678
Change-Id: Icaff594686c16a0eb8551b2a4392a14a969b43b0

4 years agoTest that classes use all their ServiceOptions
Aryeh Gregor [Wed, 14 Aug 2019 12:58:53 +0000 (15:58 +0300)]
Test that classes use all their ServiceOptions

Classes that use ServiceOptions need to declare a list of keys that they
use, typically in self::$constructorOptions. If keys are missing from
that list that are supposed to be present, an exception will be thrown
when someone tries to access them. If keys are present on the list that
are never used, no error is flagged. This means if a dependency on a
given configuration option is removed and nobody updates the list, the
service will keep thinking it depends on that option when it doesn't.
This is messy at best, like an unused variable.

A new and easy-to-use TestAllServiceOptionsUsed trait fixes that
problem. It will log all the ServiceOptions accesses while the test
class runs and raise an error if there are any keys that were never
accessed.

In retrospect, it was probably not worth the time to write this, but
it's a sunk cost now.

Change-Id: Idcaf9a0e2f687069869e6f8057908ffee7dd5f11

4 years agoReturn better errors from MovePage::isValidMove()
Aryeh Gregor [Mon, 6 May 2019 11:14:24 +0000 (14:14 +0300)]
Return better errors from MovePage::isValidMove()

Previously the errors returned were incorrect or redundant in a number
of cases.

Change-Id: Ief96e69b0ae09afb9642f9ed93b2419a36351292

4 years agoAdd a bunch of MovePage tests
Aryeh Gregor [Mon, 6 May 2019 09:47:46 +0000 (12:47 +0300)]
Add a bunch of MovePage tests

The expected values in many cases are silly, because our code is
currently silly and could use some refactoring. These are marked with
@todo. In one case the return value is even wrong (moving to an invalid
non-empty name is considered valid).

Change-Id: I9649a4de12bbcd6263c85de37d7b9365d9c0aeb4

4 years agoUse RepoGroup service in MovePage
Aryeh Gregor [Sun, 5 May 2019 13:45:19 +0000 (16:45 +0300)]
Use RepoGroup service in MovePage

Change-Id: I2b59de374d49652b61f074a9da5483c0d991e7a6

4 years agoIntroduce MovePageFactory
Aryeh Gregor [Wed, 1 May 2019 11:39:45 +0000 (14:39 +0300)]
Introduce MovePageFactory

This will help make MovePage more testable.

In the course of abstracting the logic out of ParserFactoryTest to
FactoryArgTestTrait so it could be used in MovePageFactoryTest, I made
them all unit tests instead of integration. This required some
modification to the Parser constructor so that it didn't access
MediaWikiServices unnecessarily.

Change-Id: Idaa1633f32dfedfa37516bb9180cfcfbe7ca31aa

4 years agologging: Fix typo for `getPerformer()` interface method declaration
Derick Alangi [Mon, 19 Aug 2019 16:22:24 +0000 (17:22 +0100)]
logging: Fix typo for `getPerformer()` interface method declaration

Not sure but the previous wording didn't make much sense or is it
correct that way?

Change-Id: Ia5bea91fb426bb2fe742e656e5a826b8c07d88ee

4 years agoMerge "Use injected services instead of static method"
jenkins-bot [Mon, 19 Aug 2019 16:04:04 +0000 (16:04 +0000)]
Merge "Use injected services instead of static method"

4 years agoMerge "Convert MessageCache to service"
jenkins-bot [Mon, 19 Aug 2019 16:03:56 +0000 (16:03 +0000)]
Merge "Convert MessageCache to service"

4 years agoMerge "Add recursion check to createService()"
jenkins-bot [Mon, 19 Aug 2019 15:36:40 +0000 (15:36 +0000)]
Merge "Add recursion check to createService()"

4 years agoAdd instrumentation to Special:Mute
Dayllan Maza [Mon, 5 Aug 2019 21:30:45 +0000 (17:30 -0400)]
Add instrumentation to Special:Mute

We are already tracking pageviews and with following change we should be able
to answer the following questions:
* Of the users who land on this page, what percentage of users actually
  mute or unmute someone
* Of the users who mute a user, which option(s) did they check/uncheck in order
  to mute/unmute the user

EventLogging Schema: https://meta.wikimedia.org/wiki/Schema:SpecialMuteSubmit

Bug: T224958
Change-Id: I655dbd999fd5d3d8f792c4f53b7cc502fe05afd5

4 years agoMerge "Revert "Clean up ApiEditPage content handler undo logic""
jenkins-bot [Mon, 19 Aug 2019 15:11:20 +0000 (15:11 +0000)]
Merge "Revert "Clean up ApiEditPage content handler undo logic""

4 years agoRevert "Clean up ApiEditPage content handler undo logic"
Anomie [Mon, 19 Aug 2019 14:49:30 +0000 (14:49 +0000)]
Revert "Clean up ApiEditPage content handler undo logic"

This reverts commit 01564dcbf76cd279c88320f96f0844cfadf4f7c9.

Reason for revert: I find the empty case far clearer as to intention than this change, and I doubt this is such a hot path that optimization should take precedence over clarity. If we really want to get rid of the empty case, I'd have structured it somewhat clearly as

 if (
     // always allow undo via api, T230702
     !( $params['undo'] > 0 ) &&
     // [something else here to explain this clause]
     $contentHandler->supportsDirectApiEditing() === false
 ) {

But even that is IMO less clear. At the very least this seems to deserve more discussion.

Bug: T230702
Change-Id: Icc16250faad31abf7308c4af9be2e7658540346c

4 years agoMerge "Remove 'redundant' attribute from BaseTemplate::makeListItem() links in case...
jenkins-bot [Mon, 19 Aug 2019 14:10:51 +0000 (14:10 +0000)]
Merge "Remove 'redundant' attribute from BaseTemplate::makeListItem() links in case this is not done in SkinTemplate::buildContentActionUrls()"

4 years agoMerge "Add suppressredirect right to the createeditmovepage grant"
jenkins-bot [Mon, 19 Aug 2019 12:14:04 +0000 (12:14 +0000)]
Merge "Add suppressredirect right to the createeditmovepage grant"

4 years agoMerge "MySQL connect: Parse the Unix domain socket path correctly"
jenkins-bot [Mon, 19 Aug 2019 10:47:45 +0000 (10:47 +0000)]
Merge "MySQL connect: Parse the Unix domain socket path correctly"

4 years agoMerge "Clean up ApiEditPage content handler undo logic"
jenkins-bot [Mon, 19 Aug 2019 10:29:13 +0000 (10:29 +0000)]
Merge "Clean up ApiEditPage content handler undo logic"

4 years agoClean up ApiEditPage content handler undo logic
DannyS712 [Mon, 19 Aug 2019 02:13:32 +0000 (02:13 +0000)]
Clean up ApiEditPage content handler undo logic

Bug: T230702
Change-Id: I79d528866c54f40c5adcffde8410b9e2d5336ea7

4 years agoMerge "Select "move subpages" by default when moving a page"
jenkins-bot [Mon, 19 Aug 2019 07:51:46 +0000 (07:51 +0000)]
Merge "Select "move subpages" by default when moving a page"

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 19 Aug 2019 06:51:49 +0000 (08:51 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I298e4b5253f73c1e2d3a385a4ea5eb1369e432aa

4 years agoMerge "Fix doc for MediaWikiIntegrationTestCase::getTestSysop"
jenkins-bot [Sun, 18 Aug 2019 12:14:25 +0000 (12:14 +0000)]
Merge "Fix doc for MediaWikiIntegrationTestCase::getTestSysop"

4 years agoFix doc for MediaWikiIntegrationTestCase::getTestSysop
DannyS712 [Sun, 18 Aug 2019 03:42:02 +0000 (03:42 +0000)]
Fix doc for MediaWikiIntegrationTestCase::getTestSysop

Bug: T230670
Change-Id: Icd57ef2f6268d362a0912931911c46f93165d4ff

4 years agoConvert MessageCache to service
Aryeh Gregor [Mon, 8 Apr 2019 15:21:49 +0000 (18:21 +0300)]
Convert MessageCache to service

Depends-On: Ia70e6c75f6e8a533f20cd44ebb05e013678e9951
Depends-On: I546eda0377f3a50843144b1450d3fbe8e4e02a8a
Change-Id: I305539a8598535a73e5cd280b2becdafa740ef97

4 years agoAdd recursion check to createService()
Aryeh Gregor [Wed, 14 Aug 2019 11:46:47 +0000 (14:46 +0300)]
Add recursion check to createService()

This will throw when trying to create a service while already in the
process of creating that same service, i.e., if there's a circular
service dependency. This would have saved me a whole bunch of debugging
time. :)

Change-Id: Id148d4f221f35f4069f3e0ab0069d13ca271df3d

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 18 Aug 2019 06:51:34 +0000 (08:51 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Iee50e7133afa7491e1a29e5d4600bf99cc259dbd

4 years agoMerge "skins: Hard-deprecate QuickTemplate::msgWiki()"
jenkins-bot [Sun, 18 Aug 2019 03:23:34 +0000 (03:23 +0000)]
Merge "skins: Hard-deprecate QuickTemplate::msgWiki()"

4 years agoPrime connections and update description of McTest script
Aaron Schulz [Sat, 17 Aug 2019 18:54:04 +0000 (14:54 -0400)]
Prime connections and update description of McTest script

Change-Id: I4a53b5e4c02a9e2d1163ab9458dd309f651345bc

4 years agoMerge "Fix typos in code"
jenkins-bot [Sat, 17 Aug 2019 12:11:44 +0000 (12:11 +0000)]
Merge "Fix typos in code"

4 years agoskins: Hard-deprecate QuickTemplate::msgWiki()
Piotr Miazga [Fri, 16 Aug 2019 15:52:52 +0000 (17:52 +0200)]
skins: Hard-deprecate QuickTemplate::msgWiki()

Add wfDeprecated() call as MediaWiki 1.33 has been released.

Change-Id: Ied80b7b23bad21af113d4d6f6e19c22064e3125c

4 years agoMerge "Remove title protection correctly for undeletions and imports"
jenkins-bot [Sat, 17 Aug 2019 09:27:34 +0000 (09:27 +0000)]
Merge "Remove title protection correctly for undeletions and imports"

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 17 Aug 2019 06:53:10 +0000 (08:53 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I487111cd57cb185b6a9c3222e4527fca72214de3

4 years agoMerge "Handle changed defaults in Argon2PasswordTest::testPartialConfig()"
jenkins-bot [Sat, 17 Aug 2019 02:07:08 +0000 (02:07 +0000)]
Merge "Handle changed defaults in Argon2PasswordTest::testPartialConfig()"

4 years agoMerge "Fix IDatabase::affectedRows() documentation"
jenkins-bot [Sat, 17 Aug 2019 01:41:08 +0000 (01:41 +0000)]
Merge "Fix IDatabase::affectedRows() documentation"

4 years agoHandle changed defaults in Argon2PasswordTest::testPartialConfig()
Brad Jorsch [Fri, 16 Aug 2019 18:44:29 +0000 (14:44 -0400)]
Handle changed defaults in Argon2PasswordTest::testPartialConfig()

PHP 7.2.21 and 7.3.8 changed the default settings for PASSWORD_ARGON2I.
Load the default settings at runtime so the test can work.

Bug: T230487
Change-Id: I55a0f1af160c822113c9f86f8f8cce558da61736

4 years agoRecentChangesUpdateJob: Fix GROUP BY
Brad Jorsch [Fri, 16 Aug 2019 18:02:56 +0000 (14:02 -0400)]
RecentChangesUpdateJob: Fix GROUP BY

When a column specified in GROUP BY is both a table column and a
SELECT-field, MySQL and PostgreSQL both interpret it as the table column
rather than the SELECT-field.

In PostgreSQL this raises an error, which is good since it lets us know
it needs fixing. But MySQL goes ahead and groups by the table field
which gives us the wrong result.

Bug: T230618
Change-Id: Id500556b2795b86849329eece3b651b08e29a7f7

4 years agoActiveUsersPager: Fix outer GROUP BY
Brad Jorsch [Fri, 16 Aug 2019 17:57:51 +0000 (13:57 -0400)]
ActiveUsersPager: Fix outer GROUP BY

MySQL doesn't care, but PG actually enforces rules about GROUP BY
columns.

Bug: T230618
Change-Id: If769db525bf53c906ad3e0e1d1a6e92194f622a8

4 years agoMerge "Remove unused variables from setupTemplate"
jenkins-bot [Fri, 16 Aug 2019 17:39:53 +0000 (17:39 +0000)]
Merge "Remove unused variables from setupTemplate"

4 years agoCheck all slots in DerivedPadeDataUpdater::isCountable.
Petr Pchelko [Tue, 13 Aug 2019 21:52:39 +0000 (14:52 -0700)]
Check all slots in DerivedPadeDataUpdater::isCountable.

For example when the page is moved, the slots are not actually
modified, so countability of the page after the update should
not be based only on modified slots, but instead on all the page
slots.

Bug: T212706
Change-Id: Ie352ec9307b89b04af09ed85b542ca2907856bbf

4 years agoRemove 'redundant' attribute from BaseTemplate::makeListItem() links
Isarra [Fri, 16 Aug 2019 16:46:32 +0000 (16:46 +0000)]
Remove 'redundant' attribute from BaseTemplate::makeListItem() links
in case this is not done in SkinTemplate::buildContentActionUrls()

Not all skins are going to use buildContentActionUrls() in the first
place, as they may not be laying out the usual action tabs as, well,
the usual action tabs. Given that this is being added in core, it
should likewise be cleaned up in core.

Bug: T214202
Change-Id: I630410aea2852f7a72fea67bbf256b3561ea0f3f

4 years agoRemove unused variables from setupTemplate
Piotr Miazga [Fri, 16 Aug 2019 16:40:14 +0000 (18:40 +0200)]
Remove unused variables from setupTemplate

Both $repository and $cache_dir are never used, no other skin/
extension makes use of that, variables are defined just because of
PHP Strict standards.

IMHO there is no need to define those, all Skins that extend
Skin class define optional params so PHP will not complain.

Change-Id: I059415a795e5836b9399890ecfd4fb5ee1888ac3

4 years agoRemove title protection correctly for undeletions and imports
GeoffreyT2000 [Thu, 9 May 2019 00:56:15 +0000 (17:56 -0700)]
Remove title protection correctly for undeletions and imports

Undeletions and imports can both produce "new" pages with more than
1 revision. The fact that $options['created'] for the associated
DerivedPageDataUpdater instance is unexpectedly changed to false is due
to the fact that the latest revision often has a nonzero rev_parent_id.
This causes WikiPage::onArticleCreate not to be applied correctly, and
so title protection is not correctly removed. The part about "created"
being forced is therefore being fixed.

Bug: T200088
Change-Id: I8c899893486976285eb6fac87d641e93a616676d

4 years agoMerge "Introduce TitleParser::makeTitleValueSafe()"
jenkins-bot [Fri, 16 Aug 2019 12:32:03 +0000 (12:32 +0000)]
Merge "Introduce TitleParser::makeTitleValueSafe()"

4 years agoFix IDatabase::affectedRows() documentation
Gergő Tisza [Fri, 16 Aug 2019 12:06:10 +0000 (14:06 +0200)]
Fix IDatabase::affectedRows() documentation

Bug: T229456
Change-Id: I992e81e5dbcd9db74644b2990044cf685567db5a

4 years agoMerge "Comma list handled via CSS in change list pages"
jenkins-bot [Fri, 16 Aug 2019 11:54:05 +0000 (11:54 +0000)]
Merge "Comma list handled via CSS in change list pages"

4 years agoMerge "rdbms: ignore DBO_NOBUFFER flag in IDatabase"
jenkins-bot [Fri, 16 Aug 2019 11:28:50 +0000 (11:28 +0000)]
Merge "rdbms: ignore DBO_NOBUFFER flag in IDatabase"

4 years agoComma list handled via CSS in change list pages
jdlrobson [Thu, 15 Aug 2019 17:33:15 +0000 (10:33 -0700)]
Comma list handled via CSS in change list pages

This avoids unnecessary commas in the mobile interface.

Bug: T230564
Change-Id: Id486e9a5b8fd337c41c8749d0462a40d6e68dffb

4 years agoMerge "Add Parser::resetOutput() and getStripState()"
jenkins-bot [Fri, 16 Aug 2019 08:38:56 +0000 (08:38 +0000)]
Merge "Add Parser::resetOutput() and getStripState()"

4 years agoMerge "Localisation updates from https://translatewiki.net."
jenkins-bot [Fri, 16 Aug 2019 06:34:45 +0000 (06:34 +0000)]
Merge "Localisation updates from https://translatewiki.net."

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 16 Aug 2019 06:33:53 +0000 (08:33 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I4f911ecc1aec466dabc18fd76853bc2b1defb906

4 years agoMerge "Correct English grammar in linkstoimage"
jenkins-bot [Fri, 16 Aug 2019 06:31:47 +0000 (06:31 +0000)]
Merge "Correct English grammar in linkstoimage"

4 years agoMerge "parser: use 'vary-revision-sha1' in Parser::statelessFetchTemplate"
jenkins-bot [Fri, 16 Aug 2019 00:07:49 +0000 (00:07 +0000)]
Merge "parser: use 'vary-revision-sha1' in Parser::statelessFetchTemplate"

4 years agoMySQL connect: Parse the Unix domain socket path correctly
JasonCoombs [Mon, 12 Aug 2019 04:38:48 +0000 (18:38 -1000)]
MySQL connect: Parse the Unix domain socket path correctly

Some Unix domain socket paths contain colons, requiring MediaWiki to use a modified parsing delimiter. For example,
Google AppEngine provides a /cloudsql/ path to a Unix domain socket used for accessing a Cloud SQL database.
See https://cloud.google.com/sql/docs/mysql/connect-app-engine
The connection name takes the form of project:region:database which introduces two additional colons to the socket path.
Previously, the code presumed the existence of only one colon in a valid Unix domain socket path.

Bug: T230306
Change-Id: I2411ac1b583fd5c143563cb3155ef4e8a29a9b08

4 years agoSECURITY: Add permission check for suppressed account
rxy [Tue, 13 Aug 2019 09:30:38 +0000 (18:30 +0900)]
SECURITY: Add permission check for suppressed account

Bug: T230402
Change-Id: I6a13859be81e5c746bdf0993eb5416fecdac2306

4 years agoRCFilters: add namespace filters for all contents and all discussions
Stephane Bisson [Thu, 15 Aug 2019 17:24:11 +0000 (13:24 -0400)]
RCFilters: add namespace filters for all contents and all discussions

These filters provide a shortcut to see or highlight all entries associated
with a subject or a talk namespace.

They are defined as real filters on the client-side and are superset
of all other namespace filters.

They are expanded to the list of namespaces they represent on the server-side.

Bug: T201520
Change-Id: Id9e04a38c2d7c8165c27af98959aa5715225faa8

4 years agoMerge "API: Always select rc_user from database (regardless of rcprop=user)"
jenkins-bot [Thu, 15 Aug 2019 17:31:02 +0000 (17:31 +0000)]
Merge "API: Always select rc_user from database (regardless of rcprop=user)"

4 years agordbms: ignore DBO_NOBUFFER flag in IDatabase
Aaron Schulz [Thu, 15 Aug 2019 14:58:54 +0000 (10:58 -0400)]
rdbms: ignore DBO_NOBUFFER flag in IDatabase

Callers should use query batching instead. Without buffering, either
the RAM burden is shifted onto the RDBMS server (with MVCC vacuuming
also being stalled) or the RDBMS server has to keep adding locks as
the cursor advances. Also, if a caller does not read all the results
(possibly due to an exception), then the SQL commands sent/read get
out of sync, which is too fragile.

There are no DBO_NOBUFFER callers in WMF gerrit repos.

Change-Id: I3712149633d0f01bb6990e324e53dd58abba9cfd

4 years agordbms: deprecate seldom used bufferResults() method
Aaron Schulz [Sat, 27 Jul 2019 06:46:39 +0000 (02:46 -0400)]
rdbms: deprecate seldom used bufferResults() method

Change-Id: If67c91fa020f09a89fe2dd50fe4ad30b75d676ef

4 years agoAdd rate limiter to Special:ConfirmEmail
sbassett [Thu, 27 Jun 2019 20:18:54 +0000 (15:18 -0500)]
Add rate limiter to Special:ConfirmEmail

General hardening measure for Special:ConfirmEmail, similar to what's
already in place for Special:ChangeEmail.

Bug: T226733
Change-Id: I465e4748840e214531e930608386455084563bc6

4 years agoMerge "Add some tests for DerivedPageDataUpdater::isCountable."
jenkins-bot [Thu, 15 Aug 2019 10:02:24 +0000 (10:02 +0000)]
Merge "Add some tests for DerivedPageDataUpdater::isCountable."

4 years agoUse injected services instead of static method
Aryeh Gregor [Wed, 14 Aug 2019 18:23:38 +0000 (21:23 +0300)]
Use injected services instead of static method

Depends-On: I4b915244ceee4c1857178dd68dcdf57f1ee32200
Change-Id: I053894de3665c6f8f505ee6191f2ade843db62c0

4 years agoMerge "Localisation updates from https://translatewiki.net."
jenkins-bot [Thu, 15 Aug 2019 08:09:04 +0000 (08:09 +0000)]
Merge "Localisation updates from https://translatewiki.net."

4 years agoMerge "Use ExtensionRegistry instead of class name"
jenkins-bot [Thu, 15 Aug 2019 08:02:53 +0000 (08:02 +0000)]
Merge "Use ExtensionRegistry instead of class name"

4 years agoMerge "Drop last bits of oracle"
jenkins-bot [Thu, 15 Aug 2019 07:56:48 +0000 (07:56 +0000)]
Merge "Drop last bits of oracle"

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 15 Aug 2019 06:27:59 +0000 (08:27 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ia9d0fee0c299f4f610acbc7cf151f3010f6b8e17

4 years agoAdd some tests for DerivedPageDataUpdater::isCountable.
Petr Pchelko [Thu, 15 Aug 2019 02:12:44 +0000 (19:12 -0700)]
Add some tests for DerivedPageDataUpdater::isCountable.

Change-Id: I82ed6fd604406d02faf4e966ec4845c8bc779a8b

4 years agoMerge "Add help links to special pages"
jenkins-bot [Wed, 14 Aug 2019 23:57:36 +0000 (23:57 +0000)]
Merge "Add help links to special pages"

4 years agoMerge "Rename variables for Title objects in PermissionManager"
jenkins-bot [Wed, 14 Aug 2019 23:31:21 +0000 (23:31 +0000)]
Merge "Rename variables for Title objects in PermissionManager"

4 years agoDrop last bits of oracle
Amir Sarabadani [Wed, 14 Aug 2019 21:25:00 +0000 (23:25 +0200)]
Drop last bits of oracle

Undefined constant

Change-Id: I66f17a7647bdcf254695dd0d3a0d49d41a35fff3

4 years agoMerge "Add drop of mssql/oracle to RELEASE-NOTES"
jenkins-bot [Wed, 14 Aug 2019 20:36:19 +0000 (20:36 +0000)]
Merge "Add drop of mssql/oracle to RELEASE-NOTES"

4 years agoAdd drop of mssql/oracle to RELEASE-NOTES
Amir Sarabadani [Wed, 14 Aug 2019 19:47:06 +0000 (21:47 +0200)]
Add drop of mssql/oracle to RELEASE-NOTES

Bug: T230418
Change-Id: Ie7771853048a27a8d8ee75764229e6e34477cd04

4 years agoMerge "Allow basic grant holders to autocreate accounts"
jenkins-bot [Wed, 14 Aug 2019 19:52:10 +0000 (19:52 +0000)]
Merge "Allow basic grant holders to autocreate accounts"

4 years agoMerge "maintenance/populateChangeTagDef.php: Handle missing valid_tags table"
jenkins-bot [Wed, 14 Aug 2019 19:25:54 +0000 (19:25 +0000)]
Merge "maintenance/populateChangeTagDef.php: Handle missing valid_tags table"

4 years agoMerge "More clean up of oracle/mssql"
jenkins-bot [Wed, 14 Aug 2019 19:25:12 +0000 (19:25 +0000)]
Merge "More clean up of oracle/mssql"