Gilles Dubuc [Wed, 21 Aug 2019 09:04:45 +0000 (11:04 +0200)]
Add support for native image lazy loading
Bug: T230897
Depends-On: I6c0b01fafe2c4498852e9c9b81151aba759dc5eb
Change-Id: I0307563b8f433dab062effe4dbfd7d4a9bbb8764
jenkins-bot [Wed, 21 Aug 2019 08:15:34 +0000 (08:15 +0000)]
Merge "Remove usages of deprecated User::getRights."
jenkins-bot [Wed, 21 Aug 2019 08:00:33 +0000 (08:00 +0000)]
Merge "Replace User::isAllowed with PermissionManager."
Translation updater bot [Wed, 21 Aug 2019 07:12:43 +0000 (09:12 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I67fba817871853916304194753f95e330841167d
jenkins-bot [Wed, 21 Aug 2019 05:59:19 +0000 (05:59 +0000)]
Merge "Add $digitTransformTable for the Manipuri language"
jenkins-bot [Wed, 21 Aug 2019 05:59:13 +0000 (05:59 +0000)]
Merge "Change the autonym of Manipuri to Meetei script"
Petr Pchelko [Wed, 21 Aug 2019 02:21:13 +0000 (19:21 -0700)]
Remove usages of deprecated User::getRights.
Bug: T220191
Change-Id: Ia7472cf61765fe5fee9ae72cfa9b7060565dbe87
jenkins-bot [Tue, 20 Aug 2019 23:08:27 +0000 (23:08 +0000)]
Merge "DefaultSettings.php: Move $wgDBname/$wgDBprefix/$wgDBmwschema closer to each other"
jenkins-bot [Tue, 20 Aug 2019 22:48:24 +0000 (22:48 +0000)]
Merge "Break the cyclic dependency between SearchEngine and SearchResult"
jenkins-bot [Tue, 20 Aug 2019 22:26:24 +0000 (22:26 +0000)]
Merge "resourceloader: Avoid isKnownEmpty call for regular (non-embed) modules"
Petr Pchelko [Fri, 16 Aug 2019 18:13:56 +0000 (11:13 -0700)]
Replace User::isAllowed with PermissionManager.
Covers root includes, actions, api, block, changes,
changetags, diff and PermissionManager itself.
Bug: T220191
Change-Id: Ic027d32f5dd8f4c74865df0c8a9fcf91123c889c
Timo Tijhof [Wed, 14 Aug 2019 12:18:50 +0000 (14:18 +0200)]
resourceloader: Avoid isKnownEmpty call for regular (non-embed) modules
Modules that are never embedded, and not user-specific, should not be
excluded from the loader, even if they are empty.
Doing so has two problems:
1. Modules are expected to have their changes propagated within 5 minutes
through the startup module. This depends on the fact that in page view
HTML we queue the module by name, regardless of its current version.
If the module is known to be needed by a page, then we need to queue it,
even if the current version is empty. Otherwise, cached pages will be
missing the module, despite the older ParserOutput perfectly knowing
already that it was needed, which can cause bugs due to HTML not
matching the module queue it was generated with.
2. The isKnownEmpty method can sometimes require a database lookup.
The performance team tuned this with a preloader for the subset of
modules we need the information for (user modules and style modules).
In
0b1a7d4c59c8395, I accidentally made the conditions nested the wrong
way, which made it call this much more frequently.
Bug: T230260
Bug: T176159
Change-Id: I4e6af2c833c92e1277713bdd0c68953d49c4dd9d
jenkins-bot [Tue, 20 Aug 2019 19:21:15 +0000 (19:21 +0000)]
Merge "Clear block cookie if the value is invalid"
jenkins-bot [Tue, 20 Aug 2019 17:34:29 +0000 (17:34 +0000)]
Merge "Add instrumentation to Special:Mute"
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"
jenkins-bot [Tue, 20 Aug 2019 17:19:00 +0000 (17:19 +0000)]
Merge "rdbms: simplify LoadBalancer::getLaggedReplicaMode()"
jenkins-bot [Tue, 20 Aug 2019 16:51:53 +0000 (16:51 +0000)]
Merge "Tests: Set dbname for DatabaseSqliteTest"
David Causse [Thu, 1 Aug 2019 15:06:50 +0000 (17:06 +0200)]
Break the cyclic dependency between SearchEngine and SearchResult
Change-Id: Icda469eb675ccac6048d7a9d978d51e3e673edab
jenkins-bot [Tue, 20 Aug 2019 16:08:11 +0000 (16:08 +0000)]
Merge "ApiSandbox: Load mediawiki.hlist RL module"
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"
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
jenkins-bot [Tue, 20 Aug 2019 15:20:13 +0000 (15:20 +0000)]
Merge "TitleOptionWidget: Documentation type fix"
jenkins-bot [Tue, 20 Aug 2019 15:20:02 +0000 (15:20 +0000)]
Merge "RCFilters: add namespace filters for all contents and all discussions"
jenkins-bot [Tue, 20 Aug 2019 15:13:41 +0000 (15:13 +0000)]
Merge "hooks.txt: Convert docs to modern extension registration style"
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
Ed Sanders [Tue, 20 Aug 2019 14:13:30 +0000 (16:13 +0200)]
TitleOptionWidget: Documentation type fix
Change-Id: I6ea4a1749a373c64e12d5c0ee1e5d55953523205
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
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
jenkins-bot [Tue, 20 Aug 2019 13:40:26 +0000 (13:40 +0000)]
Merge "objectcache: 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
jenkins-bot [Tue, 20 Aug 2019 12:59:23 +0000 (12:59 +0000)]
Merge "Prime connections and update description of McTest script"
Aaron Schulz [Wed, 7 Aug 2019 23:14:36 +0000 (16:14 -0700)]
DefaultSettings.php: Move $wgDBname/$wgDBprefix/$wgDBmwschema closer to each other
Change-Id: I33e55a8547beade94157c1cdf941677d29ae5869
jenkins-bot [Tue, 20 Aug 2019 12:32:19 +0000 (12:32 +0000)]
Merge "Tests for TempFSFile"
jenkins-bot [Tue, 20 Aug 2019 10:05:15 +0000 (10:05 +0000)]
Merge "docs: Fix typos for 'parameter' and 'perform'"
jenkins-bot [Tue, 20 Aug 2019 10:02:24 +0000 (10:02 +0000)]
Merge "logging: Fix typo for `getPerformer()` interface method declaration"
DannyS712 [Tue, 20 Aug 2019 00:47:01 +0000 (00:47 +0000)]
docs: Fix typos for 'parameter' and 'perform'
Bug: T201491
Change-Id: I37ed48907bf7c1a1d4ebab7b10b41a77623eba8a
Kosta Harlan [Tue, 20 Aug 2019 09:28:29 +0000 (11:28 +0200)]
Tests: Set dbname for DatabaseSqliteTest
Bug: T230780
Change-Id: I93d3771233c74443f76b0a402a4820e1e1e30ee7
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
Translation updater bot [Tue, 20 Aug 2019 07:37:55 +0000 (09:37 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I5d21bfc6534244188a6d639590681edeba3e9e7d
jenkins-bot [Mon, 19 Aug 2019 19:23:08 +0000 (19:23 +0000)]
Merge "Test that classes use all their ServiceOptions"
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
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
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
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
Aryeh Gregor [Sun, 5 May 2019 13:45:19 +0000 (16:45 +0300)]
Use RepoGroup service in MovePage
Change-Id: I2b59de374d49652b61f074a9da5483c0d991e7a6
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
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
jenkins-bot [Mon, 19 Aug 2019 16:04:04 +0000 (16:04 +0000)]
Merge "Use injected services instead of static method"
jenkins-bot [Mon, 19 Aug 2019 16:03:56 +0000 (16:03 +0000)]
Merge "Convert MessageCache to service"
jenkins-bot [Mon, 19 Aug 2019 15:36:40 +0000 (15:36 +0000)]
Merge "Add recursion check to createService()"
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
jenkins-bot [Mon, 19 Aug 2019 15:11:20 +0000 (15:11 +0000)]
Merge "Revert "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
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()"
jenkins-bot [Mon, 19 Aug 2019 12:14:04 +0000 (12:14 +0000)]
Merge "Add suppressredirect right to the createeditmovepage grant"
jenkins-bot [Mon, 19 Aug 2019 10:47:45 +0000 (10:47 +0000)]
Merge "MySQL connect: Parse the Unix domain socket path correctly"
jenkins-bot [Mon, 19 Aug 2019 10:29:13 +0000 (10:29 +0000)]
Merge "Clean 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
jenkins-bot [Mon, 19 Aug 2019 07:51:46 +0000 (07:51 +0000)]
Merge "Select "move subpages" by default when moving a page"
Translation updater bot [Mon, 19 Aug 2019 06:51:49 +0000 (08:51 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I298e4b5253f73c1e2d3a385a4ea5eb1369e432aa
jenkins-bot [Sun, 18 Aug 2019 12:14:25 +0000 (12:14 +0000)]
Merge "Fix 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
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
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
Translation updater bot [Sun, 18 Aug 2019 06:51:34 +0000 (08:51 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Iee50e7133afa7491e1a29e5d4600bf99cc259dbd
jenkins-bot [Sun, 18 Aug 2019 03:23:34 +0000 (03:23 +0000)]
Merge "skins: Hard-deprecate QuickTemplate::msgWiki()"
Aaron Schulz [Sat, 17 Aug 2019 18:54:04 +0000 (14:54 -0400)]
Prime connections and update description of McTest script
Change-Id: I4a53b5e4c02a9e2d1163ab9458dd309f651345bc
jenkins-bot [Sat, 17 Aug 2019 12:11:44 +0000 (12:11 +0000)]
Merge "Fix typos in code"
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
jenkins-bot [Sat, 17 Aug 2019 09:27:34 +0000 (09:27 +0000)]
Merge "Remove title protection correctly for undeletions and imports"
Translation updater bot [Sat, 17 Aug 2019 06:53:10 +0000 (08:53 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I487111cd57cb185b6a9c3222e4527fca72214de3
jenkins-bot [Sat, 17 Aug 2019 02:07:08 +0000 (02:07 +0000)]
Merge "Handle changed defaults in Argon2PasswordTest::testPartialConfig()"
jenkins-bot [Sat, 17 Aug 2019 01:41:08 +0000 (01:41 +0000)]
Merge "Fix IDatabase::affectedRows() documentation"
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
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
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
jenkins-bot [Fri, 16 Aug 2019 17:39:53 +0000 (17:39 +0000)]
Merge "Remove unused variables from setupTemplate"
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
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
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
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
jenkins-bot [Fri, 16 Aug 2019 12:32:03 +0000 (12:32 +0000)]
Merge "Introduce TitleParser::makeTitleValueSafe()"
Gergő Tisza [Fri, 16 Aug 2019 12:06:10 +0000 (14:06 +0200)]
Fix IDatabase::affectedRows() documentation
Bug: T229456
Change-Id: I992e81e5dbcd9db74644b2990044cf685567db5a
jenkins-bot [Fri, 16 Aug 2019 11:54:05 +0000 (11:54 +0000)]
Merge "Comma list handled via CSS in change list pages"
jenkins-bot [Fri, 16 Aug 2019 11:28:50 +0000 (11:28 +0000)]
Merge "rdbms: ignore DBO_NOBUFFER flag in IDatabase"
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
jenkins-bot [Fri, 16 Aug 2019 08:38:56 +0000 (08:38 +0000)]
Merge "Add Parser::resetOutput() and getStripState()"
jenkins-bot [Fri, 16 Aug 2019 06:34:45 +0000 (06:34 +0000)]
Merge "Localisation 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
jenkins-bot [Fri, 16 Aug 2019 06:31:47 +0000 (06:31 +0000)]
Merge "Correct English grammar in linkstoimage"
jenkins-bot [Fri, 16 Aug 2019 00:07:49 +0000 (00:07 +0000)]
Merge "parser: use 'vary-revision-sha1' in Parser::statelessFetchTemplate"
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
rxy [Tue, 13 Aug 2019 09:30:38 +0000 (18:30 +0900)]
SECURITY: Add permission check for suppressed account
Bug: T230402
Change-Id: I6a13859be81e5c746bdf0993eb5416fecdac2306
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
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)"
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
Aaron Schulz [Sat, 27 Jul 2019 06:46:39 +0000 (02:46 -0400)]
rdbms: deprecate seldom used bufferResults() method
Change-Id: If67c91fa020f09a89fe2dd50fe4ad30b75d676ef
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
jenkins-bot [Thu, 15 Aug 2019 10:02:24 +0000 (10:02 +0000)]
Merge "Add some tests for DerivedPageDataUpdater::isCountable."
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