lhc/web/wiklou.git
5 years agoMake teardownTestDB() close any dangling connections before changing the prefix
Aaron Schulz [Fri, 5 Apr 2019 19:36:34 +0000 (12:36 -0700)]
Make teardownTestDB() close any dangling connections before changing the prefix

Bug: T219673
Change-Id: I028fc16b874cac744f7215601eec754a76f31a3f

5 years agoMerge "media: Convert JpegHandler to shell execution framework"
jenkins-bot [Fri, 5 Apr 2019 18:02:33 +0000 (18:02 +0000)]
Merge "media: Convert JpegHandler to shell execution framework"

5 years agoMerge "Remove broken explode() from MediaWikiMediaTestCase::dataFile()"
jenkins-bot [Fri, 5 Apr 2019 17:55:40 +0000 (17:55 +0000)]
Merge "Remove broken explode() from MediaWikiMediaTestCase::dataFile()"

5 years agoMerge "Remove warning for unnused 4th argument on wikidiff2"
jenkins-bot [Fri, 5 Apr 2019 16:53:30 +0000 (16:53 +0000)]
Merge "Remove warning for unnused 4th argument on wikidiff2"

5 years agoMerge "Introduce PermissionManager service"
jenkins-bot [Fri, 5 Apr 2019 16:45:32 +0000 (16:45 +0000)]
Merge "Introduce PermissionManager service"

5 years agoMerge "Introduce 'clone' flag for newFromLinkTarget."
jenkins-bot [Fri, 5 Apr 2019 16:45:23 +0000 (16:45 +0000)]
Merge "Introduce 'clone' flag for newFromLinkTarget."

5 years agoRemove warning for unnused 4th argument on wikidiff2
WMDE-Fisch [Fri, 5 Apr 2019 16:23:49 +0000 (18:23 +0200)]
Remove warning for unnused 4th argument on wikidiff2

Since we changed the signature back to 3 arguments in wikidiff2 verion
1.8.0, the warning is invalid.

Bug: T220217
Bug: T203069
Bug: T194272
Change-Id: Ia326c67de28a4e9b024466c62097b4e1e1096007

5 years agojobqueue: Document Title as valid param type for compat (2)
Timo Tijhof [Fri, 5 Apr 2019 00:09:30 +0000 (01:09 +0100)]
jobqueue: Document Title as valid param type for compat (2)

Follows-up 9b4938c40d02c, and 4bff6f1558. The latter of which
updated ::factory() instead of __construct(). Oops.

This should fix build failures that are preventing merges
in repos where Phan is finding Job::__construct(string, Title)
where it currently fails as follows:

 CompileArticleMetadataJob.php:11
 PhanTypeMismatchArgument Argument 2 (params) is …\Title|string but
 \Job::__construct() takes array

As Phan is reading the php doc I guess.

Change-Id: I128d57ead6bcb9dbae99d41a1f23192c3f6fbdba

5 years agoMerge "Clean up LoadBalancerTest and move more code to private methods"
jenkins-bot [Fri, 5 Apr 2019 16:00:09 +0000 (16:00 +0000)]
Merge "Clean up LoadBalancerTest and move more code to private methods"

5 years agoIntroduce PermissionManager service
Vedmaka [Thu, 7 Mar 2019 20:02:07 +0000 (23:02 +0300)]
Introduce PermissionManager service

First iteration of adding a PermissionManager service as a replacement
for Title::userCan and User::isBlockedFrom methods.

- Created PermissionManager service
- Migrated Title::userCan to PermissionManager::userCan and deprecated the first
- Migrated Title::quickUserCan to PermissionManager::quickUserCan and deprecated the first
- Migrated User::isBlockedFrom to PermissionManager::isBlockedFrom and deprecated the first

Same for User::isBlockedFrom and PermissionManager::isBlockedFrom - the
$user parameter is now required so the declaration is changed from
isBlockedFrom( $title, ... ) to isBlockedFrom( $user, $title, .. ) which
means before User::isBlockedFrom removal all calls to it need to be updated.

Added PermissionManagerTest, it copies TitlePermissionTest but uses
PermissionManager instance instead of Title methods, this way keeping both tests
in place, we can ensure that nothing was broken and both are in working state
during the deprecation phase.

Bug: T208768
Change-Id: I94479b44afb3068695f8e327b46bda38e44e691f

