lhc/web/wiklou.git
6 years agordbms: small code cleanups to Database
Aaron Schulz [Thu, 15 Mar 2018 21:29:29 +0000 (14:29 -0700)]
rdbms: small code cleanups to Database

Change-Id: I831b4ea1ced425b5008f3dd2802e16bb898f4b47

6 years agoSelenium: configuration file for beta cluster
Željko Filipin [Fri, 16 Mar 2018 15:55:06 +0000 (16:55 +0100)]
Selenium: configuration file for beta cluster

Bug: T185011
Change-Id: Icf8588f0e82acf09e6654dd5dbf33479e4ecbbb7

6 years agoMerge "Fix User::idFromName() ignoring cache for non-existent users."
jenkins-bot [Fri, 16 Mar 2018 12:17:39 +0000 (12:17 +0000)]
Merge "Fix User::idFromName() ignoring cache for non-existent users."

6 years agoFix User::idFromName() ignoring cache for non-existent users.
Alexia E. Smith [Thu, 15 Mar 2018 15:24:21 +0000 (10:24 -0500)]
Fix User::idFromName() ignoring cache for non-existent users.

This fixes a database time out issue where User::idFromName()
is repeatedly called from Special:Import due to the user not existing.
The response is cached as null, but isset() will return false on a null key.

Bug: T189786
Change-Id: I78705089a25dfec84d3c75bedaf623b1e5ee82c4

6 years agoMerge "tests: fix Specified key was too long; in a schema"
jenkins-bot [Fri, 16 Mar 2018 11:21:56 +0000 (11:21 +0000)]
Merge "tests: fix Specified key was too long; in a schema"

6 years agoFix variable name in NewFilesPager::getQueryInfo
Gergő Tisza [Fri, 16 Mar 2018 00:38:52 +0000 (17:38 -0700)]
Fix variable name in NewFilesPager::getQueryInfo

Bug: T189846
Change-Id: I11763ecbfd391deea0494386c0d7c1cb9861aa81

6 years agoMerge "Add cleanup for handlers cache."
jenkins-bot [Thu, 15 Mar 2018 23:48:16 +0000 (23:48 +0000)]
Merge "Add cleanup for handlers cache."

6 years agoAdd cleanup for handlers cache.
Stanislav Malyshev [Thu, 15 Mar 2018 22:36:47 +0000 (15:36 -0700)]
Add cleanup for handlers cache.

This is useful if we want to override certain handler for testing
but have no way to remove it from cache otherwise.

Change-Id: Icb4f9360c6e7684d15e91a7009a5a3a3e2febb37

6 years agotests: fix Specified key was too long; in a schema
Antoine Musso [Thu, 15 Mar 2018 21:23:40 +0000 (22:23 +0100)]
tests: fix Specified key was too long; in a schema

MediaWikiTestCaseSchemaTest.sql comes with two varchar(255) combined
into a PRIMARY KEY.

That caused the testsuite to fail creating that imagelinks table with:
Error: 1071 Specified key was too long; max key length is 767 bytes

That is the limit for innodb and when using UTF8 it allows up to 3 bytes
per characters. Hence the key can be (255+255)*3 = 1530.

One can tune MySQL to bump the limit to ~ 3k with:
    innodb_large_prefix            = 1

Seems easier to just use smaller fields.

