Kunal Mehta [Wed, 28 Sep 2016 02:56:07 +0000 (19:56 -0700)]
registration: Improve license-name validation
Our hardcoded enum list in the extension.json schema for license-name
values was incomplete and did not cover the full SPDX license identifier
specification, which includes things like "AND" for specifying multiple
licenses.
Composer already has solid code in a library to do this validation, so
let's use it! This updates both the validateRegistrationFile.php and
ExtensionJsonValidationTest.php to use the composer/spdx-licenses
library (a new development dependency) to ensure the license-name field
is a valid SPDX identifier.
Also fix a silly typo in the validateRegistrationFile script which
prevented it from running, and use ::class so it will be easier to
detect typos like that in the future.
Bug: T146862
Change-Id: Ibb8973ed7950ae81c90558f9630f73746b2aff2c
jenkins-bot [Wed, 28 Sep 2016 02:27:30 +0000 (02:27 +0000)]
Merge "Remove full form of ChangeTags::buildTagFilterSelector"
jenkins-bot [Wed, 28 Sep 2016 02:25:23 +0000 (02:25 +0000)]
Merge "Create ChangeTagsUpdate hook"
cenarium [Tue, 26 May 2015 00:50:42 +0000 (02:50 +0200)]
Create ChangeTagsUpdate hook
This creates a hook triggered when updating change tags, so that
extensions can take actions when tags are updated.
When tagging accompanies the action, the recent change is passed
while when tagging is subsequent to the action, the user who
performs the tagging is passed.
Bug: T118698
Change-Id: Ifb0cdc43252c4185e4f216d23b8a21fb31595a37
Aaron Schulz [Sat, 24 Sep 2016 01:52:21 +0000 (18:52 -0700)]
Lower $wgTrxProfilerLimits for JobRunner a bit
Jobs should always use query batching.
Change-Id: Iddbcc32b44e6c71feb66e2f52afb20e824e6eb72
Volker E [Tue, 27 Sep 2016 20:39:34 +0000 (13:39 -0700)]
mediawiki.UI: Align further greys to improved color palette
Aligning more of the base grey shades to improved color palette
https://phabricator.wikimedia.org/M82
Bug: T146799
Change-Id: I40d69e5fdb5456511be4884f947635179aaf1020
Kunal Mehta [Tue, 27 Sep 2016 21:50:13 +0000 (14:50 -0700)]
Make RecentChange::addTags() accept a string
Most planned callers of RecentChange::addTags() only want to add a
single tag, so forcing them to create an array seems unfriendly. Plus
this lets us avoid a array_merge call.
Change-Id: If001ba9ff01a33be158e7edd5c5e4de9825fa180
Translation updater bot [Tue, 27 Sep 2016 20:04:47 +0000 (22:04 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Ieda6cba6bfc651c153cf87c9e89c1d3a8ef7f7d0
jenkins-bot [Tue, 27 Sep 2016 15:03:33 +0000 (15:03 +0000)]
Merge "Directly use Language::factory instead of wfGetLangObj"
jenkins-bot [Tue, 27 Sep 2016 14:28:22 +0000 (14:28 +0000)]
Merge "Avoid multiple writes to changetags table in recentchanges_save hook"
cenarium [Fri, 23 Sep 2016 14:36:48 +0000 (16:36 +0200)]
Avoid multiple writes to changetags table in recentchanges_save hook
Currently, extensions that add tags within the recentchanges_save
hook directly call ChangeTags::addTags. This often results in
consecutive writes to the changetags table.
This provides a addTags method to RecentChange so extensions
can simply use it when they want a tag added. And all the actual
tagging is done once at the end.
Change-Id: I8df2fd983c12632337e8d2922fa357808482338c
jenkins-bot [Tue, 27 Sep 2016 13:27:02 +0000 (13:27 +0000)]
Merge "Remove getSearchEngine() from DatabaseBase"
jenkins-bot [Tue, 27 Sep 2016 07:46:36 +0000 (07:46 +0000)]
Merge "Create fields & data for image/file data indexing"
Stanislav Malyshev [Wed, 14 Sep 2016 00:52:33 +0000 (17:52 -0700)]
Create fields & data for image/file data indexing
Bug: T145558
Change-Id: I23d4c8235d0e4150eefec31cea4b2cfdd32bf32a
jenkins-bot [Tue, 27 Sep 2016 04:31:47 +0000 (04:31 +0000)]
Merge "Clean up array() syntax in docs, part VII"
jenkins-bot [Tue, 27 Sep 2016 04:31:06 +0000 (04:31 +0000)]
Merge "Replace DatabaseBase:: with Database:: and update type hints"
Aaron Schulz [Mon, 26 Sep 2016 22:40:07 +0000 (15:40 -0700)]
Replace DatabaseBase:: with Database:: and update type hints
Change-Id: I3919b04eb2de4fa0bf8a02239fb5bbf17d347511
jenkins-bot [Tue, 27 Sep 2016 03:59:33 +0000 (03:59 +0000)]
Merge "EditPage: Allow language of copyright warning to be specified"
Alex Monk [Tue, 27 Sep 2016 00:23:21 +0000 (01:23 +0100)]
EditPage: Allow language of copyright warning to be specified
This avoids global state, and is necessary in places where the
global user language cannot be used, such as load.php.
Bug: T146686
Change-Id: I80a813a76b551643b68430e6a0ab553b2e1dfb11
Amir Sarabadani [Tue, 27 Sep 2016 03:15:08 +0000 (06:45 +0330)]
Clean up array() syntax in docs, part VII
Last part
Change-Id: I38f015e2122ef4fd2d2141718bd889794c29f06c
jenkins-bot [Tue, 27 Sep 2016 01:04:22 +0000 (01:04 +0000)]
Merge "Remove a few unused variables"
jenkins-bot [Tue, 27 Sep 2016 01:04:19 +0000 (01:04 +0000)]
Merge "Remove/actualize unused imports"
Max Semenik [Mon, 26 Sep 2016 23:38:15 +0000 (16:38 -0700)]
Remove a few unused variables
Change-Id: Ibfc4c6cbbc08b5917f1a84d86d2d4a0855e371a1
Max Semenik [Mon, 26 Sep 2016 23:25:17 +0000 (16:25 -0700)]
Remove/actualize unused imports
Change-Id: I6ef19d5d982aa45dbf5554107ad9ee720442f466
jenkins-bot [Mon, 26 Sep 2016 23:58:13 +0000 (23:58 +0000)]
Merge "Fix function name case"
Max Semenik [Mon, 26 Sep 2016 22:32:54 +0000 (15:32 -0700)]
Fix function name case
Change-Id: Ibd4f682d2ed8500a50d85aae38f17281646f7c2d
jenkins-bot [Mon, 26 Sep 2016 22:25:08 +0000 (22:25 +0000)]
Merge "AuthManager phpdoc cleanup"
Max Semenik [Mon, 26 Sep 2016 20:59:41 +0000 (13:59 -0700)]
AuthManager phpdoc cleanup
Change-Id: Ib6fa897e76ae479de68acaeb16708c2bdf15ae5f
Translation updater bot [Mon, 26 Sep 2016 20:05:23 +0000 (22:05 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Id7ff13898d6a89d8ce88794666e940d7a6d94596
jenkins-bot [Mon, 26 Sep 2016 19:58:24 +0000 (19:58 +0000)]
Merge "Update wfEscapeShellArg() comments"
jenkins-bot [Mon, 26 Sep 2016 19:58:20 +0000 (19:58 +0000)]
Merge "Minor installer/upgrader cleanups"
jenkins-bot [Mon, 26 Sep 2016 18:54:19 +0000 (18:54 +0000)]
Merge "Change mid-upload 'cancel' button to 'back'"
jenkins-bot [Mon, 26 Sep 2016 17:34:00 +0000 (17:34 +0000)]
Merge "Add new type SearchIndexField::INDEX_TYPE_SHORT_TEXT"
jenkins-bot [Mon, 26 Sep 2016 17:14:52 +0000 (17:14 +0000)]
Merge "HTMLForm: Add HTMLDateTimeField"
Brad Jorsch [Thu, 22 Sep 2016 17:28:29 +0000 (13:28 -0400)]
HTMLForm: Add HTMLDateTimeField
And to do that, an OOUI PHP widget for
mw.widgets.datetime.DateTimeInputWidget too.
Bug: T146340
Change-Id: Iaa8b5892b6c3a1f3698cef59684cc3cdc9d483ea
jenkins-bot [Mon, 26 Sep 2016 15:30:54 +0000 (15:30 +0000)]
Merge "Avoid DB_MASTER use on password checks and defer password upgrades"
Matthias Mullie [Mon, 26 Sep 2016 13:58:21 +0000 (15:58 +0200)]
Change mid-upload 'cancel' button to 'back'
Bug: T114938
Change-Id: I5b430d772011ea37148452fb64627ada9ee9542c
cenarium [Fri, 23 Sep 2016 21:28:07 +0000 (23:28 +0200)]
Remove full form of ChangeTags::buildTagFilterSelector
This removes the full form option of ChangeTags::buildTagFilterSelector
since it is completely unused, either in core or extensions.
OOUI for tag selectors aren't implemented yet so the change in signature
shouldn't affect anything.
Change-Id: Ie97b77244b6a9596b53b562b71009686932cf97e
dcausse [Mon, 26 Sep 2016 10:50:23 +0000 (12:50 +0200)]
Add new type SearchIndexField::INDEX_TYPE_SHORT_TEXT
Useful for short technical strings such as mime types.
Change-Id: If440378f2b7004abed87eca4bbde767212c4b062
jenkins-bot [Mon, 26 Sep 2016 09:59:12 +0000 (09:59 +0000)]
Merge "Fix IDEA warning in FSFileBackend"
jenkins-bot [Mon, 26 Sep 2016 09:58:08 +0000 (09:58 +0000)]
Merge "Fix IDEA warnings in FileBackendStore"
jenkins-bot [Mon, 26 Sep 2016 09:58:05 +0000 (09:58 +0000)]
Merge "Use @lang tags for Lua scripts"
Translation updater bot [Sun, 25 Sep 2016 19:55:34 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Iee88cf7ca866040931ab75e85c27c6efa73aa1ff
Aaron Schulz [Sun, 25 Sep 2016 18:50:16 +0000 (11:50 -0700)]
Use @lang tags for Lua scripts
Change-Id: Ifdbff687539078b375330ebe3a1493b281e5c518
jenkins-bot [Sat, 24 Sep 2016 22:17:10 +0000 (22:17 +0000)]
Merge "Move RedisBagOStuff to /libs"
Aaron Schulz [Wed, 21 Sep 2016 23:13:14 +0000 (16:13 -0700)]
Move SwiftFileBackend to /libs
Change-Id: Ied0be9891d70930caf415d75cb3b89043347f47e
jenkins-bot [Sat, 24 Sep 2016 22:02:42 +0000 (22:02 +0000)]
Merge "Depedencency cleanups to SwiftFileBackend"
Translation updater bot [Sat, 24 Sep 2016 19:57:01 +0000 (21:57 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: I8e5eec2c2187060941e25a6b7388beccda6ee562
Aaron Schulz [Sat, 24 Sep 2016 10:55:38 +0000 (03:55 -0700)]
Fix IDEA warnings in FileBackendStore
Change-Id: Icd0fa697645c9a315f49f22216b669c5288c1176
Aaron Schulz [Sat, 24 Sep 2016 10:34:14 +0000 (03:34 -0700)]
Fix IDEA warning in FSFileBackend
Change-Id: Ia46bffabde91fb22df11cf953c0199995a41cb91
Fomafix [Sat, 24 Sep 2016 10:18:13 +0000 (12:18 +0200)]
Directly use Language::factory instead of wfGetLangObj
figureMessage always returns a valid language code.
Change-Id: Ifa11ca278e7a6f49781846bb6d1eec94669999f3
Aaron Schulz [Sat, 24 Sep 2016 04:17:32 +0000 (21:17 -0700)]
Rename getSlavePos() => getReplicaPos()
All callers updated
Change-Id: Ieb87df1bd134e6b0d8b01be581288e98fe3543ee
Aaron Schulz [Fri, 23 Sep 2016 03:11:18 +0000 (20:11 -0700)]
Remove unused Database::isView()/clearViewsCache() methods
Also make getLazyMasterHandle() protected.
Change-Id: Id6b48ff976a800052c22e90b572695ab3b8beb7e
Aaron Schulz [Sat, 24 Sep 2016 03:13:36 +0000 (20:13 -0700)]
Move RedisBagOStuff to /libs
Change-Id: Ia49fb044aacb44e53d36c80277783cd806aca439
Aaron Schulz [Wed, 21 Sep 2016 23:12:27 +0000 (16:12 -0700)]
Depedencency cleanups to SwiftFileBackend
* Avoid wf* function MediaWiki dependencies.
* Don't bother with getLocalClusterInstance() caching for the CLI case.
* Give FileBackend a default 'resetOutputBuffer' callback.
Change-Id: I359da1ad77c62880ea799b65cd3a16ad673a64eb
Aaron Schulz [Fri, 23 Sep 2016 03:42:38 +0000 (20:42 -0700)]
Minor installer/upgrader cleanups
Change-Id: I6352d16dce242c94203bdf7d020f1c0279fec6e5
jenkins-bot [Sat, 24 Sep 2016 01:33:14 +0000 (01:33 +0000)]
Merge "Move FSFilebackend and MemoryFileBackend to /libs"
jenkins-bot [Sat, 24 Sep 2016 01:13:44 +0000 (01:13 +0000)]
Merge "Make LoadBalancer return docs more specific about types"
Aaron Schulz [Fri, 23 Sep 2016 23:31:56 +0000 (16:31 -0700)]
Make LoadBalancer return docs more specific about types
Change-Id: Iab671b66a4a4da33c780b6d78752c484ec329254
Aaron Schulz [Sat, 24 Sep 2016 00:51:20 +0000 (17:51 -0700)]
Remove getSearchEngine() from DatabaseBase
Change-Id: I1d5f43a90c50ab8cf5b6e58f290751c3aec73c4e
jenkins-bot [Sat, 24 Sep 2016 00:23:05 +0000 (00:23 +0000)]
Merge "Clean up misuse of wfTimestampOrNull()"
Aaron Schulz [Wed, 21 Sep 2016 22:36:16 +0000 (15:36 -0700)]
Move FSFilebackend and MemoryFileBackend to /libs
Change-Id: Id38a2ef9e0e22537d0267b536f8a4dfd60c5b41d
Timo Tijhof [Fri, 23 Sep 2016 23:59:56 +0000 (00:59 +0100)]
Clean up misuse of wfTimestampOrNull()
It's primarily meant for nullable timestamps in the database.
And for the mere purpose of an is_null() check, it's more confusion
than useful to cause this function since in these two cases its return
value is not used as-is but further conditionalized.
* Also fix fragile link between getRegistration()'s false return
value never being passed to wfTimestamp (to mean "now") because
of the isLoggedIn() guard. The ternary would now make those
follow the 'else' branch toward null.
Change-Id: I9a1ee2a56e1767bfb750e27b1f37bdaeb5e6378d
Aaron Schulz [Fri, 23 Sep 2016 23:55:44 +0000 (16:55 -0700)]
Update wfEscapeShellArg() comments
Change-Id: Ib62a51186aee0967ba4420054ee69b83dcae4d59
jenkins-bot [Sat, 24 Sep 2016 00:01:13 +0000 (00:01 +0000)]
Merge "Remove wf* function usage from FSFileBackend"
jenkins-bot [Fri, 23 Sep 2016 23:41:20 +0000 (23:41 +0000)]
Merge "Avoid DatabaseBase type errors in setupDatabaseWithTestPrefix()"
Aaron Schulz [Fri, 23 Sep 2016 22:59:22 +0000 (15:59 -0700)]
Avoid DatabaseBase type errors in setupDatabaseWithTestPrefix()
Change-Id: I94cc0672a487d547a09c27997fe36274d7d62977
jenkins-bot [Fri, 23 Sep 2016 23:14:32 +0000 (23:14 +0000)]
Merge "Add transaction ticket to LinksUpdateComplete hook"
Aaron Schulz [Wed, 21 Sep 2016 22:34:46 +0000 (15:34 -0700)]
Remove wf* function usage from FSFileBackend
Change-Id: Iad6471724f8cdc596c755e6194da7556158e9203
jenkins-bot [Fri, 23 Sep 2016 22:52:46 +0000 (22:52 +0000)]
Merge "Move FileBackendStore and FileOp classes to /libs"
jenkins-bot [Fri, 23 Sep 2016 22:46:47 +0000 (22:46 +0000)]
Merge "SpecialRecentChanges: Allow tagfilter=tag as "subpage""
jenkins-bot [Fri, 23 Sep 2016 22:09:31 +0000 (22:09 +0000)]
Merge "Move RedisLockManager to /libs"
jenkins-bot [Fri, 23 Sep 2016 21:57:36 +0000 (21:57 +0000)]
Merge "Move RedisConnectionPool to /libs/redis"
Aaron Schulz [Sun, 18 Sep 2016 23:25:41 +0000 (16:25 -0700)]
Move FileBackendStore and FileOp classes to /libs
Change-Id: If490f64bec282e5dfcdaf7feb1cbf46d3dce1064
Aaron Schulz [Sun, 18 Sep 2016 23:07:34 +0000 (16:07 -0700)]
Remove wfDebugLog() dependency from FileOp classes
Change-Id: Ib8ab9edd1afdb28f7444f5e13cf34a696a066234
jenkins-bot [Fri, 23 Sep 2016 21:28:52 +0000 (21:28 +0000)]
Merge "Add HTTPFileStreamer class"
Aaron Schulz [Sun, 18 Sep 2016 22:49:34 +0000 (15:49 -0700)]
Add HTTPFileStreamer class
* Move most StreamFile code to this new class
* Remove StreamFile depedency from FileBackendStore
Change-Id: I4a272ef49497b589114fc2b37ba800bc26d9161f
jenkins-bot [Fri, 23 Sep 2016 21:08:57 +0000 (21:08 +0000)]
Merge "Move FileBackendMultiWrite to /libs"
jenkins-bot [Fri, 23 Sep 2016 20:58:20 +0000 (20:58 +0000)]
Merge "Revert "resourceloader: Make cache-eval in mw.loader.work asynchronous""
jenkins-bot [Fri, 23 Sep 2016 20:56:28 +0000 (20:56 +0000)]
Merge "mediawiki.js: Refactor definition of mw.log singleton"
jenkins-bot [Fri, 23 Sep 2016 20:49:36 +0000 (20:49 +0000)]
Merge "mw.loader: Use native Set where possible instead of string keys"
Krinkle [Wed, 21 Sep 2016 18:39:25 +0000 (18:39 +0000)]
Revert "resourceloader: Make cache-eval in mw.loader.work asynchronous"
This reverts commit
482ad8d9fb2e8273cefc4a5a557604b093944c8b.
Change-Id: Ic31463313b5a6d9720f0a5e036bb7200d3340021
jenkins-bot [Fri, 23 Sep 2016 20:37:59 +0000 (20:37 +0000)]
Merge "Add IMaintainableDatabase for non-OLTP type methods"
jenkins-bot [Fri, 23 Sep 2016 20:36:37 +0000 (20:36 +0000)]
Merge "Add ILBFactory interface for completeness"
Timo Tijhof [Fri, 23 Sep 2016 19:40:10 +0000 (20:40 +0100)]
mediawiki.js: Refactor definition of mw.log singleton
Move this out of the large plain object that defines 'mw' itself
because right now none of the mw object initialisation is able
to call mw.log.
In a future commit, a call to mw.log is introduced in the mw.Map()
constructor, which is also used to set the mw.messages, mw.templates
and mw.user.options fields.
* Rename the other log() function to avoid clashing.
* Update outdated comment about not using mw.log() which was
there about confusion between log() and mw.log(). However,
this code was updated long ago to use mw.track() instead of
log() directly, and log() has now been renamed.
Change-Id: I7d6bd4e3c9753e30278752c59d6cbd4d2fd10d96
jenkins-bot [Fri, 23 Sep 2016 20:32:15 +0000 (20:32 +0000)]
Merge "Add DBO_* class constants and defines.php alias the class constants"
Aaron Schulz [Fri, 23 Sep 2016 04:54:49 +0000 (21:54 -0700)]
Move FileBackendMultiWrite to /libs
Change-Id: I8079693a62db390028cd9f72b2bd7a81ae1164c3
L10n-bot [Fri, 23 Sep 2016 20:03:51 +0000 (20:03 +0000)]
Merge "Localisation updates from https://translatewiki.net."
Translation updater bot [Fri, 23 Sep 2016 19:59:24 +0000 (21:59 +0200)]
Localisation updates from https://translatewiki.net.
Change-Id: Iff900bc05ff000bd0c290d77ad20be6808b12fb0
Aaron Schulz [Fri, 23 Sep 2016 19:41:22 +0000 (12:41 -0700)]
Add DBO_* class constants and defines.php alias the class constants
Change-Id: If13b23ef849d4cf4c711b0ec2bf2e8a795f90738
Aaron Schulz [Sun, 18 Sep 2016 21:40:38 +0000 (14:40 -0700)]
Dependency cleanups to FileBackendStore
* Inject a PSR logger in place of wf* logging methods.
* Replace wfTimestamp() call with ConvertableTimestamp.
* Inject the Profiler object.
* Rename $wiki => $domain to avoid "wiki" mentions.
* Remove stray FSFile::extractImageSizeInfo() method.
Change-Id: I3e3a43d36506bec341dc5727b52f5f5a5d32bff5
Florian [Sat, 13 Aug 2016 18:23:40 +0000 (20:23 +0200)]
SpecialRecentChanges: Allow tagfilter=tag as "subpage"
This allows an url like example.com/wiki/Special:RecentChanges/tagfilter=visualeditor
to only show changes made with the VisualEditor (instead of using the long version
like index.php?title=Special:RecentChanges&tagfilter=visualeditor).
This also allows the transclusion of the Special:RecentChanges page with a tagfilter.
Bug: T142878
Change-Id: Iaa749a556ccc422e79fbb2bac709fab45b3cc83d
jenkins-bot [Fri, 23 Sep 2016 19:20:43 +0000 (19:20 +0000)]
Merge "Add alternative DB_* class constants to ILoadBalancer"
Aaron Schulz [Fri, 23 Sep 2016 06:10:20 +0000 (23:10 -0700)]
Add ILBFactory interface for completeness
Also fixed comment indentation.
Change-Id: I535d320b63477302b06fd634b3ab47eef6868ffc
jenkins-bot [Fri, 23 Sep 2016 18:58:51 +0000 (18:58 +0000)]
Merge "Make newExternalLB() public to match newMainLB()"
Aaron Schulz [Fri, 23 Sep 2016 18:54:28 +0000 (11:54 -0700)]
Avoid DB_MASTER use on password checks and defer password upgrades
Change-Id: Iceaafa31a5d8efcd9881b8a4a5c0e2aca1b1447c
Aaron Schulz [Fri, 23 Sep 2016 18:36:43 +0000 (11:36 -0700)]
Add alternative DB_* class constants to ILoadBalancer
Change-Id: I5d7e6d9f0f5bd4275e240a94b996f3740ef46330
jenkins-bot [Fri, 23 Sep 2016 15:25:11 +0000 (15:25 +0000)]
Merge "Add HTMLFormField class for MWRestrictions and use it for bot passwords"
jenkins-bot [Fri, 23 Sep 2016 15:18:12 +0000 (15:18 +0000)]
Merge "Log when Message::__toString has an unexpected format"
jenkins-bot [Fri, 23 Sep 2016 08:55:15 +0000 (08:55 +0000)]
Merge "ScopedCallback: Fix a typo in a comment"