lhc/web/wiklou.git
5 years agoMerge "HTMLTitleTextField, HTMLUserTextField: Check for `null` before using the value"
jenkins-bot [Wed, 18 Jul 2018 18:10:14 +0000 (18:10 +0000)]
Merge "HTMLTitleTextField, HTMLUserTextField: Check for `null` before using the value"

5 years agoMerge "LogEventsList: Use GET in HTMLForm"
jenkins-bot [Wed, 18 Jul 2018 18:07:02 +0000 (18:07 +0000)]
Merge "LogEventsList: Use GET in HTMLForm"

5 years agoMerge "Reduce the rate of calls to Category::refreshCounts"
jenkins-bot [Wed, 18 Jul 2018 17:38:04 +0000 (17:38 +0000)]
Merge "Reduce the rate of calls to Category::refreshCounts"

5 years agoProvide correct param to Special:Log
Matěj Suchánek [Wed, 18 Jul 2018 13:59:04 +0000 (15:59 +0200)]
Provide correct param to Special:Log

Follows up Iba3c6aa5ac40dcdee0792c2d045b238b02d76521.

Bug: T117737
Change-Id: I90bb55eba4c3b4846da2394798ad6a2ac6fc9eca

5 years agoMerge "AuthManager: Don't invalidate BotPasswords if a password reset email is sent"
jenkins-bot [Wed, 18 Jul 2018 10:33:14 +0000 (10:33 +0000)]
Merge "AuthManager: Don't invalidate BotPasswords if a password reset email is sent"

5 years agoMerge "registration: Validate no duplicate keys exist in extension.json"
jenkins-bot [Wed, 18 Jul 2018 09:47:07 +0000 (09:47 +0000)]
Merge "registration: Validate no duplicate keys exist in extension.json"

5 years agoregistration: Validate no duplicate keys exist in extension.json
Florian Schmidt [Sun, 22 Jan 2017 15:36:22 +0000 (16:36 +0100)]
registration: Validate no duplicate keys exist in extension.json

The JSON specification permits duplicate keys, but doing so is almost
always nearly a mistake.

