6 years agoEditPage: Stop using globals for configuration in non-static functions
Kunal Mehta [Thu, 21 Sep 2017 02:53:11 +0000 (19:53 -0700)]
EditPage: Stop using globals for configuration in non-static functions

Bug: T144366
Change-Id: Ie884527b64f86b6a989117a45c6ffa6d1893d2b7

6 years agoEditPage: Deprecate $mArticle and $mTitle for public usage
Kunal Mehta [Thu, 21 Sep 2017 02:02:30 +0000 (19:02 -0700)]
EditPage: Deprecate $mArticle and $mTitle for public usage

Change-Id: I2a931826ea142f2214c5f29944c3c3b18da19bad

6 years agoEditPage: Deprecate public isCssJsSubpage related member variables
Kunal Mehta [Wed, 20 Sep 2017 05:06:43 +0000 (22:06 -0700)]
EditPage: Deprecate public isCssJsSubpage related member variables

Just use the functions directly.

Change-Id: Ie374a5cd4c9255b595ff4a88025738720434a802

6 years agoEditPage: Don't allow clients that mangle unicode to edit
Max Semenik [Mon, 28 Aug 2017 21:14:44 +0000 (14:14 -0700)]
EditPage: Don't allow clients that mangle unicode to edit

Get rid of the hack that turns unicode into hexadecimal codes for
browsers that don't support unicode, and prevent their edits entirely.

And instead of relying on $wgBrowserBlacklist, use a hidden HTML form
field - if the contents are mangled and don't match the original, then
reject the edit.

Bug: T67297
Change-Id: I20c2e396d7dfd6a3b23b94b218f94a847522576b

6 years agoMerge "Lazy creation for heavy menu"
jenkins-bot [Wed, 20 Sep 2017 22:06:27 +0000 (22:06 +0000)]
Merge "Lazy creation for heavy menu"

6 years agoMerge "Fix case of SpecialRecentChanges class"
jenkins-bot [Wed, 20 Sep 2017 21:29:47 +0000 (21:29 +0000)]
Merge "Fix case of SpecialRecentChanges class"

6 years agoMerge "Prepare for 1.31 branch"
jenkins-bot [Wed, 20 Sep 2017 21:10:08 +0000 (21:10 +0000)]
Merge "Prepare for 1.31 branch"

6 years agoFix ip_changes insert counting
Max Semenik [Wed, 20 Sep 2017 20:39:49 +0000 (13:39 -0700)]
Fix ip_changes insert counting

Change-Id: I02b457d9dcaadc97eead623e42a5a1ccf8335724

