Aaron Schulz [Mon, 17 Jun 2019 00:47:32 +0000 (01:47 +0100)]
rdbms: allow synchronous=OFF for sqlite
Change-Id: I58be09bb170399f3ad94fc3bcc4881932d357a9b
Translation updater bot [Sun, 16 Jun 2019 20:01:56 +0000 (22:01 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I84ab99cdcd91ee6dab8ae284e8b1c6aea53cefac
MarcoAurelio [Tue, 11 Jun 2019 11:38:50 +0000 (11:38 +0000)]
Use secure protocols on Wikimedia sites
Change-Id: I3af0038202027a737a306ae677f7cda2b9857404
jenkins-bot [Sun, 16 Jun 2019 07:17:18 +0000 (07:17 +0000)]
Merge "Reduce HashRing test load to avoid several seconds of CPU"
jenkins-bot [Sat, 15 Jun 2019 09:47:50 +0000 (09:47 +0000)]
Merge "resourceloader: Support 'versionCallback' for computed package files"
jenkins-bot [Fri, 14 Jun 2019 22:39:07 +0000 (22:39 +0000)]
Merge "PHPVersionCheck: remove version_compare() existence check"
Max Semenik [Fri, 14 Jun 2019 01:36:14 +0000 (18:36 -0700)]
PHPVersionCheck: remove version_compare() existence check
It was added to PHP in 2001.
Change-Id: I3b14d726aa1cefd6b64e4bac39ef489b3c79ac1a
jenkins-bot [Fri, 14 Jun 2019 21:28:45 +0000 (21:28 +0000)]
Merge "mw.Uri: Use more intuitive variable names"
jenkins-bot [Fri, 14 Jun 2019 20:33:41 +0000 (20:33 +0000)]
Merge "Hard deprecate Preprocessor_DOM"
jenkins-bot [Fri, 14 Jun 2019 18:26:48 +0000 (18:26 +0000)]
Merge "Use HTTPS for creativecommons.org"
jenkins-bot [Fri, 14 Jun 2019 18:26:07 +0000 (18:26 +0000)]
Merge "resourceloader: Validate ResourceLoaderContext::getDirection() input"
jenkins-bot [Fri, 14 Jun 2019 18:25:09 +0000 (18:25 +0000)]
Merge "Installer: Move style of background image from HTML to CSS"
jenkins-bot [Fri, 14 Jun 2019 18:17:23 +0000 (18:17 +0000)]
Merge "user: Move idFromName cache truncation to before adding the new value"
Fomafix [Tue, 11 Jun 2019 19:54:57 +0000 (21:54 +0200)]
resourceloader: Validate ResourceLoaderContext::getDirection() input
Only dir=ltr and dir=rtl are now allowed. Ignore other values.
Change-Id: Id39471e8a792c7c48ff7ca9d80be2e6dd4caee6b
jenkins-bot [Fri, 14 Jun 2019 18:12:51 +0000 (18:12 +0000)]
Merge "Add a custom block message for composite blocks"
Alexia E. Smith [Fri, 14 Jun 2019 17:40:54 +0000 (12:40 -0500)]
user: Move idFromName cache truncation to before adding the new value
This prevents a double query for the same User::idFromName() call
twice in a row.
Bug: T225843
Change-Id: I5beb0a3ad5e715b68dd8a450408fb089184fa6ce
Bartosz Dziewoński [Fri, 14 Jun 2019 18:02:58 +0000 (20:02 +0200)]
mw.Uri: Use more intuitive variable names
Change-Id: I8e53d7a0e0b89909a5c3798a819a0690c757a060
Timo Tijhof [Wed, 12 Jun 2019 00:57:17 +0000 (01:57 +0100)]
resourceloader: Support 'versionCallback' for computed package files
The use cases we've seen for using computed (or virtual) package files,
involve expensive computations to expand and transform data for the client
that we don't want to evaluate in full just to compute the module's version
hash (e.g. in the StartupModule, where we need to do this for 1000s of
modules).
For such cases, the module can specify a 'versionCallback' of which the
return value will be used to seed the module's version hash. The default
remains the same as before, which is to use the full content to seed the
version hash (via getDefinitionSummary).
Bug: T223260
Change-Id: I76f573239e6bd429287e7adb33a92ffd5e260c20
C. Scott Ananian [Tue, 9 Apr 2019 18:42:42 +0000 (14:42 -0400)]
Hard deprecate Preprocessor_DOM
The Preprocessor_DOM implementation doesn't interact well with PHP memory
profiling, and has some limitations not present in the Preprocessor_Hash
implementation (see T216664). There is no reason to keep around two
versions of the preprocessor: it just complicates on-going wikitext
feature development.
Hard deprecate use of Preprocessor_DOM, so we can remove the redundant
code in a future release.
Bug: T204945
Depends-On: Id38c9360e4d02b570996dbf7a660f964f02f1a2c
Change-Id: Ica5d1ad5b1e677542962fc36d582a793f941155e
Thalia [Fri, 14 Jun 2019 08:22:57 +0000 (09:22 +0100)]
Add a custom block message for composite blocks
Give a custom reason and include the user's IP address and the
expiry of the longest block.
Bug: T225748
Change-Id: Ie147cca625365c1a01e2ed18819e5d6e3946865e
Aaron Schulz [Fri, 14 Jun 2019 11:57:07 +0000 (12:57 +0100)]
Reduce HashRing test load to avoid several seconds of CPU
Bug: T225719
Change-Id: I358383e99d7950c4747b48583dc8faf00b3deeab
jenkins-bot [Fri, 14 Jun 2019 11:19:47 +0000 (11:19 +0000)]
Merge "Migrate remaining usages of Title::userCan() to PermissionManager"
jenkins-bot [Fri, 14 Jun 2019 11:06:07 +0000 (11:06 +0000)]
Merge "Defines: Drop DB_SLAVE, deprecated since 1.28"
James D. Forrester [Tue, 3 Jul 2018 21:26:43 +0000 (14:26 -0700)]
Defines: Drop DB_SLAVE, deprecated since 1.28
Change-Id: I9b48524bfa071c21e03c50e9e8231e4661917c78
Fomafix [Fri, 14 Jun 2019 09:26:40 +0000 (11:26 +0200)]
Use HTTPS for creativecommons.org
http://creativecommons.org/ redirects to https://creativecommons.org/
Change-Id: I625a09b32a30df2043620c0ce0756b2a963ba0c7
Fomafix [Fri, 14 Jun 2019 08:46:40 +0000 (10:46 +0200)]
Installer: Move style of background image from HTML to CSS
Change-Id: I5fb8a9fc87290c407be123238397accbc5a886dc
Tim Starling [Mon, 10 Jun 2019 21:32:51 +0000 (07:32 +1000)]
REST: Rename attributes to path params
Change-Id: I1cd7297715bf0f9902949a5117ea7ab94b689a37
Tim Starling [Tue, 4 Jun 2019 23:59:57 +0000 (09:59 +1000)]
REST: Testable EntryPoint
* Split EntryPoint into a static main() and a non-static execute()
* Add tests for execute()
Change-Id: I025356b04ddc5a16494f98c446d785d6bb05ab10
Tim Starling [Mon, 10 Jun 2019 21:01:39 +0000 (07:01 +1000)]
REST: HeaderContainer should start empty not null
Change-Id: I30b68862307f2b44e4f5708c06464e0a218c1ed5
Tim Starling [Mon, 3 Jun 2019 06:08:29 +0000 (16:08 +1000)]
StringStream and PathMatcher tests
Change-Id: Ic4c6e15ef9a107608fe8e72d469987ccce21f98f
Tim Starling [Fri, 14 Jun 2019 07:00:11 +0000 (17:00 +1000)]
Fix HHVM StringStream test errors
Change-Id: I3eebd14db7157bb423ee88af7b49d92f628bc771
jenkins-bot [Fri, 14 Jun 2019 00:54:19 +0000 (00:54 +0000)]
Merge "Fix "succesful" typo"
jenkins-bot [Fri, 14 Jun 2019 00:18:31 +0000 (00:18 +0000)]
Merge "StringStream::copyToStream() should adjust the offset"
jenkins-bot [Fri, 14 Jun 2019 00:18:22 +0000 (00:18 +0000)]
Merge "REST: tests for HelloHandler and HeaderContainer"
jenkins-bot [Fri, 14 Jun 2019 00:18:15 +0000 (00:18 +0000)]
Merge "REST: Implement 405 responses"
petarpetkovic [Fri, 14 Jun 2019 00:11:03 +0000 (03:11 +0300)]
Fix "succesful" typo
Change-Id: I1f49ce9ce104263adc8763947dbd30634f18697d
jenkins-bot [Fri, 14 Jun 2019 00:09:02 +0000 (00:09 +0000)]
Merge "build: Add missing dashes in .travis.yml (restore PHP 7.1/7.2 tests)"
jenkins-bot [Fri, 14 Jun 2019 00:08:43 +0000 (00:08 +0000)]
Merge "Fix doc type of Installer::addInstallStep"
jenkins-bot [Fri, 14 Jun 2019 00:06:06 +0000 (00:06 +0000)]
Merge "Clarify MediaWikiTestCase::getSchemaOverrides()"
jenkins-bot [Fri, 14 Jun 2019 00:05:03 +0000 (00:05 +0000)]
Merge "Storage: Type against ILBFactory and ILoadBalancer in storage classes"
jenkins-bot [Thu, 13 Jun 2019 23:52:27 +0000 (23:52 +0000)]
Merge "libs: Remove unused deprecated BufferingStatsdDataFactory::getBuffer()"
jenkins-bot [Thu, 13 Jun 2019 23:52:21 +0000 (23:52 +0000)]
Merge "SpecialEmailUser: Remove validate/get target without sender specified"
jenkins-bot [Thu, 13 Jun 2019 23:28:13 +0000 (23:28 +0000)]
Merge "Revert "Separate MediaWiki unit and integration tests""
Legoktm [Thu, 13 Jun 2019 23:00:08 +0000 (23:00 +0000)]
Revert "Separate MediaWiki unit and integration tests"
This reverts commit
0a2b996278e57a8b8c5377cd3a3eaa54f993d4a9.
Reason for revert: Broke postgres tests.
Change-Id: I27d8e0c807ad5f0748b9611a4f3df84cc213fbe1
Timo Tijhof [Thu, 13 Jun 2019 22:21:25 +0000 (23:21 +0100)]
build: Add missing dashes in .travis.yml (restore PHP 7.1/7.2 tests)
Follows-up
f638c599d5, in which I accidentally removed the leading
dashes from the entries in the 'include' array.
Apparently when you do that, it just assumes you intended to
have a dash in front of the first line and create a single-item
object in which you have the same key four times, where the last
one wins. Thus, testing only 1 variant: php 7.0.
Change-Id: I3fd77749017d15cc60daf9a531417b55c604e7ff
jenkins-bot [Thu, 13 Jun 2019 22:18:28 +0000 (22:18 +0000)]
Merge "Expand ResponseFactory"
jenkins-bot [Thu, 13 Jun 2019 22:18:21 +0000 (22:18 +0000)]
Merge "REST API initial commit"
Derick Alangi [Thu, 23 May 2019 21:12:26 +0000 (22:12 +0100)]
libs: Remove unused deprecated BufferingStatsdDataFactory::getBuffer()
Usage
=====
https://codesearch.wmflabs.org/search/?q=%5CbgetBuffer%5Cb&i=nope&files=&repos=
Bug: T220656
Change-Id: I3d9637e1802e0d34698940f400c628f29f0aab3b
Derick Alangi [Tue, 14 May 2019 11:14:07 +0000 (12:14 +0100)]
SpecialEmailUser: Remove validate/get target without sender specified
This was deprecated in 1.30 and per usage below, these has been cleaned
up. Passing "null" is deprecated and no longer used anywhere. All usage
now pass a user object that is the sender.
Usage
=====
* validateTarget():
https://codesearch.wmflabs.org/search/?q=%5CbvalidateTarget%5Cb&i=nope&files=&repos=
* getTarget():
https://codesearch.wmflabs.org/search/?q=%5Cb(-%3E%7C%3A%3A)getTarget%5Cb&i=nope&files=&repos=
Change-Id: I22ed2bc42216712602f8b4685035c3396d3d1e5c
Umherirrender [Fri, 7 Jun 2019 14:22:48 +0000 (16:22 +0200)]
Storage: Type against ILBFactory and ILoadBalancer in storage classes
Instead of the LBFactory/LoadBalancer implementations.
Change-Id: Ia58d9056bd60f3f094fbb16f7b9afa64e11143c8
Jforrester [Thu, 13 Jun 2019 22:06:10 +0000 (22:06 +0000)]
Merge "Separate MediaWiki unit and integration tests"
Timo Tijhof [Thu, 13 Jun 2019 21:07:20 +0000 (22:07 +0100)]
build: Remove dbtype=postgres from Travis CI matrix
This has since been added to WMF CI (and voting).
What remains is just secondary confirmation that the tests can
all pass a third-party system (e.g. not the WMF-specific Linux/Docker
environment), for supported PHP versions.
Change-Id: Ic257a34630c61d5328afeaa6dc5685581e03a528
Máté Szabó [Sat, 1 Jun 2019 14:10:15 +0000 (16:10 +0200)]
Separate MediaWiki unit and integration tests
This changeset implements T89432 and related tickets and is based on exploration
done at the Prague Hackathon. The goal is to identify tests in MediaWiki core
that can be run without having to install & configure MediaWiki and its dependencies,
and provide a way to execute these tests via the standard phpunit entry point,
allowing for faster development and integration with existing tooling like IDEs.
The initial set of tests that met these criteria were identified using the work Amir did in
I88822667693d9e00ac3d4639c87bc24e5083e5e8. These tests were then moved into a new subdirectory
under phpunit/ and organized into a separate test suite. The environment for this suite
is set up via a PHPUnit bootstrap file without a custom entry point.
You can execute these tests by running:
$ vendor/bin/phpunit -d memory_limit=512M -c tests/phpunit/unit-tests.xml
Bug: T89432
Bug: T87781
Bug: T84948
Change-Id: Iad01033a0548afd4d2a6f2c1ef6fcc9debf72c0d
jenkins-bot [Thu, 13 Jun 2019 20:20:50 +0000 (20:20 +0000)]
Merge "rdbms: avoid LoadBalancer::getConnection waste when using $groups"
Translation updater bot [Thu, 13 Jun 2019 20:08:04 +0000 (22:08 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I2557496565cbdfee6bba829b3d2fdd36875aa5f7
jenkins-bot [Thu, 13 Jun 2019 19:41:01 +0000 (19:41 +0000)]
Merge "resourceloader: Deprecate ResourceLoaderContext::getConfig and ::getLogger"
jenkins-bot [Thu, 13 Jun 2019 19:33:07 +0000 (19:33 +0000)]
Merge "resourceloader: Change cache keys to use first segment for grouping by purpose"
Aaron Schulz [Wed, 8 May 2019 19:18:01 +0000 (12:18 -0700)]
rdbms: avoid LoadBalancer::getConnection waste when using $groups
Add a "readIndexByGroup" field that does the same thing that the
generic read index does except for query grouped connections.
Also remove some pointless checks at the end of getReaderIndex().
Change-Id: I3bd6295be4355ee930960f89ccb07811dd8c5545
jenkins-bot [Thu, 13 Jun 2019 18:40:38 +0000 (18:40 +0000)]
Merge "PHPDoc: Fix non-carnonical order of elements in phpdoc"
Daimona Eaytoy [Mon, 7 Jan 2019 10:18:39 +0000 (11:18 +0100)]
externalstore: Fix insert*() return docs and remove redundant checks
ExternalStorage::insertWithFallback is reported to return false on
failure, but it doesn't. It has a single exit point, and return value is
checked with strlen(), so actually it can only return the URL or throw.
Thus, update any related doc and remove a redundant check from code
calling insertToDefault.
Change-Id: Ic95c3aed19118b987aef105f8077d55558f39127
jenkins-bot [Thu, 13 Jun 2019 18:19:17 +0000 (18:19 +0000)]
Merge "objectcache: add object segmentation support to BagOStuff"
Timo Tijhof [Tue, 28 May 2019 18:24:31 +0000 (19:24 +0100)]
resourceloader: Change cache keys to use first segment for grouping by purpose
Remove use of a complete "namespace" for grouping and instead use dashes
within the first key segment for that.
This way, we can leverage the various features WANObjectCache provides
for statistics relating to a particular kind of thing being cached.
These statistics are currently combined for all of resourceloader,
which isn't useful. Mildly related to T223647.
Change-Id: I5df69e46ac436d04e765726a36fc3eb70697a7ed
jenkins-bot [Thu, 13 Jun 2019 17:57:41 +0000 (17:57 +0000)]
Merge "rdbms: reorganize Database fields and constants"
jenkins-bot [Thu, 13 Jun 2019 17:50:00 +0000 (17:50 +0000)]
Merge "rdbms: implement strictor ownership of LoadBalancer by LBFactory"
Aaron Schulz [Thu, 13 Jun 2019 11:27:30 +0000 (12:27 +0100)]
rdbms: reorganize Database fields and constants
Move the constants to the bottom and make more of them private.
Place the configuration fields at the top of the list.
Also, move some related fields closer to each other.
In addition:
* Rename the named lock tracking variable to start with the
prefix "session" for consistency.
* Remove unused $preparedArgs field.
* Rename $sessionVars and $rttEstimate fields.
* Use short field documentation syntax.
* Make transaction callback fields private.
Change-Id: I7d78be6744723f4d7bb32a75154564ee04eca0f6
Timo Tijhof [Thu, 11 Apr 2019 22:22:08 +0000 (23:22 +0100)]
resourceloader: Deprecate ResourceLoaderContext::getConfig and ::getLogger
The methods existed for two use cases.
1. Inside ResourceLoaderContext, usage was removed with I4e4ee758cd22.
2. In Module class methods that get $context, already have their own
Config and Logger instances injected from ResourceLoader::getModule(),
which should be used instead.
Deprecating these opens the paths for making ResourceLoaderContext
a purer value object with no ResourceLoader, Config, or Logger objects
needing to be passed (in the future).
Bug: T32956
Change-Id: I74a9535918ea43b2c00073c5d4469f864d1eeb41
Fomafix [Mon, 10 Jun 2019 17:38:05 +0000 (19:38 +0200)]
resourceloader: Omit default 'lang' and 'skin' params from load.php urls
lang=qqx and skin=fallback are the default values.
This change removes the default values from the load request of the
html5shiv module.
Before this change
<script src="/w/load.php?lang=qqx&modules=html5shiv&only=scripts&skin=fallback&sync=1"></script>
With this change
<script src="/w/load.php?modules=html5shiv&only=scripts&sync=1"></script>
Change-Id: Ie384ce0f7ab1bd0b6c2d3f0ca4a990c3cf3a7f15
Timo Tijhof [Thu, 13 Jun 2019 17:22:11 +0000 (18:22 +0100)]
selenium: Skip another flaky Rollback test
Bug: T220479
Change-Id: Ie523e719f5c7df959ef63930edaff1a80e09ff04
jenkins-bot [Thu, 13 Jun 2019 14:52:07 +0000 (14:52 +0000)]
Merge "DevelopmentSettings: Remove redundant CacheType overrides"
jenkins-bot [Thu, 13 Jun 2019 14:50:02 +0000 (14:50 +0000)]
Merge "installer: Detect APC for MainCacheType in CLI installer"
Timo Tijhof [Thu, 13 Jun 2019 01:08:53 +0000 (02:08 +0100)]
DevelopmentSettings: Remove redundant CacheType overrides
Follows-up
5a090c29822. This is no longer needed as of
7e0fb4fff6, which will add this to the generated LocalSettings.php
file automatically.
The installer now sets MainCacheType for CLI installs, the same
way as the web installer did already.
The secondary cache types have as default CACHE_ANYTHING (not
CACHE_NONE) and will automatically inherit from MainCacheType.
This commit unbreaks situations where developers have MainCache
set to something (e.g. Redis, or Memc) which after
5a090c29822
caused other types to go to APC instead of Memc.
Bug: T225496
Change-Id: Ib2824a6d316912daf09672de748726b91e4de449
Timo Tijhof [Thu, 13 Jun 2019 14:06:43 +0000 (15:06 +0100)]
installer: Detect APC for MainCacheType in CLI installer
The web installer did this already, but with the CLI installer,
the generated LocalSettings.php always contained the following
hardcoded:
$wgMainCacheType = CACHE_NONE;
Combined with the fact that in WMF CI, the generated local settings
is applied *after* the inclusion of Quibble settings and
DevelopmentSettings, meant that it was not possible to enable
object caching.
For now, make it match the behaviour of the web installer and thus
output $wgMainCacheType = CACHE_ACCELL if we detect a supported
implementation in the PHP runtime.
For later we should probably:
* Make this an option to install.php,
* or, change Quibble to append its overrides, instead of
prepending. So that DevelopmentSettings actually after the
generated LocalSettings.
Bug: T225496
Change-Id: I3f43cd054ce71d0f1b2395302e8ef9ee2f6b01c2
jenkins-bot [Thu, 13 Jun 2019 10:13:31 +0000 (10:13 +0000)]
Merge "Do move options checks before the move"
Aaron Schulz [Sun, 9 Jun 2019 07:22:45 +0000 (08:22 +0100)]
rdbms: implement strictor ownership of LoadBalancer by LBFactory
Change-Id: Idafd2cf05e016a5f88b90e4c4c74f82c212d61c9
jenkins-bot [Wed, 12 Jun 2019 23:54:07 +0000 (23:54 +0000)]
Merge "Database: Recognize USE queries as non-write queries"
Brad Jorsch [Mon, 3 Jun 2019 13:59:33 +0000 (09:59 -0400)]
DeleteLogFormatter: Handle missing ofield/nfield
ofield and nfield may be missing from old log entries. Take that into
account when processing.
Bug: T224815
Change-Id: I06dda3106bab9980f6fa7d515542e94a91c17f64
Roan Kattouw [Wed, 12 Jun 2019 23:29:50 +0000 (16:29 -0700)]
Database: Recognize USE queries as non-write queries
This should unbreak Ie7341a0e6c41, which switched
DatabaseMysql::doSelectDomain() from using doQuery() to using
executeQuery() for its USE query, which means it no longer
bypasses the isWriteQuery() check. This caused every USE query on a
replica DB to fail, because it was considered a write query.
Bug: T225682
Bug: T212284
Change-Id: Iecb8b9f6e64d08df8c64b3133078b5324e654ed1
Follows-Up: Ie7341a0e6c4149fc375cc357877486efe9e56eb9
jenkins-bot [Wed, 12 Jun 2019 21:28:33 +0000 (21:28 +0000)]
Merge "Add CompositeBlock class for enforcing multiple blocks"
jenkins-bot [Wed, 12 Jun 2019 19:58:18 +0000 (19:58 +0000)]
Merge "rdbms: add Database::executeQuery() method for internal use"
Derick Alangi [Wed, 12 Jun 2019 19:10:25 +0000 (20:10 +0100)]
PHPDoc: Fix non-carnonical order of elements in phpdoc
Change-Id: I21330e14629b5cd085f55c1b6c6232a4a6f4afcf
Umherirrender [Wed, 12 Jun 2019 18:41:13 +0000 (20:41 +0200)]
Fix doc type of Installer::addInstallStep
The argument $callback is not a callable
The callable is in $callback['callable'], so change the type to array
Change-Id: I9b990f2729874b2743cbcc501b97758da5bf8154
Thalia [Tue, 19 Mar 2019 18:56:10 +0000 (18:56 +0000)]
Add CompositeBlock class for enforcing multiple blocks
Create a CompositeBlock class which extends AbstractBlock and
adds the property $originalBlocks. This is for situations where
more than one block applies to a user/IP, and avoids the need
to choose just one of these blocks to enforce.
Behaviour of the resulting block is determined by combining the
strictest parameters of the original blocks.
Also add DatabaseBlock::newListFromTarget, which is similar to
DatabaseBlock::newFromTarget, but returns all relevant blocks,
rather than choosing the most specific one.
For tracking a CompositeBlock with a cookie, examine the
original blocks and only track the first trackable block that
is found.
Bug: T206163
Change-Id: I088401105ac8ceb2c6117c6d2fcdb277c754d882
Fomafix [Wed, 12 Jun 2019 18:05:55 +0000 (18:05 +0000)]
Merge "Remove unnecessary semi-colons"
jenkins-bot [Wed, 12 Jun 2019 16:28:33 +0000 (16:28 +0000)]
Merge "Fix and re-enable ApiQueryLanguageinfoTest"
jenkins-bot [Wed, 12 Jun 2019 16:18:10 +0000 (16:18 +0000)]
Merge "resourceloader: Convert test for FileModule versionHash to data provider"
jenkins-bot [Wed, 12 Jun 2019 15:44:39 +0000 (15:44 +0000)]
Merge "Set min-width on rcfilter dropdown"
Lucas Werkmeister [Fri, 7 Jun 2019 13:25:14 +0000 (15:25 +0200)]
Fix and re-enable ApiQueryLanguageinfoTest
Anomie discovered (T225244#
5250241) that we need to clear the language
cache here; with that, the test should work again, so re-enable it.
Bug: T225244
Change-Id: I67e8446a4ff64d12ab3a3a52a432a728d4139a69
Jan Drewniak [Wed, 12 Jun 2019 11:02:12 +0000 (13:02 +0200)]
Removes updateIfHeightChanged override on rcfilters
This override causes the rcfilter dropdown menu to be incorrectly
positioned when the height of the "tag box" changes,
i.e. when a tag is added and an additional row is created.
This override was originally added as part of T198399 in commit
a9fc286, but given
bb15314 prevents the resize event from firing on
pageload, that change should mitigate the performance impact of
this function.
Bug: T225499
Change-Id: I4a296c7d3c277d5415144aee6434b63a5035d275
Timo Tijhof [Wed, 12 Jun 2019 14:05:09 +0000 (15:05 +0100)]
resourceloader: Convert test for FileModule versionHash to data provider
In prep for the next commit.
Change-Id: If08c3d8b769b6ec03faf8ff24f216ce9f670f6ac
Derick Alangi [Wed, 12 Jun 2019 13:35:59 +0000 (14:35 +0100)]
Remove unnecessary semi-colons
Change-Id: I9eb65bdfbd3aa581effc14ead801b9e89b0359c3
Gergő Tisza [Wed, 12 Jun 2019 11:41:15 +0000 (13:41 +0200)]
Do move options checks before the move
This is both more correct conceptually (if the move-subpages
permission check depends on the page content, we want that to be
the content that is getting moved) and hopefully more robust
(whereas doing permission checks on a title just after having
moved it might run into issues with replication lag).
Also, permission checks can be expensive so skip the move-subpage
check when the user did not request moving subpages anyway. And
replace the deprecated method.
Bug: T225366
Change-Id: I9809b2a5bbae4006d5c5389dfd7c04f20f7da8fd
Jan Drewniak [Wed, 12 Jun 2019 10:46:32 +0000 (12:46 +0200)]
Set min-width on rcfilter dropdown
Setting a min-width on the body of the rcfilter dropdown menu
prevents it from dropping to width=0 when the browser is
narrower than 650px.
Bug: T225499
Change-Id: I8e7281994af45a52b994fe277fc513db2ae2c4d6
Tim Starling [Mon, 3 Jun 2019 06:10:44 +0000 (16:10 +1000)]
StringStream::copyToStream() should adjust the offset
As Stream is assumed to do.
Change-Id: I25ed0da8e8ca1b4393f88e64ecf7b96484ce8118
Tim Starling [Fri, 31 May 2019 04:50:47 +0000 (14:50 +1000)]
REST: tests for HelloHandler and HeaderContainer
Change-Id: Ia214d4ad85bb2041e49b6cfe8278775387c30138
Tim Starling [Fri, 31 May 2019 03:41:40 +0000 (13:41 +1000)]
REST: Implement 405 responses
Change-Id: I2a4676569a9903d12b7f5f731c5fd47ceafc3c6c
Tim Starling [Tue, 4 Jun 2019 05:52:19 +0000 (15:52 +1000)]
Expand ResponseFactory
* Factor out json_encode() call into ResponseFactory::encodeJson().
* Add createJson() and standardize on JSON for 4xx and 5xx responses
* Add methods for redirect generation, providing an HTML link in the
body as recommended by RFC 7231
Most of the code was written by Gergő Tisza. The differences compared to
I747e34faecbcd are:
* Remove JsonResponse.
* Swap parameter order of createJson() reflecting the fact that the
value is now usually provided.
* Remove unnecessary ResponseFactory::setStatus()
* Don't do ['code' => 'http500'] by default, use httpCode and httpReason
to provide that information
* In createFromReturnValue(), don't wrap numerically-indexed arrays.
* Added tests.
Bug: T223240
Change-Id: Ie185b2bd43690633f1ccbe6328a0518e43a9f2f9
Tim Starling [Thu, 9 May 2019 01:36:18 +0000 (11:36 +1000)]
REST API initial commit
Add some of the basic REST API class hierarchies:
* EntryPoint
* Router
* Request
* Response
* Handler
The actual entry point file rest.php has been moved to a separate
commit, so this is just an unused library and service.
Bug: T221177
Change-Id: Ifca6bcb8a304e8e8b7f52b79c607bdcebf805cd1
jenkins-bot [Tue, 11 Jun 2019 23:11:58 +0000 (23:11 +0000)]
Merge "ResourceLoaderOOUIIconPackModule: Always use MW core 'localBasePath'"
Bartosz Dziewoński [Tue, 11 Jun 2019 22:50:02 +0000 (00:50 +0200)]
ResourceLoaderOOUIIconPackModule: Always use MW core 'localBasePath'
Otherwise, extensions defining icon pack modules in extension.json
would need to specify "localBasePath": "../..", which is silly.
Follow-up to
a8dae2212cc5e23e181023af2ba1891078b14355.
Change-Id: If8f02867955d649c809b6b41de0f77e594b633d6
Gergő Tisza [Sat, 2 Mar 2019 03:06:54 +0000 (19:06 -0800)]
Exempt structure tests from @covers checks
@covers does not make any sense for structure tests, which either
do not cover any PHP lines (they test things like configuration or
messages), or cover lines which cannot be determined at the time
of writing the tests (e.g. they cover all classes implementing a
certain interface). Requiring @coversNothing to be manually added
for all of them is a waste of developer time.
tests/phpunit/suite.xml has forceCoversAnnotation=true so removing
the annotations will not change test coverage, these files will
still be skipped.
Change-Id: I27cb58e92341b9b1a76f109701f5bc843adbaa9b