We can use the JSON lint library (added as
dev-requirement to composer), which is now also used to decode the
JSON (as it's the same step as validating the JSON).

Bug: T153507
Change-Id: Ia713a1906169333c1aa2aebdc0ed060d26428d72

5 years agoMerge "registration: Use the correct key for skin dependencies"
jenkins-bot [Wed, 18 Jul 2018 09:26:50 +0000 (09:26 +0000)]
Merge "registration: Use the correct key for skin dependencies"

5 years agoMerge "RCFilters: Standardize loading indicator appearance"
jenkins-bot [Wed, 18 Jul 2018 09:02:28 +0000 (09:02 +0000)]
Merge "RCFilters: Standardize loading indicator appearance"

5 years agoMerge "maintenance/interwiki.*: Replace Wikimedia Foundation wiki URL"
jenkins-bot [Wed, 18 Jul 2018 07:26:41 +0000 (07:26 +0000)]
Merge "maintenance/interwiki.*: Replace Wikimedia Foundation wiki URL"

5 years agomaintenance/interwiki.*: Replace Wikimedia Foundation wiki URL
Reedy [Tue, 17 Jul 2018 15:31:11 +0000 (16:31 +0100)]
maintenance/interwiki.*: Replace Wikimedia Foundation wiki URL

The wiki is now being moved to foundation.wikimedia.org.

Bug: T199812
Change-Id: I7ff4e74f075b90e81bc61ec3b03fe0884b6043ef

5 years agoLogEventsList: Use GET in HTMLForm
Prateek Saxena [Wed, 18 Jul 2018 05:08:03 +0000 (10:38 +0530)]
LogEventsList: Use GET in HTMLForm

I missed this during conversion.

Follows-up on Iba3c6aa5ac40dcdee0792c2d045b238b02d76521.

Bug: T199856
Change-Id: If3f228425b217c9ccdb7d32e0bc899647797ed70

5 years agoReduce the rate of calls to Category::refreshCounts
Aaron Schulz [Tue, 17 Jul 2018 20:22:59 +0000 (21:22 +0100)]
Reduce the rate of calls to Category::refreshCounts

Bug: T199762
Change-Id: I23e2e1ebf187d21ea4bd22304aa622199a8b9c5b

5 years agoSwitch callers from ProcessCacheLRU to MapCacheLRU
Aaron Schulz [Wed, 11 Jul 2018 12:54:51 +0000 (13:54 +0100)]
Switch callers from ProcessCacheLRU to MapCacheLRU

Change-Id: Iefe5c25e952079420b3241bc26efe1d2d086e6fb

5 years agofilerepo: switch callers from ProcessCacheLRU to MapCacheLRU
Aaron Schulz [Wed, 11 Jul 2018 12:53:23 +0000 (13:53 +0100)]
filerepo: switch callers from ProcessCacheLRU to MapCacheLRU

Change-Id: I58706b5610e0113a0c8d86eed2662870198f9b46

5 years agoHTMLTitleTextField, HTMLUserTextField: Check for `null` before using the value
Prateek Saxena [Tue, 17 Jul 2018 04:54:03 +0000 (10:24 +0530)]
HTMLTitleTextField, HTMLUserTextField: Check for `null` before using the value

Otherwise HTMLTitleTextField sends null to Title::newFromTextThrow(),
which causes an exception when trying to look it up in a cache.

Similar issue is present in HTMLUserTextField, although that one
hasn't caused problems in practice yet.

Follows-up on I93ad51ffe7bee597d2d127f4c5d6b2929ffc8f7e and
I0de4194a37b6ef260d35feb1e6730985775d5351.

Bug: T199763
Change-Id: I29ecd94cdf9e3064e6e9e7f4e65a50f267b5282d

5 years agoDeprecate SearchEngine::replacePrefixes
David Causse [Tue, 10 Jul 2018 12:10:09 +0000 (14:10 +0200)]
Deprecate SearchEngine::replacePrefixes

This should be handled internally by SearchEngine implementations.

Bug: T198860
Change-Id: Ifbfd0fcb81fcacf5228bd2ffcac7b80fca872b2a
Depends-On: I7d4ff9498fa1f4ea66835c634b8931f4c29993fb

5 years agoUnify SearchEngine normalizeNamespace and parseNamespacePrefixes
David Causse [Mon, 9 Jul 2018 16:55:54 +0000 (18:55 +0200)]
Unify SearchEngine normalizeNamespace and parseNamespacePrefixes

These methods are very similar there should be no need to have
two differents way to extract the namespace prefix.

Bug: T198860
Change-Id: I22802278452559d35a3d8f6068549c1fef1a5e86

5 years agoDeprecate usage of SearchEngine:transformSearchTerm
David Causse [Mon, 25 Jun 2018 17:19:32 +0000 (19:19 +0200)]
Deprecate usage of SearchEngine:transformSearchTerm

This method was introduced in 4115586000a575eb814a80868c817d18ee169d3b
to support the prefix URI param introduced by the InputBox extension.
There are no reasons that this logic is exposed to SearchEngine users
and should be handled internally by SearchEngine implementations
that supports it.
Previously the search query was updated, now the prefix param will passed
along using SpecialSearch::$extraParams.

Bug: T198318
Change-Id: I33518d3f3ddee741ff4f3b47eb4928009bea66d1
Depends-On: I67c7f1886dd6a2d07c12015e2711c138e9f140e9

5 years agoMerge "Rephrase 'logeventslist-more-filters'"
jenkins-bot [Tue, 17 Jul 2018 21:38:53 +0000 (21:38 +0000)]
Merge "Rephrase 'logeventslist-more-filters'"

5 years agoMerge "Introduce preference filters"
jenkins-bot [Tue, 17 Jul 2018 20:40:03 +0000 (20:40 +0000)]
Merge "Introduce preference filters"

5 years agoRephrase 'logeventslist-more-filters'
Bartosz Dziewoński [Tue, 17 Jul 2018 20:28:20 +0000 (22:28 +0200)]
Rephrase 'logeventslist-more-filters'

Bug: T117737
Change-Id: I6315ac76f8ddfeb024cb16331fc643ba726dfc34

5 years agoAuthManager: Don't invalidate BotPasswords if a password reset email is sent
Brad Jorsch [Tue, 17 Jul 2018 20:18:59 +0000 (16:18 -0400)]
AuthManager: Don't invalidate BotPasswords if a password reset email is sent

There's a difference between addition of credentials, which doesn't
need to invaliate BotPasswords, and changing or removal of credentials,
which does.

It seems most straightforward for the caller of
AuthManager::changeAuthenticationData() to know which is intended, so
let's add a flag there.

Bug: T199809
Change-Id: Ib8405734e605b94f3f0b66596ad95784cb365e4f

5 years agoIntroduce preference filters
Max Semenik [Fri, 6 Jul 2018 19:21:22 +0000 (12:21 -0700)]
Introduce preference filters

This normalizes handling of transformations on the boundaries between
preferences and generic form controls and removes the special case
where email-blacklist is passed around as an array internally, leaking
into the API.

As a result of this normalization, meta=userinfo no longer returns an
array of users, using the internal representation like action=options.

Bug: T198935
Change-Id: Iff63da0d215585cfcf083e7f7ec8ed45d5b77301

5 years agoMerge "LogEventsList: Remove unused messages"
jenkins-bot [Tue, 17 Jul 2018 20:05:18 +0000 (20:05 +0000)]
Merge "LogEventsList: Remove unused messages"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 17 Jul 2018 19:54:08 +0000 (21:54 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ia5e603f787ffeb5450d8695acee5f8dbde829ca8

5 years agoMerge "LogEventsListGetExtraInputs: Keep $input and add $formDescriptor"
jenkins-bot [Tue, 17 Jul 2018 18:52:18 +0000 (18:52 +0000)]
Merge "LogEventsListGetExtraInputs: Keep $input and add $formDescriptor"

5 years agoLogEventsListGetExtraInputs: Keep $input and add $formDescriptor
Prateek Saxena [Fri, 13 Jul 2018 02:02:13 +0000 (07:32 +0530)]
LogEventsListGetExtraInputs: Keep $input and add $formDescriptor

Follows-up on Iba3c6aa5ac40dcdee0792c2d045b238b02d76521.

Bug: T117737
Bug: T199495
Change-Id: I697e158887fcca1da88763a4c929a981d9211490

5 years agoMerge "Revert "Convert Title::getTitleCache() to using MapCacheLRU""
jenkins-bot [Tue, 17 Jul 2018 07:15:45 +0000 (07:15 +0000)]
Merge "Revert "Convert Title::getTitleCache() to using MapCacheLRU""

5 years agoRevert "Convert Title::getTitleCache() to using MapCacheLRU"
Krinkle [Tue, 17 Jul 2018 07:01:17 +0000 (07:01 +0000)]
Revert "Convert Title::getTitleCache() to using MapCacheLRU"

This reverts commit 7a25cd388c8adcce60f4c055295baed71e730616.

Bug: T199763
Change-Id: I276b833d75e93328a188056bf1eb2491461d6d53

5 years agoMerge "Cached HTML/JS shouldn't show two toggle links"
jenkins-bot [Tue, 17 Jul 2018 05:11:31 +0000 (05:11 +0000)]
Merge "Cached HTML/JS shouldn't show two toggle links"

5 years agoMerge "Clean up docs around $wgUseSharedUploads"
jenkins-bot [Tue, 17 Jul 2018 05:05:44 +0000 (05:05 +0000)]
Merge "Clean up docs around $wgUseSharedUploads"

5 years agoMerge "WebRequest: Fix flaky testGetElapsedTime test case"
jenkins-bot [Tue, 17 Jul 2018 05:03:49 +0000 (05:03 +0000)]
Merge "WebRequest: Fix flaky testGetElapsedTime test case"

5 years agoCached HTML/JS shouldn't show two toggle links
Fomafix [Wed, 11 Jul 2018 21:02:48 +0000 (14:02 -0700)]
Cached HTML/JS shouldn't show two toggle links

Per https://phabricator.wikimedia.org/T195053#4417392

Bug: T195053
Change-Id: I43ff902055b338b434658e9bb1d6eacdc5684ba2

5 years agoMerge "filebackend: switch callers from ProcessCacheLRU to MapCacheLRU"
jenkins-bot [Tue, 17 Jul 2018 03:44:26 +0000 (03:44 +0000)]
Merge "filebackend: switch callers from ProcessCacheLRU to MapCacheLRU"

5 years agoWebRequest: Fix flaky testGetElapsedTime test case
Timo Tijhof [Tue, 17 Jul 2018 03:23:30 +0000 (20:23 -0700)]
WebRequest: Fix flaky testGetElapsedTime test case

* Increase tolerance from 0.2s to 60s.

* Update mock to only set 'requestTime' when needed.

* Inject the mock timestamp.

* Increase test coverage by not just ensuring 0.0 is returned
  when invoked right after (which would be satisfied if it
  always returned 0.0), but use a timestamp that started
  slightly in the past to confirm it does (likely) do
  computation.

Bug: T199764
Change-Id: Iad9499391eecb4a9d1923d231a1a5f1afe173ecc

5 years agoParser: Remove style and script tags' content from TOC
Brad Jorsch [Mon, 2 Jul 2018 15:17:06 +0000 (11:17 -0400)]
Parser: Remove style and script tags' content from TOC

We don't want to display the stylesheet as part of the TOC entry if
someone uses TemplateStyles in a heading.

Bug: T198618
Change-Id: I2f7316daaba0cce662b6a4702ab87322e6783655

5 years agoMerge "Sync up with Parsoid parserTests.txt"
jenkins-bot [Tue, 17 Jul 2018 02:49:58 +0000 (02:49 +0000)]
Merge "Sync up with Parsoid parserTests.txt"

5 years agoMerge "objectcache: make BagOStuff::mergeViaLock() timeout more sensible"
jenkins-bot [Tue, 17 Jul 2018 01:09:25 +0000 (01:09 +0000)]
Merge "objectcache: make BagOStuff::mergeViaLock() timeout more sensible"

5 years agoMerge "objectcache: minor fix to MultiWriteBagOStuff::doWrite()"
jenkins-bot [Tue, 17 Jul 2018 01:00:06 +0000 (01:00 +0000)]
Merge "objectcache: minor fix to MultiWriteBagOStuff::doWrite()"

5 years agoSync up with Parsoid parserTests.txt
Arlo Breault [Mon, 16 Jul 2018 22:56:16 +0000 (18:56 -0400)]
Sync up with Parsoid parserTests.txt

This now aligns with Parsoid commit d473791ea982178af7a0fe15aff5cf8e21aaa5e8

Change-Id: Ide8a0d8df20242c9e60e40db653368ba3ef7a06c

5 years agoConvert LinkCache to using MapCacheLRU
Aaron Schulz [Wed, 11 Jul 2018 13:11:12 +0000 (14:11 +0100)]
Convert LinkCache to using MapCacheLRU

Clean up the variable names while at it.

Change-Id: I3b7860c0657111d73567e247bcc1ebcbaef53e22

5 years agoMerge "Convert ChangesList to using MapCacheLRU"
jenkins-bot [Mon, 16 Jul 2018 21:14:53 +0000 (21:14 +0000)]
Merge "Convert ChangesList to using MapCacheLRU"

5 years agoMerge "New 'OutputPageAfterGetHeadLinksArray' hook, allowing extensions to modify...
jenkins-bot [Mon, 16 Jul 2018 20:19:53 +0000 (20:19 +0000)]
Merge "New 'OutputPageAfterGetHeadLinksArray' hook, allowing extensions to modify the return value of OutputPage#getHeadLinksArray"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 16 Jul 2018 19:55:39 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Id5530a817f15305e1befca60e09623b70b8652e8

5 years agoSet role=button on TOC show/hide checkbox
Bartosz Dziewoński [Mon, 16 Jul 2018 16:30:55 +0000 (18:30 +0200)]
Set role=button on TOC show/hide checkbox

This should give more intuitive hints in assistive technology,
identical (or similar) to the hints for the JavaScript-generated
button we had before 68527cf47935a0350d3f0a153bd06cbb98062ec8.
See results of testing with Windows Narrator/VoiceOver: T195053#4428563.

Bug: T195053
Change-Id: I9358b29f56ac1e43e9c5ed00d30ce6ffdf903299

5 years agoMerge "Convert Title::getTitleCache() to using MapCacheLRU"
jenkins-bot [Mon, 16 Jul 2018 15:44:52 +0000 (15:44 +0000)]
Merge "Convert Title::getTitleCache() to using MapCacheLRU"

5 years agoMerge "In PathRouterTest use @dataProvider where possible"
jenkins-bot [Mon, 16 Jul 2018 15:19:42 +0000 (15:19 +0000)]
Merge "In PathRouterTest use @dataProvider where possible"

5 years agoMerge "mediawiki.page.gallery: Various clean up and minor optimisations"
jenkins-bot [Mon, 16 Jul 2018 14:22:20 +0000 (14:22 +0000)]
Merge "mediawiki.page.gallery: Various clean up and minor optimisations"

5 years agoMerge "objectcache: avoid direct "bag" field references in CachedBagOStuff"
jenkins-bot [Mon, 16 Jul 2018 09:23:55 +0000 (09:23 +0000)]
Merge "objectcache: avoid direct "bag" field references in CachedBagOStuff"

5 years agoIn PathRouterTest use @dataProvider where possible
Tim Starling [Mon, 9 Jul 2018 04:56:21 +0000 (14:56 +1000)]
In PathRouterTest use @dataProvider where possible

"Where possible" turns out to be every test in this class.

I used named data sets (i.e. array keys in the provided array) for the
main set of tests, to improve the PHPUnit output.

Change-Id: Ic68edc01b3e0e174983471a36f3c5d52e28abfdd

5 years agoLogEventsList: Remove unused messages
Prateek Saxena [Mon, 16 Jul 2018 04:30:25 +0000 (10:00 +0530)]
LogEventsList: Remove unused messages

…and update documentation for $wgFilterLogTypes.

Follows-up on Iba3c6aa5ac40dcdee0792c2d045b238b02d76521.

Bug: T199657
Change-Id: I46c5836e4131423f930d59a1c5e7937339478c33

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 15 Jul 2018 19:54:32 +0000 (21:54 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I8fceb715311191c6ad73d5a0a5ec24e6009418f6

5 years agoTemporarily skip broken Selenium test
Daimona Eaytoy [Sun, 15 Jul 2018 13:35:11 +0000 (15:35 +0200)]
Temporarily skip broken Selenium test

This test was already flaky and was fixed in
I1fd0c49263e975c6b24e2e1f9a072486a6565dda. However, this caused failures
on several repos. Temporarily disable it until we'll get it to work
properly.

Bug: T199644
Change-Id: I88be83e01eb1789f28f09fc4a0be7ea17f402858

5 years agoMerge "Localize MW core namespaces to Santali"
jenkins-bot [Sun, 15 Jul 2018 13:25:46 +0000 (13:25 +0000)]
Merge "Localize MW core namespaces to Santali"

5 years agoLocalize MW core namespaces to Santali
Martin Urbanec [Sat, 14 Jul 2018 18:42:45 +0000 (20:42 +0200)]
Localize MW core namespaces to Santali

Bug: T198404
Change-Id: I4a68e55fc6771b9fc64ef823b399332d8eedfa38

5 years agoMerge "selenium: create edit for RecentChanges through GUI"
jenkins-bot [Sat, 14 Jul 2018 23:39:43 +0000 (23:39 +0000)]
Merge "selenium: create edit for RecentChanges through GUI"

5 years agoNew 'OutputPageAfterGetHeadLinksArray' hook, allowing extensions to modify the return...
Jack Phoenix [Sat, 14 Jul 2018 22:54:40 +0000 (01:54 +0300)]
New 'OutputPageAfterGetHeadLinksArray' hook, allowing extensions to modify the return value of OutputPage#getHeadLinksArray

Code from wikiHow codebase, where this hook is used by the following extensions:
* AlternateDomain -- used to remove certain links altogether and change the contents of other elements (e.g. <meta description="..." />)
* hooks (PageHooks) -- used to hide certain links for anons on noindexed pages to avoid leaking article info to Googlebot
* QADomain -- used to remove certain elements and correct <meta keywords="..." /> tags not to mention "wikiHow" if that string is present
* search (LSearch) -- used to remove canonical URL on Special:LSearch for SEO

Change-Id: I4a9ceb343bb5c0b4eb79e4589d36c3790938f8a9

5 years agoPass $opts by reference to subscribers of 'SpecialSearchPowerBox' hook to allow them...
Jack Phoenix [Wed, 11 Jul 2018 08:06:10 +0000 (11:06 +0300)]
Pass $opts by reference to subscribers of 'SpecialSearchPowerBox' hook to allow them to modify it

wikiHow added a new hook called 'SpecialSearchPowerBoxOpts', which was passed only &$opts, so that the Finner extension can unset the $opts array. Enhancing the pre-existing hook is a better solution in this case.

Change-Id: I091cbdc78fc779144554d8420a95435b7048c407

5 years agoMerge "Add new 'ArticleShowPatrolFooter' hook to allow extensions to decide if the...
jenkins-bot [Sat, 14 Jul 2018 22:33:29 +0000 (22:33 +0000)]
Merge "Add new 'ArticleShowPatrolFooter' hook to allow extensions to decide if the [mark as patrolled] link should not be shown"

5 years agoMerge "Don't throw E_NOTICEs about undefined properties"
jenkins-bot [Sat, 14 Jul 2018 22:31:22 +0000 (22:31 +0000)]
Merge "Don't throw E_NOTICEs about undefined properties"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 14 Jul 2018 20:00:57 +0000 (22:00 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I4fb9db02edc442a1b98b6e88d4715ba7f77dc402

5 years agofilebackend: switch callers from ProcessCacheLRU to MapCacheLRU
Aaron Schulz [Wed, 11 Jul 2018 12:53:13 +0000 (13:53 +0100)]
filebackend: switch callers from ProcessCacheLRU to MapCacheLRU

Change-Id: I6efe7122ff30053a85461d31be7b5ddad0a5d2af

5 years agoConvert ChangesList to using MapCacheLRU
Aaron Schulz [Wed, 11 Jul 2018 13:04:36 +0000 (14:04 +0100)]
Convert ChangesList to using MapCacheLRU

Change-Id: I1cafb601dc644ca6d58ec0430e9608cfb497bcd8

5 years agoConvert PasswordReset to using MapCacheLRU
Aaron Schulz [Wed, 11 Jul 2018 13:08:08 +0000 (14:08 +0100)]
Convert PasswordReset to using MapCacheLRU

Avoid NULL user name that caused test failures

Change-Id: Ifc3b19cc7e172300123e7d2c7153b4357917ca74

5 years agoClean up docs around $wgUseSharedUploads
Timo Tijhof [Sat, 14 Jul 2018 01:22:44 +0000 (18:22 -0700)]
Clean up docs around $wgUseSharedUploads

* Remove references to these old configuration variables
  from documentation. Rather than wgLocalFileRepo referring to
  these for more information, move the docs there, and point
  there from the old variables.

* Move all their declarations in DefaultSettings.php together,
  and be in the same order as used in Setup.php.

* Add missing @var type and @since version docs.

Bug: T25122
Change-Id: I4eb9490ed4e978b2c3954de0593a9d0d3c5fe73c

5 years agoMerge "Mention MariaDB first, before MySQL in installer."
jenkins-bot [Sat, 14 Jul 2018 00:40:15 +0000 (00:40 +0000)]
Merge "Mention MariaDB first, before MySQL in installer."

5 years agoMerge "Accept BCP 47 codes as aliases for nonstandard variants"
jenkins-bot [Sat, 14 Jul 2018 00:30:44 +0000 (00:30 +0000)]
Merge "Accept BCP 47 codes as aliases for nonstandard variants"

5 years agoMerge "tests: Add a doc test for release notes' existence and line length"
jenkins-bot [Sat, 14 Jul 2018 00:27:22 +0000 (00:27 +0000)]
Merge "tests: Add a doc test for release notes' existence and line length"

5 years agoMerge "Follow-up 267d99fa8: Fix RELEASE-NOTES-1.32 line length"
jenkins-bot [Sat, 14 Jul 2018 00:17:30 +0000 (00:17 +0000)]
Merge "Follow-up 267d99fa8: Fix RELEASE-NOTES-1.32 line length"

5 years agotests: Add a doc test for release notes' existence and line length
James D. Forrester [Tue, 3 Jul 2018 22:22:09 +0000 (15:22 -0700)]
tests: Add a doc test for release notes' existence and line length

Change-Id: I502bedc0221e52b78b15b1749918500842533e7c

5 years agoAccept BCP 47 codes as aliases for nonstandard variants
C. Scott Ananian [Tue, 3 Jul 2018 20:12:38 +0000 (16:12 -0400)]
Accept BCP 47 codes as aliases for nonstandard variants

The browser Accept-Language header uses BCP 47 codes, which don't
precisely match our internal mediawiki variant names in a number of
places.  Allow proper BCP 47 codes to alias our internal variants
for: Accept-Language parsing, URL parsing, user preferences, and
explicit enumeration of codes in LanguageConverter rules.

Change-Id: I8468a56d5b88f5786abd0a17b67bda2f1687fd0c

5 years agoHard deprecate support for Parsoid v1 API
C. Scott Ananian [Fri, 13 Jul 2018 20:59:57 +0000 (16:59 -0400)]
Hard deprecate support for Parsoid v1 API

This was soft deprecated by f5c874cbaf2c1408342305fbc87dc6db36728e07 in
May 2015, and support for the v1 API was removed from Parsoid in May 2016,
but the compatibility code has persisted zombie-like in core.

Hard deprecate this now, to warn anyone who might still be using ancient
copies of Visual Editor and Parsoid, and then we can slice the code out
in the next MW release.

Bug: T100681
Change-Id: I68e0ab5b38f31b7708ba6f075dcb3328dde118d1

5 years agoMerge "Revert "Pedantic strict equals.""
jenkins-bot [Fri, 13 Jul 2018 20:45:38 +0000 (20:45 +0000)]
Merge "Revert "Pedantic strict equals.""

5 years agoMerge "Use func_num_args() in MapCacheLRU::clear() for sanity"
jenkins-bot [Fri, 13 Jul 2018 20:29:11 +0000 (20:29 +0000)]
Merge "Use func_num_args() in MapCacheLRU::clear() for sanity"

5 years agoMerge "Hard-deprecate ContentHandler::makeParserOptions()"
jenkins-bot [Fri, 13 Jul 2018 20:00:56 +0000 (20:00 +0000)]
Merge "Hard-deprecate ContentHandler::makeParserOptions()"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 13 Jul 2018 19:58:19 +0000 (21:58 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ibd2a95b4ebde7420a23dabbc3b8cdcfb12aa1452

5 years agoMerge "Ensure LanguageCode::bcp47() returns a valid BCP 47 language code"
jenkins-bot [Fri, 13 Jul 2018 19:28:25 +0000 (19:28 +0000)]
Merge "Ensure LanguageCode::bcp47() returns a valid BCP 47 language code"

5 years agoRevert "Pedantic strict equals."
Daniel Kinzler [Fri, 13 Jul 2018 19:27:02 +0000 (19:27 +0000)]
Revert "Pedantic strict equals."

This reverts commit b24fafd6066f8bffeb2b4c0b9e8e22d1b2f07cf2.

Reason for revert: T199504

The strict comparisons changes semantics when parameters are not set and thus null.

This could be fixed by setting the right defaults when getting parameter values, but needs a closer look.

Bug: T199504
Change-Id: I7b3e5d4f4d50af6603b3414be099d5bda6571387

5 years agoMerge "rcfilters: Fix filter menu checkbox alignment after OOUI v0.27.5 release"
jenkins-bot [Fri, 13 Jul 2018 19:01:20 +0000 (19:01 +0000)]
Merge "rcfilters: Fix filter menu checkbox alignment after OOUI v0.27.5 release"

5 years agoEnsure LanguageCode::bcp47() returns a valid BCP 47 language code
C. Scott Ananian [Tue, 26 Jun 2018 20:39:57 +0000 (16:39 -0400)]
Ensure LanguageCode::bcp47() returns a valid BCP 47 language code

MediaWiki uses a number of nonstandard codes which do not validate
according to the IANA language subtag registry.  Some of them have
the wrong semantics entirely: MediaWiki's `sr-ec` variant maps to
BCP 47 `sr-EC` which is "Serbian as used in Ethiopia" (!).

Extend LanguageCode::bcp47() to map our nonstandard codes to valid
BCP 47 language codes.  Export the mapping so that it can be used
in JavaScript's corresponding mw.language.bcp47() implementation
as well.

Thanks to TheDJ (I10b4473c7e53f027812bbccf26bb47aec15fddfd) and
Fomafix (I93efc190714ba76247d30ba49fc21ae872fc3555) for previous
attempts at this!

Also removed a fixme for the name of 'Twi', dating back to 2004
(f59c3be23b209e178a917cb14ebedcc243c847b6) -- checking
tw.wikipedia.org it certainly appears that the autonym of 'Twi'
is correctly 'Twi'.

Tracking bugs for invalid language codes are T125073 and T145535.
Discussion of zh-XX => zh-HanX-XX mapping is at T198419.

Bug: T34483
Bug: T106367
Bug: T120847
Change-Id: I807dd55d49e9bd19443329231326a5b0d3e6c453

5 years agoHard-deprecate ContentHandler::makeParserOptions()
Brad Jorsch [Wed, 11 Jul 2018 16:14:53 +0000 (12:14 -0400)]
Hard-deprecate ContentHandler::makeParserOptions()

Followup to I01373b29.

Bug: T194263
Change-Id: I8c5a2a1485d515373d1a0005ee0f5ee782690a2c
Depends-On: I2260fe7322cace9003c3c17be95cfba8df4bdbbe
Depends-On: I7e6a17466ba17f85b4f247b329a0d248855abdd1
Depends-On: I254a583b7f7ddd1797aa40f0ddfb973161185a49
Depends-On: Ib8ed827012c7bd73fcdaa6c0c6edd44869c79f14
Depends-On: Ia95f3e2c1ea944366ff9a478c3c86f8565023394
Depends-On: I4b591969166acdd73ed70b117a7a135d993fa42a

5 years agoDeprecate ContentHandler::makeParserOptions()
Brad Jorsch [Wed, 11 Jul 2018 16:13:18 +0000 (12:13 -0400)]
Deprecate ContentHandler::makeParserOptions()

Having a different ParserOptions for each content model isn't feasible
in an MCR world. And the only thing using this was Wikibase, which has
been fixed to do what it needs in a different way.

Bug: T194263
Change-Id: I01373b29ee25fa9346c6b0317155be4ccdc8c515

5 years agoMerge "Hard deprecate Language::truncate()"
jenkins-bot [Fri, 13 Jul 2018 17:58:03 +0000 (17:58 +0000)]
Merge "Hard deprecate Language::truncate()"

5 years agorcfilters: Fix filter menu checkbox alignment after OOUI v0.27.5 release
James D. Forrester [Fri, 13 Jul 2018 17:33:24 +0000 (10:33 -0700)]
rcfilters: Fix filter menu checkbox alignment after OOUI v0.27.5 release

Bug: T199466
Change-Id: I3ab314d76f9f14aa8bac3d8a840c55e7e00e29e3

5 years agoMerge "Don't armor french spaces before punctuation followed by word characters"
jenkins-bot [Fri, 13 Jul 2018 17:22:34 +0000 (17:22 +0000)]
Merge "Don't armor french spaces before punctuation followed by word characters"

5 years agoMerge "Add test for PageArchive::getPreviousRevision"
jenkins-bot [Fri, 13 Jul 2018 17:19:45 +0000 (17:19 +0000)]
Merge "Add test for PageArchive::getPreviousRevision"

5 years agoMerge "Put <dt>/<dd>/<li> in the always-suppressing category of doBlockLevels"
jenkins-bot [Fri, 13 Jul 2018 16:57:36 +0000 (16:57 +0000)]
Merge "Put <dt>/<dd>/<li> in the always-suppressing category of doBlockLevels"

5 years agoMerge "Use a closure instead of PathRouterPatternReplacer"
jenkins-bot [Fri, 13 Jul 2018 16:44:45 +0000 (16:44 +0000)]
Merge "Use a closure instead of PathRouterPatternReplacer"

5 years agoPut <dt>/<dd>/<li> in the always-suppressing category of doBlockLevels
Arlo Breault [Thu, 12 Jul 2018 18:41:20 +0000 (14:41 -0400)]
Put <dt>/<dd>/<li> in the always-suppressing category of doBlockLevels

This is a clarification of what already happens in practice for lists
generated from wikitext syntax, since that parsing happens
simultaneously.

Parsoid, for its part, does list handling prior to paragraph wrapping,
so must make use of these definitions.

Further, this helps reduce paragraph wrapping in interstitial spacing of
lists from HTML syntax, as spec'd in the tests, though the possibility
isn't eliminated entirely.

The TOC generation code is altered to reduce the number of newlines
emitted in between list items, since those are now left intact.

Change-Id: I6888b6e8e6768b0737565b87924fefa5a06ebd18

5 years agoMerge "<ins>/<del> elements can be phrasing or flow"
jenkins-bot [Fri, 13 Jul 2018 16:22:46 +0000 (16:22 +0000)]
Merge "<ins>/<del> elements can be phrasing or flow"

5 years ago<ins>/<del> elements can be phrasing or flow
Arlo Breault [Thu, 12 Jul 2018 18:31:04 +0000 (14:31 -0400)]
<ins>/<del> elements can be phrasing or flow

The changes to the parserTests.txt highlight the differing opinions that
doBlockLevels and Remex had on whether these should be paragraph wrapped.

Since the only time they wouldn't have been was when found on a line
with other flow tags, this likely isn't a behaviour that was depended on
in practice.  And, indeed, the task describes this as a bug.

A sampling of pages from an insource:/\<(ins|del)\>/ search on wiki bears
this out.

Bug: T17491
Change-Id: I311da777a63aa3c45013f2cfc090be35a022497e

5 years agoselenium: create edit for RecentChanges through GUI
Pablo Grass [Fri, 13 Jul 2018 15:18:20 +0000 (17:18 +0200)]
selenium: create edit for RecentChanges through GUI

Use page object to create the page we will be asserting on
Special:RecentChanges. Apparently (post send) jobs are not executed on
API calls (that were formerly used for test setup) and consequently
presence of the edit on Special:RecentChanges could not be guaranteed.

Bug: T199446
Change-Id: I1fd0c49263e975c6b24e2e1f9a072486a6565dda

5 years agoUse func_num_args() in MapCacheLRU::clear() for sanity
Aaron Schulz [Fri, 13 Jul 2018 14:15:52 +0000 (15:15 +0100)]
Use func_num_args() in MapCacheLRU::clear() for sanity

Change-Id: Ie11e18a342db0176271e4d08f56a99b0e3caacbe

5 years agoAdd test for PageArchive::getPreviousRevision
daniel [Fri, 13 Jul 2018 10:16:36 +0000 (12:16 +0200)]
Add test for PageArchive::getPreviousRevision

Regression test for  I4e2031f9625744

Change-Id: Id22984bf7d1c3d6f57e827e9f1283231918b59b1

5 years ago[PageArchive] Fetch ar_rev_id instead of ar_id
David Causse [Fri, 13 Jul 2018 09:25:10 +0000 (11:25 +0200)]
[PageArchive] Fetch ar_rev_id instead of ar_id

Introduced in I92afda8, the query fetches ar_id but the code expects
ar_rev_id.

Change-Id: I4e2031f96257449a264142a6d697aca802e897df

5 years agomediawiki.page.gallery: Various clean up and minor optimisations
Timo Tijhof [Fri, 13 Jul 2018 05:22:31 +0000 (22:22 -0700)]
mediawiki.page.gallery: Various clean up and minor optimisations

* Moved some variables to a lower scope more appropiate,
  to make it easier to understand what they are used for,
  and to reduce chances of mistakes in the future.

* Use push() instead of .length assignment.

* Use the same property for checks as for access ([0] vs length),
  also potentially faster, but nothing worth mentioning.

* Avoid duplicate $this.outerWidth(), expensive computation.

Bug: T88654
Change-Id: Ib03d05a5c6422afdec11c56360bd568bdb2633fb

5 years agoinstaller: Add missing new-line after "comment fields are up to date"
Timo Tijhof [Fri, 13 Jul 2018 04:15:39 +0000 (21:15 -0700)]
installer: Add missing new-line after "comment fields are up to date"

Before:
> ...comment fields are up to date...hitcounter doesn't exist.
> ...site_stats table does not contain ss_total_views field.

After:
> ...comment fields are up to date.
> ...hitcounter doesn't exist.
> ...site_stats table does not contain ss_total_views field.

Change-Id: Ia99758f9af379a84c20d99e05838802965def3b6

5 years agoDon't throw E_NOTICEs about undefined properties
Jack Phoenix [Fri, 13 Jul 2018 03:33:10 +0000 (06:33 +0300)]
Don't throw E_NOTICEs about undefined properties

Bug: T199494
Change-Id: Id24b9ece76ca0bedcaac29f1a6f5567af78658c1

5 years agoMerge "Let 'shows page creation' test be skipped"
jenkins-bot [Fri, 13 Jul 2018 02:08:00 +0000 (02:08 +0000)]
Merge "Let 'shows page creation' test be skipped"