lhc/web/wiklou.git
4 years agoUpdate git submodules
Dejan Savuljesku [Wed, 23 Oct 2019 07:49:37 +0000 (09:49 +0200)]
Update git submodules

* Update extensions/OATHAuth from branch 'REL1_34'
  to 99b1f06a2f411c08f12e3fa80257ac0a49612345
  - Ask for user re-auth only on initial requests

    Make sure user is asked to re-authenticate (if needed) only on initital request,
    not after submitting the form

    Bug: T235645
    Change-Id: Ic315f49ac5810da0a703ccf4b51f558d17f905fb

4 years agoMerge "resources: Collapse all jQuery UI modules into one deprecated mega-module...
jenkins-bot [Sun, 20 Oct 2019 09:51:58 +0000 (09:51 +0000)]
Merge "resources: Collapse all jQuery UI modules into one deprecated mega-module" into REL1_34

4 years agoFix docs for GetUserBlock hooks
Daimona Eaytoy [Sun, 20 Oct 2019 08:45:27 +0000 (10:45 +0200)]
Fix docs for GetUserBlock hooks

Change-Id: I93b64fb00477c0632a6fa3573800dd7609d25db0

4 years agoresources: Collapse all jQuery UI modules into one deprecated mega-module
James D. Forrester [Thu, 10 Oct 2019 23:33:54 +0000 (16:33 -0700)]
resources: Collapse all jQuery UI modules into one deprecated mega-module

(cherry picked from commits b76856675d78d1 and ecf4cb6610).

Bug: T219604
Change-Id: I9070ad9052319f5ca2bc67e0ffaf502db0f13ceb

4 years agoDeprecate 'jquery.tabIndex' module
Ammar Abdulhamid [Sun, 13 Oct 2019 10:25:20 +0000 (11:25 +0100)]
Deprecate 'jquery.tabIndex' module

Bug: T234581
Change-Id: I8e1b43ae17b2bdd90f5ce7f0a4907cf94f759b8d

4 years agoUpdate RELEASE-NOTES-1.34 for various backports
Reedy [Fri, 18 Oct 2019 21:26:20 +0000 (22:26 +0100)]
Update RELEASE-NOTES-1.34 for various backports

Change-Id: I6241e2a0820fc2f89c806d202514ae75039e1fa0

4 years agoDeprecate setting Parser::mTitle to null
C. Scott Ananian [Thu, 17 Oct 2019 16:59:04 +0000 (12:59 -0400)]
Deprecate setting Parser::mTitle to null

This never happens in core code; however extensions have slipped into
a state of sin.

Bug: T235392
Change-Id: Ia254949cd8b3bc162b11dcc911dcce40d91bf1b7
(cherry picked from commit dd9e6124b4a47b98cccdaa2971d587ecc6f0ab6e)

4 years agoRevert "Parser: Add Title type hints"
Fomafix [Mon, 14 Oct 2019 18:52:19 +0000 (20:52 +0200)]
Revert "Parser: Add Title type hints"

This change reverts most of commit 3dff713fe4.

Especially the return type hints for getTitle() and Title() are reduced
to allow the type null as return value, because SematicMediaWiki uses
this by

$this->parser->getTitle() instanceof Title

to check if there is a valid Title object.

The parameter type hints for setTitle() and Title() are kept.

Bug: T235392
Change-Id: I72ac1c9d37059876dbc7cd38158e7abd212da8fe
(cherry picked from commit d91a136ae7b53f07bac62aba944f5a7ba1ccd7ec)

4 years agobuild: Upgrade mediawiki-codesniffer from 26.0.0 to 28.0.0
James D. Forrester [Fri, 11 Oct 2019 16:30:40 +0000 (09:30 -0700)]
build: Upgrade mediawiki-codesniffer from 26.0.0 to 28.0.0

Newly-disabled general rules:
* MediaWiki.Commenting.FunctionComment.MissingSplatVariadicArg
* MediaWiki.Commenting.FunctionComment.SuperfluousVariadicArgComment
* MediaWiki.Commenting.PhpunitAnnotations.ForbiddenExpectedException
* MediaWiki.Commenting.PhpunitAnnotations.ForbiddenExpectedExceptionMessage
* MediaWiki.Commenting.PhpunitAnnotations.ForbiddenExpectedExceptionMessageRegExp
* MediaWiki.Usage.NullableType.PHP71NullableStyle
* MediaWiki.Usage.PHPUnitTypeHints.MissingTypehint
* PSR12.Files.ImportStatement.LeadingSlash
* PSR12.Properties.ConstantVisibility.NotFound

Change-Id: Ifcf8c6d5fecc47a32741114b5a5b746a41510045

4 years agoBaseTemplate: Use explicit varargs in method parameters
Máté Szabó [Sat, 5 Oct 2019 16:27:30 +0000 (18:27 +0200)]
BaseTemplate: Use explicit varargs in method parameters

With the removal of HHVM support, we can now use explicit varargs
in function arguments. This patch updates the BaseTemplateclass to
do so, and also removes PhanCommentParamWithoutRealParam check suppressions,
which are now redundant.

Bug: T231710
Change-Id: If78bd1556c862a472afe3646fd362b3c6baefbe0

4 years agoUse splat operator in signature, not func_get_args
Michael Große [Mon, 11 Mar 2019 18:10:54 +0000 (19:10 +0100)]
Use splat operator in signature, not func_get_args

Most of the original scope of this patch was implemented in 8665536045c

What remains is to use the splat operator in the method signature as
well which is more readable than using func_get_args and doesn't annoy
phan. This is now possible, because we are no longer testing on HHVM and
these mocking in HHVM tests was the only place where this was broken.

Change-Id: I52912d1810b955b05cd17fab424f80c201883411