5 years agoIntroduce 'clone' flag for newFromLinkTarget.
daniel [Wed, 3 Apr 2019 08:47:57 +0000 (10:47 +0200)]
Introduce 'clone' flag for newFromLinkTarget.

The "new" part of some of the newXXX pseudo-constructors
in the Title class is a lie: these methods do not always
return a new instance. This patch ensures that this fact is
documented, and we have a safe way to get a fresh Title
from a LinkTarget.

Needed by I94479b44afb30

Change-Id: I4d561ef7d7447d3d6e35079cf656bd564882d25e

5 years agoAdd some more missing limit parameters to explode() calls
Thiemo Kreuz [Tue, 26 Mar 2019 10:50:17 +0000 (11:50 +0100)]
Add some more missing limit parameters to explode() calls

I benchmarked this again. The runtime of an unlimited explode() can be
quite high. This is not really a DoS attack vector as it would require to
post megabytes worth of input to the code, which will hit many other
limits before. I still consider it good practice to use unlimited explode()
only when it is actually allowed to return an unlimited amount of elements.

Change-Id: I30f8ca5dba7b317bb4a046b9740fd736b4eea291

5 years ago[i18n] Update Czech translations of special pages
Martin Urbanec [Fri, 5 Apr 2019 06:43:26 +0000 (08:43 +0200)]
[i18n] Update Czech translations of special pages

Change-Id: I0c17dd0972623ba75b4f7e4b2fced59add402bbb

5 years agoClean up LoadBalancerTest and move more code to private methods
Aaron Schulz [Fri, 5 Apr 2019 04:18:37 +0000 (21:18 -0700)]
Clean up LoadBalancerTest and move more code to private methods

Change-Id: I4c541537f9b95918f8d1a057ccbc29e8525ddc15

5 years agoMerge "jobqueue: Document Title as valid param type for compat"
jenkins-bot [Fri, 5 Apr 2019 02:37:49 +0000 (02:37 +0000)]
Merge "jobqueue: Document Title as valid param type for compat"

5 years agoMerge "Add missing transaction round commit calls to RefreshLinksJob"
jenkins-bot [Fri, 5 Apr 2019 00:46:45 +0000 (00:46 +0000)]
Merge "Add missing transaction round commit calls to RefreshLinksJob"

5 years agomedia: Convert JpegHandler to shell execution framework
Max Semenik [Sun, 17 Mar 2019 05:45:17 +0000 (22:45 -0700)]
media: Convert JpegHandler to shell execution framework

Change-Id: I99dbdf9108d3b3dc82acd0ca7ba5da9645f41790

5 years agojobqueue: Document Title as valid param type for compat
Timo Tijhof [Fri, 5 Apr 2019 00:09:30 +0000 (01:09 +0100)]
jobqueue: Document Title as valid param type for compat

Follows-up 9b4938c40d02c.

This should fix build failures that are preventing merges
in repos where Phan is finding Job::__construct(string, Title)
where it currently fails as follows:

 CompileArticleMetadataJob.php:11
 PhanTypeMismatchArgument Argument 2 (params) is …\Title|string but
 \Job::__construct() takes array

As Phan is reading the php doc I guess.

Change-Id: I94b442f06b6858d136546bf22f2465cf8f071ab0

5 years agoAdd missing transaction round commit calls to RefreshLinksJob
Aaron Schulz [Thu, 4 Apr 2019 23:25:00 +0000 (16:25 -0700)]
Add missing transaction round commit calls to RefreshLinksJob

Follow-up to 83933a436e1ee9d

Bug: T220037
Change-Id: Ib1ac31365f9c325c56bae11aefe825ad2b2be881

5 years agoMerge "Add meta=userinfo&uiprop=latestcontrib"
jenkins-bot [Thu, 4 Apr 2019 23:23:54 +0000 (23:23 +0000)]
Merge "Add meta=userinfo&uiprop=latestcontrib"

5 years agoUpdate OOUI to v0.31.3
Volker E [Thu, 4 Apr 2019 21:29:43 +0000 (14:29 -0700)]
Update OOUI to v0.31.3

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

Bug: T193731
Bug: T194523
Bug: T217381
Bug: T218408
Bug: T219033
Bug: T219826
Depends-On: I94d1fd4398ec92c2ec63ebf1e57b3b4fc72bd76a
Change-Id: Ibb276860815fc29beaea131401bb5dfeca5159d6

5 years agoMerge "Use HTTP method as hint for the locking mode of sqlite"
jenkins-bot [Thu, 4 Apr 2019 21:08:56 +0000 (21:08 +0000)]
Merge "Use HTTP method as hint for the locking mode of sqlite"

