lhc/web/wiklou.git
5 years agoPHPSessionHandler: Suppress warnings in initialize()
Brad Jorsch [Wed, 13 Jun 2018 13:51:57 +0000 (09:51 -0400)]
PHPSessionHandler: Suppress warnings in initialize()

PHP 7.2 has gotten strict about calling various session-related methods
after headers were sent. Even in CLI mode where there are no headers to
send in the first place. Silence these warnings.

Bug: T197030
Change-Id: Idaabf1320c56e0d6c26387f03af05f32e1496a1c

5 years agoMerge "Use more diverse unicode chars in basic browser tests"
jenkins-bot [Wed, 13 Jun 2018 13:27:54 +0000 (13:27 +0000)]
Merge "Use more diverse unicode chars in basic browser tests"

5 years agoMerge "Disable WebResponse setters for post-send processing"
jenkins-bot [Wed, 13 Jun 2018 13:21:51 +0000 (13:21 +0000)]
Merge "Disable WebResponse setters for post-send processing"

5 years agoshell.php: update PsySH from 0.8.11 to 0.9.6
Gergő Tisza [Tue, 12 Jun 2018 15:56:57 +0000 (17:56 +0200)]
shell.php: update PsySH from 0.8.11 to 0.9.6

Major changes: fix for T186936, external editor support,
timeit command, emulate HISTCONTROL=ignorespace,
fixed tab completion

mediawiki/vendor patch: I5f604250fb213618f734e6ac9c48969ceeb3e7fb

Change-Id: I994689638632f39d86ce88027445d8fe4ea4f649

5 years agoUse more diverse unicode chars in basic browser tests
WMDE-Fisch [Thu, 1 Feb 2018 08:52:10 +0000 (09:52 +0100)]
Use more diverse unicode chars in basic browser tests

See comment in I3423011c467b0a6426cfa0dad522435618f24bd0
and https://mathiasbynens.be/notes/javascript-unicode#poo-test

Decided on using something more positive than a pile of poo though.

Change-Id: Ic34d0d78044cede71fd1cd8742214c117ed2e99f

5 years agoselenium, page spec, make "should be editable" actually edit
addshore [Fri, 8 Jun 2018 12:11:38 +0000 (13:11 +0100)]
selenium, page spec, make "should be editable" actually edit

This was using the same content for the edit before this
patch, so no edit was actually made, (just a null edit).

Change-Id: I945090647226e82f22b5b10a414a2a0bf9f2bc19

5 years agoselenium: page spec, make it easier to see where strings come from
addshore [Fri, 8 Jun 2018 12:08:49 +0000 (13:08 +0100)]
selenium: page spec, make it easier to see where strings come from

Having randomly generated strings is great, but sometimes
it can help to allow a human to easily see where the string
is actually being generated in code, so add an optional suffix
to the string being generated.

Change-Id: Ibfe45f74b4880a70a76c01223a787dabcd43607e

5 years agoUse wd/hub not /wd/hub in selenium.sh
addshore [Thu, 7 Jun 2018 16:27:06 +0000 (17:27 +0100)]
Use wd/hub not /wd/hub in selenium.sh