4 years agoPPFrame: Use explicit varargs in method parameters
Máté Szabó [Sat, 5 Oct 2019 15:52:29 +0000 (17:52 +0200)]
PPFrame: Use explicit varargs in method parameters

With the removal of HHVM support, we can now use explicit varargs
in function arguments. This patch updates the PPFrame interface to
do so, and also removes PhanCommentParamWithoutRealParam check suppressions,
which are now redundant.

It seems that classes implementing this interface were already using varargs.

Bug: T231710
Change-Id: Ib1d69575835df80dca4e43b0028ad9368f62bb58

4 years agoUse real variargs for variadic methods
Daimona Eaytoy [Tue, 3 Sep 2019 16:01:04 +0000 (18:01 +0200)]
Use real variargs for variadic methods

These were all checked via codesearch to ensure that nothing is overriding
these methods.

Change-Id: Ie2d8c1fd01478f46f3d0d1259417182b0d955a12

4 years agoUse varargs for MessageLocalizer::msg and similar
Umherirrender [Fri, 8 Jun 2018 20:35:15 +0000 (22:35 +0200)]
Use varargs for MessageLocalizer::msg and similar

Bug: T191666
Change-Id: I59f2ae1a96af392026fc106e57d23553003c16b8
(cherry picked from commit 8752df6592436d3394a743331bf8ac8299fe0f7d)

4 years agosession: Add debug message for the used store class
Timo Tijhof [Wed, 16 Oct 2019 22:41:01 +0000 (23:41 +0100)]
session: Add debug message for the used store class

Follows-up 70cb2664805.

Bug: T234361
Change-Id: Ifd6616b1a31f6cb915ec553865e999fcd974784e
(cherry picked from commit f2e6fab93ff0d45c95498146b022c761c5bbcd14)

4 years agoUpdate git submodules
Reedy [Thu, 17 Oct 2019 23:58:59 +0000 (00:58 +0100)]
Update git submodules

* Update extensions/SyntaxHighlight_GeSHi from branch 'REL1_34'
  to d45d04f053c79deba29311aee1070b1ac1de79de
  - Update README to match pygments version

    Bug: T235808
    Change-Id: Iea9a1bc566f67507414f7f2a4fdfd89c8433b7fd
    Follows-Up: I4dc1782f19881ba1294308e1cdea1b2e063f438a
    (cherry picked from commit e286f3be4fada723e8a4cd32db2e56d32397f8d3)

4 years agoDon't apply styling for Special:Contributions on other pages
Bartosz Dziewoński [Wed, 16 Oct 2019 20:26:37 +0000 (22:26 +0200)]
Don't apply styling for Special:Contributions on other pages

This file is part of a large ResourceLoader module that is loaded on
many special pages.

The change here uses the same approach as other files in this
directory, e.g. block.less.

Bug: T235137
Change-Id: I23c552944c6e7e31a4107f7974bb1e5867627283
(cherry picked from commit ffaae18c76f5b6674f8aa565ee9e7579f9aac3e1)

4 years agoFix example Kask configuration in RESTBagOStuff class comment
Nikki Nikkhoui [Tue, 15 Oct 2019 21:07:41 +0000 (14:07 -0700)]
Fix example Kask configuration in RESTBagOStuff class comment

Fix error in RESTBagOStuff class comment, so that the example Kask
configuration is properly documented

Bug: T235559

Change-Id: If664913a4e61013dba070153b10def5ecd6caeb3
(cherry picked from commit 3cda7b78466e294de0a9434178254a5c70ac8d0a)

4 years agoUpdate git submodules
Dejan Savuljesku [Fri, 20 Sep 2019 07:27:55 +0000 (09:27 +0200)]
Update git submodules

* Update extensions/OATHAuth from branch 'REL1_34'
  to d0e306118dcc6c3fbda00f4cdb25c2628c364acd
  - Do not store proper objects in session data

    Bug: T233146
    Change-Id: I2f75261b276993d27f6c96e066ea7769cf7fc082
    (cherry picked from commit 920136e67b1b78fac4317aa91f20c97184ad67b6)

4 years agolocalisation: Log debug message for backend of MessageCache
Timo Tijhof [Fri, 11 Oct 2019 23:26:18 +0000 (00:26 +0100)]
localisation: Log debug message for backend of MessageCache

Bug: T234361
Change-Id: I697626a83cca4c6893cc30ca6ae118f10195624c
(cherry picked from commit 8e9adb9486257867385128bd8eedd6e8d6d7035e)

4 years agoprofiler: Deprecate ProfilerOutputDb and profileinfo.php
Timo Tijhof [Fri, 11 Oct 2019 22:55:34 +0000 (23:55 +0100)]
profiler: Deprecate ProfilerOutputDb and profileinfo.php

Bug: T231366
Change-Id: I962a794c6806aa014af4b904e8b974fb0f4384b0
(cherry picked from commit 7b87584d87d69d1de2209b13c767a08475b47f6e)

4 years agoSetup RELEASE-NOTES for commits after 1.34.0-rc.0
Reedy [Tue, 15 Oct 2019 19:10:14 +0000 (20:10 +0100)]
Setup RELEASE-NOTES for commits after 1.34.0-rc.0

Change-Id: I7d47e073a0095ff0cb7d0860bf750de8f4a6c8d9

4 years agordbms: Restore debug toolbar "Queries" feature
Timo Tijhof [Sat, 5 Oct 2019 01:56:12 +0000 (02:56 +0100)]
rdbms: Restore debug toolbar "Queries" feature

This broke after e0cc49ce3971e19, due to the field 'master'
being removed from the log context. The LegacyLogger logic
forwarding these messages to MWDebug (for the debug toolbar)
however, was dependant on.

