lhc/web/wiklou.git
4 years agoMerge "rdbms: add SHOW to isTransactableQuery() and add QUERY_IGNORE_DBO_TRX uses"
jenkins-bot [Tue, 2 Jul 2019 21:57:04 +0000 (21:57 +0000)]
Merge "rdbms: add SHOW to isTransactableQuery() and add QUERY_IGNORE_DBO_TRX uses"

4 years agoMake UserEditCountUpdate::doUpdate avoid comparing IDatabase instances
Aaron Schulz [Sat, 29 Jun 2019 02:11:43 +0000 (19:11 -0700)]
Make UserEditCountUpdate::doUpdate avoid comparing IDatabase instances

Also make User::initEditCountInternal take the specific DB handle that
was waited on for replication. This shouldn't make a difference but makes
things more explicit.

Change-Id: Ibb8e083406eb4f4453afce94a2b33450239fce94

4 years agoMerge "rdbms: fix comment for Database::runOnAtomicSectionCancelCallbacks()"
jenkins-bot [Tue, 2 Jul 2019 21:35:21 +0000 (21:35 +0000)]
Merge "rdbms: fix comment for Database::runOnAtomicSectionCancelCallbacks()"

4 years agoMerge "tests: Use a fancy generator provider in ReleaseNotesTest"
jenkins-bot [Tue, 2 Jul 2019 21:05:53 +0000 (21:05 +0000)]
Merge "tests: Use a fancy generator provider in ReleaseNotesTest"

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 2 Jul 2019 20:00:50 +0000 (22:00 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I2bd83f45ca37191f255513b0def3a65dbdf08bc3

4 years agoMerge "LanguageConverter performance: Reuse the same string object for regexp"
jenkins-bot [Tue, 2 Jul 2019 19:41:49 +0000 (19:41 +0000)]
Merge "LanguageConverter performance: Reuse the same string object for regexp"

4 years agorcfilters: Simplify FormWrapperWidget submit code by reducing jQuery use
Timo Tijhof [Tue, 2 Jul 2019 19:00:15 +0000 (20:00 +0100)]
rcfilters: Simplify FormWrapperWidget submit code by reducing jQuery use

None of this really benefits from the indirection of jQuery objects,
CSS selector matching, property accessors.

Somewhat follows fa261ed50f3a8c6e.

Change-Id: I22ea5216324c6bc9221ce77006430290c79d454f

4 years agoMerge "Improve LanguageConverter performance on pages with many HTML tags"
jenkins-bot [Tue, 2 Jul 2019 19:20:32 +0000 (19:20 +0000)]
Merge "Improve LanguageConverter performance on pages with many HTML tags"

4 years agoMerge "objectcache: Hard deprecate ObjectCache::getMainStashInstance()"
jenkins-bot [Tue, 2 Jul 2019 19:19:46 +0000 (19:19 +0000)]
Merge "objectcache: Hard deprecate ObjectCache::getMainStashInstance()"

4 years agoMerge "when getting file (img) properties, suppress whines that it's not xml"
jenkins-bot [Tue, 2 Jul 2019 19:01:28 +0000 (19:01 +0000)]
Merge "when getting file (img) properties, suppress whines that it's not xml"

4 years agotests: Use a fancy generator provider in ReleaseNotesTest
Timo Tijhof [Tue, 2 Jul 2019 18:48:20 +0000 (19:48 +0100)]
tests: Use a fancy generator provider in ReleaseNotesTest

Follows-up ffc23ee333fffb.

Change-Id: I99bf0d7115f6d2a84eb499d104d9cd227331c20f

4 years agoMerge "Move trivial unit tests, round II"
jenkins-bot [Tue, 2 Jul 2019 18:47:38 +0000 (18:47 +0000)]
Merge "Move trivial unit tests, round II"

4 years agoLanguageConverter performance: Reuse the same string object for regexp
C. Scott Ananian [Tue, 2 Jul 2019 18:04:39 +0000 (14:04 -0400)]
LanguageConverter performance: Reuse the same string object for regexp

The regular expression used by LanguageConverter::autoConvert() is a
constant, but it is being created on-the-fly by every invocation.
This causes an expensive full-string comparison when the compiled
regular expression is fetched from the cache -- since the regex is 332
bytes long, the time taken for this comparison can add up quickly: on
page with a lot of tags, the regexp cache may spend more time looking
up the regexp than it takes to execute it.

Bug: T223969
Change-Id: I53c3e631e47a791cf3f0844dd79d4357605c59e3

4 years agoImprove LanguageConverter performance on pages with many HTML tags
C. Scott Ananian [Tue, 2 Jul 2019 18:02:33 +0000 (14:02 -0400)]
Improve LanguageConverter performance on pages with many HTML tags

We were concatenating a single character to the end of the wikitext
source (which copies the entire string) every time through an inner
loop; when the page was large and the loop count was large this took
an excessive amount of time.

Bug: T223969
Change-Id: Ib80306b0bc6c73b750d492764f0e2dfd3a7a5450

4 years agoMerge "test: refactor/speed up release note file test"
jenkins-bot [Tue, 2 Jul 2019 17:55:15 +0000 (17:55 +0000)]
Merge "test: refactor/speed up release note file test"

4 years agoMove trivial unit tests, round II
Amir Sarabadani [Tue, 2 Jul 2019 17:04:44 +0000 (19:04 +0200)]
Move trivial unit tests, round II

Change-Id: I18e5a1514d7372b34f7fb460adf506a1ac65001f

4 years agoobjectcache: Hard deprecate ObjectCache::getMainStashInstance()
Derick Alangi [Tue, 2 Jul 2019 16:58:13 +0000 (17:58 +0100)]
objectcache: Hard deprecate ObjectCache::getMainStashInstance()

This method was soft deprecated in 1.28 and usage is no longer in core
except for FlaggedRevs ext (here in removed in patch I3ada0b53e8b2a6f118f).

Usage
=====

https://codesearch.wmflabs.org/search/?q=getMainStashInstance&i=nope&files=&repos=

Depends-On: I3ada0b53e8b2a6f118fae37e7fc644b187bf95f8
Change-Id: I3f06b3732f67b703cdc12ec5849b67067475cdda

4 years agoMerge "Move MultiHttpClient.php to libs/http"
jenkins-bot [Tue, 2 Jul 2019 16:46:07 +0000 (16:46 +0000)]
Merge "Move MultiHttpClient.php to libs/http"

4 years agoMerge "s/Import Images/Importing Files/ in importImages.php"
jenkins-bot [Tue, 2 Jul 2019 16:45:23 +0000 (16:45 +0000)]
Merge "s/Import Images/Importing Files/ in importImages.php"

4 years agoMerge "Add 1.33.0 to HISTORY"
jenkins-bot [Tue, 2 Jul 2019 16:38:43 +0000 (16:38 +0000)]
Merge "Add 1.33.0 to HISTORY"

4 years agoMerge "Add 1.31.3/1.32.3 to HISTORY"
jenkins-bot [Tue, 2 Jul 2019 16:37:06 +0000 (16:37 +0000)]
Merge "Add 1.31.3/1.32.3 to HISTORY"

4 years agoMerge "API: Removed unused local variable `$p` from ApiQueryDeletedrevs"
jenkins-bot [Tue, 2 Jul 2019 16:23:36 +0000 (16:23 +0000)]
Merge "API: Removed unused local variable `$p` from ApiQueryDeletedrevs"

4 years agoAssert that LocalSettings file exists
Kosta Harlan [Mon, 1 Jul 2019 20:31:48 +0000 (16:31 -0400)]
Assert that LocalSettings file exists

This time, use $IP to get correct path to LocalSettings so that tests can be run
from outside MediaWiki root.

Change-Id: I0dd3dd281cff67b0d8acdc09b97328c44eca2bb6
Follows-Up: Ia36d22217f94e019bb5945705243bd0daace72e0
Bug: T226977

4 years agoAPI: Removed unused local variable `$p` from ApiQueryDeletedrevs
Derick Alangi [Tue, 2 Jul 2019 13:28:52 +0000 (14:28 +0100)]
API: Removed unused local variable `$p` from ApiQueryDeletedrevs

This local var was introduced in fdddf94 and usage of it removed in
4e6810e. This is no longer used so cleaned up.

Change-Id: I2acf28b3a027284adbda70f50bee3c4a6b4a68b2

4 years agoAdd 1.33.0 to HISTORY
Reedy [Tue, 2 Jul 2019 14:43:53 +0000 (15:43 +0100)]
Add 1.33.0 to HISTORY

Change-Id: I11cfe407745ef7a3f2b48dc78f62cd1657290522

4 years agoAdd 1.31.3/1.32.3 to HISTORY
Reedy [Tue, 2 Jul 2019 14:41:23 +0000 (15:41 +0100)]
Add 1.31.3/1.32.3 to HISTORY

Change-Id: Ie7ae1bda5ffc910954852eb412ed30cb56810cb5

4 years agospecials: Combine small miscellaneous 'mediawiki.special.*' modules
Timo Tijhof [Fri, 14 Jun 2019 17:30:28 +0000 (18:30 +0100)]
specials: Combine small miscellaneous 'mediawiki.special.*' modules

The format for this would be cleaner if T225842 were solved.

Bug: T193826
Bug: T219342
Change-Id: I9aaa52b567db254e1e79649b3b99260214da74b3

4 years agotest: refactor/speed up release note file test
Antoine Musso [Tue, 2 Jul 2019 10:07:50 +0000 (12:07 +0200)]
test: refactor/speed up release note file test

The test ReleaseNotesTest:testReleaseNotesFilesExistAndAreNotMalformed
takes 4 seconds on my machine. That is due to assertLessThanOrEqual
being invoked for each lines of various files at the root of the
repository. HISTORY has more than 20000 lines and assert functions are
rather slow.

Refactor the test:
* extract the logic to verify the file length of various files to a
  standalone test and with a dataprovider.
* flip the boolean logic ensuring whether the file exists. When it does
  not, PHP emit a warning which breaks the test anyway.
* Check the line lenght and collect errors in an array, then for each
  file run a single assertion to ensure the array of errors is empty.
  That effectively get rid of assertLessThanOrEqual overhead.
* Use assertSame() to show the full faulty line. assertEqual() shorten
  the arrays content.

Running tests went from 4 seconds to 700 ms on my machine.

Bug: T227067
Change-Id: I9bbbc6647ba9732b462e331e4b6d4acffe35e7cd

4 years agoType hint using interface
WMDE-Fisch [Tue, 2 Jul 2019 10:11:09 +0000 (12:11 +0200)]
Type hint using interface

Fixes phan errors in FileImporter

Change-Id: I4ea2d081062f5f509040c73ff5f59ee5ffd700ad

4 years agordbms: fix comment for Database::runOnAtomicSectionCancelCallbacks()
Aaron Schulz [Tue, 2 Jul 2019 07:33:27 +0000 (00:33 -0700)]
rdbms: fix comment for Database::runOnAtomicSectionCancelCallbacks()

Change-Id: I9ab830be69fdaa46629edb4d96c29aa99005f92f

4 years agowhen getting file (img) properties, suppress whines that it's not xml
Ariel T. Glenn [Thu, 13 Jun 2019 14:18:58 +0000 (17:18 +0300)]
when getting file (img) properties, suppress whines that it's not xml

Imports eventually succeed but the log fills up with stack traces
needlessly.

Bug: T206013
Change-Id: Icb004954272ea8fc6fbc4fd5090cd1310d66946c

4 years agoMerge "Type hint against interface for LoadBalancer in MediaWikiServices"
jenkins-bot [Tue, 2 Jul 2019 01:08:10 +0000 (01:08 +0000)]
Merge "Type hint against interface for LoadBalancer in MediaWikiServices"

4 years agoMerge "Unit tests: Support unit tests in extensions and skins"
jenkins-bot [Mon, 1 Jul 2019 23:25:12 +0000 (23:25 +0000)]
Merge "Unit tests: Support unit tests in extensions and skins"

4 years agoMerge "Remove group validator from UnitTestCase"
jenkins-bot [Mon, 1 Jul 2019 23:06:57 +0000 (23:06 +0000)]
Merge "Remove group validator from UnitTestCase"

4 years agoMerge "GlobalFunctions: Tighten version number type for wfDeprecated()"
jenkins-bot [Mon, 1 Jul 2019 21:42:10 +0000 (21:42 +0000)]
Merge "GlobalFunctions: Tighten version number type for wfDeprecated()"

4 years agoMerge "ApiBase: Drop get(Examples|(Param)?Description(Message)?)\(\), deprecated...
jenkins-bot [Mon, 1 Jul 2019 21:34:31 +0000 (21:34 +0000)]
Merge "ApiBase: Drop get(Examples|(Param)?Description(Message)?)\(\), deprecated since 1.25 and 1.30"

4 years agoGlobalFunctions: Tighten version number type for wfDeprecated()
Derick Alangi [Wed, 15 May 2019 14:24:46 +0000 (15:24 +0100)]
GlobalFunctions: Tighten version number type for wfDeprecated()

To avoid cases like: facddc4 and Ifaf6ab0d36bc02bd170, make sure the
value of the mediawiki version  must be a string (e.g. '1.33') or a
boolean (e.g. `false`).

For some reason, typos can slip through for this value to be a float.
Let's safe guard for future cases like this.

Change-Id: I52bdf94c957bda67548a937d51649e925195f926

4 years agoApiBase: Drop get(Examples|(Param)?Description(Message)?)\(\), deprecated since 1...
James D. Forrester [Mon, 24 Jun 2019 23:43:59 +0000 (16:43 -0700)]
ApiBase: Drop get(Examples|(Param)?Description(Message)?)\(\), deprecated since 1.25 and 1.30

Change-Id: Ie62436692f39825237d36002aa01bedf1caa1fa3

4 years agoMerge "Title: ensure getBaseTitle and getRootTitle return valid Titles"
jenkins-bot [Mon, 1 Jul 2019 21:02:45 +0000 (21:02 +0000)]
Merge "Title: ensure getBaseTitle and getRootTitle return valid Titles"

4 years agoMove MultiHttpClient.php to libs/http
Reedy [Mon, 1 Jul 2019 20:47:57 +0000 (21:47 +0100)]
Move MultiHttpClient.php to libs/http

Change-Id: I199e615fad363b1439604c9d01a9a475856d6128

4 years agoMerge "Pass column as string to IDatabase::selectField"
jenkins-bot [Mon, 1 Jul 2019 20:27:28 +0000 (20:27 +0000)]
Merge "Pass column as string to IDatabase::selectField"

4 years agoTitle: ensure getBaseTitle and getRootTitle return valid Titles
daniel [Fri, 14 Jun 2019 09:01:22 +0000 (11:01 +0200)]
Title: ensure getBaseTitle and getRootTitle return valid Titles

Since getBaseText() and getRootText() may return text with trailing
whitespace, getBaseTitle and getRootTitle must use makeTitleSafe instead
of makeTitle.

Bug: T225585
Change-Id: Id92df552f05e6a9ed7c9259a8779fa94c3587a3e

4 years agoUnit tests: Support unit tests in extensions and skins
Kosta Harlan [Mon, 1 Jul 2019 19:33:54 +0000 (15:33 -0400)]
Unit tests: Support unit tests in extensions and skins

For now only extensions with skin/extension.json which follow PSR-4 are
supported.

DefaultSettings is loaded in bootstrap to work around errors when unit tests are
run followed by integration tests (e.g. `vendor/bin/phpunit`)

Usage:

 - composer phpunit:unit will run all unit tests in core and any tests in
   `{extensions/skins}/tests/phpunit/unit` which also extend
   MediaWikiUnitTestCase, and which have an extension.json file
- Pass a specific directory to only run unit tests for a particular extension,
   e.g. `composer phpunit:unit -- extensions/GrowthExperiments`

Bug: T226911
Change-Id: I237a9f82e4d1b05cf2f08b3e4bb7ffcd8d47111c

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 1 Jul 2019 19:58:20 +0000 (21:58 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I4c609d902775f74131d2dc16ac0aef3bc418c140

4 years agoMerge "RCFilters: Reduce startup overhead from 'config.json' computation"
jenkins-bot [Mon, 1 Jul 2019 19:52:30 +0000 (19:52 +0000)]
Merge "RCFilters: Reduce startup overhead from 'config.json' computation"

4 years agoDrop APIEditBeforeSave hook
RazeSoldier [Sun, 30 Jun 2019 18:56:29 +0000 (02:56 +0800)]
Drop APIEditBeforeSave hook

Removed the source code and the test code.

Bug: T220656
Change-Id: I3674da6d9c33c08ec2f1774cb793b3a952480571

4 years agoMerge "htmlform: Reveal method getOOUI() is called from when spitting deprecation...
jenkins-bot [Mon, 1 Jul 2019 18:40:36 +0000 (18:40 +0000)]
Merge "htmlform: Reveal method getOOUI() is called from when spitting deprecation notice"

4 years agoRemove group validator from UnitTestCase
Kosta Harlan [Mon, 1 Jul 2019 15:42:21 +0000 (11:42 -0400)]
Remove group validator from UnitTestCase

Whether a unit test has `@group Database` is irrelevant, since it will simply
not work if it relies on database access.

Change-Id: Ibe01d4912160ae44ca86ef6f7c3946501a8c067e

4 years agoDrop the check for existences of LocalSettings.php in MediaWikiIntegrationTestCase
Amir Sarabadani [Mon, 1 Jul 2019 15:15:35 +0000 (17:15 +0200)]
Drop the check for existences of LocalSettings.php in MediaWikiIntegrationTestCase

This is not needed and we should let testers run integration tests without
the need to define LocalSettings.php

This reverts small part of Ie717b0ecf4fcfd089d46248f14853c80b7ef4a76

Bug: T226977
Change-Id: Ia36d22217f94e019bb5945705243bd0daace72e0

4 years agoMerge "Mention relevant tasks in comment (follow-up to c8733333)"
jenkins-bot [Mon, 1 Jul 2019 13:36:35 +0000 (13:36 +0000)]
Merge "Mention relevant tasks in comment (follow-up to c8733333)"

4 years agoMerge "Check for valid user info before calling Linker::userLink() in Linker::revUser...
jenkins-bot [Mon, 1 Jul 2019 13:04:04 +0000 (13:04 +0000)]
Merge "Check for valid user info before calling Linker::userLink() in Linker::revUserTools()"

4 years agoMention relevant tasks in comment (follow-up to c8733333)
Thalia [Mon, 1 Jul 2019 11:53:16 +0000 (12:53 +0100)]
Mention relevant tasks in comment (follow-up to c8733333)

Change-Id: I25a8c018c879dd13967cd67fd51eae9768e3aa4b

4 years agoMerge "Defer cookie block checks to resolve a circular dependency"
jenkins-bot [Mon, 1 Jul 2019 11:09:45 +0000 (11:09 +0000)]
Merge "Defer cookie block checks to resolve a circular dependency"

4 years agoMerge "Rest API: urldecode path parameters"
jenkins-bot [Mon, 1 Jul 2019 01:37:41 +0000 (01:37 +0000)]
Merge "Rest API: urldecode path parameters"

4 years agoMerge "Fix SQLite patch-(page|template)links-fix-pk.sql column order"
jenkins-bot [Sun, 30 Jun 2019 22:41:09 +0000 (22:41 +0000)]
Merge "Fix SQLite patch-(page|template)links-fix-pk.sql column order"

4 years agoMerge "Mail: Add visibility for some methods without method visibility"
jenkins-bot [Sun, 30 Jun 2019 20:42:47 +0000 (20:42 +0000)]
Merge "Mail: Add visibility for some methods without method visibility"

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 30 Jun 2019 19:59:17 +0000 (21:59 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I4ac7bf4bbcd320d208b9cc576cd699fcbf2cc8a4

4 years agoFix SQLite patch-(page|template)links-fix-pk.sql column order
Reedy [Sun, 30 Jun 2019 16:47:53 +0000 (17:47 +0100)]
Fix SQLite patch-(page|template)links-fix-pk.sql column order

Bug: T202211
Change-Id: Ife673b88c23acdc1bfc04630715d18243471035f

4 years agoMerge "Avoid :checkbox Sizzle selector"
jenkins-bot [Sun, 30 Jun 2019 15:43:33 +0000 (15:43 +0000)]
Merge "Avoid :checkbox Sizzle selector"

4 years agoMail: Add visibility for some methods without method visibility
Derick Alangi [Wed, 26 Jun 2019 10:11:33 +0000 (11:11 +0100)]
Mail: Add visibility for some methods without method visibility

Carefully, I checked usage of these methods in our code bases and
added the best possible visibilities to them. Not sure if I missed
something but let me know if I did.

Used private & public where suitable for the various methods. As for
__toString(), this is a magic method, so should be public per PHP docs.

Change-Id: Ie0987f4a984cac2f5eb1d9e21a305ad9467a8eb2

4 years agoMove trivially compatible tests to the unit tests suite
Máté Szabó [Sun, 30 Jun 2019 13:23:53 +0000 (15:23 +0200)]
Move trivially compatible tests to the unit tests suite

This changeset resumes work on T89432 and related tickets
by porting an initial set of tests to the new unit test suite
separated out in I69b92db3e70093570e05cc0a64c7780a278b321a.
The tests were only ported if they worked immediately without
requiring any changes other than changing the test case class
to MediaWikiUnitTestCase and moving the test to the new suite.
If a test failed for any reason (even trivial misconfiguration),
it was NOT ported.

With this change, the unit tests suite now consits of a total
of 455 tests. As before, you can run these tests via the following
command:
$ composer phpunit:unit

Bug: T84948
Bug: T89432
Bug: T87781
Change-Id: Ibb8175981092d7f41864e641cc3c118af70a5c76

4 years agoAdd @var annotations to XmlTypeCheck class
Umherirrender [Sat, 29 Jun 2019 22:28:30 +0000 (00:28 +0200)]
Add @var annotations to XmlTypeCheck class

Also fix type of XmlTypeCheck::elementOpen argument

Change-Id: Ia54464e98440992b435eac89f14b7e60fe812f62

4 years agoPass column as string to IDatabase::selectField
Umherirrender [Sat, 29 Jun 2019 22:01:21 +0000 (00:01 +0200)]
Pass column as string to IDatabase::selectField

To match documentation

Change-Id: I7ee69fcd90ba1cba947ca2ef205f350dc456a2c7

4 years agoMerge "Hard deprecrate Language::viewPrevNext()"
jenkins-bot [Sat, 29 Jun 2019 21:38:00 +0000 (21:38 +0000)]
Merge "Hard deprecrate Language::viewPrevNext()"

4 years agoOmit argument when have no attributs on Xml::label
Umherirrender [Sat, 29 Jun 2019 15:26:03 +0000 (17:26 +0200)]
Omit argument when have no attributs on Xml::label

Change-Id: Ia5090985b619e872afd05eff09256c27ce3a01c9

4 years agoFix param documentation of ProtectionForm::show
Umherirrender [Sat, 29 Jun 2019 15:22:44 +0000 (17:22 +0200)]
Fix param documentation of ProtectionForm::show

It also allows array

Change-Id: I513d6fd356933a2c2f45a1773dd2f59b967a1bf2

4 years agoHard deprecrate Language::viewPrevNext()
Clara Andrew-Wani [Sat, 29 Jun 2019 15:09:46 +0000 (11:09 -0400)]
Hard deprecrate Language::viewPrevNext()

Bug: T207977
Change-Id: I800689b04868d144f086913df9cd6b27dd74aa81

4 years agoRCFilters: Reduce startup overhead from 'config.json' computation
Timo Tijhof [Thu, 13 Jun 2019 20:23:28 +0000 (21:23 +0100)]
RCFilters: Reduce startup overhead from 'config.json' computation

Follows-up 9ba1d8f526e1. Use the new 'versionCallback' to only perform
the minimum amount of work needed to detect changes, without fully
transforming the data for delivery.

Factor out message parsing into a separate step in the tag list code,
and use the messages' raw contents for the versionCallback.

Stop using WANCache for the tag list, since it's now cached by
ResourceLoader, and only regenerated when needed.

Also refactor the ChangeTags functions around tag description messages a
bit, so that we can more easily get the message keys that are going to
be used.

Bug: T201574
Bug: T223260
Change-Id: I02082aeb289ce4156170b14b8840f6d92cbadb57

4 years agordbms: add SHOW to isTransactableQuery() and add QUERY_IGNORE_DBO_TRX uses
Aaron Schulz [Sat, 29 Jun 2019 00:58:56 +0000 (17:58 -0700)]
rdbms: add SHOW to isTransactableQuery() and add QUERY_IGNORE_DBO_TRX uses

This assures that less pointless transactions are started

Change-Id: I61a52e989e1c9c20c58b1da773f5209ba283a83e

4 years agofilerepo: remove pointless "foreign" flag in ForeignDBRepo::getMasterDB()
Aaron Schulz [Sat, 29 Jun 2019 00:33:50 +0000 (17:33 -0700)]
filerepo: remove pointless "foreign" flag in ForeignDBRepo::getMasterDB()

This connection handle is not managed by any LoadBalancer, so nothing checks that

Change-Id: Ie60859aacbcccd8439bc58d816c6b94769a4331f

4 years agofilebackend: remove wfTimestamp() dependency from FileJournal
Aaron Schulz [Fri, 28 Jun 2019 16:32:00 +0000 (09:32 -0700)]
filebackend: remove wfTimestamp() dependency from FileJournal

Change-Id: Ia9b9e1d2d40d240566a37012fa01e5db0c276ec0

4 years agolockmanager: disable internal QuorumLockManager methods that should never be reached
Aaron Schulz [Fri, 28 Jun 2019 23:55:54 +0000 (16:55 -0700)]
lockmanager: disable internal QuorumLockManager methods that should never be reached

Change-Id: If19f48f8c2d3fe8a38068b09d8691bc8f4eb5d46

4 years agohtmlform: Reveal method getOOUI() is called from when spitting deprecation notice
Derick Alangi [Thu, 13 Jun 2019 10:59:01 +0000 (11:59 +0100)]
htmlform: Reveal method getOOUI() is called from when spitting deprecation notice

Bug: T225683
Change-Id: I654b2d165feeb77394c214ae29bfaa7a9694b46d

4 years agoMerge "Re-apply: Factors out permissions check from User into PermissionManager service"
jenkins-bot [Fri, 28 Jun 2019 23:44:38 +0000 (23:44 +0000)]
Merge "Re-apply: Factors out permissions check from User into PermissionManager service"

4 years agoMerge "Make ExternalStore wrap ExternalStoreFactory and create access class"
jenkins-bot [Fri, 28 Jun 2019 23:12:08 +0000 (23:12 +0000)]
Merge "Make ExternalStore wrap ExternalStoreFactory and create access class"

4 years agoMerge "revision: rename various $wikiId fields/parameters to $dbDomain"
jenkins-bot [Fri, 28 Jun 2019 23:10:36 +0000 (23:10 +0000)]
Merge "revision: rename various $wikiId fields/parameters to $dbDomain"

4 years agoMerge "filebackend: avoid bogus SwiftFileBackend log warnings due to HTTP 202 responses"
jenkins-bot [Fri, 28 Jun 2019 23:09:39 +0000 (23:09 +0000)]
Merge "filebackend: avoid bogus SwiftFileBackend log warnings due to HTTP 202 responses"

4 years agoMerge "rdbms: clean up LBFactory domain splitting code and remove redundant comments"
jenkins-bot [Fri, 28 Jun 2019 22:29:29 +0000 (22:29 +0000)]
Merge "rdbms: clean up LBFactory domain splitting code and remove redundant comments"

4 years agoMerge "rdbms: implement IDatabase::serverIsReadOnly() for sqlite/mssql"
jenkins-bot [Fri, 28 Jun 2019 22:18:33 +0000 (22:18 +0000)]
Merge "rdbms: implement IDatabase::serverIsReadOnly() for sqlite/mssql"

4 years agoMerge "rdbms: update return type comments for ConnectionManager to IDatabase"
jenkins-bot [Fri, 28 Jun 2019 22:16:45 +0000 (22:16 +0000)]
Merge "rdbms: update return type comments for ConnectionManager to IDatabase"

4 years agoMerge "rdbms: combine trxLevel and trxShortId fields in Database"
jenkins-bot [Fri, 28 Jun 2019 22:16:27 +0000 (22:16 +0000)]
Merge "rdbms: combine trxLevel and trxShortId fields in Database"

4 years agoMerge "rdbms: make FakeResultWrapper use get_object_vars() again"
jenkins-bot [Fri, 28 Jun 2019 22:07:23 +0000 (22:07 +0000)]
Merge "rdbms: make FakeResultWrapper use get_object_vars() again"

4 years agoMerge "DateTimeInputWidget: Avoid :input Sizzle selector"
jenkins-bot [Fri, 28 Jun 2019 22:06:41 +0000 (22:06 +0000)]
Merge "DateTimeInputWidget: Avoid :input Sizzle selector"

4 years agoMerge "rdbms: deprecate LoadBalancer::haveIndex() and LoadBalancer::isNonZeroLoad()"
jenkins-bot [Fri, 28 Jun 2019 21:56:43 +0000 (21:56 +0000)]
Merge "rdbms: deprecate LoadBalancer::haveIndex() and LoadBalancer::isNonZeroLoad()"

4 years agordbms: combine trxLevel and trxShortId fields in Database
Aaron Schulz [Thu, 13 Jun 2019 15:25:40 +0000 (16:25 +0100)]
rdbms: combine trxLevel and trxShortId fields in Database

This avoids having to keep multiple fields in sync

Change-Id: If96267afe56a9b9cd660bab333e7667e4d8dc3d4

4 years agoMake ExternalStore wrap ExternalStoreFactory and create access class
Aaron Schulz [Tue, 27 Feb 2018 06:24:46 +0000 (22:24 -0800)]
Make ExternalStore wrap ExternalStoreFactory and create access class

* Inject settings and global instances as dependencies to the
  ExternalStoreMedium instances. This includes the local wiki
  domain, so that wfWikiId() calls are not scattered around.
* Create ExternalStoreAccess service for read/write logic.
* Deprecate the ExternalStore wrapper methods.
* Add some exception cases for bogus store URLs are used instead
  of just giving PHP warnings and failing later.
* Make moveToExternal.php require the type/protocol to decide
  which ExternalStoreMedium to use instead of assuming "DB".
* Convert logging calls to use LoggerInterface.

Change-Id: I40c3b5534fc8a31116c4c5eb64ee6e4903a6197a

4 years agorevision: rename various $wikiId fields/parameters to $dbDomain
Aaron Schulz [Thu, 27 Jun 2019 01:33:18 +0000 (18:33 -0700)]
revision: rename various $wikiId fields/parameters to $dbDomain

These fields are passed to methods like LoadBalancer::getConnection() and are
already expected to be DB domains. Update various comments as well.

Fix a few minor IDEA warnings.

Change-Id: I7cf76700690aec449872a80d30b5ba540d2bf315

4 years agordbms: clean up LBFactory domain splitting code and remove redundant comments
Aaron Schulz [Fri, 28 Jun 2019 20:38:37 +0000 (13:38 -0700)]
rdbms: clean up LBFactory domain splitting code and remove redundant comments

Change-Id: I43812537e52b7a815e918512e2585e4858c06888

4 years agoAvoid :checkbox Sizzle selector
Ed Sanders [Fri, 28 Jun 2019 20:58:29 +0000 (21:58 +0100)]
Avoid :checkbox Sizzle selector

Just use [type="checkbox"] for better performance.

Change-Id: I41e57873c4598ff3af6e70f913297c6b2d368f69

4 years agoDateTimeInputWidget: Avoid :input Sizzle selector
Ed Sanders [Fri, 28 Jun 2019 20:46:11 +0000 (21:46 +0100)]
DateTimeInputWidget: Avoid :input Sizzle selector

This widget only creates <input> tags so just
search by name.

Change-Id: I170f67127453f979a0bbdd45f0487a5d350a4d5a

4 years agofilebackend: avoid bogus SwiftFileBackend log warnings due to HTTP 202 responses
Aaron Schulz [Fri, 28 Jun 2019 20:28:49 +0000 (13:28 -0700)]
filebackend: avoid bogus SwiftFileBackend log warnings due to HTTP 202 responses

Change-Id: I12897bd2e29f18bbdce9a54a18415e83acc31365

4 years agordbms: make FakeResultWrapper use get_object_vars() again
Aaron Schulz [Fri, 28 Jun 2019 20:22:11 +0000 (13:22 -0700)]
rdbms: make FakeResultWrapper use get_object_vars() again

get_object_vars() avoids a bug in older PHP versions where
string digit fields end up as string digit array keys instead
of proper integers, which can cause errors on access.

Follow up to d9f688698ce0

Change-Id: Ic93231e4a7244f49149ce9ed35fbcb1e04ac4065

4 years agordbms: update return type comments for ConnectionManager to IDatabase
Aaron Schulz [Fri, 28 Jun 2019 20:20:04 +0000 (13:20 -0700)]
rdbms: update return type comments for ConnectionManager to IDatabase

Change-Id: I0ed1fc7b2c22192d80b99df54444a904c1778d05

4 years agoRe-apply: Factors out permissions check from User into PermissionManager service
Vedmaka [Tue, 9 Apr 2019 06:58:04 +0000 (09:58 +0300)]
Re-apply: Factors out permissions check from User into PermissionManager service

Was reverted by I549810a4cd2e424cc4a438887d2f24614a24cc00 due to
T224607.

Original change by  Vedmaka Wakalaka was
Ia0d840b772ea5f20c9594ce151cc57adc270e48b.

Original commit message:

The following methods should are factored out of the User class into PermissionManager,
leaving only deprecated stubs:

- User::isAllowed -> PermissionManager::userHasRight
- User::getRights -> PermissionManager::getUserPermissions
- User::groupHasPermission -> PermissionManager::groupHasPermission
- User::getGroupPermissions -> PermissionManager::getGroupPermissions
 -User::getGroupsWithPermission -> PermissionManager::getGroupsWithPermission
- User::groupHasPermission -> PermissionManager::groupHasPermission
- User::isEveryoneAllowed -> PermissionManager::isEveryoneAllowed
- User::getAllRights -> PermissionManager::getAllPermissions

Depends-On: I7909e9bd6bbfbd708c0a00b861a9b22a38c6665d

Bug: T218558
Bug: T223294
Change-Id: I8899240378f636ea70f447616710516c0a3c5c31

4 years agos/Import Images/Importing Files/ in importImages.php
Reedy [Fri, 28 Jun 2019 20:15:13 +0000 (21:15 +0100)]
s/Import Images/Importing Files/ in importImages.php

Change-Id: Ie6cc415b8440951e3a04be4f28a30aeb47b0954e

4 years agoMerge "Define unit and integration test suites"
jenkins-bot [Fri, 28 Jun 2019 20:10:10 +0000 (20:10 +0000)]
Merge "Define unit and integration test suites"

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 28 Jun 2019 20:05:01 +0000 (22:05 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I7711c0df21663fad4d5e5cc1c9fb7f0bb5c81a64

4 years agoMerge "Avoid Sizzle's :first/:last selectors. Use $.first()/$.last()"
jenkins-bot [Fri, 28 Jun 2019 19:22:26 +0000 (19:22 +0000)]
Merge "Avoid Sizzle's :first/:last selectors. Use $.first()/$.last()"

4 years agoMerge "makeCollapsible: Avoid Sizzle selectors"
jenkins-bot [Fri, 28 Jun 2019 19:22:19 +0000 (19:22 +0000)]
Merge "makeCollapsible: Avoid Sizzle selectors"

4 years agoMerge "TOC: Avoid Sizzle selectors"
jenkins-bot [Fri, 28 Jun 2019 19:22:13 +0000 (19:22 +0000)]
Merge "TOC: Avoid Sizzle selectors"