I have run into this before and we fixed it in the README
but not in this script (I wasn't using this script at the time)

This was changed in the README in change:
I85a9e7dbd9a66418c85585969adb5ac1548f5ef6

Bug: T182421
Change-Id: I6ab92c6a61a57dc313b05321d0789dcbeb776c94

5 years agoDon't use killall in selenium.sh
addshore [Thu, 7 Jun 2018 16:20:59 +0000 (17:20 +0100)]
Don't use killall in selenium.sh

git bash for windows apparently doesn't have killall
by default, so instead get the PID of the chrome driver
we start and kill that specifically.

Change-Id: I8a9a773a7d3dc23807dc3ec12f5b3ef03661c9e3

5 years agoMerge "RCFilters: Reduce min-height for Watchlist"
jenkins-bot [Wed, 13 Jun 2018 11:02:58 +0000 (11:02 +0000)]
Merge "RCFilters: Reduce min-height for Watchlist"

5 years agoImprove LinkRenderer::getLinkText() coverage
Kunal Mehta [Sun, 10 Jun 2018 19:12:52 +0000 (12:12 -0700)]
Improve LinkRenderer::getLinkText() coverage

Change-Id: I067522025c247346888c9f5a3d905bf03a93b7bc

5 years agoRemove deprecated Linker::getLinkColour()
Kunal Mehta [Sun, 10 Jun 2018 19:05:31 +0000 (12:05 -0700)]
Remove deprecated Linker::getLinkColour()

Change-Id: I1818d9eb369c620cc436c13446a5362816e8362d

5 years agoMerge "linker: Hard-deprecate LinkBegin and LinkEnd hooks"
jenkins-bot [Wed, 13 Jun 2018 06:02:23 +0000 (06:02 +0000)]
Merge "linker: Hard-deprecate LinkBegin and LinkEnd hooks"

5 years agoMerge "rdbms: make getCPInfoFromCookieValue() stricter about allowed values"
jenkins-bot [Tue, 12 Jun 2018 23:51:49 +0000 (23:51 +0000)]
Merge "rdbms: make getCPInfoFromCookieValue() stricter about allowed values"

5 years agoRemove unnecessary Parser::getConverterLanguage() indirection
C. Scott Ananian [Fri, 8 Jun 2018 15:45:07 +0000 (11:45 -0400)]
Remove unnecessary Parser::getConverterLanguage() indirection

The getConverterLanguage() method was added in March 2012 in commit
561424c266128a8c2c213cd803d4786313fc20cc as a workaround for a regression
in mediawiki 1.19.  It was an indirection which checked the global variable
$wgBug34832TransitionalRollback to return a different converter language
for Chinese wikis.

When this temporary bugfix was reverted in January 2013 in commit
a3fbdaaa2c4eb5ddc6bfbd62ae57a7804a307f12, the temporary global variable
was removed, but not the getConverterLanguage() indirection.  Since then,
new code in the parser seems to have faithfully used getConverterLanguage()
instead of getTargetLanguage(), even though they are identical and the
need for getConverterLanguage() has long since passed.

Strike a small blow for elegant minimalism by removing the completely
unnecessary Parser::getConverterLanguage() indirection.  Well, sort
of: since this blight has been slowly growing inside Parser.php for
so long, we need to deprecate getConverterLanguage() first just in
case any external dependency has been infected.  Next release we
can finally excise the unnecessary method.

Change-Id: I567c29c9c7699020955699b76cbe8578d02e2fe6

5 years agoMerge "Add @coversNothing to tests that don't cover specific PHP classes"
jenkins-bot [Tue, 12 Jun 2018 23:17:06 +0000 (23:17 +0000)]
Merge "Add @coversNothing to tests that don't cover specific PHP classes"

5 years agoMerge "hooks.txt: Clean-up whitespace and wrapping for consistency"
jenkins-bot [Tue, 12 Jun 2018 22:34:54 +0000 (22:34 +0000)]
Merge "hooks.txt: Clean-up whitespace and wrapping for consistency"

5 years agoRCFilters: Reduce min-height for Watchlist
Roan Kattouw [Tue, 12 Jun 2018 22:31:53 +0000 (15:31 -0700)]
RCFilters: Reduce min-height for Watchlist

Bug: T195903
Change-Id: I8d4622951026cb5058efd63aa1adcb3607dd79bc

5 years agoUse PHP 7 '??' operator instead of if-then-else
Fomafix [Tue, 12 Jun 2018 20:44:33 +0000 (22:44 +0200)]
Use PHP 7 '??' operator instead of if-then-else

Change-Id: I790b86e2e9e3e41386144637659516a4bfca1cfe

5 years agoAdd @coversNothing to tests that don't cover specific PHP classes
Kunal Mehta [Tue, 12 Jun 2018 20:27:09 +0000 (13:27 -0700)]
Add @coversNothing to tests that don't cover specific PHP classes

Change-Id: Idbd364561bc28547e9fac20d7a80b9a44edf14a9

5 years agohooks.txt: Clean-up whitespace and wrapping for consistency
James D. Forrester [Tue, 12 Jun 2018 15:42:29 +0000 (08:42 -0700)]
hooks.txt: Clean-up whitespace and wrapping for consistency

This file is a disaster, but now at least we actually wrap at 80 chars
for all the hooks, not just the ones where the developer felt like it.

Change-Id: I10d3d51412af29b135fd7e9a0393ff0b57eb25aa

5 years agohooks.txt: Label which hooks are deprecated when
James D. Forrester [Tue, 12 Jun 2018 15:41:34 +0000 (08:41 -0700)]
hooks.txt: Label which hooks are deprecated when

Many of these are still soft-deprecated, so tracking down their age
and kicking off the full deprecation process is hard, let alone
actually removing them. Doing this makes that future work easier.

Change-Id: Ib096190accceabf9082f621ba96243f7dedb025d

5 years agoMerge "Follow-up 23cfebd3d25: Hard-deprecate LanguageGetMagic hook"
jenkins-bot [Tue, 12 Jun 2018 19:52:24 +0000 (19:52 +0000)]
Merge "Follow-up 23cfebd3d25: Hard-deprecate LanguageGetMagic hook"

5 years agoMerge "Follow-up 23cfebd3d25: Hard-deprecate LanguageGetSpecialPageAliases hook"
jenkins-bot [Tue, 12 Jun 2018 19:52:22 +0000 (19:52 +0000)]
Merge "Follow-up 23cfebd3d25: Hard-deprecate LanguageGetSpecialPageAliases hook"

5 years agoMerge "Fix typehint-typo in MediaWikiTestCase"
jenkins-bot [Tue, 12 Jun 2018 19:19:23 +0000 (19:19 +0000)]
Merge "Fix typehint-typo in MediaWikiTestCase"

5 years agoMerge "Convert SearchResultSet to typical iteration"
jenkins-bot [Tue, 12 Jun 2018 19:04:43 +0000 (19:04 +0000)]
Merge "Convert SearchResultSet to typical iteration"

5 years agoFix typehint-typo in MediaWikiTestCase
Marius Hoch [Tue, 12 Jun 2018 18:20:49 +0000 (20:20 +0200)]
Fix typehint-typo in MediaWikiTestCase

Change-Id: I3817d586cfaaaf38439820741e68eff044e9bf76

5 years agordbms: make getCPInfoFromCookieValue() stricter about allowed values
Aaron Schulz [Mon, 11 Jun 2018 21:52:37 +0000 (14:52 -0700)]
rdbms: make getCPInfoFromCookieValue() stricter about allowed values

All components, not just the write index, must now be present.

Bug: T194403
Change-Id: I279ba3e16d470aca09fdb74cec91d28efb5e2f95

5 years agoDisable WebResponse setters for post-send processing
Brad Jorsch [Fri, 8 Jun 2018 18:51:25 +0000 (14:51 -0400)]
Disable WebResponse setters for post-send processing

When jobs are being run synchronously post-send, we don't want to allow
bugs to result in a job somehow setting cookies or headers that
interfere with those that were intended to be set in the request.

Bug: T191537
Change-Id: Ib5714a17af417797140f99e41eaacbba1bfd20f4

5 years agoFollow-up 23cfebd3d25: Hard-deprecate LanguageGetMagic hook
James D. Forrester [Tue, 12 Jun 2018 15:44:31 +0000 (08:44 -0700)]
Follow-up 23cfebd3d25: Hard-deprecate LanguageGetMagic hook

Change-Id: I7e442e20744a196644d6be186158fd901f9db1ce

5 years agoCategory: Lock the category row before the categorylinks rows
Brad Jorsch [Tue, 12 Jun 2018 15:28:25 +0000 (11:28 -0400)]
Category: Lock the category row before the categorylinks rows

We've noticed a large increase in deadlocks between
LinksDeletionUpdate deleting categorylinks rows and
Category::refreshCounts() trying to update the category table.

My best guess as to what's going on there is that LinksDeletionUpdate
locks the category row via the call to WikiPage::updateCategoryCounts()
then the categorylinks rows via its own deletions, while Category first
locks the categorylinks rows (in share mode) and then the category row
when it tries to update or delete it.

To break the deadlock, let's have Category do a SELECT FOR UPDATE on the
category row first before it locks the categorylinks rows.

Bug: T195397
Change-Id: Ie11baadf2ff0ba2afbc86b10bc523525c570a490

5 years agoMerge "Link to revisions and log entries from tag logs"
jenkins-bot [Tue, 12 Jun 2018 15:21:22 +0000 (15:21 +0000)]
Merge "Link to revisions and log entries from tag logs"

5 years agoFollow-up 23cfebd3d25: Hard-deprecate LanguageGetSpecialPageAliases hook
James D. Forrester [Tue, 12 Jun 2018 14:53:18 +0000 (07:53 -0700)]
Follow-up 23cfebd3d25: Hard-deprecate LanguageGetSpecialPageAliases hook

Change-Id: I543c2ff9e9d82869a4b443410528a179f65e3d02

5 years agoAdd release notes for 0eb4eaefd3 and f7f71359
Kunal Mehta [Tue, 12 Jun 2018 01:11:08 +0000 (18:11 -0700)]
Add release notes for 0eb4eaefd3 and f7f71359

Change-Id: Ie139db2f178660aa42009661716290158d60c8fc

5 years agoMerge "parser: Validate $length in padleft/padright parser functions"
jenkins-bot [Tue, 12 Jun 2018 00:39:53 +0000 (00:39 +0000)]
Merge "parser: Validate $length in padleft/padright parser functions"

5 years agoMake $wgEmailConfirmToEdit only affect edit actions.
Brian Wolff [Fri, 26 Aug 2016 01:29:58 +0000 (01:29 +0000)]
Make $wgEmailConfirmToEdit only affect edit actions.

Previously it would affect all actions that use Title::userCan.
This used to be less noticable, but recently was expanded to include
the 'read' action. This only affected the case where both
$wgBlockDisablesLogin and $wgEmailConfirmedToEdit were enabled.

I don't think anyone was relying on the old behaviour as it was
undocumented, and only affected obscure permissions (checked with
Title::userCan and not depending on "edit" rights)

Follow-up b675be2083

Bug: T143790
Change-Id: I4ad93ed78de4f1ed444f73df6dc26d405a67e553

5 years agoMerge "Remove deprecated hook EditPageBeforeEditChecks"
jenkins-bot [Mon, 11 Jun 2018 23:53:58 +0000 (23:53 +0000)]
Merge "Remove deprecated hook EditPageBeforeEditChecks"

5 years agoMerge "PHP: Use short ternary operator (?:) where possible"
jenkins-bot [Mon, 11 Jun 2018 23:06:59 +0000 (23:06 +0000)]
Merge "PHP: Use short ternary operator (?:) where possible"

5 years agoRemove deprecated hook EditPageBeforeEditChecks
Bartosz Dziewoński [Wed, 30 Aug 2017 19:07:49 +0000 (21:07 +0200)]
Remove deprecated hook EditPageBeforeEditChecks

Change-Id: I525a3a81787214dae42d3ce641d8c62761d17797

5 years agoregistration: Catch correct exception type from ObjectCache
Kunal Mehta [Mon, 11 Jun 2018 20:57:58 +0000 (13:57 -0700)]
registration: Catch correct exception type from ObjectCache

ObjectCache::newFromId() now throws an InvalidArgumentException if the
specific id can't be found.

Change-Id: Idcb0f2158a38555c1ec1681ba0635c7903e48718

5 years agoConvert SearchResultSet to typical iteration
Erik Bernhardson [Thu, 10 May 2018 22:03:55 +0000 (15:03 -0700)]
Convert SearchResultSet to typical iteration

The funky iteration here was at best annoying. Switch
it over to an iterator based approach with appropriate
BC code to simulate the old iteration style.

Depends-On: I19a8d6621a130811871dec9335038797627d9448
Change-Id: I9fccda15dd58a0dc35771d3b5cd7a6e8b02514a0

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 11 Jun 2018 20:14:10 +0000 (22:14 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I266e6f3e0974d9e597e86b5790871cd118043d57

5 years agoMerge "Use PHP 7 '??' operator instead of '?:' with 'isset()' where convenient"
jenkins-bot [Mon, 11 Jun 2018 19:29:55 +0000 (19:29 +0000)]
Merge "Use PHP 7 '??' operator instead of '?:' with 'isset()' where convenient"

5 years agoMerge "npm selenium command, use bash"
jenkins-bot [Mon, 11 Jun 2018 18:03:59 +0000 (18:03 +0000)]
Merge "npm selenium command, use bash"

5 years agoUse PHP 7 '??' operator instead of '?:' with 'isset()' where convenient
Fomafix [Mon, 11 Jun 2018 17:23:15 +0000 (19:23 +0200)]
Use PHP 7 '??' operator instead of '?:' with 'isset()' where convenient

This is a followup to 485f66f1.

Change-Id: I7a2a44b7e933103178929b3cdc015859612c8b35

5 years agoAdd langauge 'zgh' Standard Moroccan Amazigh
Étienne Beaulé [Wed, 23 May 2018 02:33:16 +0000 (23:33 -0300)]
Add langauge 'zgh' Standard Moroccan Amazigh

This change adds the Standard Moroccan Amazigh language with ISO
639-3 code 'zgh' with 'kab' (Kabyle) fallback. The default script is the
Neo-Tifinagh script.

Bug: T137491
Change-Id: Idd13f92d7ae05cd47267558c8ff4fa368b701e24

5 years agoPHP: Use short ternary operator (?:) where possible
Fomafix [Mon, 11 Jun 2018 09:16:48 +0000 (11:16 +0200)]
PHP: Use short ternary operator (?:) where possible

Change-Id: Idcc7e4fcdd4d8302ceda44bf6d294fa8c2219381

5 years agonpm selenium command, use bash
addshore [Thu, 7 Jun 2018 16:15:30 +0000 (17:15 +0100)]
npm selenium command, use bash

On Windows this seems to complain unless bash is specified

Change-Id: I4515c851ffea143d4c1c6d111ffdd64b62f9f304

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 10 Jun 2018 20:02:06 +0000 (22:02 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ie01e48ef17e431ae619237e8ae1e2810d454d1de

5 years agolinker: Hard-deprecate LinkBegin and LinkEnd hooks
Kunal Mehta [Sun, 10 Jun 2018 18:30:15 +0000 (11:30 -0700)]
linker: Hard-deprecate LinkBegin and LinkEnd hooks

Change-Id: Ia1d766d019a2711c96e7c41913055774eff9f777

5 years agoparser: Validate $length in padleft/padright parser functions
Kunal Mehta [Sun, 10 Jun 2018 18:09:07 +0000 (11:09 -0700)]
parser: Validate $length in padleft/padright parser functions

$length is user input, so cast it to an int before passing it to min().
If there is nothing to add at that point, return immediately.

In PHP 7.1+ this raised a warning of "A non-numeric value encountered"
because min() will return the junk value, returning a string. Then we
try and subtract an int from it (return value of mb_strlen()),
triggering the warning.

Added a parser test to verify the behavior, and confirmed that it
triggers warnings without the patch.

Bug: T180403
Change-Id: I614750962104f6251a864519035366ac9798fc0f

5 years agoSECURITY: Special:BotPasswords should reauthenticate
Brad Jorsch [Wed, 9 May 2018 19:14:38 +0000 (15:14 -0400)]
SECURITY: Special:BotPasswords should reauthenticate

More specifically, it should reauthenticate when creating a bot password
or resetting the password. But we may as well do it for all accesses.

Bug: T193237
Change-Id: I9a38a3109492753fff1f33c0f280e5b0f1fc1a76

5 years agoMerge "WebInstaller::docLink: Use Html::element to generate the link"
jenkins-bot [Sun, 10 Jun 2018 08:17:23 +0000 (08:17 +0000)]
Merge "WebInstaller::docLink: Use Html::element to generate the link"

5 years agoMerge "WebInstaller::getDocUrl: Use getUrl to generate the URL"
jenkins-bot [Sun, 10 Jun 2018 08:16:52 +0000 (08:16 +0000)]
Merge "WebInstaller::getDocUrl: Use getUrl to generate the URL"

5 years agoMerge "Localize some special pages into Korean (ko)"
jenkins-bot [Sun, 10 Jun 2018 08:02:59 +0000 (08:02 +0000)]
Merge "Localize some special pages into Korean (ko)"

5 years agoMerge "resourceloader: Re-enable testGetBlobCached() test case"
jenkins-bot [Sun, 10 Jun 2018 07:58:42 +0000 (07:58 +0000)]
Merge "resourceloader: Re-enable testGetBlobCached() test case"

5 years agoMerge "FormatJson: cleanup after PHP 5.5 support removal"
jenkins-bot [Sun, 10 Jun 2018 07:58:40 +0000 (07:58 +0000)]
Merge "FormatJson: cleanup after PHP 5.5 support removal"

5 years agoLocalize some special pages into Korean (ko)
Yongmin Hong [Sat, 2 Jun 2018 13:05:37 +0000 (22:05 +0900)]
Localize some special pages into Korean (ko)

* (Manually) synced from MessagesEn.php
* Changed Listfiles so it is less ambigious.

Change-Id: I59da5461efcc34511f99872cfc26d2ae63a52531
Signed-off-by: Yongmin Hong <revi@pobox.com>
5 years agoMerge "Escape text in Linker::specialLink()"
jenkins-bot [Sun, 10 Jun 2018 07:49:49 +0000 (07:49 +0000)]
Merge "Escape text in Linker::specialLink()"

5 years agoMerge "Get rid of call_user_func(_array)(), part 3"
jenkins-bot [Sun, 10 Jun 2018 02:46:30 +0000 (02:46 +0000)]
Merge "Get rid of call_user_func(_array)(), part 3"

5 years agoGet rid of call_user_func(_array)(), part 3
Max Semenik [Sat, 9 Jun 2018 23:26:32 +0000 (16:26 -0700)]
Get rid of call_user_func(_array)(), part 3

Also cleaned up nearby code in a couple places.

Change-Id: Ibf44ee7c0ceb739d7e79406e4ff39303c316e285

5 years agoClean up CSPRNG support for PHP7
Max Semenik [Fri, 19 Jan 2018 22:42:56 +0000 (14:42 -0800)]
Clean up CSPRNG support for PHP7

Replace it all with random_bytes(), leave
only MWCryptRand::generateHex() as a convenience helper.

Change-Id: Ic30376a90e66d8f00dab86e7e6466fb3a750b87d

5 years agoMerge "Remove PhanParamReqAfterOpt from blacklist"
jenkins-bot [Sat, 9 Jun 2018 19:43:46 +0000 (19:43 +0000)]
Merge "Remove PhanParamReqAfterOpt from blacklist"

5 years agoMerge "LoginSignupSpecialPage: Use $this->msg instead of wfMessage"
jenkins-bot [Sat, 9 Jun 2018 14:30:39 +0000 (14:30 +0000)]
Merge "LoginSignupSpecialPage: Use $this->msg instead of wfMessage"

5 years agoMerge "Replace call_user_func_array(), part 2"
jenkins-bot [Sat, 9 Jun 2018 14:25:26 +0000 (14:25 +0000)]
Merge "Replace call_user_func_array(), part 2"

5 years agoLoginSignupSpecialPage: Use $this->msg instead of wfMessage
Fomafix [Sat, 9 Jun 2018 12:57:26 +0000 (14:57 +0200)]
LoginSignupSpecialPage: Use $this->msg instead of wfMessage

Change-Id: If1313112f39a449857028da6a4a22d6950c500a3

5 years agoFormatJson: cleanup after PHP 5.5 support removal
Kevin Israel [Sat, 9 Jun 2018 13:06:02 +0000 (09:06 -0400)]
FormatJson: cleanup after PHP 5.5 support removal

* Use PHP 5.6 constant expression support in definition of ALL_OK.
* Remove one level of nesting in encode(). Follows up I801eaffc.
* Update HTML5 section number in doc comment for XMLMETA_OK.
* Made other minor doc comment fixes, such as capitalizing "JSON".
* Not done: changing $badChars and $badCharsEscaped to constants.
  This will have to wait until HHVM 3.18 support is dropped.

Change-Id: I06413dfe0fedddfd20d3e375eadd9daad6d6230e

5 years agoMerge "Hard deprecate Interwiki static methods"
jenkins-bot [Sat, 9 Jun 2018 09:33:09 +0000 (09:33 +0000)]
Merge "Hard deprecate Interwiki static methods"

5 years agoRemove PhanParamReqAfterOpt from blacklist
Erik Bernhardson [Fri, 8 Jun 2018 21:46:41 +0000 (14:46 -0700)]
Remove PhanParamReqAfterOpt from blacklist

Change-Id: I569656068c9034f7325312afcce837e2712b4f29

5 years agoMerge "Resolve required parameter after optional in language"
jenkins-bot [Sat, 9 Jun 2018 09:20:54 +0000 (09:20 +0000)]
Merge "Resolve required parameter after optional in language"

5 years agoMerge "Resolve required parameter after optional in specials"
jenkins-bot [Sat, 9 Jun 2018 09:14:24 +0000 (09:14 +0000)]
Merge "Resolve required parameter after optional in specials"

5 years agoMerge "Resolve required parameter after optional in Xml"
jenkins-bot [Sat, 9 Jun 2018 09:08:46 +0000 (09:08 +0000)]
Merge "Resolve required parameter after optional in Xml"

5 years agoMerge "Resolve required parameter after optional in Message"
jenkins-bot [Sat, 9 Jun 2018 08:53:09 +0000 (08:53 +0000)]
Merge "Resolve required parameter after optional in Message"

5 years agoMerge "Resolve required parameter after optional parameter in Linker"
jenkins-bot [Sat, 9 Jun 2018 08:49:54 +0000 (08:49 +0000)]
Merge "Resolve required parameter after optional parameter in Linker"

5 years agoEscape text in Linker::specialLink()
Matěj Suchánek [Thu, 16 Mar 2017 20:24:55 +0000 (20:24 +0000)]
Escape text in Linker::specialLink()

Linker::linkKnown -> Linker::link -> $text is wrapped by HtmlArmor

Bug: T85864
Change-Id: I8755948131ffca4a0b5949b2f8cabf19f59c1c9e

5 years agoMerge "Rewrite IEUrlExtensionTest using a data provider"
jenkins-bot [Sat, 9 Jun 2018 08:42:02 +0000 (08:42 +0000)]
Merge "Rewrite IEUrlExtensionTest using a data provider"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 9 Jun 2018 07:58:40 +0000 (09:58 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I5bd33ca666aaa4ad76bbae4e0cc9d3e7cb44c345

5 years agoRewrite IEUrlExtensionTest using a data provider
Kunal Mehta [Sat, 9 Jun 2018 06:07:38 +0000 (23:07 -0700)]
Rewrite IEUrlExtensionTest using a data provider

Change-Id: I67568f997d682b88ad99676a57b85395b1b20f85

5 years agoResolve required parameter after optional in specials
Erik Bernhardson [Fri, 8 Jun 2018 21:42:27 +0000 (14:42 -0700)]
Resolve required parameter after optional in specials

Change-Id: If2c85d97d68b24fc5cb2bec19804034b994b348d

5 years agoAdd more logging to ChronologyProtector::initPositions()
Aaron Schulz [Fri, 8 Jun 2018 22:14:05 +0000 (15:14 -0700)]
Add more logging to ChronologyProtector::initPositions()

Bug: T194403
Change-Id: I8f1ccb3c6e257ae48ae6bbecd8f2a8f51cd2ed41

5 years agoResolve required parameter after optional parameter in Linker
Erik Bernhardson [Fri, 8 Jun 2018 21:32:55 +0000 (14:32 -0700)]
Resolve required parameter after optional parameter in Linker

Change-Id: I2569e30922e93404a59fa282df8ae8d3d19912fd

5 years agoResolve required parameter after optional in Message
Erik Bernhardson [Fri, 8 Jun 2018 21:33:02 +0000 (14:33 -0700)]
Resolve required parameter after optional in Message

It looks like this parameter has had a default since it was first
created, and somehow kept it even after a new parameter was added
to the end. codesearch.wmflabs.org suggests, and I could not find,
and calls to this function from any other code that would need
the defaulted param (probably because they fail due to the later
required parameter).

Change-Id: Iae6e736c5c957d9fccb6ab5813a3b5b02eeb3f6f

5 years agoResolve required parameter after optional in Xml
Erik Bernhardson [Fri, 8 Jun 2018 21:37:17 +0000 (14:37 -0700)]
Resolve required parameter after optional in Xml

Change-Id: If04d3b347ec2839b986d8fe85d3f2ed392fc83ed

5 years agoResolve required parameter after optional in language
Erik Bernhardson [Fri, 8 Jun 2018 21:46:03 +0000 (14:46 -0700)]
Resolve required parameter after optional in language

Change-Id: I6e0c3b14f1bcea112be7ab694efff5a67622d637

5 years agoMerge "build: Allow HHVM 3.21+ failures in Travis"
jenkins-bot [Fri, 8 Jun 2018 20:52:06 +0000 (20:52 +0000)]
Merge "build: Allow HHVM 3.21+ failures in Travis"

5 years agoMerge "(y)etsin fixes, test refactoring, and misc fixes"
jenkins-bot [Fri, 8 Jun 2018 20:46:12 +0000 (20:46 +0000)]
Merge "(y)etsin fixes, test refactoring, and misc fixes"

5 years agoFollow-up Ieaeb3113a: Add RELEASE-NOTES
Jforrester [Fri, 8 Jun 2018 19:55:45 +0000 (19:55 +0000)]
Follow-up Ieaeb3113a: Add RELEASE-NOTES

Change-Id: I79f1d28b54532a7495fb8e205c9b6636016587d7

5 years agoMerge "CurlHttpRequest: remove open_basedir check"
jenkins-bot [Fri, 8 Jun 2018 19:01:30 +0000 (19:01 +0000)]
Merge "CurlHttpRequest: remove open_basedir check"

5 years agoFix phpdoc for wfMessage $params for phan
Kunal Mehta [Fri, 8 Jun 2018 17:43:39 +0000 (10:43 -0700)]
Fix phpdoc for wfMessage $params for phan

phan and phpDoc expect that the type of variadic params is the type of
each individual item.

Change-Id: I8229d52b3e4b70a9de6c5bb813bab776c5547e5d

5 years agoCurlHttpRequest: remove open_basedir check
Kevin Israel [Fri, 8 Jun 2018 17:46:10 +0000 (13:46 -0400)]
CurlHttpRequest: remove open_basedir check

This only applied to PHP 5.5 and older, which we no longer support,
and was apparently overlooked in I740f32ac.

Change-Id: I1d56ac0ef7ac2cc14da16e1397e9614564c7ee23

5 years agoRelease notes for I57e05c5ae
Kunal Mehta [Thu, 7 Jun 2018 19:52:04 +0000 (12:52 -0700)]
Release notes for  I57e05c5ae

Cherry picked from commit d5e4bf920c7.

Change-Id: Ie7c9393c5a77279b9342152b9fdc187f22acf5c0

5 years agoMerge "Ensure $user is passed by reference in TitleMoveComplete hook on HHVM"
jenkins-bot [Fri, 8 Jun 2018 14:27:44 +0000 (14:27 +0000)]
Merge "Ensure $user is passed by reference in TitleMoveComplete hook on HHVM"

5 years agobuild: Allow HHVM 3.21+ failures in Travis
Timo Tijhof [Fri, 8 Jun 2018 14:22:43 +0000 (16:22 +0200)]
build: Allow HHVM 3.21+ failures in Travis

Keep them in the post-merge matrix, but don't make its failure
affect the commit status indicator (e.g. "non-voting").

Wikimedia only runs HHVM 3.18 in production at the moment, and
it seems these newer versions don't currently pass the test and
fixing them is probably not a priority at the moment.

Follows-up 8fde6115a8368e.

Change-Id: I8f6e637882e89663257cafd8c832f71131a9c488

5 years agoLink to revisions and log entries from tag logs
Matěj Suchánek [Fri, 28 Oct 2016 08:29:08 +0000 (08:29 +0000)]
Link to revisions and log entries from tag logs

Bug: T142888
Change-Id: Ieccd6a831a6231c1f3e83ba311eac65f956fe2ec

5 years agoMerge "HashRing: use bisection instead of guess and refine"
jenkins-bot [Fri, 8 Jun 2018 10:11:22 +0000 (10:11 +0000)]
Merge "HashRing: use bisection instead of guess and refine"

5 years agoMerge "Enable InterwikiTest::testDatabaseStorage()"
jenkins-bot [Fri, 8 Jun 2018 09:39:02 +0000 (09:39 +0000)]
Merge "Enable InterwikiTest::testDatabaseStorage()"

5 years agoHashRing: use bisection instead of guess and refine
Tim Starling [Thu, 7 Jun 2018 05:26:47 +0000 (15:26 +1000)]
HashRing: use bisection instead of guess and refine

Use bisection to find the position within the ring, as in ketama.
According to my benchmarking this is faster than the guess/refine
algorithm for rings with 100 locations, i.e. 16000 ring nodes requiring
at most 14 bisection iterations.

Change-Id: I6042f382de093081971b5ec210eda8dfa74988f2

5 years agoFix wfMessage() annotation
Max Semenik [Fri, 8 Jun 2018 06:06:02 +0000 (23:06 -0700)]
Fix wfMessage() annotation

$params is a variadic parameter now, so it must be treated as an
array. Same thing for wfMessageFallback().

Change-Id: I606deb7ea0fb9be25ac79aadfbab0cc44bdc36a0

5 years agoMerge "Rewrite HashRing to use consistent hashing"
jenkins-bot [Fri, 8 Jun 2018 05:25:25 +0000 (05:25 +0000)]
Merge "Rewrite HashRing to use consistent hashing"

5 years agoReplace call_user_func_array(), part 2
Max Semenik [Fri, 8 Jun 2018 02:58:35 +0000 (19:58 -0700)]
Replace call_user_func_array(), part 2

Uses new PHP 5.6 syntax like ...parameter unpacking and
calling anything looking like a callback to make the code more readable.
There are much more occurrences but this commit is intentionally limited
to an easily reviewable size.

In one occurrence, a simple conditional instead of trickery was much more readable.

This patch finishes all the easy stuf in the core, the remainder is either unobvious
or would result in smaller readability gains. It will be carefully dealt with in
further commits.

Change-Id: I79a16c48bfb98b75e5b99f2f6f4fa07b3ae02c5b