5 years agoMerge "Use OO.ui.MultilineTextInputWidget"
jenkins-bot [Wed, 12 Jul 2017 15:19:13 +0000 (15:19 +0000)]
Merge "Use OO.ui.MultilineTextInputWidget"

5 years agoMerge "Sanitizer: Allow attribute names to use any Unicode "Letter" or "Number""
jenkins-bot [Wed, 12 Jul 2017 15:13:19 +0000 (15:13 +0000)]
Merge "Sanitizer: Allow attribute names to use any Unicode "Letter" or "Number""

5 years agoUse OO.ui.MultilineTextInputWidget
Volker E [Wed, 12 Jul 2017 12:20:49 +0000 (14:20 +0200)]
Use OO.ui.MultilineTextInputWidget

Replacing deprecated OO.ui.TextInputWidget({multiline: true}) as of
OOjs UI v0.22.2 with OO.ui.MultilineTextInputWidget.
Also removing `multiline: false` since it is the default value.

Bug: T170275
Change-Id: Iad7c5bb32d7fb9c38b1781cce00eec8f1e99f6f2

5 years agoMerge "Add (hacky) check for webm audio files"
jenkins-bot [Wed, 12 Jul 2017 07:47:30 +0000 (07:47 +0000)]
Merge "Add (hacky) check for webm audio files"

5 years agoMerge "Add hook for cleaning up data that depends on purged recentchanges rows"
jenkins-bot [Wed, 12 Jul 2017 07:43:15 +0000 (07:43 +0000)]
Merge "Add hook for cleaning up data that depends on purged recentchanges rows"

5 years agoUpdate OOjs UI to v0.22.3
James D. Forrester [Tue, 11 Jul 2017 22:15:55 +0000 (15:15 -0700)]
Update OOjs UI to v0.22.3

Release notes:

