Aaron Schulz [Thu, 31 May 2018 20:41:48 +0000 (13:41 -0700)]
objectcache: make RedisBagOStuff pass all tests
* Provide a default lock-based BagOStuff::cas implementation
* Make RedisBagOStuff::merge() use mergeViaCas()
* Use the raw unserialized string as the redis CAS token to
avoid any bad interaction with __wakeup() methods changing
field values every time
* Make RedisBagOStuff::incr() return false when there is no
such key, not null
* Rewrite merge() test to make the order of write/cas phase
of the parent and child merge() calls well defined instead
of arbitrary usleep() calls
* Avoid cache key reuse in test runs
Change-Id: I388ec173cf3858bb2fc7a8c8a00cda68703074ce
Translation updater bot [Wed, 30 May 2018 20:05:58 +0000 (22:05 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I74622ed8964fc45ad35223301346fa1533e3f14a
jenkins-bot [Wed, 30 May 2018 19:32:02 +0000 (19:32 +0000)]
Merge "Call Database::timestamp in some tests"
jenkins-bot [Wed, 30 May 2018 19:24:42 +0000 (19:24 +0000)]
Merge "preferences: Preserve Status from saveFormData() in submitForm()"
jenkins-bot [Wed, 30 May 2018 19:19:22 +0000 (19:19 +0000)]
Merge "rdbms: do not silently rollback empty transactions on error"
jenkins-bot [Wed, 30 May 2018 19:19:17 +0000 (19:19 +0000)]
Merge "resourceloader: Create mediawiki.base.js and move mw.inspect to it"
jenkins-bot [Wed, 30 May 2018 18:40:50 +0000 (18:40 +0000)]
Merge "resourceloader: Improve coverage of ResourceLoader::respond()"
jenkins-bot [Wed, 30 May 2018 18:08:24 +0000 (18:08 +0000)]
Merge "OutputPage: Remove 'X-UA-Compatible' header (was for IE8-10 JS compat)"
jenkins-bot [Wed, 30 May 2018 17:50:06 +0000 (17:50 +0000)]
Merge "MediaSearch widget: Bring in ApiResultsQueue tests from upstream"
Timo Tijhof [Wed, 30 May 2018 17:44:29 +0000 (18:44 +0100)]
resourceloader: Create mediawiki.base.js and move mw.inspect to it
As a first step to splitting the 'mediawiki' module, start by
splitting the file. The two files (like the other files in the
same directory) are still concatenated and run at the same time.
The only difference being that the private variables aren't available,
and it forces us to think about not being able to call the methods
during initialisation given the base file will execute after the
main one, making its methods not yet available during the split
time between the two.
From the perspective of regular modules, this changes nothing
as it will still load as one atomic unit defining the same public
API as before.
Bug: T192623
Change-Id: I552ae02e49c4d30070e166a504f454e334e8e75e
Timo Tijhof [Wed, 30 May 2018 17:21:31 +0000 (18:21 +0100)]
resourceloader: Improve coverage of ResourceLoader::respond()
- Cover case of simple module load.
The bulk of this use case is already covered by a lower-level
test for makeModuleResponse(). The added case here exists
to cover the wrapper method, ResourceLoader::respond().
- Cover logic for catching and logging internal errors.
Change-Id: I4315bb00137ff80ee2b790c6b4d4b5fbd93f6bc1
jenkins-bot [Wed, 30 May 2018 14:42:18 +0000 (14:42 +0000)]
Merge "resourceloader: Remove use of $.params in mediawiki.js"
Aaron Schulz [Fri, 25 May 2018 22:00:55 +0000 (15:00 -0700)]
resourceloader: Remove use of $.params in mediawiki.js
Bug: T192623
Change-Id: I05ce4a05fda5ae13ad85c3d8da8362488b5d46af
jenkins-bot [Wed, 30 May 2018 14:20:14 +0000 (14:20 +0000)]
Merge "Message: Only clear message cache when set language is different"
Fomafix [Tue, 15 Dec 2015 10:25:33 +0000 (10:25 +0000)]
Message: Only clear message cache when set language is different
Change-Id: Ic0d810b9017b2cc693282807540ddf3e4d952b9d
jenkins-bot [Wed, 30 May 2018 12:06:17 +0000 (12:06 +0000)]
Merge "ResourceLoaderLessVarFileModule: Add parameter 'lessMessages'"
Aaron Schulz [Sun, 22 Apr 2018 22:38:49 +0000 (15:38 -0700)]
rdbms: do not silently rollback empty transactions on error
Since there might be important view snapshots, temp tables, or effects
from SET statements or the like, go into TRX_ERROR state for "possible
transaction level errors" even if no recognized writes took place and
the transaction was not explicit.
Change-Id: I32c34bc28b845e343d0167a220412824838eaed8
Krinkle [Tue, 29 May 2018 23:39:11 +0000 (23:39 +0000)]
Merge "Split ApiUsageException and UsageException to class per file"
jenkins-bot [Tue, 29 May 2018 22:38:36 +0000 (22:38 +0000)]
Merge "Fix PreferencesForm alias"
jenkins-bot [Tue, 29 May 2018 22:18:24 +0000 (22:18 +0000)]
Merge "Split ApiMessage to class per file"
jenkins-bot [Tue, 29 May 2018 21:57:32 +0000 (21:57 +0000)]
Merge "Add @deprecated tags to DatabaseBase"
jenkins-bot [Tue, 29 May 2018 21:54:13 +0000 (21:54 +0000)]
Merge "Don't autoload classes in AutoloadStructureTest"
Reedy [Tue, 29 May 2018 20:24:40 +0000 (20:24 +0000)]
Fix PreferencesForm alias
Change-Id: I6f24c6283b4165b9209e53f8fc3b8ecb5feb9ca4
Reedy [Tue, 29 May 2018 21:38:49 +0000 (22:38 +0100)]
Add @deprecated tags to DatabaseBase
It was there in REL1_27, but REL1_28 Database was the default...
Bug: T195576
Change-Id: I06d3a48c3112da95f38bb7f6a055fe7682e03096
Umherirrender [Tue, 29 May 2018 19:13:17 +0000 (21:13 +0200)]
Call Database::timestamp in some tests
Also add non-optional database fields to insert.
The fields are defined with a default in mysql,
but not in postgres or oracle.
Bug: T195807
Change-Id: I201638e3438cb0e5004f8da121e64a770e6a8fca
Reedy [Tue, 29 May 2018 16:21:31 +0000 (17:21 +0100)]
Add @deprecated tags to various class_alias calls
Bug: T195576
Change-Id: I10cd8415891bfe4a278eee06c9cfe905b3e036dc
Translation updater bot [Tue, 29 May 2018 20:01:52 +0000 (22:01 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ia47406929fcf2e288dbc4621ae6cf64ad2c3d070
jenkins-bot [Tue, 29 May 2018 19:26:33 +0000 (19:26 +0000)]
Merge "Xml.php: Do not escape double quotes in $contents of Xml::element()"
jenkins-bot [Tue, 29 May 2018 19:04:27 +0000 (19:04 +0000)]
Merge "API: ApiBase::getParameter() shouldn't throw on other params' errors"
Kunal Mehta [Tue, 29 May 2018 18:09:57 +0000 (11:09 -0700)]
Don't autoload classes in AutoloadStructureTest
Autoloading classes is a 100% accurate way to ensure the autoloader
worked, but there are cases where if optional dependencies aren't
installed, then autoloading the class will fail. We can re-implement the
logic behind the PSR-4 autoloader, and ensure that classes will be
autoloadable by turning the filename into a class name, and making sure
that class name is the one we found in the file.
Bug: T195823
Change-Id: I5df378180e567c257386482383ef73812592f989
jenkins-bot [Tue, 29 May 2018 17:52:16 +0000 (17:52 +0000)]
Merge "OOUIHTMLForm: Improve HTMLCheckMatrix for further clarity"
jenkins-bot [Tue, 29 May 2018 17:19:23 +0000 (17:19 +0000)]
Merge "Remove deprecated wgResourceLoaderLESSImportPaths"
jenkins-bot [Tue, 29 May 2018 17:18:20 +0000 (17:18 +0000)]
Merge "Improve ExtensionRegistry test coverage"
jenkins-bot [Tue, 29 May 2018 17:04:44 +0000 (17:04 +0000)]
Merge "Deprecate Parser::fetchFile() since it's unused"
Volker E [Tue, 29 May 2018 11:50:11 +0000 (13:50 +0200)]
OOUIHTMLForm: Improve HTMLCheckMatrix for further clarity
Increase distance between rows slightly and use white to
emphasise row `:hover` color contrast.
Also
- amend `padding` to full pixel widths and
- center-align all but the checkbox labels for better orientation.
Bug: T194536
Change-Id: I03e193beaa8c6479a710056d095cb79098544389
Timo Tijhof [Sat, 19 May 2018 18:37:21 +0000 (20:37 +0200)]
Remove deprecated wgResourceLoaderLESSImportPaths
The last remaining users of this feature were MobileFrontend and Minerva,
which have been migrated to direct imports.
Bug: T140807
Change-Id: I1a66a2ad314bde332297798520e5ec3e0e3d4c9b
jenkins-bot [Tue, 29 May 2018 03:09:00 +0000 (03:09 +0000)]
Merge "resourceloader: Add coverage for empty case in makeModuleResponse"
Timo Tijhof [Tue, 29 May 2018 02:03:31 +0000 (03:03 +0100)]
resourceloader: Add coverage for empty case in makeModuleResponse
Adds coverage for line 1049-1056.
Also, follow-up
6292d54dff by simpliying the regex by using /s modifier to
enable PCRE_DOTALL which includes matching of new lines.
Change-Id: Icec34dfe107d418951b3d155234295c79410ffaa
jenkins-bot [Tue, 29 May 2018 02:05:30 +0000 (02:05 +0000)]
Merge "Fix help link on Special:PasswordPolicies"
jenkins-bot [Tue, 29 May 2018 01:50:13 +0000 (01:50 +0000)]
Merge "Complete coverage of Parser::getTemplateDom()"
Kunal Mehta [Tue, 29 May 2018 01:46:12 +0000 (18:46 -0700)]
Fix help link on Special:PasswordPolicies
'passwordpolicies-helppage' shouldn't be configured in Git - it's
intended for wikis to set a local override. Instead, set the proper
destination in the addHelpLink() call itself.
As a sidenote, a MediaWiki configuration setting documentation page
isn't the best place for user-facing documentation, a proper help page
should be created in the future.
Bug: T195799
Change-Id: If47b86bbd14f05235fa1cb8c910e2362400d23ac
Brad Jorsch [Mon, 28 May 2018 22:45:24 +0000 (18:45 -0400)]
API: ApiBase::getParameter() shouldn't throw on other params' errors
This regression was introduced in Ia19a1617b7.
Bug: T195777
Change-Id: I1e1eb3861ced83f79e56d2325ab693ef4e393999
jenkins-bot [Mon, 28 May 2018 21:18:06 +0000 (21:18 +0000)]
Merge "mediawiki.action.edit.styles: Fix alignment of "Cancel" link/button"
Translation updater bot [Mon, 28 May 2018 20:17:22 +0000 (22:17 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ied787b7f07a91cabbe26a85d04e2ed730444637e
Bartosz Dziewoński [Mon, 28 May 2018 18:53:30 +0000 (20:53 +0200)]
mediawiki.action.edit.styles: Fix alignment of "Cancel" link/button
Follow-up to
f6afdf96d93713981b6bbe4ceeb8363cfc491803, which
accidentally caused it to have the margin applied twice.
Bug: T195673
Change-Id: I7c0ad98e77bf9156c623dcc5b592de52f8e87df8
jenkins-bot [Mon, 28 May 2018 13:35:21 +0000 (13:35 +0000)]
Merge "Send a cookie with IP/IP-Range blocks when blocking logged-out users"
jenkins-bot [Mon, 28 May 2018 11:36:32 +0000 (11:36 +0000)]
Merge "resourceloader: Include global LESS variables in LESS cache key"
Kunal Mehta [Mon, 28 May 2018 06:16:28 +0000 (23:16 -0700)]
Deprecate Parser::fetchFile() since it's unused
Change-Id: Ic2bc3dd0479a373159a22da5f0a6961e212352ff
Kunal Mehta [Mon, 28 May 2018 06:05:48 +0000 (23:05 -0700)]
Complete coverage of Parser::getTemplateDom()
This test covers the branch of code when the $mTplRedirCache is already
populated, by using the same template that redirects twice.
Change-Id: Ie0ce277c75366b7b060e0da6873175976621aff9
jenkins-bot [Mon, 28 May 2018 03:50:48 +0000 (03:50 +0000)]
Merge "Remove deprecated utfnormal back-compat"
jenkins-bot [Mon, 28 May 2018 03:41:37 +0000 (03:41 +0000)]
Merge "Add 'Special:MyLanguage' in 'All skins' category link"
Kunal Mehta [Mon, 28 May 2018 03:36:22 +0000 (20:36 -0700)]
Improve ExtensionRegistry test coverage
Change-Id: Id1b87e020a220c96b42d86485da67d47b9d565f9
Kunal Mehta [Fri, 25 May 2018 18:47:32 +0000 (11:47 -0700)]
Remove deprecated utfnormal back-compat
Change-Id: Id8f497d0bbaab8282057c9d271a7c9b1e77d1a3f
Timo Tijhof [Mon, 28 May 2018 00:39:58 +0000 (01:39 +0100)]
resourceloader: Add coverage for non-js error case in makeModuleResponse
Adds coverage for line 1170-1175.
Change-Id: I2208264d3fca306b2740b243d7cdc209b224ebca
Elliott Eggleston [Thu, 22 Mar 2018 22:29:29 +0000 (17:29 -0500)]
OutputPage: Remove 'X-UA-Compatible' header (was for IE8-10 JS compat)
Save 26 bytes each request.
We're not sending JS to those browsers any more, they're dying out, and
apparently just the `<!DOCTYPE html>` is enough to trigger Edge mode.
https://stackoverflow.com/questions/
26346917/why-use-x-ua-compatible-ie-edge-anymore
Bug: T27378
Change-Id: I5418d4b043a8c8669886c39a93732e4a7d50337e
jenkins-bot [Sun, 27 May 2018 23:26:33 +0000 (23:26 +0000)]
Merge "Improve Parser::braceSubstitution() coverage"
jenkins-bot [Sun, 27 May 2018 20:47:17 +0000 (20:47 +0000)]
Merge "Remove eslint-disable no-use-before-define"
Reedy [Fri, 25 May 2018 01:03:07 +0000 (02:03 +0100)]
Split ApiUsageException and UsageException to class per file
Change-Id: I54c7d5e6616ac1a23082cc72e60ed92cb7eef715
jenkins-bot [Sun, 27 May 2018 20:28:23 +0000 (20:28 +0000)]
Merge "Hooks: remove some unnecessary code"
jenkins-bot [Sun, 27 May 2018 20:28:21 +0000 (20:28 +0000)]
Merge "Complete test coverage of Hooks class"
Fomafix [Sat, 26 May 2018 12:58:37 +0000 (14:58 +0200)]
Remove eslint-disable no-use-before-define
mediawiki.js: Reorder setGlobalMapValue() to avoid a forward reference.
mediawiki.action.edit.stash.js: Reorder two functions without to avoid
forward references.
In all other cases add eslint-disable-next-line no-use-before-define.
Change-Id: Ic8b2f8cf61dcfb1a215ad3d3dddfd40282e3e836
Translation updater bot [Sun, 27 May 2018 19:57:02 +0000 (21:57 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I5c895f4b61a73570671acf36c817cc405f54ec0b
jenkins-bot [Sun, 27 May 2018 19:50:45 +0000 (19:50 +0000)]
Merge "Improve AutoLoader test coverage"
Kunal Mehta [Sun, 27 May 2018 06:39:07 +0000 (23:39 -0700)]
Hooks: remove some unnecessary code
PHP automatically creates the array when you try to append an item to
it. Really.
Change-Id: I73b1efe749a9311feeb0d14e1c76b5bbbc0265bd
Kunal Mehta [Sun, 27 May 2018 06:38:28 +0000 (23:38 -0700)]
Complete test coverage of Hooks class
Change-Id: I9e720c44e6d6c9c5d726a8a147e07ee9b638913f
Kunal Mehta [Sun, 27 May 2018 05:57:55 +0000 (22:57 -0700)]
Improve Parser::braceSubstitution() coverage
Change-Id: I3d9426143fe486c6aed0494b68773a36e24c02d9
Kunal Mehta [Sun, 27 May 2018 04:29:36 +0000 (21:29 -0700)]
Improve AutoLoader test coverage
Change-Id: Iddb24cad41979a4798392ab08d104dac41ed736d
Kunal Mehta [Sun, 27 May 2018 01:14:51 +0000 (18:14 -0700)]
Parser: Don't catch exception just to rethrow it
This is left over from
4ff813680.
Change-Id: I624c2c22b7736af249647997565fe06f52d40fe2
Reedy [Fri, 25 May 2018 00:59:49 +0000 (01:59 +0100)]
Split ApiMessage to class per file
Change-Id: If8f51e6535d0ec6e35336a6702c5e35be35bcf09
jenkins-bot [Sun, 27 May 2018 00:13:13 +0000 (00:13 +0000)]
Merge "AutoLoaderStructureTest: Allow PSR-4 directories to have files with 0 classes"
jenkins-bot [Sat, 26 May 2018 23:57:30 +0000 (23:57 +0000)]
Merge "Rename ApiQueryContributions to ApiQueryUserContribs to match api module name"
Kunal Mehta [Sat, 26 May 2018 23:51:56 +0000 (16:51 -0700)]
AutoLoaderStructureTest: Allow PSR-4 directories to have files with 0 classes
Files like ServiceWiring.php can be safely located in a PSR-4 autoloaded
directory, because they have no classes.
Change-Id: I359b305df9071d6bc5afe4b5f29e762041f4aaef
Kunal Mehta [Fri, 25 May 2018 05:13:22 +0000 (22:13 -0700)]
Split AutoloaderTest into a structure and class test
AutoloaderTest covers the AutoLoader class, and AutoLoaderStructureTest
covers the structure part of the test.
Change-Id: Ic4e7bfd670e1c3413631bda31260cc1cc825b1a2
jenkins-bot [Sat, 26 May 2018 23:09:05 +0000 (23:09 +0000)]
Merge "Increase cleanupTitles.php batch size"
Reedy [Fri, 25 May 2018 00:46:30 +0000 (01:46 +0100)]
Rename ApiQueryContributions to ApiQueryUserContribs to match api module name
Change-Id: I865628b87eda7be349522fcfaf94f5563142026e
jenkins-bot [Sat, 26 May 2018 23:06:25 +0000 (23:06 +0000)]
Merge "Hard deprecate UtfNormal methods"
jenkins-bot [Sat, 26 May 2018 22:54:11 +0000 (22:54 +0000)]
Merge "Switch includes/{sparql,Storage,tidy} to use the PSR-4 autoloader"
jenkins-bot [Sat, 26 May 2018 22:40:47 +0000 (22:40 +0000)]
Merge "Switch includes/{preferences,services,session,shell} to use the PSR-4 autoloader"
jenkins-bot [Sat, 26 May 2018 22:40:44 +0000 (22:40 +0000)]
Merge "Add structure test to ensure PSR-4 autoloader covers everything"
Kunal Mehta [Fri, 25 May 2018 18:16:16 +0000 (11:16 -0700)]
Hard deprecate UtfNormal methods
Change-Id: Iafbf89aa85ae77cd790aeac6911ccc2d014a6c65
Translation updater bot [Sat, 26 May 2018 21:03:33 +0000 (23:03 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I4500053ecbb780a723d5f2398a3d1693a9d12d31
Suriyaa Kudo [Sat, 26 May 2018 14:02:10 +0000 (16:02 +0200)]
Add 'Special:MyLanguage' in 'All skins' category link
Change-Id: I5f9f6c3c9151ea1570d0ec3f361af40fba8abd20
Aaron Schulz [Sat, 26 May 2018 00:29:17 +0000 (17:29 -0700)]
Avoid PHP 7.2 warnings in DBConRefTest about count() on non-Countable
Change-Id: Ida81bf998b462f2f6bb2b708df1f15bbc1933db1
Reedy [Sat, 26 May 2018 00:25:03 +0000 (00:25 +0000)]
Increase cleanupTitles.php batch size
Change-Id: I086892e44936fdaf9d5d1f3667325daaaaa7260e
jenkins-bot [Fri, 25 May 2018 23:03:18 +0000 (23:03 +0000)]
Merge "languages: Use static array files for normalizer data"
jenkins-bot [Fri, 25 May 2018 22:38:39 +0000 (22:38 +0000)]
Merge "MediaWiki\Auth\Throttler: Change "ip" key name"
Brad Jorsch [Fri, 25 May 2018 18:50:55 +0000 (14:50 -0400)]
MediaWiki\Auth\Throttler: Change "ip" key name
Apparently 'ip' is overwritten by logstash at some level, so use 'ipKey'
instead.
Change-Id: I0547acdbb9f3fc7a990bd4baa2d748e89bac8c3b
L10n-bot [Fri, 25 May 2018 19:54:18 +0000 (19:54 +0000)]
Merge "Localisation updates from https://translatewiki.net."
Translation updater bot [Fri, 25 May 2018 19:54:09 +0000 (21:54 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I1bb2563f7ebba3c66062b79bd523c3f226b54cb9
jenkins-bot [Fri, 25 May 2018 19:52:13 +0000 (19:52 +0000)]
Merge "Enable merging of WrappedStringList between 'bottomscripts' and 'reportime'"
Alexia E. Smith [Tue, 10 Apr 2018 22:35:49 +0000 (17:35 -0500)]
resourceloader: Include global LESS variables in LESS cache key
This prevents cache churn when the wiki-global LESS variables vary
between wikis because the cache key is used as a "global" instead of
db-local. This is good for the common case, but should still explicitly
vary if the vars differ between wikis.
Bug: T191937
Change-Id: If12fd07a7062792205384150d6f5fd9a83f996cc
Reedy [Fri, 25 May 2018 12:08:24 +0000 (13:08 +0100)]
Remove non namespaced TimestampException
Change-Id: I6d5cc227cacc6a24e92002e589e439a3bbd033a7
jenkins-bot [Fri, 25 May 2018 02:23:00 +0000 (02:23 +0000)]
Merge "Move includes/auth back to the standard classmap autoloader"
Kunal Mehta [Thu, 24 May 2018 02:31:33 +0000 (19:31 -0700)]
Switch includes/{sparql,Storage,tidy} to use the PSR-4 autoloader
Change-Id: I1ae3cb3833a28286eb4ae09b586785d156917e8e
Kunal Mehta [Thu, 24 May 2018 02:28:33 +0000 (19:28 -0700)]
Switch includes/{preferences,services,session,shell} to use the PSR-4 autoloader
Change-Id: Ic095ed65d05517cdb7b383cde8c664044f790f05
Kunal Mehta [Fri, 25 May 2018 01:55:47 +0000 (18:55 -0700)]
Add structure test to ensure PSR-4 autoloader covers everything
This ensures that there aren't any classes inside a PSR-4 autoloaded
directory that aren't being autoloaded properly.
Change-Id: I200a8535c2f47a6bf3287a7fe1182151493372f4
Kunal Mehta [Fri, 25 May 2018 01:57:28 +0000 (18:57 -0700)]
Move includes/auth back to the standard classmap autoloader
Partially reverts
c587ab1375eaf61acbd3e066ff791d096e769189.
Change-Id: Ie8cfe356b07f08d481370b9f61b1d08ed6c9c799
jenkins-bot [Fri, 25 May 2018 00:56:01 +0000 (00:56 +0000)]
Merge "Restore 'PreferencesForm' as alias for 'PreferencesFormLegacy'"
James D. Forrester [Fri, 25 May 2018 00:01:02 +0000 (17:01 -0700)]
Follow-up If8dfdaf1: Hard-deprecate, drop two uses, other pre-5.3 back-compat code
Change-Id: I1c5eee3fe30d6687d88e07011a3d40b6770d0daf
jenkins-bot [Thu, 24 May 2018 23:08:23 +0000 (23:08 +0000)]
Merge "EditPage: Fix duplicate classic toolbar"