Users of debug toolbar experienced a silent failure because the
logic in question is very tolerant of missing fields. This is
because it uses those fields to distinguish the 'sql' messages
from channel=DBQuery from other messages in the same channel.
Making that less fragile is outside the scope of this commit.

This commit:

* Restore the basic functionality by making sure MWDebug::query()
  gets called again for DBQuery messages.

* Remove the code relating to the 'master' field as this no longer
  exists in RDBMS. It also wasn't used anywhere (to be used,
  it would need to be read by mediawiki.debug/debug.js).

* Remove unexpanded "{method}" and "{runtime}" noise in the debug
  toolbar text. This was introduced by he conversion to PSR-3
  logging.. These fields are already rendered separately by
  the toolbar and should not be part of the "SQL" column.
  To do this, we need to log the $sql bit as its own key, so
  I've made this a context field as well.

* Reduce the condition logic in LegacyLogger to only looking for
  'DBQuery' and 'sql'. This way, if it breaks again it will
  still call the logic within and emit E_NOTICE instead, which
  would help detect the issue (and still fallback to at least
  showing the queries). Unlike before this commit where it took
  quite some time to figure out why it wasn't working.

* The above fixes still weren't enough to get queries to show
  up in the Debug toolbar for me. Turns out, this was because
  my local setup (mediawiki-docker-dev) uses a master-replica
  set up. The setup doesn't use any custom LBFactory config,
  just plain $wgDBservers. The logic for turning these plain
  settings into LBFactory (in MWLBFactory.php) does kick in,
  and does run (unlike if I had custom wgLBFactoryConf).
  But, the DBO_DEBUG flag didn't make it through because of
  the += operator preferring any pre-existing value my setup
  has, which is just `DBO_DEFAULT`.
  Merging 'flags' keys seems unsafe in general, but adding
  DBO_DEBUG based on $wgDebugDumpSql seems innocent and doesn't
  affect other behaviour (it's a case of DWIM).

Bug: T231742
Change-Id: I122bb1a65620a7ae4e1943136c975b63524a5111
(cherry picked from commit 2e404a25828c713c0926b8f9e2003ad1e7dbe667)

4 years agoTweaks to RELEASE-NOTES needed before tagging 1.34.0-rc.0 1.34.0-rc.0
Reedy [Tue, 15 Oct 2019 17:44:11 +0000 (18:44 +0100)]
Tweaks to RELEASE-NOTES needed before tagging 1.34.0-rc.0

Change-Id: I9e2c41fbef7e13b266b122fcce0421077d18ca23

4 years agoUpdate CREDITS ahead of 1.34.0 release via updateCredits
Ammar Abdulhamid [Sun, 13 Oct 2019 01:39:59 +0000 (02:39 +0100)]
Update CREDITS ahead of 1.34.0 release via updateCredits

Some manual .mailman fixes.

Change-Id: I205731551850dd50547d87a7fd16ea688719e343
(cherry picked from commit e6e9265eadd2021afcc2a867bb81bbcf1253e535)

4 years agoRun executeGenderCacheFromResultWrapper with titles in prop=linkshere
Umherirrender [Sat, 12 Oct 2019 08:40:22 +0000 (10:40 +0200)]
Run executeGenderCacheFromResultWrapper with titles in prop=linkshere

The gender information are only needed when outputting titles,
in other cases (when only pageids are selected) it results in a
undefined property

Bug: T235316
Follow-Up: I911dcb160a7b169091b9e8f66fb3908d0f2a1ba4
Change-Id: I5c9a501919914afd38343551c755126c98d457e6

4 years agocomposer.json: Recommend OpenSSL
Max Semenik [Mon, 7 Oct 2019 23:47:34 +0000 (16:47 -0700)]
composer.json: Recommend OpenSSL

MW wouldn't even log users in without OpenSSL in default
configuration. Makes sense to mention it.

Change-Id: Ifa68adc09c23eed078d6c5624139da7df208fe99
(cherry picked from commit 308f3f6851dcec2334973553d5181a1f99a6e947)

4 years agoSession: Remove mcrypt support, dropped from PHP 7.2
Max Semenik [Mon, 7 Oct 2019 23:15:15 +0000 (16:15 -0700)]
Session: Remove mcrypt support, dropped from PHP 7.2

Change-Id: I46d04f4b31730ee1b368f2c2646638fa59234f66
(cherry picked from commit 2816b4f7daa872725887df41dde4641b41d5e234)

4 years agoobjectcache: Log debug message for backend of MainObjectStash
Timo Tijhof [Thu, 10 Oct 2019 20:30:47 +0000 (21:30 +0100)]
objectcache: Log debug message for backend of MainObjectStash

Bug: T234361
Change-Id: I8e33591dc92198269f45a25d14014af633a351f2
(cherry picked from commit bd16c5eb34e9a5dd67581cd4320e36653ddf5a0a)

4 years agoUpdate git submodules
Reedy [Fri, 11 Oct 2019 00:13:31 +0000 (01:13 +0100)]
Update git submodules

* Update vendor from branch 'REL1_34'
  to 4e1e1ae5f6f484aaa2713f7c9d60bd2887964fbf
  - Bump required PHP >= 7.2.9 to match core

    Change-Id: Ib0ec551c99530f5481b8c9b885b05743816253e8

4 years agoFollow-up Ifa346c8a92: LanguageNameUtils: CONSTRUCTOR_OTPIONS, not constructorOptions
James D. Forrester [Thu, 10 Oct 2019 23:56:18 +0000 (16:56 -0700)]
Follow-up Ifa346c8a92: LanguageNameUtils: CONSTRUCTOR_OTPIONS, not constructorOptions

Change-Id: I357dddf39834e9eed4b173245033d2f27edab329
(cherry picked from commit b83a3e3e3afaba41545abf1211e85558e81a3f9a)

4 years agoMerge "NameTableStore: ensure consistency upon rollback." into REL1_34
jenkins-bot [Thu, 10 Oct 2019 22:21:24 +0000 (22:21 +0000)]
Merge "NameTableStore: ensure consistency upon rollback." into REL1_34

4 years agoNameTableStore: ensure consistency upon rollback.
daniel [Tue, 4 Jun 2019 10:14:43 +0000 (12:14 +0200)]
NameTableStore: ensure consistency upon rollback.

This ensures consistent behavior when an ID for a name is first acquired
within a transaction that is rolled back. The documentation for acquireId
now reads:

@note If called within a transaction, there is a chance for the acquired ID to be lost
if the transaction is rolled back. A best effort is made to re-insert the mapping
after a rollback, and consistency of the cache with the database table is ensured
by re-loading the map after a failed transaction. However, there is no guarantee
that an ID returned by this method is valid outside the transaction in which it
was produced. This means that calling code should not retain the return value beyond
the scope of a transaction, but rather call acquireId() again after the transaction
is complete. In some rare cases, this may produce an ID different from the first call.

Bug: T224949
Change-Id: I6d05e4112a649675bfb9083cab2d1bbe394e65b3
(cherry picked from commit 135673b98eccc43528ce0dcc0ef61ed44b932471)

4 years agoobjectcache: Deprecate ObjectCache::getWANInstance
Timo Tijhof [Tue, 8 Oct 2019 21:17:22 +0000 (22:17 +0100)]
objectcache: Deprecate ObjectCache::getWANInstance

This is not used anywhere. Once removed we can remove a bunch
more protected/private methods in this class that are all only
here still due to this one public method.

It was obsolete when the creation of WANObjectCache was
moved to ServiceWiring. In theory multiple instances can be
created but in the future that should be done by either constructing
the WANObjectCache directly where needed, or by implementing
it as a custom service.

Also deprecate ObjectCache::newWANCacheFromParams. This should
have been `@internal`, but oh well. Deprecate as well since
only needed by getWANInstance(). No longer used internally
either as of I118b6f01e4940.

Change-Id: Icc500e76c860c35ff40fdee47142c63091829dfe
(cherry picked from commit b10b56dc6923062314f136945da255a24e52a585)

4 years agoSet minimum PHP version to 7.2.9
Reedy [Thu, 10 Oct 2019 20:25:58 +0000 (21:25 +0100)]
Set minimum PHP version to 7.2.9

Bug: T234766
Change-Id: I25206df6d7bc1587c3e18b1015603b3d264017f7

4 years agoMerge "composer: Correct PHP version requirement from 7.0 to 7.2 once CI lets us...
jenkins-bot [Thu, 10 Oct 2019 19:31:42 +0000 (19:31 +0000)]
Merge "composer: Correct PHP version requirement from 7.0 to 7.2 once CI lets us" into REL1_34

4 years agocomposer: Correct PHP version requirement from 7.0 to 7.2 once CI lets us
James D. Forrester [Wed, 2 Oct 2019 21:41:13 +0000 (14:41 -0700)]
composer: Correct PHP version requirement from 7.0 to 7.2 once CI lets us

Bug: T234767
Change-Id: I96ddb373bb89a8c7e3b0599bb7c7dc671e26e337
(cherry picked from commit 54cd4fcabad81f57049f959bde4774e3707cd7d0)

4 years agoobjectcache: Log debug message for backend of WANObjectCache
Timo Tijhof [Tue, 8 Oct 2019 21:34:17 +0000 (22:34 +0100)]
objectcache: Log debug message for backend of WANObjectCache

While at it, disuse the static newWANCacheFromParams function
which was only used by ServiceWiring (can now be deprecated,
but done separate for easier backporting).

Now that it is inlined, there is easy access to its logger.

Bug: T234361
Change-Id: I118b6f01e49405984310030d44ee319bb25bfcdb
(cherry picked from commit 3828558140eba4427d762937a2ea5ae352485d5f)

4 years agoUpdate git submodules
jenkins-bot [Wed, 9 Oct 2019 21:13:37 +0000 (21:13 +0000)]
Update git submodules

* Update extensions/OATHAuth from branch 'REL1_34'
  to 9b33403ce11c32eac998f58e28717676091947e6
  - Merge "Bump 0.4.3" into REL1_34
  - Bump 0.4.3

    Change-Id: Id6ea1e2e41d64ccdfb02b6b081595c0a2b490329

4 years agoUpdate git submodules
Dejan Savuljesku [Wed, 11 Sep 2019 08:29:43 +0000 (10:29 +0200)]
Update git submodules

* Update extensions/OATHAuth from branch 'REL1_34'
  to 8ba29f4a5c469245807ecba39504c9e9d5cc0570
  - Ask user to reauthenticate before changing 2FA method

    Re-auth period set to 60s

    Bug: T218211
    Change-Id: I17a84b8e60da2ada35c6b86cf6b66d75fb3f13fe

4 years agoMerge "Split some Language methods to LanguageNameUtils" into REL1_34
jenkins-bot [Wed, 9 Oct 2019 09:46:53 +0000 (09:46 +0000)]
Merge "Split some Language methods to LanguageNameUtils" into REL1_34

4 years agoServices: Convert MWLBFactory's static to a const now HHVM is gone
James D. Forrester [Tue, 8 Oct 2019 18:33:31 +0000 (11:33 -0700)]
Services: Convert MWLBFactory's static to a const now HHVM is gone

Change-Id: I2b5c77c304e03af31bc3f15f2e3f6002ca2f2647
(cherry picked from commit 6898ba72325b2227d33d002d337474bd23e0bffb)

4 years agoSplit some Language methods to LanguageNameUtils
Aryeh Gregor [Thu, 2 May 2019 14:23:42 +0000 (17:23 +0300)]
Split some Language methods to LanguageNameUtils

These are static methods that have to do with processing language names
and codes. I didn't include fallback behavior, because that would mean a
circular dependency with LocalisationCache.

In the new class, I renamed AS_AUTONYMS to AUTONYMS, and added a class
constant DEFINED for 'mw' to match the existing SUPPORTED and ALL. I
also renamed fetchLanguageName(s) to getLanguageName(s).

There is 100% test coverage for the code in the new class.

This was previously committed as 2e52f48c2ed and reverted because it
depended on e4468a1d6b6, which had to be reverted for performance
issues. There should be no changes other than rebasing.

Bug: T201405
Change-Id: Ifa346c8a92bf1eb57dc5e79458b32b7b26f1ee8a
(cherry picked from commit 6d80b6c0827401cf8e41589bf134147bb0aa407f)

4 years agoHHVM removal: Deprecate and simplify wfIsHHVM()
James D. Forrester [Thu, 3 Oct 2019 18:03:46 +0000 (11:03 -0700)]
HHVM removal: Deprecate and simplify wfIsHHVM()

Change-Id: I81b15d3ae66f070a8a1286627973a339cc08e86b
(cherry picked from commit c00e7cd793c72875ed0cadd89aa48b033cca2571)

4 years agoAdd optional serialization_type and hmac_key param values to RESTBagOStuff
Bill Pirkle [Thu, 26 Sep 2019 17:59:15 +0000 (12:59 -0500)]
Add optional serialization_type and hmac_key param values to RESTBagOStuff

T233537 made RESTBagOStuff work with the Kask external session
storage service, but broke backward compatibility. Add optional
values to the RESTBagOStuff $params constructor parameter to
support communicating with Kask, and to allow using HMAC. The
new values are:
  serialization_type: legacy (default), PHP, or JSON
  hmac_key: HMAC key to use for protecting the serialized blob
If these new values are not specified, behavior remains
unchanged (PHP serialization with no HMAC protection).

Bug: T233963
Change-Id: Ia2625c04e08cfe9616569500f1d613be73c170a2
(cherry picked from commit 2ed69af15cb8971e35aafc2c08397ed38c480488)

4 years agoMerge "Disable flaky Selenium test" into REL1_34
jenkins-bot [Tue, 8 Oct 2019 21:11:31 +0000 (21:11 +0000)]
Merge "Disable flaky Selenium test" into REL1_34

4 years agoMerge "Services: Convert LocalisationCache's static to a const now HHVM is gone"...
jenkins-bot [Tue, 8 Oct 2019 21:10:44 +0000 (21:10 +0000)]
Merge "Services: Convert LocalisationCache's static to a const now HHVM is gone" into REL1_34

4 years agoMerge "Make LocalisationCache a service" into REL1_34
jenkins-bot [Tue, 8 Oct 2019 21:08:21 +0000 (21:08 +0000)]
Merge "Make LocalisationCache a service" into REL1_34

4 years agoMerge "Services: Convert DefaultPreferencesFactory's static to a const now HHVM is...
jenkins-bot [Tue, 8 Oct 2019 21:03:04 +0000 (21:03 +0000)]
Merge "Services: Convert DefaultPreferencesFactory's static to a const now HHVM is gone" into REL1_34

4 years agoDisable flaky Selenium test
Reedy [Tue, 8 Oct 2019 20:20:30 +0000 (21:20 +0100)]
Disable flaky Selenium test

Bug: T226144
Change-Id: Ib49898617ba419f709b249ae9a05d9cb7b8e4e9d

4 years agoServices: Convert DefaultPreferencesFactory's static to a const now HHVM is gone
James D. Forrester [Tue, 8 Oct 2019 18:28:15 +0000 (11:28 -0700)]
Services: Convert DefaultPreferencesFactory's static to a const now HHVM is gone

Change-Id: If24c5f120cb96311b50750c5b3022664dc6b20e5
(cherry picked from commit 17f3f9cee31cd3aab4370808871309d9de5a87f9)

4 years agoServices: Convert LocalisationCache's static to a const now HHVM is gone
James D. Forrester [Tue, 8 Oct 2019 18:25:30 +0000 (11:25 -0700)]
Services: Convert LocalisationCache's static to a const now HHVM is gone

Change-Id: If5c015debed7efc034613b976bc5292ac30036d7
(cherry picked from commit ebac0247cf38b45a253042be16998c7fffbffcbc)

4 years agoMake LocalisationCache a service
Aryeh Gregor [Wed, 1 May 2019 13:56:41 +0000 (16:56 +0300)]
Make LocalisationCache a service

This removes Language::$dataCache without deprecation, because 1) I
don't know of a way to properly simulate it in the new paradigm, and 2)
I found no direct access to the member outside of the Language and
LanguageTest classes.

