lhc/web/wiklou.git
6 years agoAdd some output messages to populatePPSortKey
Reedy [Tue, 25 Jul 2017 23:47:58 +0000 (00:47 +0100)]
Add some output messages to populatePPSortKey

Change-Id: I8a78fd1575c6a79cd78288c4f1e53a35689d1205

6 years agoMerge "addRFCandPMIDInterwiki.php: Add trailing . to skipped message"
jenkins-bot [Tue, 25 Jul 2017 23:34:35 +0000 (23:34 +0000)]
Merge "addRFCandPMIDInterwiki.php: Add trailing . to skipped message"

6 years agoaddRFCandPMIDInterwiki.php: Add trailing . to skipped message
Reedy [Tue, 25 Jul 2017 23:23:44 +0000 (00:23 +0100)]
addRFCandPMIDInterwiki.php: Add trailing . to skipped message

Change-Id: If7966d1356605ae18857055ac5e6f8364187c414

6 years agoFollow-up 993ce4d: use pp_page for $lastPageValue, not pp_value
Roan Kattouw [Tue, 25 Jul 2017 23:20:37 +0000 (16:20 -0700)]
Follow-up 993ce4d: use pp_page for $lastPageValue, not pp_value

This caused the script to get in an infinite loop and never stop.

Change-Id: Ib28a033e82b76fd60005335b882a7f5d95ac6644

6 years agoMerge "Add a maintenance script for populating pp_sortkey"
jenkins-bot [Tue, 25 Jul 2017 23:00:58 +0000 (23:00 +0000)]
Merge "Add a maintenance script for populating pp_sortkey"

6 years agoUpgrade QUnit from v1.23.1 to v2.4.0
Timo Tijhof [Mon, 17 Jul 2017 20:21:54 +0000 (15:21 -0500)]
Upgrade QUnit from v1.23.1 to v2.4.0

Source
 https://code.jquery.com/qunit/qunit-2.4.0.js
 https://code.jquery.com/qunit/qunit-2.4.0.css

Changelog
 https://github.com/qunitjs/qunit/blob/2.4.0/History.md

This release makes 'moduleStack' private, which means we can no
longer use it to detect nested modules. Change the method of
detection to be a local 'nested' variable that we toggle in
a wrapped version of any 'executeNow' callback, in which nesting
happens.

Bug: T170515
Change-Id: Ib4ed386990125a6c713cb4351408c8f7ae7c070f

6 years agoMerge "SpecialUndelete: Don't try to add a form to the page unless it exists"
jenkins-bot [Tue, 25 Jul 2017 21:51:29 +0000 (21:51 +0000)]
Merge "SpecialUndelete: Don't try to add a form to the page unless it exists"

6 years agoSpecialUndelete: Don't try to add a form to the page unless it exists
James D. Forrester [Mon, 24 Jul 2017 21:09:33 +0000 (14:09 -0700)]
SpecialUndelete: Don't try to add a form to the page unless it exists

Bug: T171523
Change-Id: I1083ce168797a698c76c3fdff4eac06edfb0ac6a

6 years agoAdd tests for Sanitizer::escapeId
Fomafix [Fri, 30 Jun 2017 10:20:19 +0000 (12:20 +0200)]
Add tests for Sanitizer::escapeId

The tests are transfered from mediawiki.util.test.js.

Change-Id: I3fccfab3a2cdf5ad115fc426b3d45ce905e2e609

6 years agoAdd parser tests for decoding of entities in indicator names
Fomafix [Fri, 30 Jun 2017 04:02:10 +0000 (06:02 +0200)]
Add parser tests for decoding of entities in indicator names

This change adds parser tests that test the current behavior of decoding
HTML entities in indicator names when generating the indicator IDs as
described in T104196.

The parser tests currently does not compare the generated HTML with
the ID.

With I88e8e2077e the tests get changed to the new behavior.

