lhc/web/wiklou.git
5 years ago<ins>/<del> elements can be phrasing or flow
Arlo Breault [Thu, 12 Jul 2018 18:31:04 +0000 (14:31 -0400)]
<ins>/<del> elements can be phrasing or flow

The changes to the parserTests.txt highlight the differing opinions that
doBlockLevels and Remex had on whether these should be paragraph wrapped.

Since the only time they wouldn't have been was when found on a line
with other flow tags, this likely isn't a behaviour that was depended on
in practice.  And, indeed, the task describes this as a bug.

A sampling of pages from an insource:/\<(ins|del)\>/ search on wiki bears
this out.

Bug: T17491
Change-Id: I311da777a63aa3c45013f2cfc090be35a022497e

5 years agoStringUtils: Deprecate Replacer classes
Kevin Israel [Tue, 10 Jul 2018 15:14:29 +0000 (11:14 -0400)]
StringUtils: Deprecate Replacer classes

The Replacer classes were added in 1.9, when MediaWiki supported PHP 5.0
and 5.1. They were designed to be used with preg_replace_callback() and
StringUtils::delimiterReplaceCallback(). Now that Closures exist in PHP
5.3 and newer, there is no need to define a class for this purpose.

All existing Replacer subclasses are simple enough that their few uses
can easily be replaced with Closures, without making the code harder to
understand. In fact, the code probably becomes easier to understand, as
what each match is replaced with becomes more obvious -- no need to
refer to a separate class.

MediaWiki code search finds no uses in extensions. Thus, these classes
are hard deprecated immediately.

Change-Id: I441c21689909fb06a1ea07a305259eeb82cb2345

5 years agoMerge "Deprecate specialized file errors in OutputPage and fix escaping"
jenkins-bot [Thu, 12 Jul 2018 17:23:49 +0000 (17:23 +0000)]
Merge "Deprecate specialized file errors in OutputPage and fix escaping"

5 years agoMerge "Start working on phan-taint-check warnings. Fix minor escaping issues."
jenkins-bot [Thu, 12 Jul 2018 17:22:14 +0000 (17:22 +0000)]
Merge "Start working on phan-taint-check warnings. Fix minor escaping issues."

5 years agoMerge "Mark InnoDB as recomended in the installer."
jenkins-bot [Thu, 12 Jul 2018 17:17:33 +0000 (17:17 +0000)]
Merge "Mark InnoDB as recomended in the installer."

5 years agoMark InnoDB as recomended in the installer.
Brian Wolff [Sat, 7 Jul 2018 15:28:16 +0000 (15:28 +0000)]
Mark InnoDB as recomended in the installer.

Most users will have no idea what this is, and I honestly wonder
why we even offer a choice here.

Change-Id: I496d1056f089c35bff321a8206ca264b12a54d56

5 years agoSync up with Parsoid parserTests.txt
Arlo Breault [Thu, 12 Jul 2018 15:18:46 +0000 (11:18 -0400)]
Sync up with Parsoid parserTests.txt

This now aligns with Parsoid commit 564b5d3a37580912793b81a021011e3e33d1219a

Change-Id: I8203797d6d6383a6a2d58d6e6f9a7d46b5c788f3

5 years agoMerge "Special:Log: Convert to HTMLForm"
jenkins-bot [Thu, 12 Jul 2018 11:10:22 +0000 (11:10 +0000)]
Merge "Special:Log: Convert to HTMLForm"

5 years agoStart working on phan-taint-check warnings. Fix minor escaping issues.
Brian Wolff [Thu, 12 Jul 2018 02:48:34 +0000 (02:48 +0000)]
Start working on phan-taint-check warnings. Fix minor escaping issues.

This fixes 26 of the phan-taint-check warnings on MW core. Some
are outright fixed, others are false positives that were suppressed.

This really only covers some of the easy ones. There are still
314 warnings to go.

Change-Id: I30463bc3a09fd4324d190de8533f51784764dd3a

5 years agoMerge "objectcache: make CachedBagOStuff implement makeKeyInternal()"
jenkins-bot [Thu, 12 Jul 2018 03:22:36 +0000 (03:22 +0000)]
Merge "objectcache: make CachedBagOStuff implement makeKeyInternal()"

5 years agoMerge "Add config to use change_tag_def table for Special:Tags"
jenkins-bot [Wed, 11 Jul 2018 22:13:07 +0000 (22:13 +0000)]
Merge "Add config to use change_tag_def table for Special:Tags"