An earlier version of this patch (e4468a1d6b6) had to be reverted
because of a massive slowdown on test runs. Based on some local testing,
this should fix the problem. Running all tests in languages is slowed
down by only around 20% instead of a factor of five, and memory usage is
actually reduced greatly (~350 MB -> ~200 MB). The slowdown is still not
great, but I assume it's par for the course for converting things to
services and is acceptable. If not, I can try to optimize further.

Bug: T231220
Bug: T231198
Bug: T231200
Bug: T201405
Change-Id: Ieadbd820379a006d8ad2d2e4a1e96241e172ec5a
(cherry picked from commit 043d88f680cf66c90e2bdf423187ff8b994b1d02)

4 years agoServices: Convert PasswordReset's static to a const now HHVM is gone
James D. Forrester [Tue, 8 Oct 2019 18:26:17 +0000 (11:26 -0700)]
Services: Convert PasswordReset's static to a const now HHVM is gone

Change-Id: I77e0d9ce86cf96824eb672d0f35c32b5f4c484be
(cherry picked from commit 662b27776b0df77f31e9767bfbecd8bf0ca6ef93)

4 years agoServices: Convert BlobStoreFactory's static to a const now HHVM is gone
James D. Forrester [Tue, 8 Oct 2019 18:27:22 +0000 (11:27 -0700)]
Services: Convert BlobStoreFactory's static to a const now HHVM is gone

