lhc/web/wiklou.git
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 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 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 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 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 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"

5 years agoMerge "rdbms: add resolveDomainID() method to LBFactory/LoadBalancer"
jenkins-bot [Fri, 6 Jul 2018 17:54:01 +0000 (17:54 +0000)]
Merge "rdbms: add resolveDomainID() method to LBFactory/LoadBalancer"

5 years agoMerge "Allow extra slots in write-both/read-new mode."
jenkins-bot [Fri, 6 Jul 2018 17:53:55 +0000 (17:53 +0000)]
Merge "Allow extra slots in write-both/read-new mode."

5 years agoMerge "Introduce new schema flags and use them in RevisionStore."
jenkins-bot [Fri, 6 Jul 2018 17:53:44 +0000 (17:53 +0000)]
Merge "Introduce new schema flags and use them in RevisionStore."

5 years agoAllow ResourceLoaderImage modules without data URIs
jdlrobson [Thu, 5 Jul 2018 23:51:30 +0000 (16:51 -0700)]
Allow ResourceLoaderImage modules without data URIs

Bug: T198930
Change-Id: I13853a59222b38de0afde301a781af06067d4ddc

5 years agoMerge "Document return of void in Maintenance::execute"
jenkins-bot [Fri, 6 Jul 2018 16:45:09 +0000 (16:45 +0000)]
Merge "Document return of void in Maintenance::execute"

5 years agoRemove hasOwnProperty checks in for-loops
Timo Tijhof [Fri, 6 Jul 2018 02:46:56 +0000 (19:46 -0700)]
Remove hasOwnProperty checks in for-loops

There are some good uses of hasOwnProperty checks, but in for-loops
they only make sense if the object in question is not a plain
object (eg. class instance) and the code in question is explicitly
interested in instance properties. This is rare, but one example
exists in mediawiki.Uri, where it clones an instance by copying
properties from another instance.

Anywhere a plain object is looped over, the check is redundant
because Object.prototype has no enumerable own properties.

Both jQuery and ResourceLoader do not support environments
that alter Object.prototype to be that way, and the majority
of our for-loops actually already didn't have this check.

This commit removes the few hasOwnProperty checks that still
existed on for-loops over plain objects.

Side-note: jQuery.each() does an unfiltered for-loop, which means
           it too does not perform hasOwnProperty checks.

Change-Id: Ib5e5a04a5a8e21ab62b4e779117077ea5b0f8a47

5 years agobuild: Enable and make pass no-prototype-builtins
James D. Forrester [Fri, 6 Jul 2018 00:36:01 +0000 (17:36 -0700)]
build: Enable and make pass no-prototype-builtins

Change-Id: I26a98be16c005c1c864ec592e1a41b44943f8f29

5 years agobuild: Upgrade eslint to 5.x
James D. Forrester [Tue, 3 Jul 2018 22:22:32 +0000 (15:22 -0700)]
build: Upgrade eslint to 5.x

Add two exceptions for max-len and no-prototype-builtins.

Change-Id: I5d3f7a3e282a237fb5de9f0eb29b579a08c32652

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

Change-Id: I75564eab47b421513de065554c8351feb02c92fa

5 years agoMerge "Changing the default for $wgPageCreationLog to true"
jenkins-bot [Thu, 5 Jul 2018 19:11:12 +0000 (19:11 +0000)]
Merge "Changing the default for $wgPageCreationLog to true"

5 years agoAvoid duplicate IDs on Special:Preferences
Bartosz Dziewoński [Thu, 5 Jul 2018 18:35:03 +0000 (20:35 +0200)]
Avoid duplicate IDs on Special:Preferences

The value of the 'section' parameter is used to generate some ID
attributes on Special:Preferences. Awkwardly, only the second part
(after the slash) is used, so have to ensure these are unique.

It is also used for the default localisation message for the title of
the section. Override this so that we don't have to rename and
duplicate the messages.

Bug: T198875
Change-Id: I0f22aafc8b2ad860dd42c5373eafdf88e848e3ad

5 years agoMerge "Remove $wgBrowserBlacklist setting (deprecated, no-op)"
jenkins-bot [Thu, 5 Jul 2018 16:08:47 +0000 (16:08 +0000)]
Merge "Remove $wgBrowserBlacklist setting (deprecated, no-op)"

5 years agoUse consistent caching strategy in Revision storage classes
daniel [Tue, 3 Jul 2018 15:46:30 +0000 (17:46 +0200)]
Use consistent caching strategy in Revision storage classes

DEPLOYMENT: This changes the cache key for revision
content blobs. Expect a brief rise in ExternalStore hits.

Bug: T198704
Change-Id: Icc2d16bc5a1e27ba4caea49a784ba7aeac15042a

5 years agoMerge "Append new line character to output of populateChangeTagDef.php"
jenkins-bot [Thu, 5 Jul 2018 15:27:02 +0000 (15:27 +0000)]
Merge "Append new line character to output of populateChangeTagDef.php"

5 years agoMerge "Release note for getLaggedSlaveMode() removal"
jenkins-bot [Thu, 5 Jul 2018 15:11:57 +0000 (15:11 +0000)]
Merge "Release note for getLaggedSlaveMode() removal"

5 years agoAppend new line character to output of populateChangeTagDef.php
Amir Sarabadani [Thu, 5 Jul 2018 15:11:29 +0000 (17:11 +0200)]
Append new line character to output of populateChangeTagDef.php

Right now, I run it in prod and it's basically useless

Change-Id: Ieb11884c3e9243df3058118cf2d581e715892595

5 years agoMerge "Revert "Introduce RevisionStoreFactory & Tests""
jenkins-bot [Thu, 5 Jul 2018 15:08:36 +0000 (15:08 +0000)]
Merge "Revert "Introduce RevisionStoreFactory & Tests""

5 years agoRelease note for getLaggedSlaveMode() removal
Antoine Musso [Thu, 5 Jul 2018 14:44:33 +0000 (16:44 +0200)]
Release note for getLaggedSlaveMode() removal

Wikimedia\Rdbms\LoadBalancer::getLaggedSlaveMode() has been removed by
19b71ac216b33e4864f8e912817ace022b179bac  it has been deprecated since
1.28.

Add a release note entry for 1.32.

Change-Id: Ifd7190ac65da5a3c613a514d2380ee62fda733e7

5 years agordbms: add resolveDomainID() method to LBFactory/LoadBalancer
Aaron Schulz [Thu, 5 Jul 2018 12:50:57 +0000 (13:50 +0100)]
rdbms: add resolveDomainID() method to LBFactory/LoadBalancer

Also add LBFactory::getLocalDomainID to match the one in LoadBalancer

Change-Id: Ia31f0800bd3b692194c08b1eab9cfb2f43679c7a

5 years agoMerge "Add support for extra database connections in unit tests."
jenkins-bot [Thu, 5 Jul 2018 11:05:12 +0000 (11:05 +0000)]
Merge "Add support for extra database connections in unit tests."

5 years agoMerge "Remove outdated transition code"
jenkins-bot [Thu, 5 Jul 2018 11:05:07 +0000 (11:05 +0000)]
Merge "Remove outdated transition code"

5 years agoRemove outdated transition code
Adam Wight [Wed, 4 Jul 2018 22:45:09 +0000 (00:45 +0200)]
Remove outdated transition code

This was a soft transition left over from when "edittime" was the last
form parameter. It has been replaced with an explicit "ultimate" param.

Change-Id: I28767fdf8fab512830fe6e24cacabb598d7cca90