lhc/web/wiklou.git
6 years agoAPI: Update main description to reflect reality
Kunal Mehta [Wed, 28 Feb 2018 04:36:34 +0000 (20:36 -0800)]
API: Update main description to reflect reality

For quite a while now, the API no longer "may change at any time". Any
potential breaking change goes through code review, usage analysis, and
usually, a deprecation process.

This process was implemented as part of the "API roadmap"[1] RfC in
2014.

Today, the API is mature and stable, but still actively developed and
maintained. Breaking changes can still happen, and we want people to
subscribe to the -announce mailing list, but it's not as scary as the
old text implied.

[1]
<https://www.mediawiki.org/wiki/Requests_for_comment/API_roadmap#Deprecation_process>

Change-Id: If13172a35a3d041bce745aa72a835bfddcfe62c0

6 years agoMerge "Do not run ipblocks cleanup randomly, just do it all the time"
jenkins-bot [Wed, 28 Feb 2018 03:53:47 +0000 (03:53 +0000)]
Merge "Do not run ipblocks cleanup randomly, just do it all the time"

6 years agoDo not run ipblocks cleanup randomly, just do it all the time
Amir Sarabadani [Fri, 23 Feb 2018 16:58:58 +0000 (17:58 +0100)]
Do not run ipblocks cleanup randomly, just do it all the time

It's a deferred update and the number of blocks are small

Change-Id: I75e0b7dc38b22f8aa7453582d535a8ab8121fd1a

6 years agoMerge "RCFilters: Actually apply the $autoCloseIgnore to the overlay"
jenkins-bot [Wed, 28 Feb 2018 01:46:51 +0000 (01:46 +0000)]
Merge "RCFilters: Actually apply the $autoCloseIgnore to the overlay"

6 years agoRCFilters: Actually apply the $autoCloseIgnore to the overlay
Moriel Schottlender [Wed, 28 Feb 2018 01:12:01 +0000 (17:12 -0800)]
RCFilters: Actually apply the $autoCloseIgnore to the overlay

The way we extended the configuration meant we overrided the
overlay $autoCloseIgnore with default rather than override the
default with the overlay.

Bug: T188459
Change-Id: If20bd400a8a206aa77c25c390d9e9ce5111b68cb

6 years agoMerge "shell: Don't use --seccomp=@default for firejail < 0.9.50 support"
jenkins-bot [Tue, 27 Feb 2018 23:00:15 +0000 (23:00 +0000)]
Merge "shell: Don't use --seccomp=@default for firejail < 0.9.50 support"

6 years agoMerge "Update more forms to limit comments by codepoints rather than bytes"
jenkins-bot [Tue, 27 Feb 2018 22:27:58 +0000 (22:27 +0000)]
Merge "Update more forms to limit comments by codepoints rather than bytes"

6 years agoAdd a missing check of $wgActorTableSchemaMigrationStage
Brad Jorsch [Tue, 27 Feb 2018 21:08:02 +0000 (16:08 -0500)]
Add a missing check of $wgActorTableSchemaMigrationStage

We shouldn't be trying to update the table when it's MIGRATION_OLD.