Change-Id: Ia319c881f0457fde71e355eca4873ac157e605d3
(cherry picked from commit 4afe9030c2ff36811e5ff8260e9c401b6e047c01)

4 years agoOptionally require both username and email for password resets
Max Semenik [Sat, 14 Sep 2019 07:58:42 +0000 (00:58 -0700)]
Optionally require both username and email for password resets

Bug: T232694
Change-Id: I70ed25ea4f810bf642fcb3df6f9b2663732b5dcf
(cherry picked from commit 1de3611539dbef2df2b9c0a4632aecd066695990)

4 years agoMerge "Services: Convert BlockManager's static to a const now HHVM is gone" into...
jenkins-bot [Tue, 8 Oct 2019 20:18:20 +0000 (20:18 +0000)]
Merge "Services: Convert BlockManager's static to a const now HHVM is gone" into REL1_34

4 years agoServices: Convert BlockManager's static to a const now HHVM is gone
James D. Forrester [Tue, 8 Oct 2019 18:24:22 +0000 (11:24 -0700)]
Services: Convert BlockManager's static to a const now HHVM is gone

Change-Id: I01d6e18fc30bd61ba7ea5ce1c7c646524579c4ba
(cherry picked from commit 40c35286cbf11a12c855eb9ffa722b867028564b)