5 years agoMerge "Hide TOC with CSS instead of JavaScript"
jenkins-bot [Wed, 11 Jul 2018 20:36:22 +0000 (20:36 +0000)]
Merge "Hide TOC with CSS instead of JavaScript"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 11 Jul 2018 20:21:50 +0000 (22:21 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I2a5c983b0576df41ee9258890589c45448d24b53

5 years agoMerge "shell.php: prevent permission error"
jenkins-bot [Wed, 11 Jul 2018 20:01:06 +0000 (20:01 +0000)]
Merge "shell.php: prevent permission error"

5 years agoMerge "Convert numerous UNIQUE INDEX to PRIMARY KEY"
jenkins-bot [Wed, 11 Jul 2018 19:52:36 +0000 (19:52 +0000)]
Merge "Convert numerous UNIQUE INDEX to PRIMARY KEY"

5 years agoMerge "rdbms: add IDatabase::lockForUpdate() convenience method"
jenkins-bot [Wed, 11 Jul 2018 19:52:31 +0000 (19:52 +0000)]
Merge "rdbms: add IDatabase::lockForUpdate() convenience method"

5 years agoConvert numerous UNIQUE INDEX to PRIMARY KEY
Reedy [Wed, 4 Jul 2018 19:13:07 +0000 (20:13 +0100)]
Convert numerous UNIQUE INDEX to PRIMARY KEY

MySQL, SQLite, PostgreSQL and MSSQL done with transitional patches.

One additional duplicate index removed from PostgreSQL schema.

Having a PK is essential to do maintenance, specially on large tasks.
By not having a PK it is impossible to add it in a safe way if not done
directly on the master.

Having a PK means that we can easily change the PK into another one if
needed in the future. The ones we chose might not be the best ones, but
will allow us to get them changed.

Bug: T198811
Change-Id: I6b96a427687085c6c24bcd759c9739f81288b919

5 years agoMerge "Rename index type_action to log_type_action"
jenkins-bot [Wed, 11 Jul 2018 19:30:22 +0000 (19:30 +0000)]
Merge "Rename index type_action to log_type_action"

5 years agoRename index type_action to log_type_action
Reedy [Wed, 11 Jul 2018 14:36:27 +0000 (14:36 +0000)]
Rename index type_action to log_type_action

Bug: T51199
Change-Id: I697fd5689e573bfa965ca75385f919c9a8403c14

5 years agoMerge "Update OOUI to v0.27.5"
jenkins-bot [Wed, 11 Jul 2018 19:05:52 +0000 (19:05 +0000)]
Merge "Update OOUI to v0.27.5"

5 years agoMerge "RCFilters: Explicitly set the default highlight color to null"
jenkins-bot [Wed, 11 Jul 2018 18:57:31 +0000 (18:57 +0000)]
Merge "RCFilters: Explicitly set the default highlight color to null"

5 years agoDeprecate specialized file errors in OutputPage and fix escaping
Brian Wolff [Mon, 16 Oct 2017 05:53:30 +0000 (05:53 +0000)]
Deprecate specialized file errors in OutputPage and fix escaping

OutputPage has a number of specialized error reporting methods
related to file handling. With exception of showFileDeleteError,
they are all unused. In my opinion such specialized error handling
does not belong in OutputPage, but in whatever class is generating
the error.

Futhermore, these functions do not appropriately escape their
arguments or their i18n messages. I replaced the one usage
in SpecialUpload with an equivalent that does escape properly.
This is not exploitable as the attacker is not in control of
the temporary file name, but it is very bad practice.

This deprecates the following methods:
* OutputPage::showFileDeleteError()
* OutputPage::showFileNotFoundError()
* OutputPage::showFileRenameError()
* OutputPage::showFileCopyError()
* OutputPage::showUnexpectedValueError()

[Discovered with the help of an experimental phan plugin]

Change-Id: I9e7aaa59ded66f32c78cfdfed1e59e073ffd5051

5 years agoUpdate OOUI to v0.27.5
James D. Forrester [Wed, 11 Jul 2018 18:43:15 +0000 (11:43 -0700)]
Update OOUI to v0.27.5

Release notes:
 https://phabricator.wikimedia.org/diffusion/GOJU/browse/master/History.md;v0.27.5

Depends-On: I9d3b2480e1bece91f1e43fd268fa5ab0fbfb89aa
Change-Id: I2896bc9a07ab9939e254b18ee5ff3b38fdf5c44a

5 years agoRCFilters: Explicitly set the default highlight color to null
Roan Kattouw [Tue, 10 Jul 2018 17:56:53 +0000 (10:56 -0700)]
RCFilters: Explicitly set the default highlight color to null

Other code checks !== null on this, and since undefined !== null, it
will incorrectly think a highlight color is set when it's not.

Bug: T199144
Change-Id: I5dbe95ff3c2a5e9c4597a1794a0d3256b671238f

5 years agoUse $lang->hasVariants() instead of count( $lang->getVariants() ) > 1
Fomafix [Tue, 3 Jul 2018 20:14:06 +0000 (22:14 +0200)]
Use $lang->hasVariants() instead of count( $lang->getVariants() ) > 1

Change-Id: I23668c69a8d8cc886168cbbd4f94cf13b597b5a6

5 years agoAdd config to use change_tag_def table for Special:Tags
Amir Sarabadani [Wed, 11 Jul 2018 14:44:28 +0000 (16:44 +0200)]
Add config to use change_tag_def table for Special:Tags

Bug: T199334
Change-Id: Ieb8709caf0d8ee16086296baa75f751c7723c101

5 years agoobjectcache: make CachedBagOStuff implement makeKeyInternal()
Aaron Schulz [Wed, 11 Jul 2018 12:41:46 +0000 (13:41 +0100)]
objectcache: make CachedBagOStuff implement makeKeyInternal()

Change-Id: I38821d131982d103b9d130e7310bc652f57ea696

5 years agordbms: fix value of ChronologyProtector::POSITION_COOKIE_TTL
Aaron Schulz [Wed, 11 Jul 2018 09:39:05 +0000 (10:39 +0100)]
rdbms: fix value of ChronologyProtector::POSITION_COOKIE_TTL

This was supposed to be 10 (~LoadBalancer::MAX_WAIT_DEFAULT) but
ended up as 60 by mistake in 52af356cad (when the constant was added).

Bug: T194403
Change-Id: Ie94949eebaafde2e0c4e2fcffabcb78866363a27

5 years agoMerge "In RevisionStore, use DB_MASTER when READ_LATEST is set."
jenkins-bot [Wed, 11 Jul 2018 09:56:15 +0000 (09:56 +0000)]
Merge "In RevisionStore, use DB_MASTER when READ_LATEST is set."

5 years agoMerge "Simplify PHP by using ?? and ?:"
jenkins-bot [Wed, 11 Jul 2018 09:09:18 +0000 (09:09 +0000)]
Merge "Simplify PHP by using ?? and ?:"

5 years agoMerge "Implement makeKeyInternal() for ReplicatedBagOStuff/MultiWriteBagOStuff"
jenkins-bot [Wed, 11 Jul 2018 05:00:44 +0000 (05:00 +0000)]
Merge "Implement makeKeyInternal() for ReplicatedBagOStuff/MultiWriteBagOStuff"

5 years agoExpand the default watchlist time from 3 to 7 days
James D. Forrester [Tue, 10 Jul 2018 23:08:58 +0000 (16:08 -0700)]
Expand the default watchlist time from 3 to 7 days

Bug: T194414
Change-Id: I682161b93ea018dc1f552b6ac1a0555c162e7339

5 years agoSpecialChangeEmail: Log email changes
Brad Jorsch [Tue, 10 Jul 2018 18:13:58 +0000 (14:13 -0400)]
SpecialChangeEmail: Log email changes

Bug: T151415
Change-Id: Icc403be286f87a591ebc9d3e07d84b09f8b87713

5 years agoSimplify PHP by using ?? and ?:
Fomafix [Wed, 20 Jun 2018 05:26:57 +0000 (07:26 +0200)]
Simplify PHP by using ?? and ?:

Also remove not necessary surrounding parentheses.

Change-Id: I0eb5c9c1bdfb09a800258379cdcefb5fd4d3d21c

5 years agoMerge "mediawiki.language: Combine with 'mediawiki.language.data' and 'mediawiki...
jenkins-bot [Tue, 10 Jul 2018 20:02:07 +0000 (20:02 +0000)]
Merge "mediawiki.language: Combine with 'mediawiki.language.data' and 'mediawiki.language.init'"

5 years agoMerge "mediawiki.api: Simplify mw.Api constructor"
jenkins-bot [Tue, 10 Jul 2018 19:59:30 +0000 (19:59 +0000)]
Merge "mediawiki.api: Simplify mw.Api constructor"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 10 Jul 2018 19:54:00 +0000 (21:54 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I3e4bbf58fac272565129be799bb50912296bcb4c

5 years agoReplace redundant Assert calls with native typehint
Timo Tijhof [Tue, 10 Jul 2018 19:10:34 +0000 (12:10 -0700)]
Replace redundant Assert calls with native typehint

* PageUpdater: Plain class type hints never needed Assert,
  not sure why that was here.

* CategoryMembershipChange: The 'callable' typehint was introduced
  in PHP 5.4.

Change-Id: I958bd63a7f9edec3a297f34fe43339fac5f43006

5 years agoIn RevisionStore, use DB_MASTER when READ_LATEST is set.
daniel [Tue, 10 Jul 2018 18:54:33 +0000 (20:54 +0200)]
In RevisionStore, use DB_MASTER when READ_LATEST is set.

This fixes a few instances where a replica connection was used to read
auxilliary data even if the READ_LATEST flag was passed.

Bug: T198869
Change-Id: Ie3b5f7921f939e6bd5216130dc4adcf242e5c624

5 years agordbms: add IDatabase::lockForUpdate() convenience method
Aaron Schulz [Mon, 2 Jul 2018 18:02:54 +0000 (19:02 +0100)]
rdbms: add IDatabase::lockForUpdate() convenience method

Change-Id: I238fd96407e1122e90058e2c4acf743044a267ec

5 years agoMerge "Use master when fetching revision to base a null-revison on."
jenkins-bot [Tue, 10 Jul 2018 18:37:26 +0000 (18:37 +0000)]
Merge "Use master  when fetching revision to base a null-revison on."

5 years agoMerge "Run populateContentTables.php from update.php"
jenkins-bot [Tue, 10 Jul 2018 18:33:51 +0000 (18:33 +0000)]
Merge "Run populateContentTables.php from update.php"

5 years agoMerge "RELEASE-NOTES-1.32: Re-wrap to 80 chars again"
jenkins-bot [Tue, 10 Jul 2018 18:25:11 +0000 (18:25 +0000)]
Merge "RELEASE-NOTES-1.32: Re-wrap to 80 chars again"

5 years agomediawiki.language: Combine with 'mediawiki.language.data' and 'mediawiki.language...
Timo Tijhof [Tue, 10 Jul 2018 04:43:09 +0000 (21:43 -0700)]
mediawiki.language: Combine with 'mediawiki.language.data' and 'mediawiki.language.init'

The latter two modules are never used separately and have no references
anywhere in Wikimedia Git outside MediaWiki core.

Remove without deprecation as they were introduced only as internal
work-around to be able to call setData after init.js and the rest of
'mediawiki.language'. Which is actually trivially done by concatenating
one after the other, but for some reason I didn't think of that when
reviewing 4c6c50f20661 in 2012.

Also fix an annoying race condition in the unit tests that
often caused tests to fail locally.

Change-Id: Ic61f86b0dcbfac82da230770f66cb72e97bd9a03

5 years agoUse master when fetching revision to base a null-revison on.
daniel [Tue, 10 Jul 2018 17:54:11 +0000 (19:54 +0200)]
Use master  when fetching revision to base a null-revison on.

Bug: T198869
Change-Id: I7396246581deabc2cb7206b3e5d2a6f97f6d7418

5 years agoMerge "Special:PasswordReset: Make the user field a user lookahead field, not just...
jenkins-bot [Tue, 10 Jul 2018 17:24:24 +0000 (17:24 +0000)]
Merge "Special:PasswordReset: Make the user field a user lookahead field, not just text"

5 years agoRun populateContentTables.php from update.php
Brad Jorsch [Tue, 10 Jul 2018 17:09:37 +0000 (13:09 -0400)]
Run populateContentTables.php from update.php

Since update.php will eventually be dropping the old columns and fields,
we should make sure the migration script gets run first.

Bug: T197818
Change-Id: I47f5ba4e21b4fe2ef0beb9fc83896cd4b0a0d505

5 years agomediawiki.api: Simplify mw.Api constructor
Timo Tijhof [Tue, 10 Jul 2018 04:14:28 +0000 (21:14 -0700)]
mediawiki.api: Simplify mw.Api constructor

* Use a different variable for the argument and the created
  'defaults' object for this instance.

* Don't modify the given object (it could previously modify
  the 'ajax.url' property).

* Make the 'useUS' logic more explicit and merge it with the
  'ajax.url'  handling, that it previously reacted to.

Change-Id: Ib1f50876359152935b8cb9b021ea0a95915808e2

5 years agomw.special.preferences: Prevent invisible accessibility hint from affecting content
Bartosz Dziewoński [Tue, 10 Jul 2018 15:28:43 +0000 (17:28 +0200)]
mw.special.preferences: Prevent invisible accessibility hint from affecting content

With the current styles, if there is some text before the preferences
form (it can be defined in the 'preferences-summary' message), the
`<div class="mw-navigation-hint">` somehow pushes the rest of the page
content down by a few pixels. I think it might be preventing some
margins from collapsing? This actually causes a tiny FOUC after the
styles load.

Instead, use a neat pure CSS technique borrowed from Vector:
b843094a2d8c27a17e2c2b2ba97fb4aeea1d95d4.

I'm only changing the OOUI version, since the old one doesn't have the
problem.

Bug: T195986
Change-Id: I21924dd13bb83a0cb75b337ae7439c8ad8357946

5 years agoMerge "List deleted revisions in well defined order"
jenkins-bot [Tue, 10 Jul 2018 15:05:27 +0000 (15:05 +0000)]
Merge "List deleted revisions in well defined order"

5 years agoMerge "[MCR] Make PageArchive aware of MCR"
jenkins-bot [Tue, 10 Jul 2018 15:04:59 +0000 (15:04 +0000)]
Merge "[MCR] Make PageArchive aware of MCR"

5 years agoList deleted revisions in well defined order
daniel [Tue, 10 Jul 2018 14:39:37 +0000 (16:39 +0200)]
List deleted revisions in well defined order

Change-Id: I3040e0a3f6367809a22198b8b3f76048aa6c1562

5 years ago[MCR] Make PageArchive aware of MCR
daniel [Fri, 13 Apr 2018 12:01:18 +0000 (14:01 +0200)]
[MCR] Make PageArchive aware of MCR

Bug: T194015
Change-Id: I92afda87961860983f080d96fa0616a6fcca64e4

5 years agoImplement makeKeyInternal() for ReplicatedBagOStuff/MultiWriteBagOStuff
Aaron Schulz [Tue, 10 Jul 2018 12:25:04 +0000 (13:25 +0100)]
Implement makeKeyInternal() for ReplicatedBagOStuff/MultiWriteBagOStuff

Make these proxy to the "write"/"main" cache backend like the other
key methods.

Change-Id: Ie176577d9b52807493d6da9eea963ba440b86330

5 years agoSpecial:Log: Convert to HTMLForm
Prateek Saxena [Wed, 25 Apr 2018 05:22:19 +0000 (10:52 +0530)]
Special:Log: Convert to HTMLForm

* All Xml generation code has been removed.

* The LogEventsListGetExtraInputs hook now needs a form
  descriptor array and not plain HTML.
  See I37e0d3e81a46239750465b9299279fbbd7c7f87a.

* LogPager and LogEventList also take the $day parameter
  for 'From date (and earlier)' and pass it to getDateCond
  as well.

* Since FormOptions can't automatically extract the date
  from the request this is being done manually in the
  execute method of Special:Log using MWTimestamp.

Bug: T117737
Change-Id: Iba3c6aa5ac40dcdee0792c2d045b238b02d76521

5 years agoMerge "mediawiki.inspect: Add headings to console and use console.group()"
jenkins-bot [Tue, 10 Jul 2018 11:15:05 +0000 (11:15 +0000)]
Merge "mediawiki.inspect: Add headings to console and use console.group()"

5 years agoMerge "Fix the bug for dates between 1912 and 1941 in Thai language"
jenkins-bot [Tue, 10 Jul 2018 08:55:56 +0000 (08:55 +0000)]
Merge "Fix the bug for dates between 1912 and 1941 in Thai language"

5 years agoMerge "Use Language::equals to compare Language objects"
jenkins-bot [Tue, 10 Jul 2018 01:24:59 +0000 (01:24 +0000)]
Merge "Use Language::equals to compare Language objects"

5 years agoMerge "Language: compare on same object in equals()"
jenkins-bot [Tue, 10 Jul 2018 01:19:44 +0000 (01:19 +0000)]
Merge "Language: compare on same object in equals()"

5 years agoMerge "registration: Document ResourceLoaderImageModule's useDataURI option"
jenkins-bot [Tue, 10 Jul 2018 01:15:35 +0000 (01:15 +0000)]
Merge "registration: Document ResourceLoaderImageModule's useDataURI option"

5 years agoUse Language::equals to compare Language objects
Fomafix [Mon, 9 Jul 2018 04:26:57 +0000 (06:26 +0200)]
Use Language::equals to compare Language objects

With I8a47a8500922906bd4e4936b59b657de3bb9abdc Language::equals can
directly and faster compare the objects.

$wgLanguageCode can differ from $wgContLang->getCode() when a deprecated
language code is used. This change prevents this because Language
replaces deprecated language codes in Language::factory().

Change-Id: I07f47eceff8b3a4192278b1e9e1cfd9a41816a1c

5 years agoLanguage: compare on same object in equals()
Fomafix [Thu, 28 Jun 2018 07:04:09 +0000 (09:04 +0200)]
Language: compare on same object in equals()

Change-Id: I8a47a8500922906bd4e4936b59b657de3bb9abdc

5 years agomediawiki.inspect: Add headings to console and use console.group()
Timo Tijhof [Tue, 10 Jul 2018 00:25:20 +0000 (17:25 -0700)]
mediawiki.inspect: Add headings to console and use console.group()

This adds a log message before each dump to indicate which report follows.
Most of the table's headings communicated to some extend what the table is
about, but the heading should make it easier to use.

Also, where available, use console.group(), which makes the
tables collapsible for easier navigation.

Change-Id: I6855441ce6e3052cdc875e439380820b61d040c1

5 years agoregistration: Document ResourceLoaderImageModule's useDataURI option
jdlrobson [Mon, 9 Jul 2018 23:26:15 +0000 (16:26 -0700)]
registration: Document ResourceLoaderImageModule's useDataURI option

Without these rules, validation will fail in any skin or
extension that tries to use it.

Follows-up 36252b7.

Bug: T198930
Change-Id: Iee77655d4868a7d921be8cc23776a7859d9acf0c

5 years agoCSP: Allow an option of disabling nonces
Brian Wolff [Mon, 2 Jul 2018 06:52:51 +0000 (06:52 +0000)]
CSP: Allow an option of disabling nonces

The current rollout plan calls for initial rollout to only
disallow external JS, and leave removing unsafe inline stuff
to a later date. Thus this adds a useNonces option to the CSP
config to allow that.

Renamed ContentSecurityPolicy::isEnabled() to isNonceRequired
for clarity. The old name has never been in a released version
of MediaWiki, so is removed immediately.

Change-Id: I756d8e97b77c6f97dbbf040a20c8750fecb157c5

5 years agoMerge "Avoid arithmetics on localized number string ("0,04") in SpecialWatchlist"
jenkins-bot [Mon, 9 Jul 2018 23:53:13 +0000 (23:53 +0000)]
Merge "Avoid arithmetics on localized number string ("0,04") in SpecialWatchlist"

5 years agoMerge "Ensure whether user can rollback page in ChangesList"
jenkins-bot [Mon, 9 Jul 2018 22:34:40 +0000 (22:34 +0000)]
Merge "Ensure whether user can rollback page in ChangesList"

5 years agoSpecial:PasswordReset: Make the user field a user lookahead field, not just text
James D. Forrester [Mon, 9 Jul 2018 22:34:01 +0000 (15:34 -0700)]
Special:PasswordReset: Make the user field a user lookahead field, not just text

Change-Id: If7795ca038d230e4a9bc665bae0c90d534f0f3ad

5 years agoMerge "UsersMultiselectWidget: Reduce default non-JS rows to 10"
jenkins-bot [Mon, 9 Jul 2018 19:58:48 +0000 (19:58 +0000)]
Merge "UsersMultiselectWidget: Reduce default non-JS rows to 10"

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 9 Jul 2018 19:53:16 +0000 (21:53 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I9831872a1c218da0ac6b25c8b39548d269a64025

5 years agoMerge "Add a method to HTMLForm that allows the preText to be accessed externally."
jenkins-bot [Mon, 9 Jul 2018 18:35:24 +0000 (18:35 +0000)]
Merge "Add a method to HTMLForm that allows the preText to be accessed externally."

5 years agoMerge "Remove most uses of deprecated Language::truncate()"
jenkins-bot [Mon, 9 Jul 2018 18:29:18 +0000 (18:29 +0000)]
Merge "Remove most uses of deprecated Language::truncate()"

5 years agoMerge "Replace 'capsule' with appropriate 'tag'"
jenkins-bot [Mon, 9 Jul 2018 18:02:59 +0000 (18:02 +0000)]
Merge "Replace 'capsule' with appropriate 'tag'"

5 years agoMerge "Avoid losing cached ParserOutput in doEditContent."
jenkins-bot [Mon, 9 Jul 2018 17:57:23 +0000 (17:57 +0000)]
Merge "Avoid losing cached ParserOutput in doEditContent."

5 years agoReplace 'capsule' with appropriate 'tag'
Volker E [Mon, 9 Jul 2018 17:44:09 +0000 (19:44 +0200)]
Replace 'capsule' with appropriate 'tag'

UsersMultiselectWidget class extends OOUI's MenuTagMultiselectWidget,
not CapsuleMultiselectWidget any more.

Change-Id: Iea7450a371720bed392dfedb1032bc8c63c89fc4

5 years agoRemove most uses of deprecated Language::truncate()
C. Scott Ananian [Wed, 13 Jun 2018 17:49:29 +0000 (13:49 -0400)]
Remove most uses of deprecated Language::truncate()

The Language::truncate() function was split into
Language::truncateForVisual() (which measures characters) and
Language::truncateForDatabase() (which measures bytes) in 1.31, but
the patch which soft-deprecated Language::truncate() didn't actually
remove all the uses in the codebase.  Replace most of those old uses
now, which should actually improve the situation for
non-latin-alphabet users who were getting unfairly squeezed in a
number of places.

Bug: T197492
Change-Id: I2291c69d9df17c1a9e4ab1b7d4cbc73bc51d3ebb

5 years agoUsersMultiselectWidget: Reduce default non-JS rows to 10
Volker E [Mon, 9 Jul 2018 17:35:39 +0000 (19:35 +0200)]
UsersMultiselectWidget: Reduce default non-JS rows to 10

Reducing non-JS textarea `rows` attribute value to a more sane
default of `10`.

Bug: T194525
Change-Id: I6457ff354023a68d3e878e62161912dea4ff3d70

5 years agoAdd a method to HTMLForm that allows the preText to be accessed externally.
David Barratt [Mon, 9 Jul 2018 14:30:06 +0000 (10:30 -0400)]
Add a method to HTMLForm that allows the preText to be accessed externally.

Currently there is no way to access the preText outside of an HTMLForm. Adding
a getPreText method to HTMLForm so the preText is accessible.

Bug: T199115
Change-Id: I937028e7025b4a7b5d333e9bf5a25920f6a88316

5 years agoMerge "Allow ResourceLoaderImage modules without data URIs"
jenkins-bot [Mon, 9 Jul 2018 14:24:36 +0000 (14:24 +0000)]
Merge "Allow ResourceLoaderImage modules without data URIs"

5 years agoAvoid losing cached ParserOutput in doEditContent.
daniel [Sun, 8 Jul 2018 19:01:32 +0000 (21:01 +0200)]
Avoid losing cached ParserOutput in doEditContent.

Without this fix, the Content would be parsed twice during an edit,
if extensions that hook into EditFilter and similar
pre-parse hooks call WikiPage::prepareContentForEdit.

With this fix, ParserOutput created by prepareContentForEdit is
re-used by doEditContent.

This is a stop-gap solution. The Real Fix (tm) is to stop using
doEditContent, and use a PageUpdater instead.

Bug: T198483
Change-Id: I42123e48de2b087ef98d8a4855ee3aebd7f1de57

5 years agoMerge "Tweak 'mediawiki.skinning.elements' documentation"
jenkins-bot [Mon, 9 Jul 2018 12:34:28 +0000 (12:34 +0000)]
Merge "Tweak 'mediawiki.skinning.elements' documentation"

5 years agoTweak 'mediawiki.skinning.elements' documentation
Jack Phoenix [Wed, 4 Jul 2018 16:26:59 +0000 (19:26 +0300)]
Tweak 'mediawiki.skinning.elements' documentation

Skins haven't been a part of MediaWiki core for a while now,
they are very much separate things existing in their own,
separate repositories.

Change-Id: I55e3b6382b8fef3b25562b52580d1b1f902a760e

5 years agoHide TOC with CSS instead of JavaScript
Fomafix [Thu, 17 Aug 2017 21:56:40 +0000 (23:56 +0200)]
Hide TOC with CSS instead of JavaScript

Changes in the behavior:
* The toggle button generate no FOUC on loading.
* On keyboard navigation the toggle key is the space key and not the
  return key.
* Animation on hide and show is missing. Maybe a new animation with CSS
  can added.
* The state of the button is not saved in a cookie.
* Self-build TOCs can not get hidden.

Browser support:
* The new implementation does not need JavaScript and therefor it works
  on browser with disabled JavaScript and on Grade C browser.
* The new implementation requires the CSS pseudo-class selector
  :checked. Therefor IE8 and lower are not supported.

Risks:
* The new implementation needs additional HTML elements. These elements
  also get cached and crawled. The elements have no content so they get
  hopefully ignored by crawler.
* The new CSS code imitates some styles (link, focus). This must kept
  up to date.
* Multiple TOCs on one page would generate the same id attribute.
  This can avoided by appending a counter or better and easier a random
  string to the id attribute.

Bug: T195053
Change-Id: I82db33d656b3795d7134a91d20ed9d93a3471086

5 years agoMerge "Web installer: Correctly escape U+00A0 NO-BREAK SPACE"
jenkins-bot [Mon, 9 Jul 2018 04:26:42 +0000 (04:26 +0000)]
Merge "Web installer: Correctly escape U+00A0 NO-BREAK SPACE"

5 years agoWeb installer: Correctly escape U+00A0 NO-BREAK SPACE
Kevin Israel [Mon, 9 Jul 2018 02:27:52 +0000 (22:27 -0400)]
Web installer: Correctly escape U+00A0 NO-BREAK SPACE

Unicode escape sequences cannot be used in single quoted strings,
in which they are treated as literal text.

Follows-up 125cbd8c017b872c.

Change-Id: Ife53a613a801b8bb96542b42fd3d2bb3dccaf629

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 8 Jul 2018 21:05:10 +0000 (23:05 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Iedc84ad218c0997bf7a36637aa68c8b1f69189d6

5 years agoresourceloader: Add coverage for StartupModule::getAllModuleHashes
Timo Tijhof [Sun, 8 Jul 2018 06:48:35 +0000 (23:48 -0700)]
resourceloader: Add coverage for StartupModule::getAllModuleHashes

Change-Id: I94551a938cd93152eb1bb0a4748e1c0155539c4c

5 years agoMerge "Avoid deprecated IDatabase::getWikiId() reference"
jenkins-bot [Sat, 7 Jul 2018 23:07:45 +0000 (23:07 +0000)]
Merge "Avoid deprecated IDatabase::getWikiId() reference"

5 years agoAvoid deprecated IDatabase::getWikiId() reference
Aaron Schulz [Fri, 6 Jul 2018 19:19:51 +0000 (20:19 +0100)]
Avoid deprecated IDatabase::getWikiId() reference

Change-Id: I26991079b1630335c8a6e907554760fc85c1bad6

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 7 Jul 2018 20:08:00 +0000 (22:08 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I6cbbc67a417d2c38ea4ce6e155ce2f101d0fd52d

5 years agoFix ParserTestRunner DB table test prefix logic
Aaron Schulz [Sat, 7 Jul 2018 08:52:43 +0000 (09:52 +0100)]
Fix ParserTestRunner DB table test prefix logic

Follow-up to 6cfdbdf60

Bug: T198943
Change-Id: I3c3553f2ec6b5ca0d401712e4018c7eec4d9204d

5 years agoFix PhanTypeMismatchDeclaredParam
Umherirrender [Tue, 26 Jun 2018 21:14:43 +0000 (23:14 +0200)]
Fix PhanTypeMismatchDeclaredParam

Auto fix MediaWiki.Commenting.FunctionComment.DefaultNullTypeParam sniff

Change-Id: I865323fd0295aabd06f3e3c75e0e5043fb31069e

5 years agoMerge "Avoid duplicate IDs on Special:Preferences"
jenkins-bot [Fri, 6 Jul 2018 23:55:51 +0000 (23:55 +0000)]
Merge "Avoid duplicate IDs on Special:Preferences"

5 years agoAvoid arithmetics on localized number string ("0,04") in SpecialWatchlist
Edward Chernenko [Sun, 1 Jul 2018 02:10:56 +0000 (05:10 +0300)]
Avoid arithmetics on localized number string ("0,04") in SpecialWatchlist

In SpecialWatchlist::cutoffselector(), values like 1/24 or 6/24 are cast
to string via strval(). However, in some locales (e.g. ru_RU.utf8) strval
will return a localized form of the number, e.g. "0,04" instead of "0.04".

This "0,04" is then used in arithmetic operations, where it's treated as 0,
resulting in "0 hours" being shown instead of "1 hour", "2 hours", etc.

Bug: T198501
Change-Id: Iaa4e6170b30a7bb9ce0f22d9d2cc4772b0faa3b8

5 years agoRemove unused AuthManager::singleton() call
Reedy [Fri, 6 Jul 2018 23:08:27 +0000 (23:08 +0000)]
Remove unused AuthManager::singleton() call

Follows-up 3617c982c9db793.

Change-Id: I63aa3a747fea8e909bb34239871cda8316c54fe6

5 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 6 Jul 2018 20:08:47 +0000 (22:08 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I807826a81b162c38cdd874174cb886b307236327

5 years agoMerge "Remove hasOwnProperty checks in for-loops"
jenkins-bot [Fri, 6 Jul 2018 18:13:49 +0000 (18:13 +0000)]
Merge "Remove hasOwnProperty checks in for-loops"

5 years agoMerge "build: Enable and make pass no-prototype-builtins"
jenkins-bot [Fri, 6 Jul 2018 18:13:44 +0000 (18:13 +0000)]
Merge "build: Enable and make pass no-prototype-builtins"

5 years agoMerge "build: Upgrade eslint to 5.x"
jenkins-bot [Fri, 6 Jul 2018 18:13:39 +0000 (18:13 +0000)]
Merge "build: Upgrade eslint to 5.x"

5 years agoMerge "Use consistent caching strategy in Revision storage classes"
jenkins-bot [Fri, 6 Jul 2018 18:09:13 +0000 (18:09 +0000)]
Merge "Use consistent caching strategy in Revision storage classes"