Bug: T188437
Change-Id: Id5aae5eaafc36bf7e65009e67fe91619fb1df295

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 27 Feb 2018 20:55:42 +0000 (21:55 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I9451759812c8112ae1be6583659a78a6f53ef935

6 years agoMerge "Use findSelectedItem instead of getSelectedItem"
jenkins-bot [Tue, 27 Feb 2018 19:04:29 +0000 (19:04 +0000)]
Merge "Use findSelectedItem instead of getSelectedItem"

6 years agoMerge "Remove wfWaitForSlaves when using Maintenance::commitTransaction"
jenkins-bot [Tue, 27 Feb 2018 17:43:57 +0000 (17:43 +0000)]
Merge "Remove wfWaitForSlaves when using Maintenance::commitTransaction"

6 years agoUse findSelectedItem instead of getSelectedItem
Prateek Saxena [Tue, 27 Feb 2018 06:06:07 +0000 (11:36 +0530)]
Use findSelectedItem instead of getSelectedItem

Depends-on: I0f1d9c1f31efcc10d3647103548770d2101050d9
Bug: T76630
Change-Id: I6782909cfff3b10c0f651a26081cb73f37e82b83

6 years agoMerge "Remove wfProfileIn/wfProfileOut"
jenkins-bot [Tue, 27 Feb 2018 01:54:39 +0000 (01:54 +0000)]
Merge "Remove wfProfileIn/wfProfileOut"

6 years agoMerge "Accept non-fully qualified TestCase in StructureTest"
jenkins-bot [Tue, 27 Feb 2018 01:32:32 +0000 (01:32 +0000)]
Merge "Accept non-fully qualified TestCase in StructureTest"

6 years agoMerge "Create a custom log formatter that allows log entries to contain wikitext"
jenkins-bot [Tue, 27 Feb 2018 01:12:56 +0000 (01:12 +0000)]
Merge "Create a custom log formatter that allows log entries to contain wikitext"

6 years agoCreate a custom log formatter that allows log entries to contain wikitext
SamanthaNguyen [Sun, 25 Feb 2018 00:19:31 +0000 (18:19 -0600)]
Create a custom log formatter that allows log entries to contain wikitext

This creates a new log formatter called WikitextLogFormatter, which
is a simple class that allows log entries to contain properly
formatted wikitext. This makes it easier for extensions so they don't
have to create their own subclass of LogFormatter.

Change-Id: I2b7fddf5c6ef017a0925b4bf75cfd47cb55aa5de

6 years agoshell: Don't use --seccomp=@default for firejail < 0.9.50 support
Kunal Mehta [Mon, 26 Feb 2018 21:40:27 +0000 (13:40 -0800)]
shell: Don't use --seccomp=@default for firejail < 0.9.50 support

Just using a plain `--seccomp` automatically enables the default list.

Bug: T183680
Change-Id: I623db943eeb5c3e9d4f7a553fb6a17a60d659dce

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 26 Feb 2018 20:55:45 +0000 (21:55 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I11123ffd371ab1883530b4342f1d4af38485464f

6 years agoRemove wfWaitForSlaves when using Maintenance::commitTransaction
Umherirrender [Mon, 26 Feb 2018 20:05:33 +0000 (21:05 +0100)]
Remove wfWaitForSlaves when using Maintenance::commitTransaction

Maintenance::commitTransaction is calling waitForReplication already.
No need to wait a second time, hopefully the lags are 0 already.

Change-Id: Id457ed2cdd6bfd9663665ba0cd5c4e3dd640b738

6 years agoMerge "updateCollation.php: Improve --dry-run mode"
jenkins-bot [Mon, 26 Feb 2018 19:15:56 +0000 (19:15 +0000)]
Merge "updateCollation.php: Improve --dry-run mode"

6 years agoExit populateIpChanges maintenance script if there are no revisions
MusikAnimal [Mon, 26 Feb 2018 17:38:46 +0000 (12:38 -0500)]
Exit populateIpChanges maintenance script if there are no revisions

Bug: T188225
Change-Id: Ice1bdae3d16cf365da14c6df0e8d91d2b914f064

6 years agoUpdate more forms to limit comments by codepoints rather than bytes
Brad Jorsch [Mon, 26 Feb 2018 18:07:11 +0000 (13:07 -0500)]
Update more forms to limit comments by codepoints rather than bytes

This updates the deletion forms, Special:Block, Special:EditTags,
Special:MovePage, Special:RevisionDelete, Special:Undelete, and
Special:UserRights to limit by code point count rather than by byte (or,
in some cases, by UTF-16 code unit).

Bug: T185948
Change-Id: I20d11d7cc4f58902cbcb6dda70af533bce6dd170

6 years agoAccept non-fully qualified TestCase in StructureTest
Lucas Werkmeister [Mon, 26 Feb 2018 17:04:33 +0000 (18:04 +0100)]
Accept non-fully qualified TestCase in StructureTest

This makes StructureTest also recognize test classes which look like

    use PHPUnit\Framework\TestCase;

    class FooTest extends TestCase {

instead of

    class FooTest extends \PHPUnit\Framework\TestCase {

This form is preferred, for instance, in Wikibase code.

Bug: T188276
Change-Id: I5bef035df33d317893ad3ba195ecb75f3b09a62f

6 years agoMerge "Chinese Conversion Table Update 2018-1"
jenkins-bot [Mon, 26 Feb 2018 09:19:17 +0000 (09:19 +0000)]
Merge "Chinese Conversion Table Update 2018-1"

6 years agoMerge "SpecialPageAliasTest: Fix arguments of Language::fetchLanguageNames"
jenkins-bot [Mon, 26 Feb 2018 08:54:36 +0000 (08:54 +0000)]
Merge "SpecialPageAliasTest: Fix arguments of Language::fetchLanguageNames"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 25 Feb 2018 20:56:56 +0000 (21:56 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I1eed5fd6944bbd829ed1fbb5950e89c8b85c87f6

6 years agoChinese Conversion Table Update 2018-1
Chiefwei [Sun, 25 Feb 2018 13:43:18 +0000 (21:43 +0800)]
Chinese Conversion Table Update 2018-1

1. Update the Chinese conversion table routinely to fix bugs reported from https://zh.wikipedia.org/wiki/Wikipedia:%E5%AD%97%E8%AF%8D%E8%BD%AC%E6%8D%A2/%E4%BF%AE%E5%A4%8D%E8%AF%B7%E6%B1%82 .

2. Fully support the conversion of Chinese characters included in "Table of General Standard Chinese Characters" (通用规范汉字表).

It is only data changes and only works for Chinese WikiProjects.

Change-Id: I7f94eb01b3b50427cbb96084152e574b066d5fbf

6 years agoSpecialPageAliasTest: Fix arguments of Language::fetchLanguageNames
Fomafix [Sun, 25 Feb 2018 12:19:15 +0000 (13:19 +0100)]
SpecialPageAliasTest: Fix arguments of Language::fetchLanguageNames

Language::fetchLanguageNames( 'mwfile' ) means all languages with the
default filter 'mw' and names in the language 'mwfile'.

Language::fetchLanguageNames( null, 'mwfile' ) means language all
languages with the filter 'mwfile' and names in the default language.

This change removes the test for the language codes:
* aa
* als
* bat-smg
* be-x-old
* cho
* fiu-vro
* ho
* hz
* kj
* kr
* mh
* mus
* ng
* no
* rn
* roa-rup
* shi-latn
* shi-tfng
* simple
* tum
* uz-cyrl
* uz-latn
* zh-classical
* zh-min-nan
* zh-yue

Change-Id: I7266a67e37862daf863d1565d84cfeebaf5cb680

6 years agocontent: Fix @return doc for AbstractContent::getDeletionUpdates()
Kunal Mehta [Sun, 25 Feb 2018 02:49:08 +0000 (18:49 -0800)]
content: Fix @return doc for AbstractContent::getDeletionUpdates()

If a subclass re-implements this function, then there's no guarantee
that it will be returning instances of LinksDelet

Change-Id: I09a0c0a786b687997e61344847f8af08b20cebf2

6 years agoFix phpdoc for Maintenance::getDB
Umherirrender [Sat, 24 Feb 2018 21:31:10 +0000 (22:31 +0100)]
Fix phpdoc for Maintenance::getDB

It has the same parameter as wfGetDB including $groups as string

Change-Id: Id531488e1c2bddce71946423010620323e08bc0a

6 years agoRemove wfProfileIn/wfProfileOut
Umherirrender [Sat, 24 Feb 2018 09:45:31 +0000 (10:45 +0100)]
Remove wfProfileIn/wfProfileOut

@deprecated since 1.25

Change-Id: Ie13c31816280fa577ef6bfb5fef172163f83c408

6 years agoDon't suggest using extract()
Max Semenik [Sat, 24 Feb 2018 01:41:20 +0000 (17:41 -0800)]
Don't suggest using extract()

Especially for things as trivial as this.

Bug: T28496
Change-Id: Id4bc7f0e6411e943dff45e45964c08d44e6ccb96

6 years agoRemove redundant item loading code in User::createNew
Aaron Schulz [Sat, 24 Feb 2018 00:25:01 +0000 (16:25 -0800)]
Remove redundant item loading code in User::createNew

These lines were removed in 27c61fb1 but left in when I rebased
61b0c193 due to the conflict. The load() call handles all these
fields, so there is no need to set mName and the load state flag.

Change-Id: Id751241abf8d5592309744e96493122c6bc65f2b

6 years agoForce READ_LATEST for User::newFromId() if writes had been done
Brad Jorsch [Fri, 23 Feb 2018 18:25:10 +0000 (13:25 -0500)]
Force READ_LATEST for User::newFromId() if writes had been done

The User::newFromName() case already does this, there seems to be no
reason not to do it for User::newFromId() too.

Bug: T188014
Change-Id: Ic7fdef0cc1f5750cb5e6b2a7f48f1549862b41cb

6 years agoHave User::createNew() load the object from master
Brad Jorsch [Fri, 23 Feb 2018 18:24:47 +0000 (13:24 -0500)]
Have User::createNew() load the object from master

When the new User is created, it's leaving it to be lazy-loaded from a
replica. That seems to be causing attempts to add groups immediately
after creation to fail because the load-from-replica doesn't find the
just-created master row.

Bug: T188014
Change-Id: I841c434086bfaaca1cf1ce23673f32dc5a77915d

6 years agoMerge "wgGroupPermissions: Don't grant editmyusercss/editmyuserjs to anons"
jenkins-bot [Fri, 23 Feb 2018 22:59:29 +0000 (22:59 +0000)]
Merge "wgGroupPermissions: Don't grant editmyusercss/editmyuserjs to anons"

6 years agoMerge "Add `actor` table and code to start using it"
jenkins-bot [Fri, 23 Feb 2018 22:24:24 +0000 (22:24 +0000)]
Merge "Add `actor` table and code to start using it"

6 years agoAllow limiting comment length by characters rather than bytes in JS
Bartosz Dziewoński [Thu, 8 Feb 2018 21:22:34 +0000 (22:22 +0100)]
Allow limiting comment length by characters rather than bytes in JS

For unfortunate historical reasons, browsers' native maxlength counts
the number of UTF-16 code units rather than Unicode codepoints [1],
which means that codepoints outside the Basic Multilingual Plane
(e.g. many emojis) count as 2 characters each. That could be good
enough, but we want our software to be excellent rather than merely
good enough.

1. Introduce a few new functions, added to the existing modules:
   * mediawiki.String:
     * codePointLength() counts the length of a string in Unicode
       codepoints (characters).
     * trimCodePointLength() trims a string to the desired length in
       Unicode codepoints (characters).
   * jquery.lengthLimit:
     * $.fn.codePointLimit() enforces the specified maximum length in
       codepoints of an input field.
   * mediawiki.widgets.visibleLengthLimit:
     * mw.widgets.visibleCodePointLimit() enforces the maximum length
       in codepoints of an OOUI widget and displays the remaining
       length in an inline label.

2. Add client-side mw.config variables:
   * wgCommentByteLimit for the old byte limit, equal to 255.
   * wgCommentCodePointLimit for the new codepoint limit, equal to 1000.

   Only one of them may be set, depending on which limit should be applied.

3. Make use of both of these new features. For the sake of an example,
   I updated the forms shown on action=edit (using visibleCodePointLimit)
   and on action=protect (using codePointLimit). Many remain to be updated.

[1] https://www.w3.org/TR/html5/sec-forms.html#limiting-user-input-length-the-maxlength-attribute

Bug: T185948
Change-Id: Ia1269fd898dabbcf1582618eab46cef97e10a3b1

6 years agoMerge "mediawiki.mixins: Extend `hyphens()` mixin for `none` case"
jenkins-bot [Fri, 23 Feb 2018 21:50:50 +0000 (21:50 +0000)]
Merge "mediawiki.mixins: Extend `hyphens()` mixin for `none` case"

6 years agoMerge "Localisation updates from https://translatewiki.net."
L10n-bot [Fri, 23 Feb 2018 21:09:54 +0000 (21:09 +0000)]
Merge "Localisation updates from https://translatewiki.net."

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 23 Feb 2018 21:09:44 +0000 (22:09 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I1eaeb45405e151b5c25afe598a70d041453fc9d0

6 years agoMerge "Adjust tests for JPEG segmentation fix"
jenkins-bot [Fri, 23 Feb 2018 21:06:30 +0000 (21:06 +0000)]
Merge "Adjust tests for JPEG segmentation fix"

6 years agoMerge "rdbms: make DBMasterPos implement Serializable"
jenkins-bot [Fri, 23 Feb 2018 20:57:34 +0000 (20:57 +0000)]
Merge "rdbms: make DBMasterPos implement Serializable"

6 years agordbms: make DBMasterPos implement Serializable
Aaron Schulz [Fri, 23 Feb 2018 03:23:19 +0000 (19:23 -0800)]
rdbms: make DBMasterPos implement Serializable

ChronologyProtector uses these classes to briefly store positions
and everytime the fields change then errors can happen when old
values are unserialized and used. Use a simple two-element map
format for serialized positions. The fields are recomputed back
from the data map.

Values from before this change will issue the warning
"Erroneous data format for unserializing". To avoid that, bump
the ChronologyProtector key version. Future field changes will
not require this.

This change should be deployed on all wikis at once.

Bug: T187942
Change-Id: I71bbbc9b9d4c7e02ac02f1d8750b70bda08d4db1

6 years agomediawiki.mixins: Extend `hyphens()` mixin for `none` case
Volker E [Fri, 23 Feb 2018 20:29:31 +0000 (12:29 -0800)]
mediawiki.mixins: Extend `hyphens()` mixin for `none` case

Slightly extending `hyphens()` mixin with Less mixin guard for
`none` value “reset” case.

Change-Id: Iebb3f5190d31173ea6d843e0434f794f3b3c8e8a

6 years agoRename jquery.byteLimit→lengthLimit, mediawiki.widgets.visibleByteLimit→visibleLength...
Bartosz Dziewoński [Thu, 8 Feb 2018 21:22:34 +0000 (22:22 +0100)]
Rename jquery.byteLimit→lengthLimit, mediawiki.widgets.visibleByteLimit→visibleLengthLimit

In change Ia1269fd898dabbcf1582618eab46cef97e10a3b1 I want to add
functions that deal with codepoints instead of bytes to these modules,
after which the names wouldn't make sense. Doing this in a separate
commit to make the diffs clearer.

Change-Id: Ia554eb2265248e72b04fce69a662a9db1a5f1275

6 years agoAdd `actor` table and code to start using it
Brad Jorsch [Tue, 12 Sep 2017 17:12:29 +0000 (13:12 -0400)]
Add `actor` table and code to start using it

Storing the user name or IP in every row in large tables like revision
and logging takes up space and makes operations on these tables slower.
This patch begins the process of moving those into one "actor" table
which other tables can reference with a single integer field.

A subsequent patch will remove the old columns.

Bug: T167246
Depends-On: I9293fd6e0f958d87e52965de925046f1bb8f8a50
Change-Id: I8d825eb02c69cc66d90bd41325133fd3f99f0226

6 years agoAdjust tests for JPEG segmentation fix
Brion Vibber [Fri, 23 Feb 2018 09:42:10 +0000 (09:42 +0000)]
Adjust tests for JPEG segmentation fix

Added a second test case truncated in a different place, and
added some clarifying comments.

Change-Id: I7b8e5296a203264b7e7e428f82c8c948242a1272

6 years agoMerge "Revert "JobQueueGroup: Improve failed-to-insert error""
Chad [Fri, 23 Feb 2018 08:05:41 +0000 (08:05 +0000)]
Merge "Revert "JobQueueGroup: Improve failed-to-insert error""

6 years agoRevert "JobQueueGroup: Improve failed-to-insert error"
Chad [Fri, 23 Feb 2018 08:05:13 +0000 (08:05 +0000)]
Revert "JobQueueGroup: Improve failed-to-insert error"

I made a useless commit.

This reverts commit a82cb5aa18e2d5dc886d51f71b224dbd9de83cae.

Change-Id: I70328bcbcf9af5480c7a0b8e297ed41a463fd457

6 years agoMerge "JobQueueGroup: Improve failed-to-insert error"
jenkins-bot [Fri, 23 Feb 2018 08:01:59 +0000 (08:01 +0000)]
Merge "JobQueueGroup: Improve failed-to-insert error"

6 years agoRCLFilters specific message for invalid target page
Stephane Bisson [Mon, 22 Jan 2018 22:46:31 +0000 (14:46 -0800)]
RCLFilters specific message for invalid target page

* always hide the big red .errorbox when rcfilters
  is enabled

* always identify the changes-list section with
  .mw-changeslist or .mw-changeslist-empty

* conditionally add .mw-changeslist-empty-<reason>
  to the changeslist section when the reason for it
  being empty is known

* handle RCL being empty because the specified title
  is invalid or inter-wiki

Bug: T184952
Change-Id: I5dd974f5f769503e89301dd22bdfd3d49b0dd11f

6 years agoJobQueueGroup: Improve failed-to-insert error
Chad Horohoe [Wed, 21 Feb 2018 01:13:12 +0000 (17:13 -0800)]
JobQueueGroup: Improve failed-to-insert error

This could possibly use LoggerFactory & friends to use them as
parameters, but either way let's sort the entries so they're
at least remotely capable of self-grouping.

Change-Id: Iaf435093d70add02e2f82e3037c64fec11870979

6 years agoCSSMin: Trim whitespace from attribute selectors and url tokens
Fomafix [Wed, 6 Dec 2017 16:16:41 +0000 (17:16 +0100)]
CSSMin: Trim whitespace from attribute selectors and url tokens

* Trim whitespaces after opening and before closing parentheses and
  brackets.
* Ensure by test case that the invalid "url (" will not become the
  valid "url(" by minification.

This change also prevents the parsing problem in Firefox 57.0
https://bugzilla.mozilla.org/1418152 which is fixed in Firefox 57.0.1.

Change-Id: I804477ba7c6363f0e964fc8c7c0bc74d2d4c1a0d

6 years agoMerge "Shell: Don't hang on empty stdin"
jenkins-bot [Thu, 22 Feb 2018 23:31:26 +0000 (23:31 +0000)]
Merge "Shell: Don't hang on empty stdin"

6 years agoMerge "Drop pointer-events fallback code now IE10 is Grade C"
jenkins-bot [Thu, 22 Feb 2018 22:57:33 +0000 (22:57 +0000)]
Merge "Drop pointer-events fallback code now IE10 is Grade C"

6 years agoShell: Don't hang on empty stdin
Brad Jorsch [Thu, 22 Feb 2018 22:13:28 +0000 (17:13 -0500)]
Shell: Don't hang on empty stdin

If the write buffer for a file descriptor is empty, don't try to write
to it. Just close it and continue on.

Bug: T188019
Change-Id: Ie5b5ac1ef1aec4ae763cf4d0d58d3a28e42b7d2a

6 years agoMake LocalFile check early if the revision store is available
Aaron Schulz [Thu, 22 Feb 2018 08:48:42 +0000 (00:48 -0800)]
Make LocalFile check early if the revision store is available

This reduces the odds of having files without corresponding
wiki pages, given that the later is done in a deferred update.

Also made some documentation cleanups.

Bug: T187942
Change-Id: Iff516669f535713d37e0011e2d7ed285c667f1c5

6 years agoMerge "Add ExternalStoreMedium::isReadOnly() method"
jenkins-bot [Thu, 22 Feb 2018 21:41:00 +0000 (21:41 +0000)]
Merge "Add ExternalStoreMedium::isReadOnly() method"

6 years agoDrop pointer-events fallback code now IE10 is Grade C
Ed Sanders [Thu, 22 Feb 2018 21:40:53 +0000 (21:40 +0000)]
Drop pointer-events fallback code now IE10 is Grade C

IE10 was the last supported browser without pointer-events.

Change-Id: I8e1637f527dd058fe2a5491896b0cdd7ac65b0ba

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 22 Feb 2018 21:36:55 +0000 (22:36 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I143b63f429ecea18b60f7b30aeb7c42b65d45bd6

6 years agoMerge "EditPage: Remove unused $is*Subpage variables, deprecated in 1.30"
jenkins-bot [Thu, 22 Feb 2018 20:54:44 +0000 (20:54 +0000)]
Merge "EditPage: Remove unused $is*Subpage variables, deprecated in 1.30"

6 years agowgGroupPermissions: Don't grant editmyusercss/editmyuserjs to anons
James D. Forrester [Thu, 22 Feb 2018 20:48:42 +0000 (12:48 -0800)]
wgGroupPermissions: Don't grant editmyusercss/editmyuserjs to anons

Change-Id: I4b3216a06c3b214e9f0be52cfbefa9f489c910b4

6 years agoMerge "mediawiki.mixins: Add `hyphens` mixin"
jenkins-bot [Thu, 22 Feb 2018 20:27:25 +0000 (20:27 +0000)]
Merge "mediawiki.mixins: Add `hyphens` mixin"

6 years agoMerge "objectcache: improve TTL reduction warning log entries"
jenkins-bot [Thu, 22 Feb 2018 20:22:32 +0000 (20:22 +0000)]
Merge "objectcache: improve TTL reduction warning log entries"

6 years agoEditPage: Remove unused $is*Subpage variables, deprecated in 1.30
James D. Forrester [Sat, 10 Feb 2018 01:19:18 +0000 (17:19 -0800)]
EditPage: Remove unused $is*Subpage variables, deprecated in 1.30

Change-Id: I9a9a9b2652f63d18634a60205a6e8a4d76380e71

6 years agomediawiki.mixins: Add `hyphens` mixin
Volker E [Thu, 22 Feb 2018 20:05:58 +0000 (12:05 -0800)]
mediawiki.mixins: Add `hyphens` mixin

As `hyphens` values are used in various places now, with most
recent addition I1637ce3f5bddb we should add it in a central place.

Change-Id: I660f3ecd2a4669e8d5c8415990fa2e8a25aea32a

6 years agoMerge "Use PHP's implode() with the suggested order of arguments"
jenkins-bot [Thu, 22 Feb 2018 20:04:00 +0000 (20:04 +0000)]
Merge "Use PHP's implode() with the suggested order of arguments"

6 years agoUse PHP's implode() with the suggested order of arguments
Fomafix [Thu, 22 Feb 2018 19:24:00 +0000 (20:24 +0100)]
Use PHP's implode() with the suggested order of arguments

https://secure.php.net/manual/en/function.implode.php defines the order
of arguments as

 string implode ( string $glue , array $pieces )
 string implode ( array $pieces )

Note:
  implode() can, for historical reasons, accept its parameters in
  either order. For consistency with explode(), however, it may be less
  confusing to use the documented order of arguments.

Change-Id: I03bf5712204e283f52d3ede54af9b9ec117d4280

6 years agoMerge "Title: Refactor JS/CSS page handling to be more sane"
jenkins-bot [Thu, 22 Feb 2018 19:19:29 +0000 (19:19 +0000)]
Merge "Title: Refactor JS/CSS page handling to be more sane"

6 years agoFix Profiler::getOutputs() type documentation
Aaron Schulz [Thu, 22 Feb 2018 18:58:36 +0000 (10:58 -0800)]
Fix Profiler::getOutputs() type documentation

Change-Id: I4ff2ccc16363bfc3093b75263da2b09c3af40627

6 years agoobjectcache: improve TTL reduction warning log entries
Aaron Schulz [Thu, 22 Feb 2018 18:07:40 +0000 (10:07 -0800)]
objectcache: improve TTL reduction warning log entries

Add "lag" and "age" parameters for more context

Change-Id: Iea029e78d4c0bbec0e4334de4fbe7780b1bea524

6 years agoAdd ExternalStoreMedium::isReadOnly() method
Aaron Schulz [Thu, 22 Feb 2018 08:27:14 +0000 (00:27 -0800)]
Add ExternalStoreMedium::isReadOnly() method

Use this to abort out of store() calls early

Bug: T187942
Change-Id: I9334d36e8bc3e4589775471eee03be4f4a3119a3

6 years agoRevisionStore: Remove reference to unimplemented 'ar' blob address schema
Brad Jorsch [Thu, 22 Feb 2018 15:39:02 +0000 (10:39 -0500)]
RevisionStore: Remove reference to unimplemented 'ar' blob address schema

It was thought that an 'ar:' schema for SqlBlobStore addresses would be
needed to support archive rows from before MediaWiki 1.5 that still
stored the text in ar_text and ar_flags instead of using the text table
and ar_text_id. But this schema was never actually implemented.

Now I5608c6b6 has migrated that content to the text table and
ar_text_id, and I18f1c740b will remove the database fields entirely. So
there's no reason to ever implement this schema.

Change-Id: Ic449478c244bb13a8c5139e20488e876c0a793bb

6 years agoMerge "Translate some magic words to Czech"
jenkins-bot [Thu, 22 Feb 2018 14:38:07 +0000 (14:38 +0000)]
Merge "Translate some magic words to Czech"

6 years agoMerge "rdbms: add type hint to reuseConnection()"
jenkins-bot [Thu, 22 Feb 2018 08:02:47 +0000 (08:02 +0000)]
Merge "rdbms: add type hint to reuseConnection()"

6 years agoMerge "rdbms: minor improvements to LoadBalancer logging"
jenkins-bot [Thu, 22 Feb 2018 07:58:55 +0000 (07:58 +0000)]
Merge "rdbms: minor improvements to LoadBalancer logging"

6 years agoMerge "rdbms: use DEBUG level for more ChronologyProtector log entries"
jenkins-bot [Thu, 22 Feb 2018 07:58:52 +0000 (07:58 +0000)]
Merge "rdbms: use DEBUG level for more ChronologyProtector log entries"

6 years agordbms: add type hint to reuseConnection()
Aaron Schulz [Thu, 22 Feb 2018 07:42:52 +0000 (23:42 -0800)]
rdbms: add type hint to reuseConnection()

This avoids IDEA warnings.

Change-Id: Ic772d47785319f111c267461e4e42e9183d2815b

6 years agoMerge "Move $.byteLength and $.trimByteLength to new module 'mediawiki.String'"
jenkins-bot [Thu, 22 Feb 2018 05:15:34 +0000 (05:15 +0000)]
Merge "Move $.byteLength and $.trimByteLength to new module 'mediawiki.String'"

6 years agoMove $.byteLength and $.trimByteLength to new module 'mediawiki.String'
Bartosz Dziewoński [Mon, 19 Feb 2018 20:23:36 +0000 (21:23 +0100)]
Move $.byteLength and $.trimByteLength to new module 'mediawiki.String'

These methods do not belong on the jQuery object. And to resolve
T185948, we need to also add codePointLength and trimCodePointLength,
and this new module seems like a good place to put them.

There is no `mw.String` global, this module has to be used via `require()`.

Deprecations:
* Function `$.byteLength` (from module 'jquery.byteLength') is
  deprecated, use `require( 'mediawiki.String' ).byteLength` instead.
* Function `$.trimByteLength` (from module 'jquery.byteLimit') is
  deprecated, use `require( 'mediawiki.String' ).trimByteLength` instead.
* Module 'jquery.byteLength' is deprecated, use 'mediawiki.String' instead.

Note that `$.fn.byteLimit` and the 'jquery.byteLimit' module are not
deprecated.

Change-Id: I2501a79efee644e5f4a9f5c977fe49c8c05c6eb3

6 years agordbms: minor improvements to LoadBalancer logging
Aaron Schulz [Thu, 22 Feb 2018 02:26:06 +0000 (18:26 -0800)]
rdbms: minor improvements to LoadBalancer logging

Change-Id: I03f54a65b1932b99ac4e129000547a6c2640c489

6 years agotests: Remove IE9 mobile from Grade A
Ed Sanders [Wed, 21 Feb 2018 12:40:50 +0000 (12:40 +0000)]
tests: Remove IE9 mobile from Grade A

Change-Id: I0e1da9d155c778edaa85d19a3e556fe14f83fdd2

6 years agoFix infinite loop in JpegMetadataExtractor
Brion Vibber [Wed, 21 Feb 2018 22:45:35 +0000 (22:45 +0000)]
Fix infinite loop in JpegMetadataExtractor

One of the skip-over loops was missing an feof() check and could
cause infinite loops.

Includes test file created by truncating a tiny tiny .jpeg at
the right place...

With the fix, it doesn't loop but dies on an exception, which
is good!

Bug: T184048
Change-Id: Ica13d6b68c3c12f7ce414edd081bf0886714e465

6 years agordbms: use DEBUG level for more ChronologyProtector log entries
Aaron Schulz [Wed, 21 Feb 2018 21:36:47 +0000 (13:36 -0800)]
rdbms: use DEBUG level for more ChronologyProtector log entries

Change-Id: Ie1795abe52d9162af556a6534a94cc3e4a565d43

6 years agoAdd TimedMediaHandler's images/transcoded to .gitignore
Brion Vibber [Wed, 21 Feb 2018 21:14:27 +0000 (21:14 +0000)]
Add TimedMediaHandler's images/transcoded to .gitignore

Avoids git looking in your transcoded audio/video files
for changes...

Change-Id: I5610354a1575bb97f4523d58d3e9713512416305

6 years agoMerge "sql.php: Provide --json output mode"
jenkins-bot [Wed, 21 Feb 2018 21:14:19 +0000 (21:14 +0000)]
Merge "sql.php: Provide --json output mode"

6 years agoMerge "Drop Grade A support for IE10"
jenkins-bot [Wed, 21 Feb 2018 20:15:37 +0000 (20:15 +0000)]
Merge "Drop Grade A support for IE10"

6 years agoDrop Grade A support for IE10
Ed Sanders [Wed, 21 Feb 2018 12:09:57 +0000 (12:09 +0000)]
Drop Grade A support for IE10

Bug: T187869
Change-Id: I68c882e64fba95d5e1bf41f64658fcef7524dcf5

6 years agoMerge "Contributions: Only add form JS when the form is added"
jenkins-bot [Wed, 21 Feb 2018 19:25:51 +0000 (19:25 +0000)]
Merge "Contributions: Only add form JS when the form is added"

6 years agoMerge "Update README file for Selenium tests"
jenkins-bot [Wed, 21 Feb 2018 17:37:47 +0000 (17:37 +0000)]
Merge "Update README file for Selenium tests"

6 years agoMerge "Truncate tag filter descriptions"
jenkins-bot [Wed, 21 Feb 2018 12:52:22 +0000 (12:52 +0000)]
Merge "Truncate tag filter descriptions"

6 years agoMerge "Fix English name for lb"
jenkins-bot [Wed, 21 Feb 2018 11:42:23 +0000 (11:42 +0000)]
Merge "Fix English name for lb"

6 years agoUpdate README file for Selenium tests
Željko Filipin [Wed, 21 Feb 2018 11:28:49 +0000 (12:28 +0100)]
Update README file for Selenium tests

Bug: T187862
Change-Id: Iadd41307a48a1b50f64a495e7efcee3b88d0ff68

6 years agoFix English name for lb
Niklas Laxström [Wed, 21 Feb 2018 11:12:20 +0000 (12:12 +0100)]
Fix English name for lb

This version has been in MediaWiki longer than my email history,
since 2005 at least. This spelling is not present in
https://en.wikipedia.org/wiki/Luxembourgish

Change-Id: Ibda7e6428a2c79b9f7d88892ef1c16e9921ae934

6 years agoMerge "Factor OldRevisionImporter & ImportableOldRevision out of WikiRevision"
jenkins-bot [Wed, 21 Feb 2018 10:31:32 +0000 (10:31 +0000)]
Merge "Factor OldRevisionImporter & ImportableOldRevision out of WikiRevision"

6 years agoMerge "Factor UploadRevisionImporter & ImportableUploadRevision out of WikiRevision"
jenkins-bot [Wed, 21 Feb 2018 09:53:30 +0000 (09:53 +0000)]
Merge "Factor UploadRevisionImporter & ImportableUploadRevision out of WikiRevision"

6 years agoContributions: Only add form JS when the form is added
Derk-Jan Hartman [Mon, 19 Feb 2018 11:53:47 +0000 (12:53 +0100)]
Contributions: Only add form JS when the form is added

Special:Contributions can be transcluded ('including') on to another
page. In this mode, the form is not present, but the OOUI JS infusing,
payload and styling, was added regardless. This caused errors on pages
transcluding such lists, as the OOUI HTML was missing, causing the JS to
throw errors.

Bug: T187710
Change-Id: I7d45dd3ddd3ba75d44f7d24e03cef5e95301f4ed

6 years agordbms: make sure non-native replace() uses one transaction
Aaron Schulz [Wed, 21 Feb 2018 03:16:51 +0000 (19:16 -0800)]
rdbms: make sure non-native replace() uses one transaction

This is similar to what upsert() already does

Change-Id: Ide83eefe0d937fb2cdc20aa3c7dc9654c4d34beb

6 years agoMerge "mw.Title: Use $.trimByteLength from jquery.byteLimit module"
jenkins-bot [Tue, 20 Feb 2018 22:15:50 +0000 (22:15 +0000)]
Merge "mw.Title: Use $.trimByteLength from jquery.byteLimit module"