5 years agoforeign-resources.yaml: Add TODOs for the four remaining unverified libraries
James D. Forrester [Thu, 4 Apr 2019 20:01:16 +0000 (13:01 -0700)]
foreign-resources.yaml: Add TODOs for the four remaining unverified libraries

Change-Id: I493415f89745eddf4a64ae23aced586028cc16aa

5 years agoAvoid hitting DB in Category getters when they have the required info
Agabi10 [Wed, 7 Nov 2018 16:15:06 +0000 (16:15 +0000)]
Avoid hitting DB in Category getters when they have the required info

Bug: T63045
Change-Id: Ib881ce263fa7a4a8256f627a56b774aaa815d3df

5 years agoMerge "Collapse some nested if statements"
jenkins-bot [Thu, 4 Apr 2019 19:29:31 +0000 (19:29 +0000)]
Merge "Collapse some nested if statements"

5 years agoCollapse some nested if statements
Reedy [Fri, 29 Mar 2019 20:12:24 +0000 (20:12 +0000)]
Collapse some nested if statements

Change-Id: I9a97325d738d09370d29d35d5254bc0dadc57ff4

5 years agoMerge "resourceloader: Fix typo in comment to make more sense"
jenkins-bot [Thu, 4 Apr 2019 18:56:19 +0000 (18:56 +0000)]
Merge "resourceloader: Fix typo in comment to make more sense"

5 years agoMerge "resourceloader: Fix return type doc for getSelectors() method"
jenkins-bot [Thu, 4 Apr 2019 18:50:59 +0000 (18:50 +0000)]
Merge "resourceloader: Fix return type doc for getSelectors() method"

5 years agoMerge "jobqueue: dependency inject more objects into JobQueue"
jenkins-bot [Thu, 4 Apr 2019 18:50:08 +0000 (18:50 +0000)]
Merge "jobqueue: dependency inject more objects into JobQueue"

5 years agoresourceloader: Fix typo in comment to make more sense
Derick Alangi [Thu, 4 Apr 2019 10:17:38 +0000 (11:17 +0100)]
resourceloader: Fix typo in comment to make more sense

Change-Id: I5d519fcded529d022461a040efe0fe17e7c1c589

5 years agoMerge "Add &$tags argument to MarkPatrolled hook"
jenkins-bot [Thu, 4 Apr 2019 17:09:31 +0000 (17:09 +0000)]
Merge "Add &$tags argument to MarkPatrolled hook"

5 years agoMerge "Fix wpCreateAccount bug when set on Special:Block url params"
jenkins-bot [Thu, 4 Apr 2019 12:58:04 +0000 (12:58 +0000)]
Merge "Fix wpCreateAccount bug when set on Special:Block url params"

5 years agoresourceloader: Fix return type doc for getSelectors() method
Derick Alangi [Thu, 4 Apr 2019 10:27:22 +0000 (11:27 +0100)]
resourceloader: Fix return type doc for getSelectors() method

So I've checked and this method should return an array and this array
specifically is an array of strings (string[]). In addition, remove an
irrelevant semicolon after foreach().

Change-Id: Id7dffe882583a7555d87a5b9c409584478c30a8c

5 years agoUse HTTP method as hint for the locking mode of sqlite
Aaron Schulz [Sat, 9 Mar 2019 00:02:49 +0000 (16:02 -0800)]
Use HTTP method as hint for the locking mode of sqlite

Bug: T93097
Change-Id: I4aa44345e2f9e252c1a351f252bdcb9e15f180a5

5 years agojobqueue: dependency inject more objects into JobQueue
Aaron Schulz [Sat, 30 Mar 2019 04:41:34 +0000 (21:41 -0700)]
jobqueue: dependency inject more objects into JobQueue

Also moved some WikiMap/$wgJobClasses checks to JobQueueGroup::pop
which is the method callers are supposed to use.

Change-Id: I2ab82d8adc4ae1f54697d2935afa2053539cf2db