Depends-On: If676bfab1d2040a9d360c741a5ab4e1c81b36b87
Change-Id: I684822b564663a94e03fc8b559617974502c8e52

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 11 Jul 2017 20:13:24 +0000 (22:13 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I7a1a699abbe0d0a35d753e9d8e29a292e4722b5f

5 years agoAdd (hacky) check for webm audio files
Mark Holmquist [Mon, 10 Jul 2017 17:39:36 +0000 (12:39 -0500)]
Add (hacky) check for webm audio files

If there is no video track in a webm file, it's supposed to be audio/webm,
but since we assume every webm file is video/webm, that's never worked.
This should slightly improve searching for audio files.

Bug: T156135
Change-Id: Iac749233e87b3622ff416ad503aedef3df0d0f1d

5 years agoMerge "Make label on Special:Undelete search reflect whether search is full-text...
jenkins-bot [Tue, 11 Jul 2017 18:06:52 +0000 (18:06 +0000)]
Merge "Make label on Special:Undelete search reflect whether search is full-text or prefix"

5 years agoMerge "Use OO.ui.MultilineTextInputWidget"
jenkins-bot [Tue, 11 Jul 2017 15:56:36 +0000 (15:56 +0000)]
Merge "Use OO.ui.MultilineTextInputWidget"

5 years agoUse OO.ui.MultilineTextInputWidget
Matthias Mullie [Tue, 11 Jul 2017 11:33:15 +0000 (13:33 +0200)]
Use OO.ui.MultilineTextInputWidget

Replace deprecated OO.ui.TextInputWidget({multiline: true}) as of
OOjs UI v0.22.2 with OO.ui.MultilineTextInputWidget

Bug: T170275
Change-Id: I8f310510a318fb943969fde2a366c08d88bda0e7

5 years agomw.loader: Log unknown modules in load() to console
Timo Tijhof [Sat, 8 Jul 2017 04:29:36 +0000 (21:29 -0700)]
mw.loader: Log unknown modules in load() to console

Follows-up If8ff31b530dfbd882. Now that we have resolveStubbornly,
we don't need to filter out unknown modules ahead of time.

Aside from removing the needless filter condition, it also has
the benefit of causing a message to be logged to the console,
which can help discover problems. Previously these were silently

Change-Id: I700db4931dfd0a412a8eca66c4a74b8831ab0086

5 years agoMerge "Make multiple colons escaping interlanguage links invalid, consistently"
jenkins-bot [Tue, 11 Jul 2017 15:19:17 +0000 (15:19 +0000)]
Merge "Make multiple colons escaping interlanguage links invalid, consistently"

5 years agoMerge "Resolve successful 1-chunk uploads"
jenkins-bot [Tue, 11 Jul 2017 13:23:46 +0000 (13:23 +0000)]
Merge "Resolve successful 1-chunk uploads"

5 years agoResolve successful 1-chunk uploads
Matthias Mullie [Tue, 11 Jul 2017 13:07:11 +0000 (15:07 +0200)]
Resolve successful 1-chunk uploads

Existing code would assume there's always more than one chunk,
or it would otherwise not resolve.

Upload dialog started doing chunked uploads recently:

Change-Id: I29a85c5ee6fbf6cea7d07e3281279b4ea3d87188

5 years agoMerge "Refactor UploadBase::checkWarnings into smaller methods"
jenkins-bot [Tue, 11 Jul 2017 05:53:17 +0000 (05:53 +0000)]
Merge "Refactor UploadBase::checkWarnings into smaller methods"

5 years agoMerge "RCFilters: Align TagItemWidget highlight in Safari"
jenkins-bot [Tue, 11 Jul 2017 00:56:39 +0000 (00:56 +0000)]
Merge "RCFilters: Align TagItemWidget highlight in Safari"

5 years agoMerge "Use shell_exec instead of backtick"
jenkins-bot [Tue, 11 Jul 2017 00:50:04 +0000 (00:50 +0000)]
Merge "Use shell_exec instead of backtick"

5 years agoMerge "RCFilters: Change legend heading for the beta feature"
jenkins-bot [Tue, 11 Jul 2017 00:47:59 +0000 (00:47 +0000)]
Merge "RCFilters: Change legend heading for the beta feature"

5 years agoRCFilters: Change legend heading for the beta feature
Moriel Schottlender [Mon, 10 Jul 2017 15:55:59 +0000 (10:55 -0500)]
RCFilters: Change legend heading for the beta feature

Bug: T168043
Change-Id: Ide56598b160c93e1dfa8019c0e6e99fb377ea311

5 years agoMerge "mw.loader: Skip modules in load() with unknown dependencies"
jenkins-bot [Tue, 11 Jul 2017 00:39:26 +0000 (00:39 +0000)]
Merge "mw.loader: Skip modules in load() with unknown dependencies"

5 years agoMerge "RCFilters: Add white background to legend"
jenkins-bot [Tue, 11 Jul 2017 00:25:55 +0000 (00:25 +0000)]
Merge "RCFilters: Add white background to legend"

5 years agoRCFilters: Add white background to legend
Moriel Schottlender [Mon, 10 Jul 2017 21:57:45 +0000 (16:57 -0500)]
RCFilters: Add white background to legend

Bug: T170190
Change-Id: Ib0fc1a492d8e6d431e73bc749178f19f25863965

5 years agoRCFilters: Respect ?enhanced=0 url regardless of preference
Moriel Schottlender [Mon, 10 Jul 2017 21:38:45 +0000 (16:38 -0500)]
RCFilters: Respect ?enhanced=0 url regardless of preference

Change-Id: Iffb8cc17b86c5358eea5ae904f55c88965ba4ee0

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 10 Jul 2017 20:02:31 +0000 (22:02 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I2d28957e14a7a90a5cba88bfe1a60060387d7cdc

5 years agoMerge "RCFilters: Only show 'no filters' when actually none were found"
jenkins-bot [Mon, 10 Jul 2017 19:22:15 +0000 (19:22 +0000)]
Merge "RCFilters: Only show 'no filters' when actually none were found"

5 years agoresourceloader: Add unit tests for ResourceLoaderSkinModule
Timo Tijhof [Sat, 8 Jul 2017 03:34:56 +0000 (20:34 -0700)]
resourceloader: Add unit tests for ResourceLoaderSkinModule

Change-Id: I299eff8f5172e047c0d54d9c824b17529dd6d190

5 years agoResourceLoaderSkinModule: Fix SkinStyles extending of known media queries
Timo Tijhof [Fri, 16 Jun 2017 19:25:41 +0000 (21:25 +0200)]
ResourceLoaderSkinModule: Fix SkinStyles extending of known media queries

If any of the styles given in its module definition (in the
'styles' or 'skinStyles' properties) used the same media queries
as the module's own CSS (e.g. 'all'), the module would fail with
"PHP Fatal error: [] operator not supported for strings" because
FileModule defaults to merging all the stylesheets into a single

Fix this by ensuring they are arrays before trying to extend them.

This previously made it impossible to use $wgResourceModuleSkinStyles
for modules that use SkinModule (instead of plain FileModule), such as
the 'mediawiki.skinning.interface' module.

Bug: T168088
Change-Id: I3effcaa4982728e707fbf9efeec4e5e78fc8aab6

5 years agoRCFilters: Only show 'no filters' when actually none were found
Moriel Schottlender [Mon, 10 Jul 2017 15:22:18 +0000 (10:22 -0500)]
RCFilters: Only show 'no filters' when actually none were found

Bug: T170161
Change-Id: I50da0d21e84d7e0582437dd43760c93ecb557a56

5 years agoAdd hook for cleaning up data that depends on purged recentchanges rows
Gergő Tisza [Mon, 1 May 2017 12:06:56 +0000 (12:06 +0000)]
Add hook for cleaning up data that depends on purged recentchanges rows

Adds RecentChangesPurgeRows hook which gets called in the same
transaction where old recentchanges rows are purged, and gets the
list of deleted rows. Extensions which store data for joining to
recentchanges can use this to purge their own data.

Bug: T159753
Change-Id: I03f1d485a1a3004412e0859d9d878b7895c95b40

5 years agoRemove auto-generated "Constructor" documentation on constructors
Thiemo Mättig [Wed, 5 Jul 2017 10:42:09 +0000 (12:42 +0200)]
Remove auto-generated "Constructor" documentation on constructors

Having such comments is worse than not having them. They add zero
information. But you must read the text to understand there is
nothing you don't already know from the class and the method name.

Change-Id: I994d11e05f202b880390723e148d79c72cca29f0

5 years agoUse <link rel="license"> instead of <link rel="copyright">
Fomafix [Wed, 7 Jun 2017 12:11:08 +0000 (14:11 +0200)]
Use <link rel="license"> instead of <link rel="copyright">

"copyright" is not in the list of the allowed values for the attribut rel:

Bug: T167284
Change-Id: I09205bb146001d1d1d90e6a0f25d21851f3f697c

5 years agoRename ckb to Kurdish
Amir Sarabadani [Tue, 27 Jun 2017 21:37:42 +0000 (02:07 +0430)]
Rename ckb to Kurdish

Bug: T116761
Change-Id: If5abc7c859c3fbf13e3ebf1be98693ee6fc04d9a

5 years agomw.loader: Skip modules in load() with unknown dependencies
Timo Tijhof [Sat, 8 Jul 2017 04:27:33 +0000 (21:27 -0700)]
mw.loader: Skip modules in load() with unknown dependencies

We already skip unknown modules at the top-level, but dependencies
still cause a run-time exception from sortDependencies, resulting
in the entire queue not being loaded.

Bug: T36853
Change-Id: If8ff31b530dfbd8823c47ffd827fcdba807c05b3

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

Change-Id: I7e6128d08d6a47a747d1d7732ae7df2beea3acce

5 years agoMerge "statsd: Rename MediawikiStatsdDataFactory to IBufferingStatsdDataFactory"
jenkins-bot [Sat, 8 Jul 2017 03:26:42 +0000 (03:26 +0000)]
Merge "statsd: Rename MediawikiStatsdDataFactory to IBufferingStatsdDataFactory"

5 years agoRCFilters: Only build tag list when experimental views are enabled
Roan Kattouw [Fri, 7 Jul 2017 22:36:13 +0000 (15:36 -0700)]
RCFilters: Only build tag list when experimental views are enabled

Follows-up 7725c755867ac1.

It's a waste otherwise, and buildChangeTagList() has perf issues.

Change-Id: Ifd7f81792fd7b5ee6e41ada756abbf0248f3eb36

5 years agoMerge "Autodiscover parser tests for extensions, deprecate $wgParserTestFiles"
jenkins-bot [Sat, 8 Jul 2017 01:01:15 +0000 (01:01 +0000)]
Merge "Autodiscover parser tests for extensions, deprecate $wgParserTestFiles"

5 years agoMerge "Use Sanitizer::stripAllTags( $x ) instead of html_entity_decode( strip_tags...
jenkins-bot [Sat, 8 Jul 2017 01:01:09 +0000 (01:01 +0000)]
Merge "Use Sanitizer::stripAllTags( $x ) instead of html_entity_decode( strip_tags( $x ) )"

5 years agoAutodiscover parser tests for extensions, deprecate $wgParserTestFiles
Kunal Mehta [Fri, 7 Jul 2017 22:26:21 +0000 (15:26 -0700)]
Autodiscover parser tests for extensions, deprecate $wgParserTestFiles

This implements autodiscovery of extension parser tests that are located
in the tests/parser/ directory. Any *.txt file in that directory tree
will be treated as a parser test.

Core parser tests are now defined in ParserTestRunner::$coreTestFiles,
and $wgParserTestFiles is marked as deprecated.

Bug: T143976
Change-Id: Ia24fd8ef52e6732c698153b17bb679a5f511a2a7

5 years agoMerge "SpecialRecentchanges: Globals for config are bad, m'kay"
jenkins-bot [Sat, 8 Jul 2017 00:31:52 +0000 (00:31 +0000)]
Merge "SpecialRecentchanges: Globals for config are bad, m'kay"

5 years agoMerge "RCFilters: Basic implementation of live updates"
jenkins-bot [Sat, 8 Jul 2017 00:28:22 +0000 (00:28 +0000)]
Merge "RCFilters: Basic implementation of live updates"

5 years agostatsd: Rename MediawikiStatsdDataFactory to IBufferingStatsdDataFactory
Timo Tijhof [Sat, 8 Jul 2017 00:19:39 +0000 (17:19 -0700)]
statsd: Rename MediawikiStatsdDataFactory to IBufferingStatsdDataFactory

Follows-up I2874175647e (7fdc3d09a3b).

* Avoid "MediaWiki" in class names. If unavoidable, always camelcase.
* Use a more descriptive name, matching the implementing the class ("Buffering").
* Use "I" prefix for consistency with other MediaWiki-provided interfaces.
  (Avoid "Interface" suffix, which is foreign to MediaWiki and is only used
  in the StatsdClient namespace, which this interface is not in).

Bug: T166354
Change-Id: I06de59122625f9c23e7c1a1bfa69a7ddabbf379e

5 years agoSpecialRecentchanges: Globals for config are bad, m'kay
James D. Forrester [Fri, 7 Jul 2017 23:01:17 +0000 (16:01 -0700)]
SpecialRecentchanges: Globals for config are bad, m'kay

Change-Id: I9ca7aead42ffee1e891525fc80f3438157f4fb2f

5 years agoRCFilters: Basic implementation of live updates
Roan Kattouw [Fri, 7 Jul 2017 18:15:29 +0000 (11:15 -0700)]
RCFilters: Basic implementation of live updates

Adds a live updates button that refreshes the changes list every 3 seconds.
For now this is pretty dumb in that it re-requests the entire list every time;
the next step would be to make it only load new changes using the &from=
query parameter.

Bug: T167743
Change-Id: Ic2ddea840e5c46f42b32ae4fff91138cacc28ec0

5 years agoUse Sanitizer::stripAllTags( $x ) instead of html_entity_decode( strip_tags( $x ) )
Roan Kattouw [Fri, 7 Jul 2017 23:35:07 +0000 (16:35 -0700)]
Use Sanitizer::stripAllTags( $x ) instead of html_entity_decode( strip_tags( $x ) )

We have a utility function for this, so let's use it.

What I don't understand though is why Sanitizer uses custom PHP implementations
for both tag stripping and entity decoding, instead of the built-in functions.
If there's a security reason for this or the built-ins are inadequate, that's
fine, but then that should be documented (and we should possibly ban usage
of the built-ins).

Change-Id: I2ba2ecd388cb3d9cd2360ecaa236f3d444f0eabf

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 7 Jul 2017 21:35:54 +0000 (23:35 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I43c7687a6be0a4b411287ccd2c3541c9edab5c30

5 years agoMerge "Fix font size / alignment of timestamps in enhanced recent changes"
jenkins-bot [Fri, 7 Jul 2017 19:34:23 +0000 (19:34 +0000)]
Merge "Fix font size / alignment of timestamps in enhanced recent changes"

5 years agoFix font size / alignment of timestamps in enhanced recent changes
Roan Kattouw [Fri, 7 Jul 2017 19:18:38 +0000 (12:18 -0700)]
Fix font size / alignment of timestamps in enhanced recent changes

font-family: monospace; causes the timestamps to have a smaller font size,
but font-family: monospace, monospace; doesn't.

Bug: T170010
Change-Id: I20a4ab12803d43e26ced429fe3b68939a1f2c13e

5 years agoMerge "Adjust Shortpages query with multiple content namespaces"
jenkins-bot [Fri, 7 Jul 2017 18:54:28 +0000 (18:54 +0000)]
Merge "Adjust Shortpages query with multiple content namespaces"

5 years agoMerge "Add Database::unionConditionPermutations()"
jenkins-bot [Fri, 7 Jul 2017 18:37:08 +0000 (18:37 +0000)]
Merge "Add Database::unionConditionPermutations()"

5 years agoMerge "mediawiki.UI: Remove deprecated `.mw-ui-constructive` class"
jenkins-bot [Fri, 7 Jul 2017 18:13:04 +0000 (18:13 +0000)]
Merge "mediawiki.UI: Remove deprecated `.mw-ui-constructive` class"

5 years agoMerge "SpecialNewFiles: Swap from/to date serverside"
jenkins-bot [Fri, 7 Jul 2017 16:16:32 +0000 (16:16 +0000)]
Merge "SpecialNewFiles: Swap from/to date serverside"

5 years agoSpecialNewFiles: Swap from/to date serverside
Matthias Mullie [Wed, 5 Jul 2017 10:12:16 +0000 (12:12 +0200)]
SpecialNewFiles: Swap from/to date serverside

Bug: T168695
Change-Id: I760096138da15a6f3b84a6db68ab5590f5a3e59b

5 years agoDocumentation: Fix return value of IDatabase::insertSelect()
Jesús Martínez Novo [Fri, 7 Jul 2017 10:58:21 +0000 (12:58 +0200)]
Documentation: Fix return value of IDatabase::insertSelect()

Implementation at Database returns bool, not IResultWrapper

Change-Id: Ic560bfcb45f0e9cd1f4e8334e3b5dfc4e682452a

5 years agoDisable VisualEditor welcome dialog when running Selenium tests
Željko Filipin [Wed, 5 Jul 2017 11:52:47 +0000 (13:52 +0200)]
Disable VisualEditor welcome dialog when running Selenium tests

Bug: T164721
Change-Id: I7b5f73c6fbaaa221ac1b689344f9015fb903220f

5 years agoMerge "Create users and pages for Selenium tests using action API"
jenkins-bot [Fri, 7 Jul 2017 05:11:26 +0000 (05:11 +0000)]
Merge "Create users and pages for Selenium tests using action API"

5 years agoCreate users and pages for Selenium tests using action API
Željko Filipin [Mon, 8 May 2017 10:10:18 +0000 (12:10 +0200)]
Create users and pages for Selenium tests using action API

This will make tests slightly more robust.

Bug: T164721
Bug: T167502
Change-Id: I9b2fea77b28af4f7f521490a0105e7d04730bc87

5 years agoMerge "parser: Add unit tests for parser output flags ('showflags' option)"
jenkins-bot [Fri, 7 Jul 2017 03:59:49 +0000 (03:59 +0000)]
Merge "parser: Add unit tests for parser output flags ('showflags' option)"

5 years agoMerge "parser: Add parser tests for 4 and 5 tildes in PST"
jenkins-bot [Fri, 7 Jul 2017 03:57:42 +0000 (03:57 +0000)]
Merge "parser: Add parser tests for 4 and 5 tildes in PST"

5 years agoMerge "Push all DeferredUpdates to POSTSEND queue when running that queue"
jenkins-bot [Fri, 7 Jul 2017 01:23:04 +0000 (01:23 +0000)]
Merge "Push all DeferredUpdates to POSTSEND queue when running that queue"

5 years agoMerge "Avoid high edit stash TTLs when a user signature was used"
jenkins-bot [Fri, 7 Jul 2017 01:21:30 +0000 (01:21 +0000)]
Merge "Avoid high edit stash TTLs when a user signature was used"

5 years agoparser: Add unit tests for parser output flags ('showflags' option)
Timo Tijhof [Fri, 7 Jul 2017 01:06:43 +0000 (18:06 -0700)]
parser: Add unit tests for parser output flags ('showflags' option)

Add logic to ParserTestRunner to allow testing of ParserOutput flags,
and use it in the existing {{REVISIONID}} test, and for the added
flag for user-signature from I77de05849c (T84843).

Change-Id: I96e3d050e17a2d7e3d0478c702ecd53310259f56

5 years agoparser: Add parser tests for 4 and 5 tildes in PST
Timo Tijhof [Fri, 7 Jul 2017 01:02:47 +0000 (18:02 -0700)]
parser: Add parser tests for 4 and 5 tildes in PST

Add logic in ParserTestRunner that sets the same fake timestamp
used by the Parser magic word expansion, also in ParserOptions,
which is used by preSaveTransform().

Change-Id: I5adacffccb1212651c3031ca2fc4c20f717ff24a

5 years agoMerge "Clarify what $params is for ApiBase methods to get Title/WikiPage"
jenkins-bot [Fri, 7 Jul 2017 00:10:45 +0000 (00:10 +0000)]
Merge "Clarify what $params is for ApiBase methods to get Title/WikiPage"

5 years agoMerge "objectcache: Use a separate postgres connection in SqlBagOStuff"
jenkins-bot [Fri, 7 Jul 2017 00:04:46 +0000 (00:04 +0000)]
Merge "objectcache: Use a separate postgres connection in SqlBagOStuff"

5 years agoClarify what $params is for ApiBase methods to get Title/WikiPage
Matthew Flaschen [Fri, 7 Jul 2017 00:01:30 +0000 (20:01 -0400)]
Clarify what $params is for ApiBase methods to get Title/WikiPage

Change-Id: I1bfae270072ba08db967a02a8e30047bc607e3a2

5 years agoAvoid high edit stash TTLs when a user signature was used
Aaron Schulz [Thu, 6 Jul 2017 23:23:32 +0000 (16:23 -0700)]
Avoid high edit stash TTLs when a user signature was used

This adds a new ParserOuput user-signature tracking flag.

Bug: T84843
Change-Id: I77de05849c15e17ee2b9b31b34172f4b6a49a38e

5 years agoUse shell_exec instead of backtick
Matthew Flaschen [Thu, 6 Jul 2017 23:14:38 +0000 (19:14 -0400)]
Use shell_exec instead of backtick

They are exactly equivalent, but shell_exec is more readable.
We just imported a sniff to forbid backtick into mediawiki-codesniffer.

It's not deployed here yet, but this will facilitate it.

Change-Id: I4b58ed78e1792ff83e1bf99425f8f19123cfe911

5 years agoobjectcache: Use a separate postgres connection in SqlBagOStuff
Aaron Schulz [Thu, 6 Jul 2017 21:13:01 +0000 (14:13 -0700)]
objectcache: Use a separate postgres connection in SqlBagOStuff

The flags to the driver use new connections for new LBs since
fda4d46fc4f810. This makes it consistent with what we do for
MySQL already.

This should fix warnings about TransactionProfiler in objectcache,
as well as warnings about "Pending writes" in WANObjectCache.

Bug: T167946
Bug: T154424
Change-Id: I0b0d9a7210b6a3270d32df778fcc4b9918d3dcd1

5 years agomediawiki.UI: Remove deprecated `.mw-ui-constructive` class
Volker E [Sat, 27 May 2017 23:44:47 +0000 (01:44 +0200)]
mediawiki.UI: Remove deprecated `.mw-ui-constructive` class

Removing `.mw-ui-constructive` class, which got deprecated in
I095eddfe5ec2f1fbc81939b67ed467484e15092b of v1.27.

Change-Id: I328ad277b82d724b51f07357785693fe54fe69ef

5 years agoPush all DeferredUpdates to POSTSEND queue when running that queue
Aaron Schulz [Tue, 4 Jul 2017 02:18:54 +0000 (19:18 -0700)]
Push all DeferredUpdates to POSTSEND queue when running that queue

This avoids putting updates in the PRESEND queue at a point where they
may never get run later in the request. The peculiarity lead to a
regression in 24842cfac.

Move "enqueue" logic to runUpdate() to simplify execute(). If job
insertion batching is strongly desired for a class, then it can use

Removed unused "update" field in $executeContext.

Bug: T168723
Change-Id: I40d16f6cd0adc8583797b99d859b76a836d362a8

5 years agoMake multiple colons escaping interlanguage links invalid, consistently
Arlo Breault [Mon, 26 Jun 2017 23:20:31 +0000 (19:20 -0400)]
Make multiple colons escaping interlanguage links invalid, consistently

 * Right now, one or two are permitted.  This patch limits it to one.
   The current behaviour seems more a byproduct of refactoring than an
   explicit goal.

 * Note that this will break links on a handful of pages surfaced in
   Parsoid's roundtrip testing.

Change-Id: Icabd34bbf15781bb891bd8e0c079d1a65eb28595

5 years agoMerge "Fix/hack ErrorPageError to work from non-UI contexts"
jenkins-bot [Thu, 6 Jul 2017 20:28:37 +0000 (20:28 +0000)]
Merge "Fix/hack ErrorPageError to work from non-UI contexts"

5 years agoFix/hack ErrorPageError to work from non-UI contexts
Chad Horohoe [Thu, 6 Jul 2017 19:42:11 +0000 (12:42 -0700)]
Fix/hack ErrorPageError to work from non-UI contexts

Right now, ErrorPageError *assumes* you're never running on the cli
or the API. It's kinda a crappy superclass to use for errors unless
you're 1000% sure you'll never hit that code path. Yay assumptions!

Ideally, all of this report() crap is cleaned up and unified across
the like 1192902117 places we have it spread out, but for now just
detect the scenario and delegate back to MWException, which does the
right thing

Bug: T168337
Change-Id: Ia2f490528e128527a7a5ef1f4f5eea36ec9ee810

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 6 Jul 2017 19:55:30 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I7a5c19be2807aa5556ad6c648c5218991e21a4de

5 years agoMerge "Expose LinkRenderer for LogFormatter instances"
jenkins-bot [Thu, 6 Jul 2017 18:26:07 +0000 (18:26 +0000)]
Merge "Expose LinkRenderer for LogFormatter instances"

5 years agoMerge "Fix error reporting in Special:Undelete"
jenkins-bot [Thu, 6 Jul 2017 17:53:03 +0000 (17:53 +0000)]
Merge "Fix error reporting in Special:Undelete"

5 years agoMerge "Add tracking for resolved conflicts"
jenkins-bot [Thu, 6 Jul 2017 14:31:24 +0000 (14:31 +0000)]
Merge "Add tracking for resolved conflicts"

5 years agoMerge "Add canonical id to header on action=info"
jenkins-bot [Thu, 6 Jul 2017 10:28:16 +0000 (10:28 +0000)]
Merge "Add canonical id to header on action=info"

5 years agoTake screenshot if a Selenium test fails
Željko Filipin [Thu, 6 Jul 2017 08:54:21 +0000 (10:54 +0200)]
Take screenshot if a Selenium test fails

Bug: T164721
Change-Id: I932fccb3fe523b526146df66950ee764bd33bac7

5 years agoMerge "Turn ParserCache into a service, deprecate $parserMemc"
jenkins-bot [Thu, 6 Jul 2017 03:11:51 +0000 (03:11 +0000)]
Merge "Turn ParserCache into a service, deprecate $parserMemc"

5 years agoMerge "DeprecatedGlobal: Support lazy-loading via StubObject"
jenkins-bot [Thu, 6 Jul 2017 03:11:47 +0000 (03:11 +0000)]
Merge "DeprecatedGlobal: Support lazy-loading via StubObject"

5 years agoTurn ParserCache into a service, deprecate $parserMemc
Kunal Mehta [Tue, 30 May 2017 00:10:16 +0000 (17:10 -0700)]
Turn ParserCache into a service, deprecate $parserMemc

ParserCache is already a singleton, making it a good candidate for a
service. $parserMemc is an odd global (it lacks the "wg" prefix) and is
ripe for deprecation.

The following are now deprecated:
* $parserMemc global
* ParserCache::singleton()
* wfGetParserCacheStorage()

A ParserCache::getCacheStorage() method was added for cases where direct
access to the underlying BagOStuff object is necessary.

Usage of $parserMemc will emit deprecation warnings through the
DeprecatedGlobal class mechanism. All usage in core was migrated.

Also take this opportunity to inject the $wgCacheEpoch global value into
ParserCache. This will require an update to the FlaggedRevs extension.

Change-Id: I2ac7afff0d8522214329248c3d1cdccd0f72bbd4

5 years agoDeprecatedGlobal: Support lazy-loading via StubObject
Kunal Mehta [Sun, 11 Jun 2017 01:07:11 +0000 (18:07 -0700)]
DeprecatedGlobal: Support lazy-loading via StubObject

Either a factory function or the class name should be passed in.
Providing the actual value is no longer supported.

And provide tests for DeprecatedGlobal.

Change-Id: I7180cc99c3a01e34f39a9abe54bd1d08137117ed

5 years agoMerge "Linker: Do not localize links to other wikis in comments"
jenkins-bot [Thu, 6 Jul 2017 02:08:02 +0000 (02:08 +0000)]
Merge "Linker: Do not localize links to other wikis in comments"

5 years agoLinker: Do not localize links to other wikis in comments
Matěj Suchánek [Thu, 29 Jun 2017 13:06:24 +0000 (15:06 +0200)]
Linker: Do not localize links to other wikis in comments

The title, although it refers to a foreign page, is considered local
due to Title::isExternal() being false, hence it's namespace prefix
is localized.

We need to use the canonical namespace name instead.

Bug: T169221
Change-Id: I5e5f7d873b9497ca6c8853e7d8170a4f4f07c051

5 years agoMerge "Update mediawiki/mediawiki-codesniffer to 0.8.1"
jenkins-bot [Wed, 5 Jul 2017 21:52:39 +0000 (21:52 +0000)]
Merge "Update mediawiki/mediawiki-codesniffer to 0.8.1"

5 years agoUpdate mediawiki/mediawiki-codesniffer to 0.8.1
Reedy [Wed, 5 Jul 2017 20:57:56 +0000 (21:57 +0100)]
Update mediawiki/mediawiki-codesniffer to 0.8.1

Change-Id: I7ac436521fcba3fa9ae8775fcf589a06ddcadd9e

5 years agoPerform chunked uploads from upload dialog
Matthias Mullie [Wed, 28 Jun 2017 15:24:42 +0000 (17:24 +0200)]
Perform chunked uploads from upload dialog

These should be a little more resilient to network issues.
There is no longer 1 huge chunk that can fail, it'll now
be a bunch of more discreet chunks, and it'll retry once
(by default) if a chunk fails.

Bug: T132611
Change-Id: Ib9cc2c77a27658accf728fb37f8cebc879a467d2

5 years agoAdd mw.api.chunkedUploadToStash
Matthias Mullie [Wed, 28 Jun 2017 15:24:19 +0000 (17:24 +0200)]
Add mw.api.chunkedUploadToStash

Change-Id: I5d181e8a13fc5310ebd0fbb854def42bfb33d6c4

5 years agoMerge "Add mediastatistics-header-3d"
jenkins-bot [Wed, 5 Jul 2017 20:07:47 +0000 (20:07 +0000)]
Merge "Add mediastatistics-header-3d"

5 years agoRCFilters: Align TagItemWidget highlight in Safari
Volker E [Wed, 5 Jul 2017 19:59:42 +0000 (21:59 +0200)]
RCFilters: Align TagItemWidget highlight in Safari

Aligning highlight swatch on RCFilters' TagItemWidget with label.

Bug: T164308
Change-Id: I07fdebf6324b84406dd8e977e7126345263f45c5

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 5 Jul 2017 19:54:35 +0000 (21:54 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I5445497e09dea043da64d53925b7df30ac22edee

5 years agoMerge "Added chunked upload support to upload.js"
jenkins-bot [Wed, 5 Jul 2017 19:42:01 +0000 (19:42 +0000)]
Merge "Added chunked upload support to upload.js"

5 years agoMerge "Fix phrase search"
jenkins-bot [Wed, 5 Jul 2017 18:35:16 +0000 (18:35 +0000)]
Merge "Fix phrase search"

5 years agoMerge "Add two new hooks to fix broken CentralAuth unit tests"
jenkins-bot [Wed, 5 Jul 2017 17:54:07 +0000 (17:54 +0000)]
Merge "Add two new hooks to fix broken CentralAuth unit tests"

5 years agoMerge "Pass old user options in PreferencesFormPreSave hook"
jenkins-bot [Wed, 5 Jul 2017 17:23:08 +0000 (17:23 +0000)]
Merge "Pass old user options in PreferencesFormPreSave hook"

5 years agoAdd two new hooks to fix broken CentralAuth unit tests
Max Semenik [Thu, 29 Jun 2017 00:14:18 +0000 (17:14 -0700)]
Add two new hooks to fix broken CentralAuth unit tests

* UnitTestsAfterDatabaseSetup
* UnitTestsBeforeDatabaseTeardown
Bug T168802 necessitates that CentralAuth creates its tables
before any user tests are run, due to its extensive hooking
into everything. This change adds two hooks for that, called
after DB initialization is done and before teardown begins. The
corresponding CentralAuth change is
at I618840fafd22d9b6471eb470ef0414e354aa17f5

Bug: T168802
Change-Id: If7050513719833d4167a24283885d7c10a25856b

5 years agoPass old user options in PreferencesFormPreSave hook
Piotr Miazga [Tue, 4 Jul 2017 18:30:45 +0000 (20:30 +0200)]
Pass old user options in PreferencesFormPreSave hook

 - added one argument to PreferencesFormPreSave hook,
   a $oldUserOptions array which contains set of all user
   options before save
 - updated documentation

Bug: T169365
Change-Id: I28003c5898d64031e1efb212cb0bec58ff44b958