4 years agoServices: Convert PermissionManager's static to a const now HHVM is gone
James D. Forrester [Tue, 8 Oct 2019 18:23:08 +0000 (11:23 -0700)]
Services: Convert PermissionManager's static to a const now HHVM is gone

Change-Id: Ib75b6f5d6b3e793ddbce42951693d8c99e6b7e57
(cherry picked from commit 9cba9f8567ade9a142a49a75b834d1b938c18336)

4 years agoInclude REL1_34 submodules and default settings
Dan Duvall [Mon, 7 Oct 2019 22:48:13 +0000 (15:48 -0700)]
Include REL1_34 submodules and default settings

Change-Id: If54420b942832cb3db5523de1ea52e9ab5d855e4

4 years agoMerge "Drop strings for wgExternalDiffEngine, deprecated in 1.27 and 1.32" into REL1_34
jenkins-bot [Mon, 7 Oct 2019 15:00:00 +0000 (15:00 +0000)]
Merge "Drop strings for wgExternalDiffEngine, deprecated in 1.27 and 1.32" into REL1_34

4 years agoMerge "Turn PasswordReset into a service" into REL1_34
jenkins-bot [Mon, 7 Oct 2019 14:44:24 +0000 (14:44 +0000)]
Merge "Turn PasswordReset into a service" into REL1_34

4 years agoDrop strings for wgExternalDiffEngine, deprecated in 1.27 and 1.32
James D. Forrester [Tue, 2 Jul 2019 21:41:41 +0000 (14:41 -0700)]
Drop strings for wgExternalDiffEngine, deprecated in 1.27 and 1.32

Also move the 'unit' test into integration, given it tests code
using globals.

Change-Id: Ie039cae9b5d2870c18a6deefec9a73de522dd847
(cherry picked from commit 5b3bbd5adea327912694745db9c53d5d39de3315)

4 years agoDrop HHVM support from MediaWiki
James D. Forrester [Wed, 2 Oct 2019 21:32:01 +0000 (14:32 -0700)]
Drop HHVM support from MediaWiki

This is just a first, top-level patch for documentation and the
PHPVersionCheck class itself. Much more clean-up to follow.

Bug: T192166
Change-Id: I50f5adc8d5fff604a14c8a889a31d3b92cc568c5
(cherry picked from commit ed8e9397adf9477c381f3880276a2e0917087a7b)

4 years agoTurn PasswordReset into a service
Max Semenik [Tue, 10 Sep 2019 02:49:12 +0000 (19:49 -0700)]
Turn PasswordReset into a service

My team has plans to work in this area, better make it more testable.

Bug: T232694
Change-Id: I200874ec10db69378ada1743b2a7953b3fa01e3e
(cherry picked from commit 631f56c5766f582f21dd35eff0376b14692aa145)

4 years agoinstaller: Fix warningBox arguments in WebInstallerRestart
Daimona Eaytoy [Sun, 6 Oct 2019 18:11:05 +0000 (20:11 +0200)]
installer: Fix warningBox arguments in WebInstallerRestart

Found in Idde7a766bb0d084d6b67bb0c940d7ad704847ad2.

Change-Id: Ia576f6c39098a58f57ad422d548d0236a3e59cce

4 years agoMerge "tests: Fix broken assertion in ApiQueryAllPagesTest"
jenkins-bot [Tue, 1 Oct 2019 13:31:19 +0000 (13:31 +0000)]
Merge "tests: Fix broken assertion in ApiQueryAllPagesTest"