6 years agoMerge "Do not depend on PHP_EOL in HTMLRestrictionsField"
jenkins-bot [Wed, 20 Sep 2017 20:18:19 +0000 (20:18 +0000)]
Merge "Do not depend on PHP_EOL in HTMLRestrictionsField"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 20 Sep 2017 20:14:28 +0000 (22:14 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I1058808c8a06869776b8c23e518ff260be9ab6d6

6 years agoFix case of SpecialRecentChanges class
Umherirrender [Wed, 20 Sep 2017 18:11:09 +0000 (20:11 +0200)]
Fix case of SpecialRecentChanges class

Test fails with $wgAutoloadAttemptLowercase = false

Change-Id: Ib8cd202d36d35a36e7513f81cea4a7f8346661bc

6 years agoDo not depend on PHP_EOL in HTMLRestrictionsField
Umherirrender [Wed, 20 Sep 2017 20:01:34 +0000 (22:01 +0200)]
Do not depend on PHP_EOL in HTMLRestrictionsField

HTMLRestrictionsFieldTest::provideValidate only provide test cases with
\n, which fails on windows machine.
I see no reason to use the system depending constant here

Change-Id: I7caf2c4d06c84cac69e20e03d00a93bcd8e7d405

6 years agoLazy creation for heavy menu
eranroz [Tue, 19 Sep 2017 21:29:33 +0000 (00:29 +0300)]
Lazy creation for heavy menu

* Generally if we have a model we don't need UI
* UI can be created lazy if it is not shown to user

Bug: T176250
Change-Id: Iba7f889d8610de2eb3056248cd1c664b0cd90940

6 years agoFix warning in DifferenceEngine
Brad Jorsch [Wed, 20 Sep 2017 19:29:54 +0000 (15:29 -0400)]
Fix warning in DifferenceEngine

Make sure that the ar_namespace and ar_text fields are selected from the

Change-Id: Ic2e8f99f43025510c14e0a8ff2b708b378cf7ef3

6 years agoMerge "Set wgUseRCPatrol in ChangesListSpecialPageTest"
jenkins-bot [Wed, 20 Sep 2017 19:36:30 +0000 (19:36 +0000)]
Merge "Set wgUseRCPatrol in ChangesListSpecialPageTest"

6 years agoSet wgUseRCPatrol in ChangesListSpecialPageTest
Umherirrender [Wed, 20 Sep 2017 18:41:59 +0000 (20:41 +0200)]
Set wgUseRCPatrol in ChangesListSpecialPageTest

wgUseRCPatrol = false makes the tests fail

Change-Id: I18965d33171137ff182800512c8c0e8e63de124e

6 years agoMerge "Add classes to HTMLCheckMatrix items to identify forced ones"
jenkins-bot [Wed, 20 Sep 2017 19:13:05 +0000 (19:13 +0000)]
Merge "Add classes to HTMLCheckMatrix items to identify forced ones"

6 years agoMerge "RCFilters: Don't grey out results area when initializing, unless there's a...
jenkins-bot [Wed, 20 Sep 2017 17:30:00 +0000 (17:30 +0000)]
Merge "RCFilters: Don't grey out results area when initializing, unless there's a default saved query"

6 years agoAvoid per-title page_lang DB queries HTMLCacheUpdateJob
Aaron Schulz [Thu, 14 Sep 2017 13:43:53 +0000 (15:43 +0200)]
Avoid per-title page_lang DB queries HTMLCacheUpdateJob

Change-Id: Ie2fa64400f05d90e615bd8ff26225e197605d244

6 years agoMerge "EditPage: Try to avoid using $wgTitle"
jenkins-bot [Wed, 20 Sep 2017 15:59:47 +0000 (15:59 +0000)]
Merge "EditPage: Try to avoid using $wgTitle"

6 years agoMerge "Replace uses of each()"
jenkins-bot [Wed, 20 Sep 2017 15:35:19 +0000 (15:35 +0000)]
Merge "Replace uses of each()"

6 years agoMerge "EditPage: Don't use $wgRequest"
jenkins-bot [Wed, 20 Sep 2017 15:24:31 +0000 (15:24 +0000)]
Merge "EditPage: Don't use $wgRequest"

6 years agoMerge "Improve populateIpChanges.php reporting"
jenkins-bot [Wed, 20 Sep 2017 15:03:41 +0000 (15:03 +0000)]
Merge "Improve populateIpChanges.php reporting"

6 years agoReplace uses of each()
Brad Jorsch [Tue, 19 Sep 2017 19:57:18 +0000 (15:57 -0400)]
Replace uses of each()

It's deprecated in PHP 7.2, may as well replace it now.

I note that, contrary to claims at
https://wiki.php.net/rfc/deprecations_php_7_2#each, none of our uses
were trivially replaceable with foreach.

* wfArrayDiff2_cmp() is processing two arrays by value in parallel.
* MagicWordArray::parseMatch() is doing something funky with the data
  structure returned by preg_match().
* HashRing was using it like "nextKey()", replaced with calls to key()
  and next().
* FormatMetadata and IndexPager were both using it as a shorter way to
  get both key() and current() for the first element in the array. I
  suppose a foreach(){ break; } would do the same, but that's confusing.

Bug: T174354
Change-Id: I36169a04c764fdf1bfd6603395111c6fe0aae5eb

6 years agoMerge "Bump LocalFile::VERSION to invalidate file page cache"
jenkins-bot [Wed, 20 Sep 2017 09:50:06 +0000 (09:50 +0000)]
Merge "Bump LocalFile::VERSION to invalidate file page cache"

6 years agoDetect query timeouts and throw a specific exception
Matthew Flaschen [Mon, 18 Sep 2017 11:38:59 +0000 (07:38 -0400)]
Detect query timeouts and throw a specific exception

Throw DBQueryTimeoutError if a database query error is detected
to be a timeout.

Only DatabaseMysqlBase has been updated here.

This is a subclass of DBQueryError, so existing catch'es will work.

Bug: T175775
Change-Id: I4749dc33ad530d9b22504f02106b1ca49e8eb167

6 years agoMerge "Do not run tests that depend on curl if it is not loaded"
jenkins-bot [Wed, 20 Sep 2017 04:49:13 +0000 (04:49 +0000)]
Merge "Do not run tests that depend on curl if it is not loaded"

6 years agoRCFilters: Don't grey out results area when initializing, unless there's a default...
Roan Kattouw [Wed, 20 Sep 2017 00:54:55 +0000 (17:54 -0700)]
RCFilters: Don't grey out results area when initializing, unless there's a default saved query

Check whether there is a default saved query on the server side, and if there is,
add the mw-rcfilters-ui-loading class.

Also centralize the code related to the saved query preferences.

Bug: T173533
Change-Id: I4138fde22bdd8cc55c65846b91184c3ad3057244

6 years agoMerge "EditPage::getCheckboxes: Stop respecting wgUseMediaWikiUIEverywhere"
jenkins-bot [Wed, 20 Sep 2017 04:36:58 +0000 (04:36 +0000)]
Merge "EditPage::getCheckboxes: Stop respecting wgUseMediaWikiUIEverywhere"

6 years agoEditPage: Try to avoid using $wgTitle
Kunal Mehta [Wed, 20 Sep 2017 04:30:21 +0000 (21:30 -0700)]
EditPage: Try to avoid using $wgTitle

The most common code path is from EditAction, so make sure
EditPage::setContextTitle() is called in that case.

Log any uses that fallback to $wgTitle in the GlobalTitleFail log group.

Bug: T144366
Change-Id: Ie6c7dfbaa432239389d210051372427b8fa045b4

6 years agoEditPage: Don't use $wgRequest
Kunal Mehta [Mon, 18 Sep 2017 20:50:46 +0000 (13:50 -0700)]
EditPage: Don't use $wgRequest

Bug: T144366
Change-Id: I392e165a6ba3c913ce6e415dbfcfb3cd51178a4e

6 years agoImprove populateIpChanges.php reporting
Max Semenik [Wed, 20 Sep 2017 03:38:20 +0000 (20:38 -0700)]
Improve populateIpChanges.php reporting

Instead of just the rows we attempted to insert, also count
actually inserted ones.

Change-Id: Ie747cb41873640776281794a90dbe3b6b8e3fa84

6 years agoMerge "RCFilters: Don't remove mw-changeslist-line-prefix in enhanced mode"
jenkins-bot [Wed, 20 Sep 2017 02:49:45 +0000 (02:49 +0000)]
Merge "RCFilters: Don't remove mw-changeslist-line-prefix in enhanced mode"

6 years agoMerge "RCFilters: Redo the way spinners and ready/loading states are managed"
jenkins-bot [Wed, 20 Sep 2017 02:40:17 +0000 (02:40 +0000)]
Merge "RCFilters: Redo the way spinners and ready/loading states are managed"

6 years agoDo not run tests that depend on curl if it is not loaded
Huji Lee [Tue, 19 Sep 2017 03:14:00 +0000 (23:14 -0400)]
Do not run tests that depend on curl if it is not loaded

Bug: T176193
Change-Id: Ia7b9b0196f800eb14463acc2a24df5ac1e48f3ed

6 years agoMerge "Update OOjs UI to v0.23.1"
jenkins-bot [Wed, 20 Sep 2017 01:31:54 +0000 (01:31 +0000)]
Merge "Update OOjs UI to v0.23.1"

6 years agoMerge "Mark various skin/OutputPage hooks as unabortable"
jenkins-bot [Wed, 20 Sep 2017 01:14:34 +0000 (01:14 +0000)]
Merge "Mark various skin/OutputPage hooks as unabortable"

6 years agoUpdate OOjs UI to v0.23.1
Volker E [Wed, 20 Sep 2017 00:58:44 +0000 (17:58 -0700)]
Update OOjs UI to v0.23.1

Release notes:

Depends-on: If38f5a074d655542c5704a9b17617d299ee17921
Change-Id: Iac39c51049266b302d66658bf1ea6b67c1bb4c8c

6 years agoRCFilters: Redo the way spinners and ready/loading states are managed
Roan Kattouw [Wed, 20 Sep 2017 00:00:24 +0000 (17:00 -0700)]
RCFilters: Redo the way spinners and ready/loading states are managed

The mw-rcfilters-ui-ready class was being set on no fewer than 4 elements,
all with different meanings, and some with no relevant styling at all.
It also did not distinguish between "the UI is initializing" and
"we are loading new results".

Remove mw-rcfilters-ui-ready completely (and remove some code that added
or removed it pointlessly), and create two new CSS classes on the <body>.
mw-rcfilters-ui-initialized is added when the UI has initialized, and
is used to hide the old UI and display a spinner while the UI loads.
mw-rcfilters-ui-loading is added when we start loading new results
and removed when they arrive; it's used to grey out the results
area and add a spinner.

Bonus: make the spinner appear in a different place depending on why
it's being shown: when initializing, it's shown in the place where the
UI will soon appear; when loading, it's shown near the top of the
changes list.

Change-Id: Ib5c8a36654ba44880823fdade8cad52ffa59ed69

6 years agoYet another attempt to fix the populateIpChanges script
MusikAnimal [Tue, 19 Sep 2017 23:51:34 +0000 (19:51 -0400)]
Yet another attempt to fix the populateIpChanges script

It would seem we'd need to update $blockStart if there are no results
for a given block, and more importantly, continue and not break!

Bug: T175962
Change-Id: Ice1bdae3d16cf365da14c6df0e8d91d2b954e064

6 years agoRCFilters: Don't remove mw-changeslist-line-prefix in enhanced mode
Roan Kattouw [Tue, 19 Sep 2017 21:41:26 +0000 (14:41 -0700)]
RCFilters: Don't remove mw-changeslist-line-prefix in enhanced mode

It contains the 'x' buttons to unwatch pages when the relevant
preference is enabled, so we shouldn't remove it.

To make the table still work, we have to add an extra <td>
to the nested rows, and start the highlight one row later.

Bug: T176264
Change-Id: Ie8eb913d55165ad2c548230cd61cd9ee189d9504

6 years agoDon't attempt to copy to ip_changes in PageArchive class.
MusikAnimal [Tue, 19 Sep 2017 22:11:28 +0000 (18:11 -0400)]
Don't attempt to copy to ip_changes in PageArchive class.

This actually happens in Revision::insertOn, so the code is redundant,
but also shouldn't ever execute because it erroneously was checking
for ar_rev_id=0 and not ar_user=0.

This is sometimes causing errors in production, in the rare cases
where ar_rev_id is NULL, and hence (int)ar_rev_id evaluates to 0.

Change-Id: I35a7310f600a9db683d7dc0e730da8ff31e337a2

6 years agoMerge "CSSMin: Mangle whitespace in embedded SVGs"
jenkins-bot [Tue, 19 Sep 2017 21:27:31 +0000 (21:27 +0000)]
Merge "CSSMin: Mangle whitespace in embedded SVGs"

6 years agoMerge "Attempt to fix populateIpChanges maintenance script"
jenkins-bot [Tue, 19 Sep 2017 20:40:28 +0000 (20:40 +0000)]
Merge "Attempt to fix populateIpChanges maintenance script"

6 years agoMerge "ContribsPager: Check if target is an IP range outside foreach loop"
jenkins-bot [Tue, 19 Sep 2017 20:31:15 +0000 (20:31 +0000)]
Merge "ContribsPager: Check if target is an IP range outside foreach loop"

6 years agoAttempt to fix populateIpChanges maintenance script
MusikAnimal [Mon, 18 Sep 2017 20:57:26 +0000 (16:57 -0400)]
Attempt to fix populateIpChanges maintenance script

With the previous edition, some IP revisions failed to copy,
e.g. rev_id 1507693 on enwikivoyage. This change first fixes to go
by mBatchSize, and removes other redundant clauses in the query.

Bug: T175962
Change-Id: Ia5f3e275d8bef120090b4c60e6aec4c204d55d53

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 19 Sep 2017 20:14:03 +0000 (22:14 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I7b3144ed162fda4b58dd1df58e7c0b7310f2a087

6 years agoMark various skin/OutputPage hooks as unabortable
Timo Tijhof [Sat, 19 Aug 2017 00:48:45 +0000 (17:48 -0700)]
Mark various skin/OutputPage hooks as unabortable

Follows-up I94c7ab656bd1a04. An initial pass of marking various
hooks as unabortable.

* BeforePageDisplay (T173411)
* OutputPageParserOutput
* AfterFinalPageOutput
* SkinTemplateNavigation (T107980)
* SkinTemplateNavigation::SpecialPage (T107980)
* SkinTemplateNavigation::Universal
* PersonalUrls

Bug: T173615
Change-Id: I0cb333dd5ff74f7dca725ff210200a0779a9a360

6 years agoMerge "CSSMin: Improve encoding of quotes in embedded SVGs"
jenkins-bot [Tue, 19 Sep 2017 19:01:18 +0000 (19:01 +0000)]
Merge "CSSMin: Improve encoding of quotes in embedded SVGs"

6 years agoCSSMin: Mangle whitespace in embedded SVGs
Roan Kattouw [Thu, 14 Sep 2017 18:32:07 +0000 (11:32 -0700)]
CSSMin: Mangle whitespace in embedded SVGs

Convert newlines and tabs to spaces (which can be unencoded),
and consolidate runs of multiple spaces into a single space.
Also remove any leading and trailing spaces that might result
(most files end in a newline, for example).

Bug: T175318
Change-Id: Ic66c6acb37079cae84dd80ab2d5f2c829cf2df96

6 years agoMerge "Update signature of UserGroupsChanged to match documentation"
jenkins-bot [Tue, 19 Sep 2017 18:51:53 +0000 (18:51 +0000)]
Merge "Update signature of UserGroupsChanged to match documentation"

6 years agoPrepare for 1.31 branch
James D. Forrester [Tue, 19 Sep 2017 18:34:47 +0000 (11:34 -0700)]
Prepare for 1.31 branch

Change-Id: I2a1ce7b7af7ef9991a054332593b1f63a0213469

6 years agoMerge "SpecialRecentchangeslinked: Unconditionally join on the page table"
jenkins-bot [Tue, 19 Sep 2017 18:07:12 +0000 (18:07 +0000)]
Merge "SpecialRecentchangeslinked: Unconditionally join on the page table"

6 years agoCSSMin: Improve encoding of quotes in embedded SVGs
Roan Kattouw [Wed, 13 Sep 2017 19:27:15 +0000 (12:27 -0700)]
CSSMin: Improve encoding of quotes in embedded SVGs

When a URL (data: or otherwise) contains quotes, don't wrap it in
double quotes (") but in single quotes ('). This then allows
us to unencode double quotes (") in the data URI embedding of SVGs.

Bug: T175318
Change-Id: I3e7eab64e1c3e82066014fb594f82d786983ce90

6 years agoDumpFilter is autoloaded. No need to require in maintenance script
Reedy [Sun, 17 Sep 2017 18:59:46 +0000 (19:59 +0100)]
DumpFilter is autoloaded. No need to require in maintenance script

Change-Id: Ib5c5e9a5144eb5454d1e498bf6f18d9e5829a52f

6 years agoUpdate signature of UserGroupsChanged to match documentation
Umherirrender [Sun, 17 Sep 2017 09:09:53 +0000 (11:09 +0200)]
Update signature of UserGroupsChanged to match documentation

UserGroupsChanged is called in Special:UserRights with seven args
The caller in User.php only has five

Change-Id: I221da323c79bb8da0113533d01b429249d15e7de

6 years agoMerge "Remove unused variables from closures"
jenkins-bot [Tue, 19 Sep 2017 17:27:52 +0000 (17:27 +0000)]
Merge "Remove unused variables from closures"

6 years agoSpecialRecentchangeslinked: Unconditionally join on the page table
Roan Kattouw [Tue, 19 Sep 2017 17:22:47 +0000 (10:22 -0700)]
SpecialRecentchangeslinked: Unconditionally join on the page table

As we do on SpecialRecentchanges and SpecialWatchlist already,
because the last revision filter needs it.

Bug: T176228
Change-Id: I65f0f971df24853999ca445f968dd49fb0640066

6 years agoMerge "Fix link prefix/suffixes around Category and Language links (take 2)."
jenkins-bot [Tue, 19 Sep 2017 16:59:58 +0000 (16:59 +0000)]
Merge "Fix link prefix/suffixes around Category and Language links (take 2)."

6 years agoMerge "Remove return bool from MysqlUpdater::doInterwikiUpdate"
jenkins-bot [Tue, 19 Sep 2017 16:41:31 +0000 (16:41 +0000)]
Merge "Remove return bool from MysqlUpdater::doInterwikiUpdate"

6 years agoMerge "Remove use of implicitGroupby() in WikiPage"
jenkins-bot [Tue, 19 Sep 2017 16:37:46 +0000 (16:37 +0000)]
Merge "Remove use of implicitGroupby() in WikiPage"

6 years agoMerge "Remove contentSub from layout when empty"
jenkins-bot [Tue, 19 Sep 2017 16:12:00 +0000 (16:12 +0000)]
Merge "Remove contentSub from layout when empty"

6 years agoMerge "Hooks: Introduce Hooks::runWithoutAbort() alongside Hooks::run()"
jenkins-bot [Tue, 19 Sep 2017 10:04:49 +0000 (10:04 +0000)]
Merge "Hooks: Introduce Hooks::runWithoutAbort() alongside Hooks::run()"

6 years agoRemove use of implicitGroupby() in WikiPage
Aaron Schulz [Sat, 9 Sep 2017 20:57:35 +0000 (13:57 -0700)]
Remove use of implicitGroupby() in WikiPage

Change-Id: I17cc3ae5a6e90ba49978606e9ca6a1cdcdb57c03

6 years agoAdd classes to HTMLCheckMatrix items to identify forced ones
Sam Wilson [Tue, 19 Sep 2017 07:46:25 +0000 (15:46 +0800)]
Add classes to HTMLCheckMatrix items to identify forced ones

Some items in an HTMLCheckMatrix form field can be forced to be
on or off, in which case they're disabled. This adds three new
class names, so that (for example) Javascript can identify these
checkboxes. There are not currently any classes assigned to them.

Bug: T172585
Change-Id: I984020ce2437effb3ff5f186470105fd80d4a00f

6 years agoRemove unused variables from closures
Fomafix [Tue, 19 Sep 2017 03:42:26 +0000 (05:42 +0200)]
Remove unused variables from closures

Change-Id: I5d2e0cd423a4080677f8517bcf3dcee10bf44799

6 years agoWLFilters: Handle (un)seen (un)filled bullets on grouped RC
Matthew Flaschen [Tue, 19 Sep 2017 02:32:01 +0000 (22:32 -0400)]
WLFilters: Handle (un)seen (un)filled bullets on grouped RC

Bug: T176191
Change-Id: I9892f607eebe01d2b74f9eb7f20daf3bf6876398

6 years agoSECURITY: Fix handling of CommentStore and insertSelect
Brad Jorsch [Mon, 18 Sep 2017 14:14:02 +0000 (10:14 -0400)]
SECURITY: Fix handling of CommentStore and insertSelect

CommentStore->insert() takes the raw comment, not quoted, and returns
fields appropriate for passing as $a to IDatabase->insert() or $values
to ->update(). Such fields need to be passed through
IDatabase->addQuotes() to be appropriate for passing in $varMap to

Change-Id: Ie64b279ee7cf9c8c396af385e46c826e0597ab1e

6 years agoMerge "mw.loader: Use Object.create() instead of $.extend() where possible"
jenkins-bot [Mon, 18 Sep 2017 22:17:14 +0000 (22:17 +0000)]
Merge "mw.loader: Use Object.create() instead of $.extend() where possible"

6 years agoMerge "Deprecate IDatabase::implicitGroupby()"
jenkins-bot [Mon, 18 Sep 2017 21:45:59 +0000 (21:45 +0000)]
Merge "Deprecate IDatabase::implicitGroupby()"

6 years agoMerge "Remove use of implicitGroupBy() in ActiveUsersPager"
jenkins-bot [Mon, 18 Sep 2017 21:43:50 +0000 (21:43 +0000)]
Merge "Remove use of implicitGroupBy() in ActiveUsersPager"

6 years agoMerge "Remove implicitGroupby() use in ImageListPager"
jenkins-bot [Mon, 18 Sep 2017 21:39:09 +0000 (21:39 +0000)]
Merge "Remove implicitGroupby() use in ImageListPager"

6 years agoMerge "Cleanup form for history"
jenkins-bot [Mon, 18 Sep 2017 21:06:42 +0000 (21:06 +0000)]
Merge "Cleanup form for history"

6 years agoMerge "Revert "Tweak UI for main filtering entry point""
jenkins-bot [Mon, 18 Sep 2017 20:58:40 +0000 (20:58 +0000)]
Merge "Revert "Tweak UI for main filtering entry point""

6 years agoMerge "WLFilters: always create a balanced fieldset"
jenkins-bot [Mon, 18 Sep 2017 20:54:10 +0000 (20:54 +0000)]
Merge "WLFilters: always create a balanced fieldset"

6 years agoRevert "Tweak UI for main filtering entry point"
Mooeypoo [Mon, 18 Sep 2017 20:47:04 +0000 (20:47 +0000)]
Revert "Tweak UI for main filtering entry point"

This reverts commit feefb51581574f3144786d7f935f34ccc947efed.

Change-Id: I37dcaf5cd0c0fa63a53da06f06827731fb87de20

6 years agoMerge "RCFilters: Actually check whether defaults are empty and update state"
jenkins-bot [Mon, 18 Sep 2017 20:42:42 +0000 (20:42 +0000)]
Merge "RCFilters: Actually check whether defaults are empty and update state"

6 years agoMerge "Follow-up 4107d1d4: avoid JS errors when trying to call mw.track() from jquery...
jenkins-bot [Mon, 18 Sep 2017 20:37:02 +0000 (20:37 +0000)]
Merge "Follow-up 4107d1d4: avoid JS errors when trying to call mw.track() from jquery.migrate"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 18 Sep 2017 20:19:11 +0000 (22:19 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ia5f3e275d8bef120090b4c60e6aec4c204d55d52

6 years agoRCFilters: Actually check whether defaults are empty and update state
Moriel Schottlender [Mon, 18 Sep 2017 18:05:50 +0000 (11:05 -0700)]
RCFilters: Actually check whether defaults are empty and update state

Defaults come from either the backend or the saved queries, and that can
also change during the session. Allow the system to update itself properly
over whether defaults are empty at any given state, and hide/show the
proper button at the correct state.

Bug: T172387
Change-Id: I173c72a391886b41e899ac64621b504c5eb55b0c

6 years agoMerge "Tweak UI for main filtering entry point"
jenkins-bot [Mon, 18 Sep 2017 19:28:40 +0000 (19:28 +0000)]
Merge "Tweak UI for main filtering entry point"

6 years agoFollow-up 4107d1d4: avoid JS errors when trying to call mw.track() from jquery.migrate
Roan Kattouw [Mon, 18 Sep 2017 19:24:43 +0000 (12:24 -0700)]
Follow-up 4107d1d4: avoid JS errors when trying to call mw.track() from jquery.migrate

Some migrateWarn() calls (like the one for compatMode) happen before
mw is created. Don't crash on trying to call mw.track() in that case.

Change-Id: I9e33af2865bb10adc0473045f714fe4f9f699861

6 years agoWLFilters: always create a balanced fieldset
Stephane Bisson [Mon, 18 Sep 2017 19:07:55 +0000 (15:07 -0400)]
WLFilters: always create a balanced fieldset

Don't count on Xml::fieldset creating only the opening tag.

Bug: T176155
Change-Id: Idc4e450c9fa03fc78a012fb5eefa60174bb1245a

6 years agoMerge "API: Pass revid when parsing text"
jenkins-bot [Mon, 18 Sep 2017 18:52:18 +0000 (18:52 +0000)]
Merge "API: Pass revid when parsing text"

6 years agoMerge "Move New Filters opt-out preference to own section"
jenkins-bot [Mon, 18 Sep 2017 18:44:25 +0000 (18:44 +0000)]
Merge "Move New Filters opt-out preference to own section"

6 years agoAPI: Pass revid when parsing text
Arlo Breault [Thu, 14 Sep 2017 01:13:15 +0000 (21:13 -0400)]
API: Pass revid when parsing text

 * Provides consistency with expandtemplates
 * Necessary for properly rendering `text` with {{REVISIONID}}

Change-Id: I310d0778d74c46f15385cd411d2462b541ed339a

6 years agoCleanup form for history
Amir Sarabadani [Sun, 17 Sep 2017 13:20:34 +0000 (17:20 +0400)]
Cleanup form for history

Also fixing regression caused by Ie119c92aa4936e2f8982163d4b00d08949f49264

Change-Id: I59f623d2dc43f83cfca3ff31ef79fed0230f68af

6 years agoMerge "Revert "Xml: Fix Xml::fieldset() when $content is not given""
jenkins-bot [Mon, 18 Sep 2017 18:13:40 +0000 (18:13 +0000)]
Merge "Revert "Xml: Fix Xml::fieldset() when $content is not given""

6 years agoMerge "Wrap fieldset in SpecialNewpages using HTMLForm"
jenkins-bot [Mon, 18 Sep 2017 17:31:34 +0000 (17:31 +0000)]
Merge "Wrap fieldset in SpecialNewpages using HTMLForm"

6 years agomw.loader: Use Object.create() instead of $.extend() where possible
Timo Tijhof [Thu, 14 Sep 2017 17:41:36 +0000 (19:41 +0200)]
mw.loader: Use Object.create() instead of $.extend() where possible

For cases where we want a variation of an object with some keys added
or changed, use native Object.create() to create a plain object that
inherits from the other object (without needing to loop and copy each
key/value separately).

This optimisation only works, of course, if the original object
by-reference does not change later.

Also remove hasOwn filter from sortQuery, because it must now consider
inherited keys as well. This filter was already obsolete given mw.loader
already has many unfiltered for-in loops in other places, and just in
general doesn't support environments that extend Object.prototype.

Change-Id: Ib405e32d4598dfb94629c2596ea0804d1c13e7c0

6 years agoMerge "ResourceLoaderImageModule: Use CSSMin::buildUrlValue() where needed"
jenkins-bot [Mon, 18 Sep 2017 16:39:16 +0000 (16:39 +0000)]
Merge "ResourceLoaderImageModule: Use CSSMin::buildUrlValue() where needed"

6 years agoMerge "Improve encoding of embedded SVGs"
jenkins-bot [Mon, 18 Sep 2017 16:29:48 +0000 (16:29 +0000)]
Merge "Improve encoding of embedded SVGs"

6 years agoMerge "Run strval() over the File description"
jenkins-bot [Mon, 18 Sep 2017 16:08:25 +0000 (16:08 +0000)]
Merge "Run strval() over the File description"

6 years agoSpeed up populateIpChanges maintenance script.
MusikAnimal [Sat, 16 Sep 2017 21:05:07 +0000 (17:05 -0400)]
Speed up populateIpChanges maintenance script.

Use BETWEEN in populateIpChanges maintenance script, which will make it
more efficient when copying revisions with a high rev_id. Also adding a
'max-rev-id' option to prevent the script from looping through IP
changes that have already been copied since the core patch was deployed.

Bug: T175962
Change-Id: I1df10c9b7237ad5002f76f9d354c36ce879d9d9f

6 years agoMerge "Don't unconditionally run patch-editsummary-length.sql"
jenkins-bot [Mon, 18 Sep 2017 15:51:17 +0000 (15:51 +0000)]
Merge "Don't unconditionally run patch-editsummary-length.sql"

6 years agoBump LocalFile::VERSION to invalidate file page cache
Reedy [Mon, 18 Sep 2017 13:47:28 +0000 (14:47 +0100)]
Bump LocalFile::VERSION to invalidate file page cache

Bug: T175444
Change-Id: Ic0665d5554ed43c48d4fcdef087fbd33b597788c

6 years agoMerge "Split mediawiki.special.preferences into separate file for each function"
jenkins-bot [Mon, 18 Sep 2017 15:18:10 +0000 (15:18 +0000)]
Merge "Split mediawiki.special.preferences into separate file for each function"

6 years agoMerge "Return description fields for unprefixed image cache rows"
jenkins-bot [Mon, 18 Sep 2017 14:59:59 +0000 (14:59 +0000)]
Merge "Return description fields for unprefixed image cache rows"

6 years agoMerge "phpunit.php: omit --quiet in help"
jenkins-bot [Mon, 18 Sep 2017 14:45:31 +0000 (14:45 +0000)]
Merge "phpunit.php: omit --quiet in help"

6 years agoDon't unconditionally run patch-editsummary-length.sql
Reedy [Sun, 17 Sep 2017 22:56:51 +0000 (23:56 +0100)]
Don't unconditionally run patch-editsummary-length.sql

Bug: T176041
Change-Id: I165ee4fa1c0cfadf5f8f400a0ea9db220ed7dbbb