5 years agoMerge "tests: enable MariaDB/MySQL strict mode"
jenkins-bot [Thu, 4 Apr 2019 07:34:02 +0000 (07:34 +0000)]
Merge "tests: enable MariaDB/MySQL strict mode"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 4 Apr 2019 06:13:48 +0000 (08:13 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I41a457d73c94bab3dd7a1104d513aa9598aba4e3

5 years agoMerge "phpunit: Call 'teardownTestDB' from shutdown instead of destruct."
jenkins-bot [Thu, 4 Apr 2019 04:24:39 +0000 (04:24 +0000)]
Merge "phpunit: Call 'teardownTestDB' from shutdown instead of destruct."

5 years agoMerge "Define a default Monolog logger if inexistant"
jenkins-bot [Thu, 4 Apr 2019 04:19:57 +0000 (04:19 +0000)]
Merge "Define a default Monolog logger if inexistant"

5 years agoDefine a default Monolog logger if inexistant
Seb35 [Tue, 12 Jun 2018 10:43:35 +0000 (12:43 +0200)]
Define a default Monolog logger if inexistant

In the array 'loggers' the key '@default' is assumed to be present,
hence be sure it is defined: this is the system default for MediaWiki,
it can be overwritten if desired.

This default php://stderr with level ERROR is inspired from Monolog’s
own default, which is php://stderr with level DEBUG: this is similar
but less violent for the average MediaWiki sysadmin.

Bug: T196906
Change-Id: Id74083fc20ddf906c40e6d149095e8ade4c68572

5 years agoRemove `background-size()` LESS mixin.
Volker E [Thu, 4 Apr 2019 03:17:34 +0000 (20:17 -0700)]
Remove `background-size()` LESS mixin.

It is not useful any more, as it only applies to Android 2 and
got deprecated in 1.27.

Bug: T219956
Change-Id: If5174704c2b50ce45b6a02e1b53691df380c6f3c

5 years agoMerge "Check line length of HISTORY"
jenkins-bot [Thu, 4 Apr 2019 00:08:32 +0000 (00:08 +0000)]
Merge "Check line length of HISTORY"

5 years agoMerge "ChangesList: Comment out newlines in EnhancedChangesListGroup.mustache"
jenkins-bot [Wed, 3 Apr 2019 23:44:19 +0000 (23:44 +0000)]
Merge "ChangesList: Comment out newlines in EnhancedChangesListGroup.mustache"

5 years agoMerge "protect.js: Use event 'input' instead of 'keyup'"
jenkins-bot [Wed, 3 Apr 2019 20:26:42 +0000 (20:26 +0000)]
Merge "protect.js: Use event 'input' instead of 'keyup'"

5 years agoMerge "protect.js: Simplify by using jQuery"
jenkins-bot [Wed, 3 Apr 2019 20:26:33 +0000 (20:26 +0000)]
Merge "protect.js: Simplify by using jQuery"

5 years agoMerge "protect.js: Reorder function declararion to avoid forward reference"
jenkins-bot [Wed, 3 Apr 2019 20:26:24 +0000 (20:26 +0000)]
Merge "protect.js: Reorder function declararion to avoid forward reference"

5 years agoMerge "protect.js: Simplify by removing object ProtectionForm"
jenkins-bot [Wed, 3 Apr 2019 20:26:15 +0000 (20:26 +0000)]
Merge "protect.js: Simplify by removing object ProtectionForm"

5 years agoMerge "protect.js: Remove JavaScript global variable window.ProtectionForm"
jenkins-bot [Wed, 3 Apr 2019 20:21:32 +0000 (20:21 +0000)]
Merge "protect.js: Remove JavaScript global variable window.ProtectionForm"

5 years agoMerge "Language: Use type hint instead of manual type check"
jenkins-bot [Wed, 3 Apr 2019 20:21:22 +0000 (20:21 +0000)]
Merge "Language: Use type hint instead of manual type check"

5 years agoprotect.js: Use event 'input' instead of 'keyup'
Fomafix [Wed, 3 Apr 2019 19:28:28 +0000 (21:28 +0200)]
protect.js: Use event 'input' instead of 'keyup'

The event 'input' is already triggered when a character gets inserted.
The event 'keyup' gets only triggered when the key gets released.

* https://developer.mozilla.org/en-US/docs/Web/Events/input
* https://developer.mozilla.org/en-US/docs/Web/Events/keyup

Change-Id: If1990af8304e4941565367ab558e1f870480cea3

5 years agoMerge "LogFormatter: ignore unrecoverable data"
jenkins-bot [Wed, 3 Apr 2019 19:06:14 +0000 (19:06 +0000)]
Merge "LogFormatter: ignore unrecoverable data"

5 years agoMerge "Remove `.background-size()` mixin usage"
jenkins-bot [Wed, 3 Apr 2019 18:47:13 +0000 (18:47 +0000)]
Merge "Remove `.background-size()` mixin usage"

5 years agoFix wpCreateAccount bug when set on Special:Block url params
Dayllan Maza [Tue, 2 Apr 2019 16:33:11 +0000 (12:33 -0400)]
Fix wpCreateAccount bug when set on Special:Block url params

wpCreateAccount default is dynamically changed if the user
has not posted the form or interacted with the field in any way

Bug: T218554
Change-Id: Ied68dc60d57ed35ed3285c5cf89b772c8c4e41d1

5 years agoSet synchronous = NORMAL for cache tables in Sqlite installer
Aaron Schulz [Thu, 14 Mar 2019 07:56:40 +0000 (00:56 -0700)]
Set synchronous = NORMAL for cache tables in Sqlite installer

In local testing, this makes SqlBagOStuff::set 17x faster.

Change-Id: I54d0d4f009ca1289485b89a1dcab46ffb31d8f11

5 years agoMerge "ServiceWiring: Use RequestContext instead of $wgUser global"
jenkins-bot [Wed, 3 Apr 2019 17:58:37 +0000 (17:58 +0000)]
Merge "ServiceWiring: Use RequestContext instead of $wgUser global"

5 years agoMerge "installer: make sqlite installer move the job queue to another DB"
jenkins-bot [Wed, 3 Apr 2019 17:58:27 +0000 (17:58 +0000)]
Merge "installer: make sqlite installer move the job queue to another DB"

5 years agoMerge "Add Job::getMetadata() and Job::setMetadata() accessors"
jenkins-bot [Wed, 3 Apr 2019 17:43:40 +0000 (17:43 +0000)]
Merge "Add Job::getMetadata() and Job::setMetadata() accessors"

5 years agoMerge "jobqueue: remove entire unused JobQueueAggregator class hierarchy"
jenkins-bot [Wed, 3 Apr 2019 17:43:31 +0000 (17:43 +0000)]
Merge "jobqueue: remove entire unused JobQueueAggregator class hierarchy"

5 years agoLanguage: Use type hint instead of manual type check
Fomafix [Wed, 3 Apr 2019 16:38:55 +0000 (18:38 +0200)]
Language: Use type hint instead of manual type check

Change-Id: I9c68d0838d5865c29bff85b9a6bf50e02e83f556

5 years agoAdd Job::getMetadata() and Job::setMetadata() accessors
Aaron Schulz [Sat, 30 Mar 2019 15:05:31 +0000 (08:05 -0700)]
Add Job::getMetadata() and Job::setMetadata() accessors

Change-Id: I3a97008d324f600a1c9f6005673073277ee564fa

5 years agoFix comment typo in fresnel config file and remove an unnecessary comma
Jack Phoenix [Wed, 3 Apr 2019 14:25:49 +0000 (17:25 +0300)]
Fix comment typo in fresnel config file and remove an unnecessary comma

Change-Id: I43123d9c001ea59f38f904cd232cb5f8a11e15d8

5 years agoLogFormatter: ignore unrecoverable data
Stephane Bisson [Mon, 1 Apr 2019 14:42:57 +0000 (10:42 -0400)]
LogFormatter: ignore unrecoverable data

It is possible for the log_params column of the logging
table to contain serialized data that cannot be deserialized
anymore because the types it references are missing.

It is currently the case with old Flow log entries on enwiki.
The extension is uninstalled and the UUID class is not found.

This patch proposes to simply skip the params and log a
warning in that case.

Bug: T212742
Change-Id: I3226b8fb338dd2b81e087af5d798d8f35368282d

5 years agoMerge "MigrateActors: Improve query for log_search rows"
jenkins-bot [Wed, 3 Apr 2019 08:27:18 +0000 (08:27 +0000)]
Merge "MigrateActors: Improve query for log_search rows"

5 years agoChangesList: Comment out newlines in EnhancedChangesListGroup.mustache
Fomafix [Thu, 14 Feb 2019 10:57:29 +0000 (11:57 +0100)]
ChangesList: Comment out newlines in EnhancedChangesListGroup.mustache

This is a follow-up to 9c5a4773952f2e914eda668b71dedb7c78a9a258.

This change removes all spaces and newlines inside of the <td> elements
by a Mustache comment. This prevents that the newline get converted to a
<p> element when the recent changes get included by

  {{Special:RecentChanges|enhanced=1}}

Bug: T215737
Change-Id: I179d0b36b122efc3e1b7c193354ad03c3c9cefcf

5 years agoprotect.js: Simplify by using jQuery
Fomafix [Wed, 3 Apr 2019 04:23:34 +0000 (06:23 +0200)]
protect.js: Simplify by using jQuery

Also remove useless boolean return.

Change-Id: I5a1ee977c2e7548bab98f8a7b6731262d175db51

5 years agoRemove `.background-size()` mixin usage
Volker E [Wed, 3 Apr 2019 02:47:19 +0000 (19:47 -0700)]
Remove `.background-size()` mixin usage

Removing deprecated LESS `.background-size()` mixin calls.

Bug: T219956
Change-Id: I48a939eae125802778d0a8822961bef826970f46

5 years agoMerge "RecentChanges updated to use pseudo elements for presentation"
jenkins-bot [Tue, 2 Apr 2019 23:12:57 +0000 (23:12 +0000)]
Merge "RecentChanges updated to use pseudo elements for presentation"

5 years agoMerge "Fully utilize LinkTarget passed to getRevisionByTitle"
jenkins-bot [Tue, 2 Apr 2019 22:36:23 +0000 (22:36 +0000)]
Merge "Fully utilize LinkTarget passed to getRevisionByTitle"

5 years agoRecentChanges updated to use pseudo elements for presentation
jdlrobson [Wed, 27 Mar 2019 00:35:01 +0000 (17:35 -0700)]
RecentChanges updated to use pseudo elements for presentation

Bug: T219348
Change-Id: I6eeeaa3b58d37adb7fefb4cc6915022229b3b324

5 years agoMerge "jobqueue: change MWException throw statements to using JobQueueError"
jenkins-bot [Tue, 2 Apr 2019 21:46:53 +0000 (21:46 +0000)]
Merge "jobqueue: change MWException throw statements to using JobQueueError"

5 years agoFully utilize LinkTarget passed to getRevisionByTitle
Jason Linehan [Thu, 15 Nov 2018 16:02:32 +0000 (11:02 -0500)]
Fully utilize LinkTarget passed to getRevisionByTitle

Failure of getRevisionByTitle to pass its LinkTarget argument
to newRevisionFromRow resulted in a needless second instantiation
of the Title (an extra query).

Because newRevisionFromRow needs a Title, not just a LinkTarget,
it is unfortunately necessary to call Title::newFromLinkTarget
on it for now -- however this does not involve a DB lookup and
is on track to be fixed with revisions to the Title class.

Bug: T206498
Change-Id: Ic6f98d8fbf66d85121668571c17e148efc5ec2be

5 years agoMerge "Style change tags correctly on log extracts"
jenkins-bot [Tue, 2 Apr 2019 20:37:08 +0000 (20:37 +0000)]
Merge "Style change tags correctly on log extracts"

5 years agoMerge "Disable expensive {{REVISIONID}} magic word in miser mode"
jenkins-bot [Tue, 2 Apr 2019 20:24:25 +0000 (20:24 +0000)]
Merge "Disable expensive {{REVISIONID}} magic word in miser mode"

5 years agoCheck line length of HISTORY
Reedy [Sun, 24 Mar 2019 20:08:54 +0000 (20:08 +0000)]
Check line length of HISTORY

Slight modifications, almost all for URLs.

Change-Id: I612852e9a677a6a14fd48e2ccd7fcb998da9152a

5 years agoStyle change tags correctly on log extracts
Matěj Suchánek [Tue, 2 Apr 2019 20:06:34 +0000 (22:06 +0200)]
Style change tags correctly on log extracts

You can see them when you view a previously deleted page
and some of those events have been tagged.

Bug: T212613
Change-Id: I88e637a0ee688dd23c0ec90790e8189ecf1a8789

5 years agoMerge "Add test for Special:page::buildPrevNextNavigation"
jenkins-bot [Tue, 2 Apr 2019 19:18:27 +0000 (19:18 +0000)]
Merge "Add test for Special:page::buildPrevNextNavigation"

5 years agoMerge "maintenance: Rewrite parts of the purgeChangedPages script"
jenkins-bot [Tue, 2 Apr 2019 18:21:29 +0000 (18:21 +0000)]
Merge "maintenance: Rewrite parts of the purgeChangedPages script"

5 years agoMerge "Sunsetting viewPrevNext"
jenkins-bot [Tue, 2 Apr 2019 17:35:09 +0000 (17:35 +0000)]
Merge "Sunsetting viewPrevNext"

5 years agoMerge "Fix typo in MigrateActors.php"
jenkins-bot [Tue, 2 Apr 2019 17:29:06 +0000 (17:29 +0000)]
Merge "Fix typo in MigrateActors.php"

5 years agoMigrateActors: Improve query for log_search rows
Brad Jorsch [Tue, 2 Apr 2019 14:07:56 +0000 (10:07 -0400)]
MigrateActors: Improve query for log_search rows

The query in question is, generically,

 SELECT ls_value, ls_log_id, actor_id
  FROM log_search LEFT JOIN actor ON (ls_value = actor_user)
  WHERE ls_field = 'target_author_id'
  ORDER BY ls_value, ls_log_id
  LIMIT 100;

The intention is that it'll pull out 100 rows from log_search using its
primary key, and for each of those 100 rows find the actor_id for the
referenced user_id (using the actor_user index) if an actor ID exists.

The twist comes in the fact that ls_value is a string-type column while
actor_user is an integer-type. MySQL doesn't usually care, but other DBs
do so we have to cast one into the other.

Currently the code is casting actor_user to a string. But that means the
DB can't use the index on actor_user to find the one matching row,
instead it needs to scan the whole table.

The fix is simple enough: instead of casting actor_user to a string,
cast ls_value to an integer. That allows the actor_user index to be used
as expected.

Bug: T215525
Change-Id: I2f7a6ba9fd537336594088a0281a62ea5601cd59

5 years agoMerge "Set default for Block::appliesToPasswordReset to true"
jenkins-bot [Tue, 2 Apr 2019 14:15:23 +0000 (14:15 +0000)]
Merge "Set default for Block::appliesToPasswordReset to true"

5 years agoFix typo in MigrateActors.php
Brad Jorsch [Tue, 2 Apr 2019 13:49:00 +0000 (09:49 -0400)]
Fix typo in MigrateActors.php

Change-Id: Ic08210a8cd394f6ad49673a2d2e4800e6bcf2989

5 years agoSet default for Block::appliesToPasswordReset to true
Thalia [Tue, 2 Apr 2019 10:00:49 +0000 (11:00 +0100)]
Set default for Block::appliesToPasswordReset to true

Follow-up to Ia3f46aba. Before that patch, the default case for
whether a block blocks password reset was true.

Bug: T218905
Change-Id: I86cb381762890abddcf32f4f7199799391cc6dfb

5 years agoprotect.js: Reorder function declararion to avoid forward reference
Fomafix [Tue, 2 Apr 2019 12:47:58 +0000 (14:47 +0200)]
protect.js: Reorder function declararion to avoid forward reference

The ESLint rule exception no-use-before-define can removed.

Change-Id: Ib730102ae33f37ff95b001d689666f729885cd2d

5 years agoAdd test for Special:page::buildPrevNextNavigation
daniel [Mon, 11 Mar 2019 13:33:18 +0000 (14:33 +0100)]
Add test for Special:page::buildPrevNextNavigation

Change-Id: Ie17221305ec979acebebb62798b83f5d91df1f60

5 years agoprotect.js: Simplify by removing object ProtectionForm
Fomafix [Tue, 2 Apr 2019 10:21:06 +0000 (12:21 +0200)]
protect.js: Simplify by removing object ProtectionForm

Change-Id: If7060c41c9b904e174a34dfc7ea2c053ecc1c3fc

5 years agoprotect.js: Remove JavaScript global variable window.ProtectionForm
Fomafix [Tue, 2 Apr 2019 08:26:27 +0000 (10:26 +0200)]
protect.js: Remove JavaScript global variable window.ProtectionForm

The JavaScript global variable window.ProtectionForm is not needed since
c805e14eec7b.

Bug: T35871
Change-Id: I9089640d6c0058da14ba179fba9656fc7a4f5c68

5 years agoMerge "maintenance/dev: Clean up router.php"
jenkins-bot [Tue, 2 Apr 2019 08:05:26 +0000 (08:05 +0000)]
Merge "maintenance/dev: Clean up router.php"

5 years agomonolog: add MwlogHandler
Filippo Giunchedi [Thu, 21 Mar 2019 14:42:19 +0000 (15:42 +0100)]
monolog: add MwlogHandler

Introduce a new handler, similar to SyslogHandler, that will be used to
replace udp2log. The main feature of the handler is being able to vary
the 'application name' with each record's channel. This way the channel
can be reconstructed later, e.g. when writing to plaintext files.

See also an overview of the plan here:
https://phabricator.wikimedia.org/T205856#4957430

Bug: T126989
Change-Id: I0c040825b31cd70f197dc8c1d406a103dc0ed1d1

5 years agomaintenance: Rewrite parts of the purgeChangedPages script
Thiemo Kreuz [Wed, 27 Mar 2019 10:43:28 +0000 (11:43 +0100)]
maintenance: Rewrite parts of the purgeChangedPages script

My motivation to touch this code was a few count() I found confusing.
I ended rearranging it a lot to improve readability and clarity.

Change-Id: I9a0ea0812d4cc0c6e8ed6134e462dfdf325fd5d9

5 years agoMerge "rdbms: make $wgSQLMode work as documented when it is NULL"
jenkins-bot [Tue, 2 Apr 2019 04:20:26 +0000 (04:20 +0000)]
Merge "rdbms: make $wgSQLMode work as documented when it is NULL"

5 years agoMerge "Fix unused vars/pointless assignments"
jenkins-bot [Tue, 2 Apr 2019 03:06:56 +0000 (03:06 +0000)]
Merge "Fix unused vars/pointless assignments"

5 years agomaintenance/dev: Clean up router.php
Timo Tijhof [Fri, 29 Mar 2019 23:36:39 +0000 (23:36 +0000)]
maintenance/dev: Clean up router.php

* Remove code paths that were unreachable for me.

* Remove display_errors/error_reporting overrides.
  These can be set as-needed from LocalSettings.php if desired,
  and similar (but slightly different) settings are already set
  by DevelopmentSettings.php.

* Default to text/plain instead of letting PHP handle it.
  This makes makes the result more predictable, instead of varying
  by PHP version and underlying OS behaviour. Anything we want to
  support is already in our 'mime.types' file, and ours is a
  superset of PHP's anyway.

Change-Id: I46608ebd8e225642cfeb804ec32739c2fcbd4d25

5 years agoMerge "languages: Replace loop with array_pad()"
jenkins-bot [Tue, 2 Apr 2019 01:34:43 +0000 (01:34 +0000)]
Merge "languages: Replace loop with array_pad()"

5 years agoPreferencesFormOOUI: Restore ID attributes for each fieldset
Bartosz Dziewoński [Mon, 1 Apr 2019 23:15:55 +0000 (01:15 +0200)]
PreferencesFormOOUI: Restore ID attributes for each fieldset

Follow-up to 255a58bedd29491c5550eebe4b8d0a5968f0d56c.

Change-Id: I00f00576ffc7f9d13218b21649822e0f826ecdf9

5 years agojobqueue: fix DBO_TRX logic in JobQueueDB for avoiding transactions
Aaron Schulz [Sat, 30 Mar 2019 02:02:15 +0000 (19:02 -0700)]
jobqueue: fix DBO_TRX logic in JobQueueDB for avoiding transactions

Various methods were missing the flag setting logic and tests could
fail or have "outer scope" warnings in the logs for sqlite.

Change-Id: Ia0607d189a307667297f06109a34363c92e37d92

5 years agoMerge "Update help icon from OOUI"
jenkins-bot [Mon, 1 Apr 2019 22:19:01 +0000 (22:19 +0000)]
Merge "Update help icon from OOUI"

5 years agoMerge "Change job table params from blob to mediumblob"
jenkins-bot [Mon, 1 Apr 2019 21:56:48 +0000 (21:56 +0000)]
Merge "Change job table params from blob to mediumblob"

5 years agotests: enable MariaDB/MySQL strict mode
Antoine Musso [Fri, 27 Apr 2018 09:10:32 +0000 (11:10 +0200)]
tests: enable MariaDB/MySQL strict mode

Pass sql_mode=TRADITIONAL to the SQL connection which would raise an
error instead of warning, for example when a field is truncated.

This change will most probably cause some extensions test to start
magically failling.

Bug: T119371
Change-Id: I2051952090e48876f629690981e25603eff79f67

5 years agordbms: make $wgSQLMode work as documented when it is NULL
Aaron Schulz [Mon, 1 Apr 2019 21:39:36 +0000 (14:39 -0700)]
rdbms: make $wgSQLMode work as documented when it is NULL

NULL means that the SET query should not be sent.
This was broken since 5bc9b990acd0e0302f.

Change-Id: I148b1153ef6ecca99c56e4f63247820a766ae779