4 years agoMerge "selenium: Replace ES5 one-var assignments with const/let per line"
jenkins-bot [Tue, 1 Oct 2019 08:34:10 +0000 (08:34 +0000)]
Merge "selenium: Replace ES5 one-var assignments with const/let per line"

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 1 Oct 2019 06:24:41 +0000 (08:24 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I8c399d24532a18870561e054cca2d9651e0908ec

4 years agoselenium: Replace ES5 one-var assignments with const/let per line
Timo Tijhof [Tue, 1 Oct 2019 01:36:15 +0000 (02:36 +0100)]
selenium: Replace ES5 one-var assignments with const/let per line

The one-var rule only applies to 'var' where it matters that we
don't let the engine implicitly hoist variables leading to
confusing code that may be unsafe to refactor in a straight-forward
manner.

This doesn't apply to ES6 const and let. While I updated the
rule in 1955a8aa5 to allow ES6, I did not enforce it. Fixed now.
When assigning a value, each assignment should be its own
statement (disallow awkward comma separated assignments).
When not assigning a value, and the lines are next to each other,
they should be in one statement. This makes sense for this small
directory and might make sense to propose for the wikimedia preset
at some point.

Note that the rule I added was not required to make the build
pass. The changes I made are allowed by default by the wikimedia
preset for es6+. The rule I added disallows the previous way.

Change-Id: I26cda095a8a4589084e36273038877f2dd1fc50b

4 years agoAvoid dynamic call to static method in ResourceLoaderModule::buildContent()
Aaron Schulz [Mon, 30 Sep 2019 23:08:05 +0000 (16:08 -0700)]
Avoid dynamic call to static method in ResourceLoaderModule::buildContent()

Change-Id: I4e3d944b6468ad2f4bfc39532498d8ca38617689

4 years agoMerge "Selenium: Hide VE welcome and beta dialogs"
jenkins-bot [Mon, 30 Sep 2019 20:30:42 +0000 (20:30 +0000)]
Merge "Selenium: Hide VE welcome and beta dialogs"

4 years agoSelenium: Hide VE welcome and beta dialogs
Kosta Harlan [Mon, 30 Sep 2019 19:07:57 +0000 (21:07 +0200)]
Selenium: Hide VE welcome and beta dialogs

Remove uses of setLocalStorage (incompatible with chromedriver >= 75)
and also requires slightly fewer requests since BlankPage.open()
doesn't need to be invoked.

Bug: T234002
Change-Id: I4cfb4fe17a3c99bfcb7ff39ac6db60f5c5e8a687

4 years agoMerge "RevisionStore::newRevisionFromBatch should use Title::newFromRow"
jenkins-bot [Mon, 30 Sep 2019 19:47:47 +0000 (19:47 +0000)]
Merge "RevisionStore::newRevisionFromBatch should use Title::newFromRow"

4 years agoMerge "Parser: Add Title type hints"
jenkins-bot [Mon, 30 Sep 2019 19:47:40 +0000 (19:47 +0000)]
Merge "Parser: Add Title type hints"

4 years agoMerge "filebackend: Convert trigger_error to PSR log warning"
jenkins-bot [Mon, 30 Sep 2019 19:23:38 +0000 (19:23 +0000)]
Merge "filebackend: Convert trigger_error to PSR log warning"

4 years agoMerge "selenium: Fix inefficient use of MWBot in specs/page.js"
jenkins-bot [Mon, 30 Sep 2019 18:57:01 +0000 (18:57 +0000)]
Merge "selenium: Fix inefficient use of MWBot in specs/page.js"

4 years agoMerge "selenium: Use async-await for wdio-mediawiki/Api internals"
jenkins-bot [Mon, 30 Sep 2019 18:56:52 +0000 (18:56 +0000)]
Merge "selenium: Use async-await for wdio-mediawiki/Api internals"

4 years agoRevisionStore::newRevisionFromBatch should use Title::newFromRow
Petr Pchelko [Wed, 25 Sep 2019 20:17:38 +0000 (13:17 -0700)]
RevisionStore::newRevisionFromBatch should use Title::newFromRow

If the rows were obtained using RevisionStore::getQueryInfo with
'page' flags, the revision row already contains the fields needed
to construct the Title without an additional database query.

Change-Id: Ie36c85871a8996a5706c80d286854a9c8363905f

4 years agoMerge "selenium: Remove "RunJobs" wait from specialrecentchanges test"
jenkins-bot [Mon, 30 Sep 2019 18:34:21 +0000 (18:34 +0000)]
Merge "selenium: Remove "RunJobs" wait from specialrecentchanges test"

4 years agoMerge "selenium: Remove deprecated legacy methods"
jenkins-bot [Mon, 30 Sep 2019 18:11:33 +0000 (18:11 +0000)]
Merge "selenium: Remove deprecated legacy methods"

4 years agoMerge "selenium: Upgrade from webdriver v4 to v5"
jenkins-bot [Mon, 30 Sep 2019 18:09:50 +0000 (18:09 +0000)]
Merge "selenium: Upgrade from webdriver v4 to v5"

4 years agoMerge "RevisionStore: Introduce getContentBlobsForBatch"
jenkins-bot [Mon, 30 Sep 2019 17:46:08 +0000 (17:46 +0000)]
Merge "RevisionStore: Introduce getContentBlobsForBatch"

4 years agoMerge "tests: Replace assertions on count() == 0 with strict === []"
jenkins-bot [Mon, 30 Sep 2019 17:43:35 +0000 (17:43 +0000)]
Merge "tests: Replace assertions on count() == 0 with strict === []"

4 years agoMerge "Split down patch-actor-table.sql"
jenkins-bot [Mon, 30 Sep 2019 17:40:25 +0000 (17:40 +0000)]
Merge "Split down patch-actor-table.sql"

4 years agoSplit down patch-actor-table.sql
Reedy [Sat, 28 Sep 2019 14:48:19 +0000 (15:48 +0100)]
Split down patch-actor-table.sql

Bug: T227662
Change-Id: I024ff1d6f4c2726242138ba7e7f19480d9d2b948

4 years agoMerge "maintenance: Enable gzip in router.php for static files"
jenkins-bot [Mon, 30 Sep 2019 14:38:53 +0000 (14:38 +0000)]
Merge "maintenance: Enable gzip in router.php for static files"

4 years agotests: Fix broken assertion in ApiQueryAllPagesTest
Thiemo Kreuz [Mon, 30 Sep 2019 14:22:54 +0000 (16:22 +0200)]
tests: Fix broken assertion in ApiQueryAllPagesTest

The description had two errors:

* It talked about the presence of a specific value, but all it did
was checking a count.

* It was talking about the value *not* being there.

I just removed it. The possible error message from PHPUnit should be
good enough.

Change-Id: I7ea85dd37db8969bdd120f9600eeb6145e42eb1e

4 years agotests: Replace assertions on count() == 0 with strict === []
Thiemo Kreuz [Mon, 30 Sep 2019 14:20:34 +0000 (16:20 +0200)]
tests: Replace assertions on count() == 0 with strict === []

The benefit of using count() is that the test would still succeed if
the return vfalue is not an array, but an iterable object. It seems
this is not needed.

Change-Id: I23529f6990aebe0cce86e236a21820fe74993204

4 years agoMerge "selenium: Restore sauce user/key configuration for wdio"
jenkins-bot [Mon, 30 Sep 2019 14:11:52 +0000 (14:11 +0000)]
Merge "selenium: Restore sauce user/key configuration for wdio"

4 years agoselenium: Fix inefficient use of MWBot in specs/page.js
Timo Tijhof [Sun, 29 Sep 2019 03:24:47 +0000 (04:24 +0100)]
selenium: Fix inefficient use of MWBot in specs/page.js

This test previously took 4 minutes to run locally and ended up
running the MWBot.login process 9 times.

After this, the specs/page tests only log-in once.

Bug: T234002
Change-Id: I374620a01f49d4da559070d0982bdbe4c1269e2e

4 years agoselenium: Use async-await for wdio-mediawiki/Api internals
Timo Tijhof [Sun, 29 Sep 2019 02:37:09 +0000 (03:37 +0100)]
selenium: Use async-await for wdio-mediawiki/Api internals

Bug: T234002
Change-Id: Ie4ad5248f832dd57f35710e0e9a91250e061b0bb

4 years agomaintenance: Enable gzip in router.php for static files
Timo Tijhof [Thu, 26 Sep 2019 21:57:50 +0000 (22:57 +0100)]
maintenance: Enable gzip in router.php for static files

Bug: T233992
Change-Id: Ie401180ac968210c9f923ad920bf15955c8551d7

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 30 Sep 2019 06:31:33 +0000 (08:31 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I2ff71393f57b3c397dae4e63d9607dcd1807343e

4 years agoMerge "resourceloader: Hard deprecate ResourceLoader::getLessVars"
jenkins-bot [Mon, 30 Sep 2019 00:34:28 +0000 (00:34 +0000)]
Merge "resourceloader: Hard deprecate ResourceLoader::getLessVars"

4 years agoresourceloader: Hard deprecate ResourceLoader::getLessVars
Fomafix [Sun, 29 Sep 2019 09:02:32 +0000 (11:02 +0200)]
resourceloader: Hard deprecate ResourceLoader::getLessVars

ResourceLoader::getLessVars is already deprecated since MW 1.32.

Change-Id: If2fbe7828d8cde73575c0306486835fa1ea06b84

4 years agoMerge "Added option to specify "Various authors" as author in extension credits using...
jenkins-bot [Sun, 29 Sep 2019 21:16:23 +0000 (21:16 +0000)]
Merge "Added option to specify "Various authors" as author in extension credits using "..." as the _only_ author name"

4 years agoExpand testDoQuickOperations() tests for FileBackend
Aaron Schulz [Wed, 18 Sep 2019 09:52:38 +0000 (02:52 -0700)]
Expand testDoQuickOperations() tests for FileBackend

Change-Id: I0633f13f07b5a3234b9bbae4840b064972f68fd9

4 years agoAdded option to specify "Various authors" as author in extension credits using "...
Jack Phoenix [Sun, 15 Sep 2019 20:34:27 +0000 (23:34 +0300)]
Added option to specify "Various authors" as author in extension credits using "..." as the _only_ author name

If the "author" array contains more than one entry and "..." is one of the entries in the array, "..." will be parsed as "others" (version-poweredby-others i18n message) like previously.

Change-Id: Ibebd3c38a674abd9f066b38e92c7f712f7b3ba8d

4 years agoselenium: Remove "RunJobs" wait from specialrecentchanges test
Timo Tijhof [Sun, 29 Sep 2019 01:32:47 +0000 (02:32 +0100)]
selenium: Remove "RunJobs" wait from specialrecentchanges test

This test was consistently reaching the RunJobs timeout of
10 tries and then giving up. This happens in CI, where it wasted
about ~ 5 seconds, and locally where it takes about 30s for mw.

Like so:
> RunJobs through requests to the main page (run 1).
> RunJobs detected 12 more queued job(s).
> RunJobs through requests to the main page (run 2).
> RunJobs detected 12 more queued job(s).

Etc, until it reaches run 10 and gives up. This also suggests
the whole thing isn't wokring, but that's a separate matter.

First and foremost, RecentChange objects are saved from a PRESEND
deferred update, which means it does not require a job queue wait
in order to appear on Special:RecentChanges.

This was added in e908d347ef2 (T199446) "to keep the number of
unrun jobs low". The idea being that this test makes an edit via
the API, which means it creates jobs without running them. On
the other hand, there's also lots of test steps that view pages
but don't create jobs, which would make this optimisation premature.
If and when we do encounter a test failing due to a job backlog,
I'm confident we can find a better solution at that time.

Bug: T234002
Bug: T225730
Bug: T199446
Change-Id: I9ef8c5b65d4b636572569912f04f48ed40aa0564