Change-Id: Ic4965b9eddc7ad9105c896e678ab9048ce0be8ef

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 15 Mar 2018 21:03:48 +0000 (22:03 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Ief5597ccece86f3f249cf7db7511be269572986c

6 years agoMerge "Fix field names and behavior in SlotRecord."
jenkins-bot [Thu, 15 Mar 2018 16:07:28 +0000 (16:07 +0000)]
Merge "Fix field names and behavior in SlotRecord."

6 years agoRemove `-webkit` vendor extension for browsers earlier than 2012
Volker E [Thu, 15 Mar 2018 04:19:34 +0000 (21:19 -0700)]
Remove `-webkit` vendor extension for browsers earlier than 2012

Removing `-webkit-gradient` value as it was just around for
Safari 4-5 and Chrome 2-9 both in released release range earlier
than 2012.
There's still the fallback color, which should be chosen wisely
anyways without cluttering our CSS output.

Change-Id: Iffb23fac44fc87cfb44f1056dfe1e4e1add444b4

6 years agoReplace abandoned text color with WikimediaUI color palette one
Volker E [Thu, 15 Mar 2018 00:45:12 +0000 (17:45 -0700)]
Replace abandoned text color with WikimediaUI color palette one

Replacing leftover `#252525` with `#222` for code sanity.

Change-Id: I0406845950c65babe34672a6a59a390f56687e46

6 years agoMerge "resourceloader: Fix mw.loader to compute combined version in packed order"
jenkins-bot [Thu, 15 Mar 2018 00:26:14 +0000 (00:26 +0000)]
Merge "resourceloader: Fix mw.loader to compute combined version in packed order"

6 years agoMerge "Convert MarkpatrolledAction to use OOUI"
jenkins-bot [Thu, 15 Mar 2018 00:16:19 +0000 (00:16 +0000)]
Merge "Convert MarkpatrolledAction to use OOUI"

6 years agoMerge "Revert "Let install.php detect and inject extensions""
jenkins-bot [Wed, 14 Mar 2018 23:13:41 +0000 (23:13 +0000)]
Merge "Revert "Let install.php detect and inject extensions""

6 years agoMerge "resourceloader: Make doRequest() an inline helper for batchRequest()"
jenkins-bot [Wed, 14 Mar 2018 22:33:58 +0000 (22:33 +0000)]
Merge "resourceloader: Make doRequest() an inline helper for batchRequest()"

6 years agoRevert "Let install.php detect and inject extensions"
Hashar [Wed, 14 Mar 2018 22:10:20 +0000 (22:10 +0000)]
Revert "Let install.php detect and inject extensions"

It is blatantly broken using non existing variables:
$installer and $options

This reverts commit 53926d9d6940eaa7f40086c9cf89af7bc726e73f.

Bug: T189567
Change-Id: Idd1f002bbd5d474f9fe386cd0e326e1fbfdec097

6 years agoMerge "resourceloader: Fix mw.loader to compute version for current request only"
jenkins-bot [Wed, 14 Mar 2018 21:49:50 +0000 (21:49 +0000)]
Merge "resourceloader: Fix mw.loader to compute version for current request only"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 14 Mar 2018 20:55:25 +0000 (21:55 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Id3b91ddc41a35c360ca3acb8fc2cf1c35321c967

6 years agoMerge "resourceloader: Fix broken code in load.php mock used to make a test fail"
jenkins-bot [Wed, 14 Mar 2018 20:46:58 +0000 (20:46 +0000)]
Merge "resourceloader: Fix broken code in load.php mock used to make a test fail"

6 years agoMerge "resourceloader: Simplify load.mock.php by removing includes dependency"
jenkins-bot [Wed, 14 Mar 2018 20:12:40 +0000 (20:12 +0000)]
Merge "resourceloader: Simplify load.mock.php by removing includes dependency"

6 years agoMerge "WikiTextStructure: Exclude <style> tags"
jenkins-bot [Wed, 14 Mar 2018 16:17:41 +0000 (16:17 +0000)]
Merge "WikiTextStructure: Exclude <style> tags"

6 years agoMerge "Correct PHP version in maintenance/dev/README"
jenkins-bot [Wed, 14 Mar 2018 14:09:01 +0000 (14:09 +0000)]
Merge "Correct PHP version in maintenance/dev/README"

6 years agoMerge "Fix typo accessable --> accessible"
jenkins-bot [Wed, 14 Mar 2018 10:18:08 +0000 (10:18 +0000)]
Merge "Fix typo accessable --> accessible"

6 years agoMerge "rdbms: allow construction of Database objects without connecting"
jenkins-bot [Wed, 14 Mar 2018 09:57:18 +0000 (09:57 +0000)]
Merge "rdbms: allow construction of Database objects without connecting"

6 years agoMerge "Let install.php detect and inject extensions"
jenkins-bot [Wed, 14 Mar 2018 08:52:39 +0000 (08:52 +0000)]
Merge "Let install.php detect and inject extensions"

6 years agoMerge "Add Russian grammar forms to support Wikiversity"
jenkins-bot [Wed, 14 Mar 2018 08:37:27 +0000 (08:37 +0000)]
Merge "Add Russian grammar forms to support Wikiversity"

6 years agoFix typo accessable --> accessible
Jayprakash12345 [Wed, 14 Mar 2018 05:24:09 +0000 (05:24 +0000)]
Fix typo accessable --> accessible

Change-Id: I239a15e1bc3a311d9284285a04094afae331111d

6 years agoMerge "rdbms: Add $join_conds to IDatabase::estimateRowCount()"
jenkins-bot [Wed, 14 Mar 2018 02:06:55 +0000 (02:06 +0000)]
Merge "rdbms: Add $join_conds to IDatabase::estimateRowCount()"

6 years agoMerge "rdbms: inject the mysql index name aliases into Database"
jenkins-bot [Wed, 14 Mar 2018 01:57:50 +0000 (01:57 +0000)]
Merge "rdbms: inject the mysql index name aliases into Database"

6 years agoMerge "resourceloader: Clean up and better document module list (un)packing"
jenkins-bot [Wed, 14 Mar 2018 01:48:32 +0000 (01:48 +0000)]
Merge "resourceloader: Clean up and better document module list (un)packing"

6 years agordbms: avoid throwing exceptions in Database::close() on reconnect
Aaron Schulz [Thu, 8 Mar 2018 21:38:10 +0000 (13:38 -0800)]
rdbms: avoid throwing exceptions in Database::close() on reconnect

The check caused problems in reconnect() calls from rollback()
triggered by LBFactory::rollbackMasterChanges(). Since callbacks
are suppressed at that time, handleSessionLoss() does not consume
all of them, so the the call to open() triggered a close() call
that would error out since the callbacks are still there.

Only do that check if a connection was present beforehand.
Check for callback suppression before trying commit() too.

Also make writesOrCallbacksPending() check trxEndCallbacks.

Bug: T188875
Change-Id: Ia46d30d75132358a0b4f60e847937013781c1daa

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 13 Mar 2018 20:58:50 +0000 (21:58 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I627c60bb104653ae4203b4a89b28fc2fdee3f96b

6 years agoAvoid dumping big stack traces from unit tests.
daniel [Tue, 13 Mar 2018 19:32:18 +0000 (20:32 +0100)]
Avoid dumping big stack traces from unit tests.

Using assertFalse( $exception ) results in potentially very large stack
trace dumps, when $exception is an exception from deep inside MediaWiki.

Stack trace dumps include a dump of all parameters, resulting in console
output of (in my case) over 160 MB.

Change-Id: Ib78493d86531844a892586c071b2fa631ad765eb

6 years agoWikiTextStructure: Exclude <style> tags
Brad Jorsch [Tue, 13 Mar 2018 18:57:45 +0000 (14:57 -0400)]
WikiTextStructure: Exclude <style> tags

They aren't part of the article content, so they shouldn't be indexed
for search.

Bug: T189528
Change-Id: I3203f1f415eb821975098057d75c0e535b1fc76c

6 years agoCorrect PHP version in maintenance/dev/README
Leszek Manicki [Tue, 13 Mar 2018 12:39:14 +0000 (13:39 +0100)]
Correct PHP version in maintenance/dev/README

Change-Id: I1d52f60c20317efb3c36763fd47be09dc6dd57dd

6 years agoLet install.php detect and inject extensions
Antoine Musso [Tue, 13 Mar 2018 09:16:15 +0000 (10:16 +0100)]
Let install.php detect and inject extensions

For CI, I went with a dirty trick to find extensions and either
wfLoadExtension() or include them. That has since been ported to
Installer::findExtensions() and LocalSettingsGenerator::getText().

The WebInstaller() relies on that to detect extensions and let the user
tick the ones to be installed.

Add --with-extensions to install.php so one can include all extensions
from the command line.

Note: The CliInstaller always wfLoad() any skin it can find.

Bug: T189567
Change-Id: Ic8aa6bea4e7294e54fd5b71df267c9e934f78fce

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 12 Mar 2018 20:55:41 +0000 (21:55 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I2deac4d88a30eab3503ff74147c92f429d554574

6 years agordbms: inject the mysql index name aliases into Database
Aaron Schulz [Sat, 17 Feb 2018 22:09:02 +0000 (14:09 -0800)]
rdbms: inject the mysql index name aliases into Database

Also added LBFactory::setTableAlias() for consistency with this

Change-Id: Ie49003ff8fd5b99f75db9fae8fe0a184444254d4

6 years agoMerge "Switch Block::purgeExpired to use AutoCommitUpdate"
jenkins-bot [Mon, 12 Mar 2018 18:51:47 +0000 (18:51 +0000)]
Merge "Switch Block::purgeExpired to use AutoCommitUpdate"

6 years agordbms: Add $join_conds to IDatabase::estimateRowCount()
Brad Jorsch [Mon, 12 Mar 2018 16:15:14 +0000 (12:15 -0400)]
rdbms: Add $join_conds to IDatabase::estimateRowCount()

So queries with joins can be estimated.

Change-Id: I9163cf9005d2c2001a88bb102eb4142f0322b0df

6 years agoMerge "Fix typo acceptible --> acceptable"
jenkins-bot [Mon, 12 Mar 2018 12:12:04 +0000 (12:12 +0000)]
Merge "Fix typo acceptible --> acceptable"

6 years agoFix typo acceptible --> acceptable
Jayprakash12345 [Mon, 12 Mar 2018 10:53:20 +0000 (10:53 +0000)]
Fix typo acceptible --> acceptable

Change-Id: I9304d830744238e4733240dd65c285fed61d0416

6 years agoAdd Hijri calendar in Urdu
zoranzoki21 [Sun, 4 Feb 2018 18:20:14 +0000 (19:20 +0100)]
Add Hijri calendar in Urdu

Allows users to select their preferred calendar from Preferences.

Bug: T145266
Change-Id: I7299d0f84f629da781b100c4db6b2a30a7d1bb86

6 years agoMerge "Remove "dash" case in preprocessToObj"
jenkins-bot [Mon, 12 Mar 2018 03:06:30 +0000 (03:06 +0000)]
Merge "Remove "dash" case in preprocessToObj"

6 years agoMerge "Move phpunit @group from file comment to class comment"
jenkins-bot [Mon, 12 Mar 2018 00:53:28 +0000 (00:53 +0000)]
Merge "Move phpunit @group from file comment to class comment"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 11 Mar 2018 20:56:39 +0000 (21:56 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Iea4877827a12d5117578b8d1a6f1fefc53e1cdeb

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 10 Mar 2018 20:54:04 +0000 (21:54 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I556a81048fbf024a585f7f586b91762eea568cb3

6 years agoConvert MarkpatrolledAction to use OOUI
Amir Sarabadani [Sat, 10 Mar 2018 19:43:03 +0000 (20:43 +0100)]
Convert MarkpatrolledAction to use OOUI

Bug: T189385
Change-Id: I9bd78166be5ab80e58498d2934531185404b17de

6 years agoMove phpunit @group from file comment to class comment
Umherirrender [Fri, 9 Mar 2018 21:56:41 +0000 (22:56 +0100)]
Move phpunit @group from file comment to class comment

Remove @group from non tests

Change-Id: Iae9ee3bc5f539a9b4ded8374006ab2993234450e

6 years agoMerge "Fix typo in word compatibility"
jenkins-bot [Sat, 10 Mar 2018 01:04:31 +0000 (01:04 +0000)]
Merge "Fix typo in word compatibility"

6 years agoCleanup some comments related to DB replication
Aaron Schulz [Fri, 9 Mar 2018 11:32:30 +0000 (03:32 -0800)]
Cleanup some comments related to DB replication

Change-Id: Icaaa5144beaedfebb88530480733a1e916c935fb

6 years agoRemove "dash" case in preprocessToObj
Arlo Breault [Fri, 9 Mar 2018 22:46:53 +0000 (17:46 -0500)]
Remove "dash" case in preprocessToObj

This was introduced in 2877402 and removed in 186a182

Change-Id: Ibfa1ae1597bfc50ae6ea49402c7966ca042f12e5

6 years agoFix typo in word compatibility
Umherirrender [Fri, 9 Mar 2018 22:04:44 +0000 (23:04 +0100)]
Fix typo in word compatibility

Change-Id: Ic6ad14f5e156311cee3021cd427561dfcd68633a

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 9 Mar 2018 21:00:22 +0000 (22:00 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Ib13656ed8c5c45facc4166963cd4a7f32ade30bf

6 years agoMerge "Add ExternalUserNames::getLocal() to get local part of username"
jenkins-bot [Fri, 9 Mar 2018 20:53:30 +0000 (20:53 +0000)]
Merge "Add ExternalUserNames::getLocal() to get local part of username"

6 years agoMerge "API: Update prefixsearch/opensearch docs"
jenkins-bot [Fri, 9 Mar 2018 20:05:34 +0000 (20:05 +0000)]
Merge "API: Update prefixsearch/opensearch docs"

6 years agoAdd ExternalUserNames::getLocal() to get local part of username
Amir Sarabadani [Fri, 9 Mar 2018 19:32:41 +0000 (20:32 +0100)]
Add ExternalUserNames::getLocal() to get local part of username

Bug: T189320
Change-Id: I99908ced218c45ecbb23f390f065170292f153b4

6 years agoAPI: Update prefixsearch/opensearch docs
Brad Jorsch [Fri, 9 Mar 2018 19:44:17 +0000 (14:44 -0500)]
API: Update prefixsearch/opensearch docs

The psnamespace parameter to action=query&list=prefixsearch is ignored
if pssearch has a valid namespace prefix. This should be documented.

Same for the similar parameters to action=opensearch.

Bug: T189139
Change-Id: I4914e5c915e6f8e5c0d5116f034ca671fe45a3f8

6 years agoRemove useless use
Brad Jorsch [Fri, 9 Mar 2018 19:11:36 +0000 (14:11 -0500)]
Remove useless use

A use declaration for a non-namespaced class in a non-namespaced context
causes a PHP warning.

Bug: T189302
Change-Id: I023e64c8194dd03cc3a1098e2d60c73f99bb02e3

6 years agoRemove deprecated function wfBaseConvert()
Jayprakash12345 [Fri, 9 Mar 2018 13:06:58 +0000 (13:06 +0000)]
Remove deprecated function wfBaseConvert()

Bug: T189300
Change-Id: I5f05beb105dca8e8079e770df562c004a689c2ed

6 years agoMerge "Replace wfGetLBFactory"
jenkins-bot [Fri, 9 Mar 2018 11:33:10 +0000 (11:33 +0000)]
Merge "Replace wfGetLBFactory"

6 years agoMerge "purgeExpiredUserrights: Show number of rows purged"
jenkins-bot [Fri, 9 Mar 2018 10:45:53 +0000 (10:45 +0000)]
Merge "purgeExpiredUserrights: Show number of rows purged"

6 years agoMerge "Fix spelling mistake inside API i18n message"
jenkins-bot [Fri, 9 Mar 2018 10:37:27 +0000 (10:37 +0000)]
Merge "Fix spelling mistake inside API i18n message"

6 years agoFix spelling mistake inside API i18n message
Southparkfan [Thu, 8 Mar 2018 22:13:35 +0000 (22:13 +0000)]
Fix spelling mistake inside API i18n message

Change-Id: Ief2814e2fdd94b68eb6a52261b3aa4f47009bfc6

6 years agordbms: allow construction of Database objects without connecting
Aaron Schulz [Wed, 28 Feb 2018 20:56:34 +0000 (12:56 -0800)]
rdbms: allow construction of Database objects without connecting

* Database::factory() supports a $connect parameter, that defaults
  to NEW_CONNECTED (current behavior) but can also be NEW_UNCONNECTED.
* Add tests asserting the type of various instances returned from
  Database::factory().
* Clean up sqlite "conn" field handling to handle cases of it
  not being set, just as other classes do.
* Add some comments about the return type of doQuery().

Change-Id: Ic0837cfdb35326c2045133d664abd29043d48c03

6 years agoMerge "rdbms: small cleanups to session loss handling"
jenkins-bot [Fri, 9 Mar 2018 00:25:59 +0000 (00:25 +0000)]
Merge "rdbms: small cleanups to session loss handling"

6 years agoMerge "Update OOUI to v0.25.3"
jenkins-bot [Thu, 8 Mar 2018 23:15:23 +0000 (23:15 +0000)]
Merge "Update OOUI to v0.25.3"

6 years agoTypo fix
Brad Jorsch [Thu, 8 Mar 2018 21:46:08 +0000 (16:46 -0500)]
Typo fix

Bug: T189251
Change-Id: I5e7af2629d566181f3280049b6847c0126850ff2

6 years agordbms: small cleanups to session loss handling
Aaron Schulz [Thu, 8 Mar 2018 20:40:07 +0000 (12:40 -0800)]
rdbms: small cleanups to session loss handling

Split the two callback runner calls in handleSessionLoss() into two
separate try/catch loops. Return the first exception, if any.

Also make the $recoverable check for connection loss in Database::query
slightly more readable by checking the positive rather than the negative.

Change-Id: I75935fa69e40450ac3983f0d3451ab3001650b6f

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 8 Mar 2018 21:23:54 +0000 (22:23 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I34c71561c72518697570e7f35bbf3e5ca6ea8e3d

6 years agoMerge "Job::insert: Hard deprecate (soft-deprecated in 1.21!)"
jenkins-bot [Thu, 8 Mar 2018 20:28:42 +0000 (20:28 +0000)]
Merge "Job::insert: Hard deprecate (soft-deprecated in 1.21!)"

6 years agoFix field names and behavior in SlotRecord.
daniel [Tue, 6 Mar 2018 18:46:13 +0000 (19:46 +0100)]
Fix field names and behavior in SlotRecord.

The field names used in SlotRecord got out of sync with the changes made
to the database schema. Nobody noticed, because these fields are not yet
written to or read from the database.

This change also rewrites SlotRecordTest and adds several sanity checks
to SlotRecord, in preparation of the introduction of slot_origin.

Change-Id: Ifdf040174705bf88104b8c922c9d6d1120d48f3a

6 years agoDrop OpenSearch::getOpenSearchTemplate(), deprecated in 1.25
James D. Forrester [Tue, 6 Mar 2018 17:08:09 +0000 (17:08 +0000)]
Drop OpenSearch::getOpenSearchTemplate(), deprecated in 1.25

Change-Id: Ib76b96cf392b7f9fa38d28173dd2cd170e08a881

6 years agordbms: Restore test for Database::setFlag()
Timo Tijhof [Thu, 8 Mar 2018 04:10:13 +0000 (20:10 -0800)]
rdbms: Restore test for Database::setFlag()

Follows-up b4eb1feed05b5, which inadvertendly replaced the setFlag()
test with the clearFlag() test.

Also move the test to the DatabaseTest.php file given it's only
executing and covering base class.

Change-Id: I2f4ed6c4eeba845eb67013e1ab7d2b2bde863119

6 years agoresourceloader: Fix mw.loader to compute combined version in packed order
Timo Tijhof [Wed, 7 Mar 2018 00:23:06 +0000 (16:23 -0800)]
resourceloader: Fix mw.loader to compute combined version in packed order

The 'version' param was being computed based on the order of the modules list
before we perform string compression. And this compression can change the order
for its optimisation purposes.

Specifically, when requesting modules like 'a', 'b.1', 'b.2' and 'c'. The
version was computed based on a + b.1 + b.2 + c (standard sort order),
whereas the optimised list is 'a,c|b.1,2', which expands to a + c + b.1 + b.2,
which makes hash validation fail.

Bug: T188076
Change-Id: I00d6985c054fecd88acf73041aa02878e83d62bc

6 years agoresourceloader: Make doRequest() an inline helper for batchRequest()
Timo Tijhof [Thu, 1 Mar 2018 21:27:37 +0000 (13:27 -0800)]
resourceloader: Make doRequest() an inline helper for batchRequest()

Uses all the current variables, might as well just inline since
its only purpose was to avoid duplication of these three lines
of code within batchRequest()'s for-loop. It's used as private
function elsewhere internally.

Change-Id: Ib016ae412b32b4041d2bd8a74d22b88bf70417b4

6 years agoMerge "Self links should not be marked as legacy css"
jenkins-bot [Wed, 7 Mar 2018 23:54:06 +0000 (23:54 +0000)]
Merge "Self links should not be marked as legacy css"

6 years agoMerge "maintainance: Re-order OOUI script to be clearer, rename"
jenkins-bot [Wed, 7 Mar 2018 23:01:04 +0000 (23:01 +0000)]
Merge "maintainance: Re-order OOUI script to be clearer, rename"

6 years agoMerge "tables.sql: Correct lie about ct_params being unused"
jenkins-bot [Wed, 7 Mar 2018 22:58:26 +0000 (22:58 +0000)]
Merge "tables.sql: Correct lie about ct_params being unused"

6 years agotables.sql: Correct lie about ct_params being unused
Roan Kattouw [Wed, 7 Mar 2018 22:48:26 +0000 (14:48 -0800)]
tables.sql: Correct lie about ct_params being unused

It is used by ContentTranslation to store things like
{"from":"es","to":"en"}

Change-Id: I880ecc74ab46dde2fa00ddb7baea08edeabcf676

6 years agoUpdate wikimedia/remex-html to 1.0.3
Kunal Mehta [Wed, 7 Mar 2018 21:26:27 +0000 (13:26 -0800)]
Update wikimedia/remex-html to 1.0.3

Depends-On: I537768aa34f0bfa8da3aa401d9a7c4b8ba380508
Change-Id: Ifedb963c4ddf941c46bea9527fd8860b273e2d71

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 7 Mar 2018 21:23:54 +0000 (22:23 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Ifae4500f5cfbeb69cf8a055b7d0274898ea68fee

6 years agoresourceloader: Fix mw.loader to compute version for current request only
Timo Tijhof [Thu, 1 Mar 2018 04:19:28 +0000 (20:19 -0800)]
resourceloader: Fix mw.loader to compute version for current request only

Previously, the 'version' query parameter was computed before request-splitting
which meant that all requests within the same 'source/group'-batch carried the
same 'version' parameter. This was then consistently rejected on the server due
to it not batching the combined hash of modules for any given request.

In practice this happened very rarely (if at all) in production, because
urls don't usually hit anywhere near 2000 in common use.

Bug: T188076
Change-Id: I211523d4781623873887a05d048f56cccd28432c

6 years agoresourceloader: Fix broken code in load.php mock used to make a test fail
Timo Tijhof [Thu, 1 Mar 2018 03:28:42 +0000 (19:28 -0800)]
resourceloader: Fix broken code in load.php mock used to make a test fail

The load.mock.php has some module implementation stubs that call global
QUnit methods. This has been broken since the upgrade to QUnit 2, which removed
support for these (deprecated) methods, in favour of context-based assert.

However, this went unnoticed because these stubs are only there to make
our test fail if code is behaving incorrectly. Naturally, this isn't the
case normally. In theory, any unmerged code between QUnit 2 upgrade and now
would've failed Jenkins for something like 'QUnit.ok undefined' instead of
the more descriptive error message the stub supplies.

Fix this by instead statically exposing the contextual assert object
to the stubs.

Also centralise the clean up (teardown) for this new exposure, and also
clean up the other static exposure we have (testCallback) in the same way,
and document the cases where we intentionally clean it up inline.

Change-Id: I00b71e7bc9aa97275dfabf1070c4141fa76adb05

6 years agoRemove FakeDatabaseMysqlBase test class
Aaron Schulz [Fri, 2 Mar 2018 05:25:00 +0000 (21:25 -0800)]
Remove FakeDatabaseMysqlBase test class

Improve some flag tests that did not seem to test much

Change-Id: Iecfc877645cc66cb696beb2b314a6d149745a530

6 years agomaintainance: Re-order OOUI script to be clearer, rename
James D. Forrester [Wed, 7 Mar 2018 18:34:28 +0000 (18:34 +0000)]
maintainance: Re-order OOUI script to be clearer, rename

Change-Id: I6fa9b4840a4b01a71aeb618973f4b858fa1a6c9c

6 years agoUpdate OOUI to v0.25.3
Volker E [Wed, 7 Mar 2018 07:13:15 +0000 (23:13 -0800)]
Update OOUI to v0.25.3

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

Depends-On: I4b847a3e253def12ba1fa15607e1700a4a2c236a
Change-Id: Id10209ea2e36beaac36a0d3509edaa83442290b4

6 years agoMerge "Restore index forcing in ContribsPager"
jenkins-bot [Wed, 7 Mar 2018 17:21:12 +0000 (17:21 +0000)]
Merge "Restore index forcing in ContribsPager"

6 years agoMerge "Introduce IDatabase::buildIntegerCast"
jenkins-bot [Wed, 7 Mar 2018 15:06:05 +0000 (15:06 +0000)]
Merge "Introduce IDatabase::buildIntegerCast"

6 years agoMerge "Introduce IDatabase::buildSubstring"
jenkins-bot [Wed, 7 Mar 2018 15:06:02 +0000 (15:06 +0000)]
Merge "Introduce IDatabase::buildSubstring"

6 years agoArticle.php: Use BCP 47 language code for HTML attribute lang
Fomafix [Wed, 7 Mar 2018 13:16:02 +0000 (14:16 +0100)]
Article.php: Use BCP 47 language code for HTML attribute lang

Change-Id: If2194fbb98cbab284aba74e127cc3953a5714b9b

6 years agoIntroduce IDatabase::buildIntegerCast
addshore [Sun, 4 Mar 2018 13:50:28 +0000 (13:50 +0000)]
Introduce IDatabase::buildIntegerCast

Change-Id: Ib24856d1ebe017ff07ae497972c764b4a3f3c7df

6 years agoIntroduce IDatabase::buildSubstring
addshore [Sun, 4 Mar 2018 13:23:39 +0000 (13:23 +0000)]
Introduce IDatabase::buildSubstring

Change-Id: I96f3e0c4920d52f63175cb6767c149f20a8a8cde

6 years agoMerge "Add support for 'hu-formal'"
jenkins-bot [Wed, 7 Mar 2018 10:55:43 +0000 (10:55 +0000)]
Merge "Add support for 'hu-formal'"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 7 Mar 2018 07:02:09 +0000 (08:02 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I8d388605f385e8be40f22459be2cda7105ce6600

6 years agoMerge "Use `class="free external"` only on unbracketed URLs"
jenkins-bot [Wed, 7 Mar 2018 05:49:24 +0000 (05:49 +0000)]
Merge "Use `class="free external"` only on unbracketed URLs"

6 years agoUse `class="free external"` only on unbracketed URLs
C. Scott Ananian [Wed, 28 Feb 2018 21:11:09 +0000 (16:11 -0500)]
Use `class="free external"` only on unbracketed URLs

The ability for URLs to be marked free even if they use bracketed syntax
but "sorta look free" (aka unbracketed) was added 13 years ago in
2d71cb30802e5cb78a423a1699ad87e23bfe9f4e (r7074).

It seemed like a reasonable idea at the time: make printed output a little
prettier by marking "sorta free" URLs as free.  But this complicates the
semantics of wikitext, and introduces all sorts of strange corner cases,
for example:

  [http://example.com/&amp; http://example.com/&]

isn't marked as free, even though the parser output is:

  <a rel="nofollow" class="external text" href="http://example.com/&amp;">http://example.com/&amp;</a>

This functionality isn't actually needed: if you want the pretty printed
output of an unbracketed URL, then actually use an unbracketed URL.

In recent years we're more concerned with simplifying the semantics of
wikitext and eliminating corner cases, such that the content of our wikis
can be effectively archived.  The "effectively free" URLs are low-hanging
fruit in this quest.

Change-Id: I339e8698786c60c96a37a73443cb9a04362662c4

6 years agoMerge "Allow querying contributions of interwiki usernames"
jenkins-bot [Wed, 7 Mar 2018 04:25:32 +0000 (04:25 +0000)]
Merge "Allow querying contributions of interwiki usernames"