Change-Id: Id561c4a00ece09b4db381edfe0d5f98120cacf5e

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 25 Jul 2017 19:58:01 +0000 (21:58 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I6b3c261e8f61c25f86129b368993ba111cc8ad8c

6 years agoMerge "JobQueue: Create a debugging queue"
jenkins-bot [Tue, 25 Jul 2017 18:43:45 +0000 (18:43 +0000)]
Merge "JobQueue: Create a debugging queue"

6 years agoMerge "Add WAN Cache to SiteStats::jobs"
jenkins-bot [Tue, 25 Jul 2017 18:30:58 +0000 (18:30 +0000)]
Merge "Add WAN Cache to SiteStats::jobs"

6 years agoMerge "Add parser tests for decoding of entities in IDs and fragments"
jenkins-bot [Tue, 25 Jul 2017 18:29:52 +0000 (18:29 +0000)]
Merge "Add parser tests for decoding of entities in IDs and fragments"

6 years agoAdd WAN Cache to SiteStats::jobs
Antoine Musso [Mon, 29 May 2017 21:58:33 +0000 (23:58 +0200)]
Add WAN Cache to SiteStats::jobs

The method hits the jobrunner backend to find out how many jobs are
enqueued in each of the JobQueue.  It is publicly available via the
MediaWiki API request:
    /w/api.php?action=query&meta=siteinfo&siprop=statistics

That is often used by bots when querying recent changes among other and
with fast bot cause useless queries toward the jobrunner backend.

Wrap SiteStats::jobs() with a WAN cache under key SiteStats:jobscount.
Drop SiteStats::$jobs private variable that was used for in process
cache. The WAN Cache does it for us via 'pcTTL'.

That is similar to SiteStats::numberingroup().
Set TTL to one minute, which should still give fresh enough results for
public uses.

Cover that behavior with a test.

When writing tests I noticed MediaWikiTestCase generates a few jobs due
to the creation of the UTPage page:

* HTMLCacheUpdateJob to refresh backlinks (eg: history)
* RecentChangesUpdateJob which happens randomly

Pass EDIT_SUPPRESS_RC to doEditContent to prevent the first and blindly
delete entries in the recentChangesUpdate jobqueue for the second.

Change-Id: I95a272d0691d779bfee9e7a671cbab66a113dfa1

6 years agoJobQueue: Create a debugging queue
Petr Pchelko [Thu, 25 May 2017 22:20:16 +0000 (15:20 -0700)]
JobQueue: Create a debugging queue

As a part of creating the kafka-based JobQueue implementation,
we need to transition to the new queue smoothly and be able to
first debug the event production side, then try executing a no-op
job in parallel with each of the real jobs (to be able to check
deduplication and all the jpb management code) and only then
try switching jobs one-by-one to the new backend queue.

In order to achieve that at first we need to temporary produce
both to the old job pipeline and to the new one - thus creating
a queue 'splitter' - it delegates all the methods to the main
queue while the produce requests also go to the EventBus.

This class it temporary, so it's marked deprecated right away.
It will not be needed once the queue transition is over.

Bug: T163380
Change-Id: I483b8f00f1c593ff3af6ba6826868b553339525f

6 years agoMerge "Add Saraiki (skr) to Names.php"
jenkins-bot [Tue, 25 Jul 2017 16:23:01 +0000 (16:23 +0000)]
Merge "Add Saraiki (skr) to Names.php"

6 years agoMerge "Title: Don't create mSubpages member variable"
jenkins-bot [Tue, 25 Jul 2017 15:03:41 +0000 (15:03 +0000)]
Merge "Title: Don't create mSubpages member variable"

6 years agoMerge "Revert "RCFilters: Hide hours temporarily since they don't work""
jenkins-bot [Tue, 25 Jul 2017 13:28:42 +0000 (13:28 +0000)]
Merge "Revert "RCFilters: Hide hours temporarily since they don't work""

6 years agoMerge "SpecialRecentchanges: Handle ?days= parameter more sanely"
jenkins-bot [Tue, 25 Jul 2017 13:22:40 +0000 (13:22 +0000)]
Merge "SpecialRecentchanges: Handle ?days= parameter more sanely"

6 years agoMerge "EnhancedChangesList: Don't render headings for empty days"
jenkins-bot [Tue, 25 Jul 2017 12:55:17 +0000 (12:55 +0000)]
Merge "EnhancedChangesList: Don't render headings for empty days"

6 years agoMerge "rdbms: Increase coverage for Database::selectSQLText()"
jenkins-bot [Tue, 25 Jul 2017 10:20:35 +0000 (10:20 +0000)]
Merge "rdbms: Increase coverage for Database::selectSQLText()"

6 years agoMerge "rdbms: Add more @covers to DatabaseSQLTest"
jenkins-bot [Tue, 25 Jul 2017 10:20:32 +0000 (10:20 +0000)]
Merge "rdbms: Add more @covers to DatabaseSQLTest"

6 years agoAdd parser tests for decoding of entities in IDs and fragments
Fomafix [Thu, 29 Jun 2017 10:06:56 +0000 (12:06 +0200)]
Add parser tests for decoding of entities in IDs and fragments

This change adds parser tests that test the current behavior of decoding
HTML entities in headings and links for IDs and fragments of links as
described in T103714.

With I88e8e2077e the tests get changed to the new behavior.

Change-Id: Ia79af95e53114c1154dd52769f2ad1ab673fdd9e

6 years agoMerge "Avoid using deprecated PreparedEdit::$pst"
jenkins-bot [Tue, 25 Jul 2017 02:58:07 +0000 (02:58 +0000)]
Merge "Avoid using deprecated PreparedEdit::$pst"

6 years agoMerge "WikiPage: Update comments related to new PreparedEdit object"
jenkins-bot [Tue, 25 Jul 2017 02:58:04 +0000 (02:58 +0000)]
Merge "WikiPage: Update comments related to new PreparedEdit object"

6 years agoMerge "MultiWriteBagOStuff: Fix async writes of mutable objects"
Krinkle [Tue, 25 Jul 2017 02:51:29 +0000 (02:51 +0000)]
Merge "MultiWriteBagOStuff: Fix async writes of mutable objects"

6 years agordbms: Increase coverage for Database::selectSQLText()
Timo Tijhof [Tue, 25 Jul 2017 02:49:17 +0000 (19:49 -0700)]
rdbms: Increase coverage for Database::selectSQLText()

* Add case for `$tables[0] == ' '`.
* Add case for `$tables == ''`.
* Add case for 'DISTINCT' option.
* Add case for 'FOR UPDATE' option.
* Add case for 'LOCK IN SHARE MODE' option.
* Add case for 'EXPLAIN' option.

Change-Id: I4a5f4754bc30d31ec35a085f39321fd358b6aa49

6 years agoMerge "config: Add more EtcdConfig::fetchAllFromEtcdServer tests"
jenkins-bot [Tue, 25 Jul 2017 02:46:38 +0000 (02:46 +0000)]
Merge "config: Add more EtcdConfig::fetchAllFromEtcdServer tests"

6 years agordbms: Add more @covers to DatabaseSQLTest
Timo Tijhof [Tue, 25 Jul 2017 02:21:12 +0000 (19:21 -0700)]
rdbms: Add more @covers to DatabaseSQLTest

Many of the main methods here have, over the years, been split up
into several protected/private methods.

Change-Id: I1b8489b1c61c0294288442a0a0cd28c9fa77f82e

6 years agoMerge "config: Fix invalid EtcdConfig return value after JSON parse error"
jenkins-bot [Tue, 25 Jul 2017 02:18:05 +0000 (02:18 +0000)]
Merge "config: Fix invalid EtcdConfig return value after JSON parse error"

6 years agoMultiWriteBagOStuff: Fix async writes of mutable objects
Brad Jorsch [Fri, 7 Jul 2017 13:51:00 +0000 (09:51 -0400)]
MultiWriteBagOStuff: Fix async writes of mutable objects

If someone writes an object into a BagOStuff, they typically expect that
later changes to the object will not affect the value stored.
MultiWriteBagOStuff's async write handling was violating this
expectation, which is potentially causing T168040.

Bug: T168040
Change-Id: Ie897b900befdc8998614af06f9339cd07665703e

6 years agoRevert "RCFilters: Hide hours temporarily since they don't work"
Catrope [Mon, 24 Jul 2017 23:49:33 +0000 (23:49 +0000)]
Revert "RCFilters: Hide hours temporarily since they don't work"

With support for fractional days values in the back end,
they now do work.

This reverts commit c7c112a8f219857fb5527713aaacb50a599ee1f6.

Change-Id: Ib15256d4541ecebdb29fe294c5285e63e37f9fee

6 years agoSpecialRecentchanges: Handle ?days= parameter more sanely
Roan Kattouw [Mon, 24 Jul 2017 23:38:59 +0000 (16:38 -0700)]
SpecialRecentchanges: Handle ?days= parameter more sanely

Allow fractional values (e.g ?days=0.25). Previously, fractional values
were rounded down (truncated) to integers.

When computing the cutoff timestamp, don't round down to midnight UTC.
This caused a strange phenomenon where ?days=1 would display between
24 and 48 hours' worth of changes depending on when you used it:
if the current time was 2017-07-24 23:59 UTC, the cutoff would be
set at 2017-07-23 00:00 UTC so you would see almost 48 hours' worth,
but if you refreshed two minutes later, the cutoff would be set at
2017-07-24 00:00 UTC and you should see just over 24 hours' worth.
In addition to this strangeness, it also made fractional values
somewhat meaningless and made a feature like "show only the last 3 hours"
impossible to implement.

Bug: T162784
Change-Id: I75b71324e29a4da09939c4b00feeb4cb556f797c

6 years agoMerge "SiteStats::jobs fix when there is a single job"
jenkins-bot [Mon, 24 Jul 2017 20:40:53 +0000 (20:40 +0000)]
Merge "SiteStats::jobs fix when there is a single job"

6 years agoRevert "Localisation updates from https://translatewiki.net."
Raimond Spekking [Mon, 24 Jul 2017 20:28:01 +0000 (20:28 +0000)]
Revert "Localisation updates from https://translatewiki.net."

Overwrites other patch

This reverts commit 21ff077363096ea72bd618fb5b46277276b59d30.

Change-Id: I3d1f5409209b0a1a2ef97e6750cbfb0b192a0a50

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 24 Jul 2017 20:23:56 +0000 (22:23 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I4c9054ef8d36fa36a73ca8f21d7a1c3c18d0581b

6 years agoconfig: Add more EtcdConfig::fetchAllFromEtcdServer tests
Timo Tijhof [Mon, 24 Jul 2017 19:50:47 +0000 (12:50 -0700)]
config: Add more EtcdConfig::fetchAllFromEtcdServer tests

Bug: T156924
Change-Id: I88a1c97b6921b59cce93f22d473dd7cea6f4931c

6 years agoMerge "ApiEmailUser: Add parentheses to fix output"
jenkins-bot [Mon, 24 Jul 2017 20:03:25 +0000 (20:03 +0000)]
Merge "ApiEmailUser: Add parentheses to fix output"

6 years agoconfig: Fix invalid EtcdConfig return value after JSON parse error
Timo Tijhof [Mon, 24 Jul 2017 19:48:38 +0000 (12:48 -0700)]
config: Fix invalid EtcdConfig return value after JSON parse error

Follows-up 1f2daa9132449b459d29e0110a21ea18.

Bug: T156924
Change-Id: I79b7e11b32e5be46c8ebdfb5c937e38e46301c0e

6 years agoMerge "RCFilters: Hide hours temporarily since they don't work"
jenkins-bot [Mon, 24 Jul 2017 19:49:50 +0000 (19:49 +0000)]
Merge "RCFilters: Hide hours temporarily since they don't work"

6 years agoMerge "CSSMin: Skip #default#behaviorName when detecting local files"
jenkins-bot [Mon, 24 Jul 2017 19:49:32 +0000 (19:49 +0000)]
Merge "CSSMin: Skip #default#behaviorName when detecting local files"

6 years agoApiEmailUser: Add parentheses to fix output
Brad Jorsch [Mon, 24 Jul 2017 19:47:17 +0000 (15:47 -0400)]
ApiEmailUser: Add parentheses to fix output

Stupid PHP ternary operator being left-associative.

Bug: T171416
Change-Id: Iddcbe0d75d583e4021a3aab47be4a4912c492f03

6 years agoRCFilters: Hide hours temporarily since they don't work
Moriel Schottlender [Mon, 24 Jul 2017 19:37:32 +0000 (12:37 -0700)]
RCFilters: Hide hours temporarily since they don't work

Change-Id: I5cdffb0a13db569cb824dd2ca2b5d9f69ad6b036

6 years agoAdd doc for showEditTools method
WMDE-Fisch [Mon, 24 Jul 2017 16:58:18 +0000 (18:58 +0200)]
Add doc for showEditTools method

Change-Id: Ic6931ed6cdecb7b42e2c47b7c8b34b6d1d23be13

6 years agoMerge "Show legend of Special:SpecialPages more gradually"
jenkins-bot [Mon, 24 Jul 2017 15:44:30 +0000 (15:44 +0000)]
Merge "Show legend of Special:SpecialPages more gradually"

6 years agoShow legend of Special:SpecialPages more gradually
Umherirrender [Fri, 7 Jul 2017 15:15:43 +0000 (17:15 +0200)]
Show legend of Special:SpecialPages more gradually

The legend is shown when restricted or cached pages are shown, but for
cached pages the legend does not contains a text, because there is no
default styling of cached special pages.
Break the note into two messages and disable the message for cached
pages by default. Wikis having style for cached pages can use this
message to create a legend.

Change-Id: Iec429d450ba7019bbd2cd2301a8280a562341387

6 years agoMerge "Article: Remove unused variable"
jenkins-bot [Mon, 24 Jul 2017 14:48:05 +0000 (14:48 +0000)]
Merge "Article: Remove unused variable"

6 years agoMerge "UserPager: Use multiple checkboxes instead of multiselect"
jenkins-bot [Mon, 24 Jul 2017 11:00:00 +0000 (11:00 +0000)]
Merge "UserPager: Use multiple checkboxes instead of multiselect"

6 years agoArticle: Remove unused variable
Bartosz Dziewoński [Mon, 24 Jul 2017 09:18:54 +0000 (11:18 +0200)]
Article: Remove unused variable

Follow-up to 97a8fb78faa4ca2d9604140e5547f5deae5a2524.

Change-Id: I8822742f15c3972cec3ac2ec47a2f594453b8672

6 years agoMerge "WebInstaller: Use <div> instead of <span>"
jenkins-bot [Mon, 24 Jul 2017 07:48:59 +0000 (07:48 +0000)]
Merge "WebInstaller: Use <div> instead of <span>"

6 years agoMerge "RCFilters: Don't empty the changes list on first load"
jenkins-bot [Mon, 24 Jul 2017 07:19:29 +0000 (07:19 +0000)]
Merge "RCFilters: Don't empty the changes list on first load"

6 years agoWebInstaller: Use <div> instead of <span>
Fomafix [Mon, 24 Jul 2017 05:28:57 +0000 (07:28 +0200)]
WebInstaller: Use <div> instead of <span>

The parser output is enclosed by a <div> and must not enclosed into a
<span> because of an HTML validation error.

Bug: T171423
Change-Id: I034d54436a622803fe07d3c93483b9fe705bc925

6 years ago[SECURITY] Restore ability to suppress pages while deleting
Kunal Mehta [Sun, 23 Jul 2017 22:21:12 +0000 (15:21 -0700)]
[SECURITY] Restore ability to suppress pages while deleting

The OOUI refactor in 97a8fb78fa lost the ability to suppress pages while
deleting.

This converts the suppress checkbox into a OOUI one, and then modifies
the detection of whether the checkbox was used to use
WebRequest::getCheck().

Bug: T171405
Change-Id: I8c388808c08b8804689b41876fd2bcdeff7f0e70

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 23 Jul 2017 20:02:20 +0000 (22:02 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I134586d9e08c971826e4a8a019985ac34ddf13e0

6 years agoAdd Saraiki (skr) to Names.php
Amire80 [Sat, 22 Jul 2017 08:01:45 +0000 (11:01 +0300)]
Add Saraiki (skr) to Names.php

Bug: T171347
Change-Id: I145485b3d94ab2154a7dadbda166b16207f7c21c

6 years agoMerge "config: Add tests for EtcdConfig::fetchAllFromEtcdServer"
jenkins-bot [Sun, 23 Jul 2017 02:21:04 +0000 (02:21 +0000)]
Merge "config: Add tests for EtcdConfig::fetchAllFromEtcdServer"

6 years agoMerge "rdbms: Complete DatabaseDomain code coverage"
jenkins-bot [Sun, 23 Jul 2017 02:16:50 +0000 (02:16 +0000)]
Merge "rdbms: Complete DatabaseDomain code coverage"

6 years agoMerge "config: Complete coverage for Config class"
jenkins-bot [Sun, 23 Jul 2017 02:07:13 +0000 (02:07 +0000)]
Merge "config: Complete coverage for Config class"

6 years agoMerge "phpunit: Remove skins/ from coverage index"
jenkins-bot [Sun, 23 Jul 2017 02:07:10 +0000 (02:07 +0000)]
Merge "phpunit: Remove skins/ from coverage index"

6 years agoconfig: Add tests for EtcdConfig::fetchAllFromEtcdServer
Timo Tijhof [Sun, 23 Jul 2017 01:24:33 +0000 (18:24 -0700)]
config: Add tests for EtcdConfig::fetchAllFromEtcdServer

Follows-up 9b459d29e0110a21ea18.

Bug: T156924
Change-Id: Ib68c55ea3386a12e707f6d7d732da9fe727ccc2f

6 years agobuild: Update mediawiki/mediawiki-codesniffer to 0.10.1
Kunal Mehta [Sun, 23 Jul 2017 01:24:09 +0000 (18:24 -0700)]
build: Update mediawiki/mediawiki-codesniffer to 0.10.1

And auto-fix all errors.

The `<exclude-pattern>` stanzas are now included in the default ruleset
and don't need to be repeated.

Change-Id: I928af549dc88ac2c6cb82058f64c7c7f3111598a

6 years agophpcs.xml: Escape . in exclude-pattern
Reedy [Sun, 23 Jul 2017 00:28:43 +0000 (01:28 +0100)]
phpcs.xml: Escape . in exclude-pattern

And fix errors in a file that was previously being excluded.

Bug: T129664
Change-Id: I60161b4037ca122ccd2f0730a4b4aa59d878e459

6 years agoUserPager: Use multiple checkboxes instead of multiselect
Prateek Saxena [Sun, 23 Jul 2017 00:40:42 +0000 (06:10 +0530)]
UserPager: Use multiple checkboxes instead of multiselect

The URL from the serialized form was something like:

    &wpoptions%5B%5D=editsOnly

whereas we needed:

    &editsOnly=1

Bug: T171332
Change-Id: Iaec223195e121dab83b5605a3dfaffa8e1f93684

6 years agoconfig: Complete coverage for Config class
Timo Tijhof [Sun, 23 Jul 2017 00:33:16 +0000 (17:33 -0700)]
config: Complete coverage for Config class

* Fix @covers for testSalvage and testGetConfigNames.
* Add missing coverage for registering an object directly.

Change-Id: Ib42b8333a1716d2a4747c25ab3f6cd795e546f3e

6 years agophpunit: Remove skins/ from coverage index
Timo Tijhof [Sun, 23 Jul 2017 00:23:24 +0000 (17:23 -0700)]
phpunit: Remove skins/ from coverage index

As of a few releases ago, there are no longer any skins in core
in that directory (base classes and fallback are under includes/).

Removing this makes running phpunit coverage faster locally,
when there are skins installed. This should be excluded, similar
to how extensions/ is not indexed for the core report, either.

Change-Id: Idc01578bf22febc684dbcb7aeb9ec9475e930ae4

6 years agoCSSMin: Skip #default#behaviorName when detecting local files
Julien Girault [Thu, 27 Apr 2017 21:33:35 +0000 (14:33 -0700)]
CSSMin: Skip #default#behaviorName when detecting local files

Bug: T162973
Change-Id: If76869910f308f8a91c73f287e7e74c214f02e9b

6 years agoMerge "Check headers_sent() before sending cpPosTime headers"
jenkins-bot [Sat, 22 Jul 2017 20:09:44 +0000 (20:09 +0000)]
Merge "Check headers_sent() before sending cpPosTime headers"

6 years agoMerge "Localisation updates from https://translatewiki.net."
L10n-bot [Sat, 22 Jul 2017 20:02:16 +0000 (20:02 +0000)]
Merge "Localisation updates from https://translatewiki.net."

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 22 Jul 2017 20:02:01 +0000 (22:02 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Idaf7df307423797d7bed4f911abcb8da9ddba271

6 years agoMerge "mediawiki.hlist: Add sensible defaults"
jenkins-bot [Sat, 22 Jul 2017 20:01:19 +0000 (20:01 +0000)]
Merge "mediawiki.hlist: Add sensible defaults"

6 years agoCheck headers_sent() before sending cpPosTime headers
Aaron Schulz [Sat, 22 Jul 2017 02:17:40 +0000 (19:17 -0700)]
Check headers_sent() before sending cpPosTime headers

Some entry points stream output and flush their own headers.
This avoids "headers already send" warnings in some cases.

Change-Id: Ifb232d4575486749bbbccba88f3f688972fe9c20

6 years agordbms: Complete DatabaseDomain code coverage
Timo Tijhof [Sat, 22 Jul 2017 03:05:48 +0000 (20:05 -0700)]
rdbms: Complete DatabaseDomain code coverage

Add missing coverage for:
* DatabaseDomain::equals()
* DatabaseDomain::newUnspecified()
* DatabaseDomain::__toString()

Change-Id: I38863c5652ec395e7194bfb85b3485e3343a3b7e

6 years agomediawiki.hlist: Add sensible defaults
jdlrobson [Fri, 21 Jul 2017 19:00:47 +0000 (12:00 -0700)]
mediawiki.hlist: Add sensible defaults

This allows skins to define how hlists appear (e.g. which pseudo
elements to use or whether to use them at all)  while
providing some sensible defaults.

Bug: T42062
Change-Id: I61b5f077d8b4a4c7fe845b7b6d1df98bb2dbafc8

6 years agoMerge "RCFilters: Add 'boolean' group"
jenkins-bot [Sat, 22 Jul 2017 00:29:34 +0000 (00:29 +0000)]
Merge "RCFilters: Add 'boolean' group"

6 years agoRCFilters: Add 'boolean' group
Moriel Schottlender [Thu, 20 Jul 2017 05:40:32 +0000 (22:40 -0700)]
RCFilters: Add 'boolean' group

The group allows filters to be represented 'directly' with their
selected values corresponding to their parameter "1" or "0" value.

Change-Id: I56e9b52ff79a46227de71c905b2ecd97a3823624

6 years agoAvoid using deprecated PreparedEdit::$pst
Kunal Mehta [Fri, 21 Jul 2017 23:01:07 +0000 (16:01 -0700)]
Avoid using deprecated PreparedEdit::$pst

Change-Id: I27655557d3a6a95920880b80a76b9e798546f79d

6 years agoWikiPage: Update comments related to new PreparedEdit object
Kunal Mehta [Fri, 21 Jul 2017 22:10:09 +0000 (15:10 -0700)]
WikiPage: Update comments related to new PreparedEdit object

Follows up 85585c47ecbf219.

Change-Id: Iff677257553e20ae37d37142436507b9c8af23a1

6 years agoRCFilters: Don't empty the changes list on first load
Moriel Schottlender [Fri, 21 Jul 2017 21:50:30 +0000 (14:50 -0700)]
RCFilters: Don't empty the changes list on first load

jQuery.empty() apparently also unattaches event handlers.
Only empty before we re-append if we are not in the first
load of the changes list.

Bug: T171085
Change-Id: I68754e99a6c5c821be47b1b1e8e22f23db85746c

6 years agoMerge "RCFilters: Change loading animation"
jenkins-bot [Fri, 21 Jul 2017 21:44:02 +0000 (21:44 +0000)]
Merge "RCFilters: Change loading animation"

6 years agoMerge "API: Add deprecation warnings for Iae0e2ce3"
jenkins-bot [Fri, 21 Jul 2017 21:12:09 +0000 (21:12 +0000)]
Merge "API: Add deprecation warnings for Iae0e2ce3"

6 years agoRCFilters: Change loading animation
Moriel Schottlender [Fri, 21 Jul 2017 00:51:15 +0000 (17:51 -0700)]
RCFilters: Change loading animation

Bug: T165286
Change-Id: If816dd1e3a2677c36195546c51f87505ba883e04

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 21 Jul 2017 20:01:57 +0000 (22:01 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I9687475e5593765b7922a91838b78ba6b18c583c

6 years agoMerge "resourceloader: Add ResourceLoaderModule::shouldEmbedModule and use it"
jenkins-bot [Fri, 21 Jul 2017 18:11:02 +0000 (18:11 +0000)]
Merge "resourceloader: Add ResourceLoaderModule::shouldEmbedModule and use it"

6 years agoresourceloader: Add ResourceLoaderModule::shouldEmbedModule and use it
Brad Jorsch [Fri, 30 Jun 2017 18:19:38 +0000 (14:19 -0400)]
resourceloader: Add ResourceLoaderModule::shouldEmbedModule and use it

Rather than only the 'private' group triggering embedding, allow modules
to explicitly specify if they should be embedded.

The default is still to only embed when the group is 'private', and the
'private' group is still special in that ResourceLoader::respond() will
still refuse to serve it from load.php.

Change-Id: Ib9a043c566822e278baecc15e87f9c5cebc2eb98

6 years agoRCFilters: Make the pulsating animation on the live update button not block clicks
Roan Kattouw [Fri, 21 Jul 2017 17:45:29 +0000 (10:45 -0700)]
RCFilters: Make the pulsating animation on the live update button not block clicks

Change-Id: I37b06b1464ae9ca70f5f85277cc46ac102aa0ec3

6 years agoMerge "Remove auto-generated "Constructor" documentation on constructors"
jenkins-bot [Fri, 21 Jul 2017 13:19:44 +0000 (13:19 +0000)]
Merge "Remove auto-generated "Constructor" documentation on constructors"

6 years agoRemove auto-generated "Constructor" documentation on constructors
Thiemo Mättig [Fri, 21 Jul 2017 10:19:30 +0000 (12:19 +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.

This is similar to I994d11e. Even more trivial, because this here is
about comments that don't say anything but "constructor".

Change-Id: I474dcdb5997bea3aafd11c0760ee072dfaff124c

6 years agoMerge "rdbms: Refactor DatabaseTest"
jenkins-bot [Fri, 21 Jul 2017 04:25:05 +0000 (04:25 +0000)]
Merge "rdbms: Refactor DatabaseTest"

6 years agoMerge "rdbms: Move DatabaseMysqlBaseTest to libs tests"
jenkins-bot [Fri, 21 Jul 2017 04:19:08 +0000 (04:19 +0000)]
Merge "rdbms: Move DatabaseMysqlBaseTest to libs tests"

6 years agordbms: Refactor DatabaseTest
Timo Tijhof [Thu, 20 Jul 2017 20:17:11 +0000 (13:17 -0700)]
rdbms: Refactor DatabaseTest

* Move DatabaseTest and DatabaseSQLTest to libs,
  and remove MediaWikiTestCase dependency.

* Refactor DatabaseTest to be a test of the Database abstract class,
  not of whatever current DB backend is configured by LocalSettings.

  - Remove most switches/conditionals and other tests for specific
    database backends. Move those to individual test classes for
    those backends instead.
  - Some tests appear to have been integration tests for the PHP driver
    and/or the db backend itself. Moved to a new DatabaseIntegrationTest.
  - Now that only the abstract Database is invoked, the test runs a bit
    faster (no real connections/queries).

* Add missing @covers tags, and remove or fix broken ones
  (follows-up 26e52f0c491a4).

Change-Id: I9dc4a558e701d00e95789e7eb8e02926783b65ad

6 years agoMerge "RCFilters: Make sure single_option always has 1 item selected"
jenkins-bot [Fri, 21 Jul 2017 00:34:16 +0000 (00:34 +0000)]
Merge "RCFilters: Make sure single_option always has 1 item selected"

6 years agordbms: Move DatabaseMysqlBaseTest to libs tests
Timo Tijhof [Fri, 21 Jul 2017 00:14:52 +0000 (17:14 -0700)]
rdbms: Move DatabaseMysqlBaseTest to libs tests

* Remove MediaWikiTestCase dependency.
* Add missing @covers tags.
* Add missing visibility/static declarations.

Change-Id: I2d81a9265016174e7b4ff810f140f7d031ce9f14

6 years agoRCFilters: Make sure single_option always has 1 item selected
Moriel Schottlender [Fri, 21 Jul 2017 00:02:55 +0000 (17:02 -0700)]
RCFilters: Make sure single_option always has 1 item selected

Bug: T171081
Change-Id: I82b6cf9660dfd5ee006197504557be366e148244

6 years agoRCFilters: Exclude 'hidden' filters from 'areCurrentFiltersEmpty' query
Moriel Schottlender [Thu, 20 Jul 2017 23:05:34 +0000 (16:05 -0700)]
RCFilters: Exclude 'hidden' filters from 'areCurrentFiltersEmpty' query

Bug: T171129
Change-Id: I831692efbc5562d0f1d7433b9933118c7a9f6f14

6 years agoMerge "qunit: Prepare testrunner for QUnit 2"
jenkins-bot [Thu, 20 Jul 2017 21:04:41 +0000 (21:04 +0000)]
Merge "qunit: Prepare testrunner for QUnit 2"

6 years agoqunit: Prepare testrunner for QUnit 2
Timo Tijhof [Mon, 17 Jul 2017 19:29:11 +0000 (14:29 -0500)]
qunit: Prepare testrunner for QUnit 2

* Nested modules:
  - Support for Sinon extension was fixed by Ib17bbbef45b2bd.
  - Support for Fixture extension was still broken, masked by the use
    of a local variable that made the handler not fail when setup ran twice
    in a row. Fixed using the same moduleStack.length check.
  - Add regression test.

* beforeEach/afterEach:
  - Added in 1.16, with compat for setup/teardown.
    Our wrapper adds its own setup/teardown, and preserves any original one.
    However, it didn't account for beforeEach/afterEach, so it ends up
    sending both but only one is used.
  - Fix to support both on the incoming localEnv object, and also switch
    our wrapper to use beforeEach/afterEach in prep for QUnit 2.0.
  - Fix our wrappers to preserve return value since QUnit 2 allows beforeEach
    and afterEach hooks to be asynchronous by returning a Promise, similar
    to how one can do from QUnit.test().
  - Add regression test.

* Centralise makeSafeEnv logic
  - We always create our own env object to pass to orgModule().
    Document why this is (to avoid recursion).
  - Add regression test.

* Custom assertion methods:
  - Use this.pushResult instead of the deprecated QUnit.push() method.
    This also improves the in-browser reporting of errors by properly
    supporting 'negative' results for notHtmlEqual reporter.

Bug: T170515
Change-Id: If4141df10eae55cbe8a5ca7a26707be1cd7b9217

6 years agoMerge "Refactor LoadBalancer::setDomainPrefix() to use forEachOpen* method"
jenkins-bot [Thu, 20 Jul 2017 20:27:54 +0000 (20:27 +0000)]
Merge "Refactor LoadBalancer::setDomainPrefix() to use forEachOpen* method"

6 years agoRefactor LoadBalancer::setDomainPrefix() to use forEachOpen* method
Aaron Schulz [Thu, 20 Jul 2017 05:05:18 +0000 (22:05 -0700)]
Refactor LoadBalancer::setDomainPrefix() to use forEachOpen* method

This makes the code more consistent with the other class methods
that iterate over connection handles and less fragile.

Change-Id: Ie2d8efb80a66a5c87b5b3edd64cb6bc4268fa911

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 20 Jul 2017 20:05:42 +0000 (22:05 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I2cb7798cbaa72ddbb752f70483c55d38e20c8bff