lhc/web/wiklou.git
6 years agoMerge "Make cache object mandatory for MessageCache"
jenkins-bot [Tue, 22 Nov 2016 22:40:13 +0000 (22:40 +0000)]
Merge "Make cache object mandatory for MessageCache"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 22 Nov 2016 22:04:40 +0000 (23:04 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Id1c8798fb4d6076580433962620e4be34be3fdc3

6 years agoMerge "test: fix @covers to non existent methods"
jenkins-bot [Tue, 22 Nov 2016 21:39:33 +0000 (21:39 +0000)]
Merge "test: fix @covers to non existent methods"

6 years agoMake cache object mandatory for MessageCache
Aaron Schulz [Tue, 22 Nov 2016 21:02:10 +0000 (13:02 -0800)]
Make cache object mandatory for MessageCache

The only caller is MessageCache::singleton().

Change-Id: Ifcf0d458b9c691d6dce90b56b2f0f7d35e6ddef3

6 years agoFix globbing for eslint
Brad Jorsch [Tue, 22 Nov 2016 19:34:02 +0000 (14:34 -0500)]
Fix globbing for eslint

Grunt's `**` matches symlinks but doesn't follow them, so `**/*.js`
matches files that `!extensions/**` doesn't see to exclude.

Bug: T151381
Change-Id: I5d8ae6e24f2fa09efc97db871b0c08d4fbc68efd

6 years agoHave phpcs skip local configuration files
Brad Jorsch [Tue, 22 Nov 2016 18:12:38 +0000 (13:12 -0500)]
Have phpcs skip local configuration files

There's little point in phpcs checking LocalSettings.php or the other
*.php files in .gitignore.

Change-Id: Ibea15a3f3a7bfe2571e253ba9e19c1d91dfddeff

6 years agoMerge "qunit: Update tests to not assume animations use setTimeout"
jenkins-bot [Tue, 22 Nov 2016 16:08:55 +0000 (16:08 +0000)]
Merge "qunit: Update tests to not assume animations use setTimeout"

6 years agotest: fix @covers to non existent methods
Antoine Musso [Tue, 22 Nov 2016 15:24:30 +0000 (16:24 +0100)]
test: fix @covers to non existent methods

MediaWikiTestCase::restoreLogger has been rename to plural form.

Cause:
    Trying to @cover or @use not existing method
    "MediaWikiTestCase::restoreLogger".

Change-Id: I4625f18992f62046e65c60ceca67d9aec170ccdc

6 years agoMerge "Include getPublicLogMessage() in double-exception messages"
jenkins-bot [Tue, 22 Nov 2016 11:41:42 +0000 (11:41 +0000)]
Merge "Include getPublicLogMessage() in double-exception messages"

6 years agoMerge "Replace deprecated jQuery bind() with on()"
jenkins-bot [Tue, 22 Nov 2016 09:05:56 +0000 (09:05 +0000)]
Merge "Replace deprecated jQuery bind() with on()"

6 years agoInclude getPublicLogMessage() in double-exception messages
Aaron Schulz [Mon, 21 Nov 2016 21:40:18 +0000 (13:40 -0800)]
Include getPublicLogMessage() in double-exception messages

Change-Id: I364e237f859d65fdcc29025c63c90ac2e0b96718

6 years agoWarn when a log context accidentally overrides a log processor
Gergő Tisza [Tue, 4 Oct 2016 00:24:58 +0000 (00:24 +0000)]
Warn when a log context accidentally overrides a log processor

Bug: T145133
Change-Id: I6677dbf608aac1d7fd6036f5e51977d56ce2fc57

6 years agoqunit: Update tests to not assume animations use setTimeout
Timo Tijhof [Tue, 22 Nov 2016 02:57:18 +0000 (18:57 -0800)]
qunit: Update tests to not assume animations use setTimeout

As of jQuery 1.12, animations use requestAnimationFrame in modern
browsers, which cannot be forced to finish synchronously by merely
mocking the 'setTimeout' and 'Date' clocks via Sinon.

For jquery.color, reduce duration from 10ms to 3ms (not 10ms which will
now be real time, not 0ms since we do want to test real frames).

Change-Id: Ie147fc2a91d2cd349b4031390f3c59b1bcfb65b5

6 years agoReplace deprecated jQuery bind() with on()
Timo Tijhof [Tue, 22 Nov 2016 02:16:43 +0000 (18:16 -0800)]
Replace deprecated jQuery bind() with on()

> JQMIGRATE: jQuery.fn.bind() is deprecated

Note that bind() is not removed in v3, merely deprecated.
Even after the jQuery Migrate phase, it will continue to work.

https://jquery.com/upgrade-guide/3.0/

Bug: T124742
Change-Id: I6bbd8f829ecf987228c6a5abd32c84e4e088a9bd

6 years agoresourceloader: Combine UC Mini startup regex with others
Timo Tijhof [Mon, 21 Nov 2016 23:02:06 +0000 (15:02 -0800)]
resourceloader: Combine UC Mini startup regex with others

Follows-up 2b1da77.

Also add "UC Mini" to the list of documented Grade C browsers,
and leave a note about regex combinations. (Follows-up 5d166eb).

Change-Id: I1b5307aec7fd1734d8a79a2256e061fceb20fa35

6 years agoMerge "Replace wgShowExceptionDetails with wgShowDBErrorBacktrace on db errors"
jenkins-bot [Mon, 21 Nov 2016 22:27:38 +0000 (22:27 +0000)]
Merge "Replace wgShowExceptionDetails with wgShowDBErrorBacktrace on db errors"

6 years agoReplace wgShowExceptionDetails with wgShowDBErrorBacktrace on db errors
Reedy [Mon, 21 Nov 2016 21:32:30 +0000 (21:32 +0000)]
Replace wgShowExceptionDetails with wgShowDBErrorBacktrace on db errors

Bug: T148957
Change-Id: I8891369156547e8931463a2fd55995cfa9e98ee7

6 years agoMerge "mediawiki.user: Simplify mw.user.generateRandomSessionId"
jenkins-bot [Mon, 21 Nov 2016 22:05:58 +0000 (22:05 +0000)]
Merge "mediawiki.user: Simplify mw.user.generateRandomSessionId"

6 years agoException renderer: Remove useless check for isCommandLine()
Chad Horohoe [Mon, 21 Nov 2016 21:47:09 +0000 (13:47 -0800)]
Exception renderer: Remove useless check for isCommandLine()

If we're on the cli, we would've never hit this else block

Change-Id: Idff009ab255b1907f752e0c6b5652715923b0ed7

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 21 Nov 2016 21:17:03 +0000 (22:17 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Iedcb68915b9d89f2046e84b27e623ff28d511c27

6 years agoMerge "updateCredits: Do not change working directory"
jenkins-bot [Mon, 21 Nov 2016 20:48:49 +0000 (20:48 +0000)]
Merge "updateCredits: Do not change working directory"

6 years agoMerge ".mailmap, CREDITS: Correct Alexandre Emsenhuber's (IAlex) name"
jenkins-bot [Mon, 21 Nov 2016 20:43:41 +0000 (20:43 +0000)]
Merge ".mailmap, CREDITS: Correct Alexandre Emsenhuber's (IAlex) name"

6 years agoMerge ".mailmap: Correct typos in introduction"
jenkins-bot [Mon, 21 Nov 2016 20:41:36 +0000 (20:41 +0000)]
Merge ".mailmap: Correct typos in introduction"

6 years agoSpecialActiveUsers: Allow excluding groups too
Bartosz Dziewoński [Fri, 18 Nov 2016 14:39:00 +0000 (15:39 +0100)]
SpecialActiveUsers: Allow excluding groups too

Also restore support for old 'hidebots' and 'hidesysops' options.

Bug: T116354
Change-Id: I68887509c3dbf74598a1af82623b9f0f5a1ab43d

6 years agoupdateCredits: Do not change working directory
Bartosz Dziewoński [Mon, 21 Nov 2016 14:39:26 +0000 (15:39 +0100)]
updateCredits: Do not change working directory

This allows the script to be used by MediaWiki extensions.
Example in UploadWizard: I181dda3ca3ef3f43e863482057b4949c1bc32e9b.

Change-Id: Ib121c6e226bdc1b3a8976c96b8d9f21546a1b5d3

6 years ago.mailmap, CREDITS: Correct Alexandre Emsenhuber's (IAlex) name
Bartosz Dziewoński [Mon, 21 Nov 2016 14:36:04 +0000 (15:36 +0100)]
.mailmap, CREDITS: Correct Alexandre Emsenhuber's (IAlex) name

Change-Id: I129fdefecced2092e201a27af131109c5e253712

6 years ago.mailmap: Correct typos in introduction
Bartosz Dziewoński [Mon, 21 Nov 2016 14:48:24 +0000 (15:48 +0100)]
.mailmap: Correct typos in introduction

Change-Id: Ib37b486639ab43aeb158b7ff36cecdff8fd0e571

6 years agoRemove unused MediaWikiTestCaseTest::GLOBAL_KEY_NONEXISTING
addshore [Sat, 19 Nov 2016 11:49:55 +0000 (11:49 +0000)]
Remove unused MediaWikiTestCaseTest::GLOBAL_KEY_NONEXISTING

Follow up to I6a1cf9a2e436978a6068cecdaf74aa58b31100ab
d544acdbbb71f07debba996cb5d8ff4c01d1430d

Change-Id: Ifaa8808aa4df72fbface99cc625bdaaba6e9b087

6 years agoregistration: FileExtensions should be an array, not an object
Reedy [Mon, 21 Nov 2016 02:43:50 +0000 (02:43 +0000)]
registration: FileExtensions should be an array, not an object

Change-Id: Iff44a4c241ab953906a7b0611f09e66856b1f7dc

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sun, 20 Nov 2016 20:57:44 +0000 (21:57 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I00eb99c8834b2e77cd753437444048939910d4cf

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Sat, 19 Nov 2016 20:54:08 +0000 (21:54 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Idc1396aa25ce815c796598f4d889a1c2a1972416

6 years agoMerge "mw.loader: Use for-loop instead of $.each()"
jenkins-bot [Sat, 19 Nov 2016 00:41:15 +0000 (00:41 +0000)]
Merge "mw.loader: Use for-loop instead of $.each()"

6 years agoMerge "resourceloader: Remove unused getPosition() code"
jenkins-bot [Sat, 19 Nov 2016 00:14:19 +0000 (00:14 +0000)]
Merge "resourceloader: Remove unused getPosition() code"

6 years agoMerge "content: Use Language::factory( 'en' ) instead of wfGetLangObj( 'en' )"
jenkins-bot [Fri, 18 Nov 2016 22:53:48 +0000 (22:53 +0000)]
Merge "content: Use Language::factory( 'en' ) instead of wfGetLangObj( 'en' )"

6 years agocontent: Use Language::factory( 'en' ) instead of wfGetLangObj( 'en' )
Fomafix [Mon, 14 Dec 2015 17:34:10 +0000 (17:34 +0000)]
content: Use Language::factory( 'en' ) instead of wfGetLangObj( 'en' )

'en' is a static value so wfGetLangObj always calls Language::factory.

Change-Id: I22df4f7321ffa3e62a552bd2f449bf27feb5c042

6 years agoMerge "Remove last remnants of pre-1.16 live preview"
jenkins-bot [Fri, 18 Nov 2016 21:56:35 +0000 (21:56 +0000)]
Merge "Remove last remnants of pre-1.16 live preview"

6 years agomw.loader: Use for-loop instead of $.each()
Timo Tijhof [Fri, 18 Nov 2016 21:18:43 +0000 (13:18 -0800)]
mw.loader: Use for-loop instead of $.each()

Change-Id: Iec632e90062f611add7b16b2f6f8fe839361be62

6 years agoMerge "Add 'tests' testsuite"
jenkins-bot [Fri, 18 Nov 2016 21:14:47 +0000 (21:14 +0000)]
Merge "Add 'tests' testsuite"

6 years agoMerge "Allow stashing of unset globals in MWTestCase"
jenkins-bot [Fri, 18 Nov 2016 21:09:35 +0000 (21:09 +0000)]
Merge "Allow stashing of unset globals in MWTestCase"

6 years agoMerge "Add $specialPageAliases for Bengali (bn)"
jenkins-bot [Fri, 18 Nov 2016 21:00:44 +0000 (21:00 +0000)]
Merge "Add $specialPageAliases for Bengali (bn)"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 18 Nov 2016 20:52:59 +0000 (21:52 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: Ibcd3105fe50f948278e7b039c9140e896f01b700

6 years agoAdd 'tests' testsuite
addshore [Fri, 18 Nov 2016 19:25:47 +0000 (19:25 +0000)]
Add 'tests' testsuite

This also fixed the testLoggersAreRestoredOnTearDown
test which was broken, and factors it out into
3 seperate tests

Bug: T151081
Change-Id: I00d29b501fa84db22e3bcd3d5642c49b2e99d4a0

6 years agoMerge "Make insertRedirectEntry() use upsert() to reduce contention"
jenkins-bot [Fri, 18 Nov 2016 19:21:05 +0000 (19:21 +0000)]
Merge "Make insertRedirectEntry() use upsert() to reduce contention"

6 years agoMerge "Rename getSlaveDB() FileRepo method to getReplicaDB()"
jenkins-bot [Fri, 18 Nov 2016 19:14:27 +0000 (19:14 +0000)]
Merge "Rename getSlaveDB() FileRepo method to getReplicaDB()"

6 years agoMake insertRedirectEntry() use upsert() to reduce contention
Aaron Schulz [Thu, 10 Nov 2016 21:32:48 +0000 (13:32 -0800)]
Make insertRedirectEntry() use upsert() to reduce contention

Bug: T150453
Change-Id: I89705b954d5ddaf337e57fcfd02691edaa32ec83

6 years agoresourceloader: Remove unused getPosition() code
Timo Tijhof [Mon, 7 Nov 2016 23:47:39 +0000 (23:47 +0000)]
resourceloader: Remove unused getPosition() code

Unused as of bc374082fa (T109837).

Change-Id: I1d8f7109bbe49700f1824fdce0439e958e84f6fa

6 years agoMerge "Add 'autocomplete' option to HTMLTextField"
jenkins-bot [Fri, 18 Nov 2016 18:41:16 +0000 (18:41 +0000)]
Merge "Add 'autocomplete' option to HTMLTextField"

6 years agoMerge "Add hooks to Special:TrackingCategories"
jenkins-bot [Fri, 18 Nov 2016 18:28:56 +0000 (18:28 +0000)]
Merge "Add hooks to Special:TrackingCategories"

6 years agoRename getSlaveDB() FileRepo method to getReplicaDB()
Aaron Schulz [Fri, 18 Nov 2016 15:42:39 +0000 (07:42 -0800)]
Rename getSlaveDB() FileRepo method to getReplicaDB()

The old name is left as an alias.

Change-Id: I60ab2cd5ce05df4247d5e25b017d2debee56554e

6 years agoAllow stashing of unset globals in MWTestCase
addshore [Fri, 18 Nov 2016 13:55:21 +0000 (13:55 +0000)]
Allow stashing of unset globals in MWTestCase

Change-Id: I6a1cf9a2e436978a6068cecdaf74aa58b31100ab

6 years agoMerge "mw.loader: For using() errors, reject Promise instead of throwing"
jenkins-bot [Fri, 18 Nov 2016 09:35:30 +0000 (09:35 +0000)]
Merge "mw.loader: For using() errors, reject Promise instead of throwing"

6 years agoregistration: Set "FileExtensions" to $GLOBALS
Reedy [Thu, 17 Nov 2016 22:36:09 +0000 (22:36 +0000)]
registration: Set "FileExtensions" to $GLOBALS

Change-Id: Ie52004d25ebc06c81cd7d8d7de60479ff365ccea

6 years agoregistration: Support setting $wgPasswordPolicy in extension.json
Reedy [Mon, 31 Oct 2016 17:12:56 +0000 (17:12 +0000)]
registration: Support setting $wgPasswordPolicy in extension.json

Bug: T149597
Change-Id: I56c0b8932fcd42ec9b748529daa32a998fb19bf8

6 years agoMerge "eslint: Re-enable valid-jsdoc and make a pass"
jenkins-bot [Thu, 17 Nov 2016 21:15:28 +0000 (21:15 +0000)]
Merge "eslint: Re-enable valid-jsdoc and make a pass"

6 years agomw.loader: For using() errors, reject Promise instead of throwing
Timo Tijhof [Thu, 17 Nov 2016 20:59:09 +0000 (12:59 -0800)]
mw.loader: For using() errors, reject Promise instead of throwing

The "Unknown module" and "Circular dependency" errors both come from the
resolve() function. Add a try/catch around that and reject the promise
if caught.

Bug: T131612
Change-Id: I900909cd00df6a51f3bf1f3df91bdb610c11c446

6 years agoeslint: Re-enable valid-jsdoc and make a pass
Ed Sanders [Wed, 16 Nov 2016 13:02:22 +0000 (13:02 +0000)]
eslint: Re-enable valid-jsdoc and make a pass

Change-Id: I5c3c942d5a9c51628619227c4bbaefd1d92a842d

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 17 Nov 2016 21:03:19 +0000 (22:03 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I043af13a04eda33e421557da4766fc1d898ea508

6 years agoAdd 'autocomplete' option to HTMLTextField
Gergő Tisza [Thu, 17 Nov 2016 18:39:23 +0000 (18:39 +0000)]
Add 'autocomplete' option to HTMLTextField

Adds support for the 'autocomplete' HTML attribute to HTMLTextField
(mainly for turning it off, but other values are supported as well).
Renames 'autocomplete' to 'autocomplete-data' (with temporary B/C)
in HTMLAutoCompleteSelectField to make space.

Change-Id: Ic0539d5a61d9862e670d10686adc1e41f65d908e

6 years agoMerge "resourceloader: Remove top/bottom queue distinction"
jenkins-bot [Thu, 17 Nov 2016 14:27:07 +0000 (14:27 +0000)]
Merge "resourceloader: Remove top/bottom queue distinction"

6 years agoMerge "Add GENDER support for "you are blocked" messages in ChangeTags"
jenkins-bot [Thu, 17 Nov 2016 08:46:19 +0000 (08:46 +0000)]
Merge "Add GENDER support for "you are blocked" messages in ChangeTags"

6 years agoMerge "Use different varname for upgraded hash from original hash"
jenkins-bot [Thu, 17 Nov 2016 06:43:37 +0000 (06:43 +0000)]
Merge "Use different varname for upgraded hash from original hash"

6 years agoMerge "resourceloader: Add tests to verify empty string works"
jenkins-bot [Thu, 17 Nov 2016 01:46:03 +0000 (01:46 +0000)]
Merge "resourceloader: Add tests to verify empty string works"

6 years agoresourceloader: Add tests to verify empty string works
Timo Tijhof [Thu, 17 Nov 2016 01:15:04 +0000 (17:15 -0800)]
resourceloader: Add tests to verify empty string works

It's not explicitly supported anywhere, but I don't see a point in explicitly
disallowing it. Add unit tests to verify that this works.

Bug: T28804
Change-Id: I876ac43885bb27da54ef6e59b6416868ff636b84

6 years agoMerge "Fix UserTest case that was missing a cache purge"
jenkins-bot [Thu, 17 Nov 2016 01:12:06 +0000 (01:12 +0000)]
Merge "Fix UserTest case that was missing a cache purge"

6 years agoFix UserTest case that was missing a cache purge
Aaron Schulz [Thu, 17 Nov 2016 00:38:09 +0000 (16:38 -0800)]
Fix UserTest case that was missing a cache purge

The process cache is based on blind-TTL, so purge it to
test the persistent cache properly.

Change-Id: I8ee78a1e73bf5164e74b1e8a23559c2e91bba6dd

6 years agoMerge "Skin: Reduce database queries for footer links on every page"
jenkins-bot [Thu, 17 Nov 2016 00:31:48 +0000 (00:31 +0000)]
Merge "Skin: Reduce database queries for footer links on every page"

6 years agoMerge "Password list only has 10,000 passwords, not 50k"
jenkins-bot [Wed, 16 Nov 2016 21:25:56 +0000 (21:25 +0000)]
Merge "Password list only has 10,000 passwords, not 50k"

6 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 16 Nov 2016 21:10:52 +0000 (22:10 +0100)]
Localisation updates from https://translatewiki.net.

Change-Id: I50135dc784bb7e110e08f5216db755a4c052ae05

6 years agoPassword list only has 10,000 passwords, not 50k
Reedy [Wed, 16 Nov 2016 21:09:11 +0000 (21:09 +0000)]
Password list only has 10,000 passwords, not 50k

Follows up I26a9e8f2318a1eed33d7638b125695e8de3a9796

Change-Id: I15a02289d35c4c22091fc6c64d91f1ba7f89e495

6 years agoSkin: Reduce database queries for footer links on every page
Timo Tijhof [Sat, 8 Oct 2016 01:15:15 +0000 (03:15 +0200)]
Skin: Reduce database queries for footer links on every page

When viewing Special:Blankpage there are still 6 database queries
on every page view. 3 of these are from the Skin:

> $tpl->set( 'disclaimer', $this->disclaimerLink() );
> $tpl->set( 'privacy', $this->privacyLink() );
> $tpl->set( 'about', $this->aboutLink() );

In Wikimedia production, Xenon flame graphs (reversed) for index.php
attribute 22% of LinkCache::fetchPageRow calls to Skin::footerLink().

Add them to Skin::preloadExistence() instead.

Change-Id: I61c285be08a2130fb39b75ca717ea83f297c4489

6 years agoAdd var to User class to store block type for eventlogging purposes
niharika29 [Tue, 8 Nov 2016 14:44:13 +0000 (14:44 +0000)]
Add var to User class to store block type for eventlogging purposes

Bug: T146230
Change-Id: I70b54243a3018191a4e0cc311e90f66d240e1813

6 years agoresourceloader: Remove top/bottom queue distinction
Timo Tijhof [Mon, 7 Nov 2016 23:47:15 +0000 (23:47 +0000)]
resourceloader: Remove top/bottom queue distinction

* The styles queue has always been top-only
  (except for a few months in 2015).
* The top queue loads asynchronous since mid-2015. (T107399)
  And LocalStorage eval, previously the last remaining non-async part
  of module loading, is also async as of October 2016. (T142129)

* This change merges the bottom 'mw.loader.load()' queue with the top queue.
  It also moves any other snippets potentially in the bottom queue still:
  - embed: I couldn't find any private modules with position=bottom
     (doesn't make sense due to their blocking nature). If any do exist,
     (third-party extensions?), they'll now be embedded in the <head>.
  - scripts: Any legacy 'only=scripts' requests will now initiate
     from the <head>.

Bug: T109837
Change-Id: I6c21e3e47c23df33a04c42ce94bd4c1964599c7f

6 years agoMerge "LegacyLogger: Fix @return documentation for formatAsWfDebugLog()"
jenkins-bot [Wed, 16 Nov 2016 19:24:19 +0000 (19:24 +0000)]
Merge "LegacyLogger: Fix @return documentation for formatAsWfDebugLog()"

6 years agoFollow-up 1cc3a57: Move changes from RELEASE-NOTES-1.28 to 1.29
James D. Forrester [Wed, 16 Nov 2016 18:58:27 +0000 (10:58 -0800)]
Follow-up 1cc3a57: Move changes from RELEASE-NOTES-1.28 to 1.29

1.28.0 has already branched and this won't be back-ported.

Change-Id: I1ac1bbc992c665accd3df512eeb6a40ee790ec41

6 years agoLegacyLogger: Fix @return documentation for formatAsWfDebugLog()
Timo Tijhof [Wed, 16 Nov 2016 18:56:04 +0000 (10:56 -0800)]
LegacyLogger: Fix @return documentation for formatAsWfDebugLog()

Follows-up 81e8d7af4.

Change-Id: I04a1bb53e5d35434166596edda4cdb1fe189964b

6 years agoMerge "Send a cookie with autoblocks to prevent vandalism."
jenkins-bot [Wed, 16 Nov 2016 18:44:20 +0000 (18:44 +0000)]
Merge "Send a cookie with autoblocks to prevent vandalism."

6 years agoMerge "Add --msleep option to purgeParserCache.php"
jenkins-bot [Wed, 16 Nov 2016 18:40:49 +0000 (18:40 +0000)]
Merge "Add --msleep option to purgeParserCache.php"

6 years agoSend a cookie with autoblocks to prevent vandalism.
Tyler Anthony Romeo [Thu, 7 Feb 2013 21:56:54 +0000 (16:56 -0500)]
Send a cookie with autoblocks to prevent vandalism.

Send a cookie with blocks that have autoblock turned on so that
the user will be identified to MediaWiki and any IP they try
to edit anonymously from will be blocked, even without logging
in to the originally blocked account. Additionally, the block
info is stored in local storage as well as an even stronger
deterrence.

Note: this is meant to deter normal vandals, i.e., not attackers
who know what cookies and local storage are and will be actively
removing the cookie.

This feature is disabled by default, and can be enabled with the
new $wgCookieSetOnAutoblock configuration variable (by setting
it to true);

The cookie will expire at the same time as the block or after
$wgCookieExpiration (whichever is sooner).

Bug: T5233
Bug: T147610
Change-Id: Ic3383af56c555c1592d272490ff4da683b9d7b1b

6 years agoMessageCache invalidation improvements
Aaron Schulz [Thu, 27 Oct 2016 06:38:30 +0000 (23:38 -0700)]
MessageCache invalidation improvements

* Increase time range for getValidationHash() using "latest" values.
  The lower value ran the risk of regenerating from slaves and ending
  up with *older* data than what was there.
* Avoid cache set() calls in replace() unless the lock was acquired.
  Use delete() instead in that case, which invalidates the cache.
* Remember if the cache is volatile in process memory instead of doing
  check key lookups for each "big" message to determine this. Use the
  message hash in the big message keys so purges to the former chain
  down to the latter. An "EXCESSIVE" key/revision map is now used in
  the main cache for big messages. This means that editing an existing
  big message will result in a different hash value. This is needed so
  purges propage correctly.
* Add logging when replace() fails to acquire the lock.
* Factored message cache update code duplication into a new method.
* Use makeKey() in more places, replacing deprecated wfMemcKey().

Change-Id: Idc337a787171949c4f70186b13d7b65304c9b57f

6 years agoMerge "mw.ForeignStructuredUpload.BookletLayout: Remove incorrect comment"
jenkins-bot [Wed, 16 Nov 2016 11:26:44 +0000 (11:26 +0000)]
Merge "mw.ForeignStructuredUpload.BookletLayout: Remove incorrect comment"

6 years agomw.ForeignStructuredUpload.BookletLayout: Remove incorrect comment
Bartosz Dziewoński [Wed, 16 Nov 2016 10:42:25 +0000 (11:42 +0100)]
mw.ForeignStructuredUpload.BookletLayout: Remove incorrect comment

This was added in c0fb8a883633f110a8083a164672e8334714d450;
the issue was fixed in f2fbab67a16dec81cd1cd4751b5bb820f064b523.

Change-Id: I61d9af66f34d97765ed1b32e305e017779cb93ca

6 years agoRevert "objectcache: detect default getWithSetCallback() set options"
Hashar [Wed, 16 Nov 2016 10:35:20 +0000 (10:35 +0000)]
Revert "objectcache: detect default getWithSetCallback() set options"

Causes HHVM 3.12.7 to segfault and or:
Fatal error: Stack overflow in includes/libs/objectcache/BagOStuff.php on line 754

This reverts commit b47ce21cec3a4340dd37c773210a514350f10297.

Bug: T150833
Change-Id: Ia52fdf65f5e386c0eaa1046328680fb5c8a9081a

6 years agoMerge "Reduce default cookie expiration time to 30 days"
jenkins-bot [Wed, 16 Nov 2016 08:37:07 +0000 (08:37 +0000)]
Merge "Reduce default cookie expiration time to 30 days"

6 years agoReduce default cookie expiration time to 30 days
Gergő Tisza [Tue, 15 Nov 2016 02:51:31 +0000 (02:51 +0000)]
Reduce default cookie expiration time to 30 days

Cookie expiration time was increased to 180 day in 7d7ebfc to make
logins last longer. Since 16cea35 made login cookie length separately
configurable, this setting does not make much sense anymore and should
be restored to a more privacy-friendly default.

Change-Id: Ia2d200a20c4954fa7cd50197f44471e98061a425

6 years agomediawiki.user: Simplify mw.user.generateRandomSessionId
Fomafix [Sat, 14 Feb 2015 10:24:15 +0000 (10:24 +0000)]
mediawiki.user: Simplify mw.user.generateRandomSessionId

* Remove lookup table for hex strings.
* Convert 32 bit instead of 8 bit to hex at once.

Change-Id: I6e6ac9e0813c4ba540e0a53b8e6667162cb60bf7

6 years agoMerge "objectcache: Remove broken cas() method from WinCacheBagOStuff"
jenkins-bot [Wed, 16 Nov 2016 05:12:26 +0000 (05:12 +0000)]
Merge "objectcache: Remove broken cas() method from WinCacheBagOStuff"

6 years agoobjectcache: Remove broken cas() method from WinCacheBagOStuff
Aaron Schulz [Fri, 11 Nov 2016 20:14:51 +0000 (12:14 -0800)]
objectcache: Remove broken cas() method from WinCacheBagOStuff

Bug: T120896
Change-Id: I9406a50df8e900b4fc5861c2174ba7a63a0dd765

6 years agoobjectcache: detect default getWithSetCallback() set options
Aaron Schulz [Sat, 22 Oct 2016 04:12:12 +0000 (21:12 -0700)]
objectcache: detect default getWithSetCallback() set options

This works by setting a callback to return the cache set
options. The callback will watch DB reads and create a
merged result from said usage.

This handles callers that are missing getCacheSetOptions().

Change-Id: Ia264f011e45e8cf105480955dad7e2c4c2357b73

6 years agoMerge "Make NumericUppercaseCollation use localized digit transforms"
jenkins-bot [Wed, 16 Nov 2016 02:46:31 +0000 (02:46 +0000)]
Merge "Make NumericUppercaseCollation use localized digit transforms"

6 years agoMerge "Add first letter data for bn collation (Standard and Traditional)"
jenkins-bot [Wed, 16 Nov 2016 02:16:20 +0000 (02:16 +0000)]
Merge "Add first letter data for bn collation (Standard and Traditional)"

6 years agoMerge "build: Bump eslint-config-wikimedia to v0.3.0 (already passes)"
jenkins-bot [Wed, 16 Nov 2016 01:25:28 +0000 (01:25 +0000)]
Merge "build: Bump eslint-config-wikimedia to v0.3.0 (already passes)"

6 years agoRewrite runBatchedQuery.php
Tim Starling [Tue, 15 Nov 2016 05:11:15 +0000 (16:11 +1100)]
Rewrite runBatchedQuery.php

This maintenance script was previously introduced as a way to do large
UPDATE queries in a replication safe way. However, in modern versions of
MySQL, UPDATE...LIMIT is considered a non-replication-safe query, and
will emit a warning.

So instead, ask the user to provide slightly more structured data about
the update query being done, and partition the table based on an index.
In the UPDATE queries, specify index ranges instead of using LIMIT.

Also add a "db" option, which allows the script to update databases
which are not valid wiki names, for example, centralauth.

Change-Id: I462bdcb03e107af9db4738895952d5110f0ec4fc

6 years agoMerge "build: Replace jscs+jshint with eslint"
jenkins-bot [Wed, 16 Nov 2016 00:21:23 +0000 (00:21 +0000)]
Merge "build: Replace jscs+jshint with eslint"

6 years agoMerge "Throttler: improve log message compatibility with Monolog logger"
jenkins-bot [Wed, 16 Nov 2016 00:18:12 +0000 (00:18 +0000)]
Merge "Throttler: improve log message compatibility with Monolog logger"

6 years agoAdd first letter data for bn collation (Standard and Traditional)
Brian Wolff [Thu, 27 Oct 2016 08:09:11 +0000 (08:09 +0000)]
Add first letter data for bn collation (Standard and Traditional)

This is based solely on looking at the bn.txt collation data
file. It has not been tested by native speakers.

Bug: T148885
Change-Id: Ide926bc5ee8752269ef6a1bfe972e19b7188d193

6 years agoMerge "Add ParserFetchTemplate hook"
jenkins-bot [Tue, 15 Nov 2016 23:36:18 +0000 (23:36 +0000)]
Merge "Add ParserFetchTemplate hook"

6 years agobuild: Bump eslint-config-wikimedia to v0.3.0 (already passes)
James D. Forrester [Tue, 15 Nov 2016 23:15:18 +0000 (15:15 -0800)]
build: Bump eslint-config-wikimedia to v0.3.0 (already passes)

Change-Id: Iee727a4521acd8c221733c7bd763cbf2adb9bd49

6 years agobuild: Replace jscs+jshint with eslint
Ed Sanders [Tue, 15 Nov 2016 21:02:04 +0000 (21:02 +0000)]
build: Replace jscs+jshint with eslint

Change-Id: Id0a23c03aabadfaf2ec705528ae4b3bd0908fa3e

6 years agoMerge "parserTests: Use a mock parser during article insertion"
jenkins-bot [Tue, 15 Nov 2016 22:47:23 +0000 (22:47 +0000)]
Merge "parserTests: Use a mock parser during article insertion"

6 years agoThrottler: improve log message compatibility with Monolog logger
Bryan Davis [Tue, 15 Nov 2016 22:18:08 +0000 (15:18 -0700)]
Throttler: improve log message compatibility with Monolog logger

The `type` log event attribute is used in Wikimedia production logging
to categorize log events by source (e.g. 'mediawiki', 'restbase', etc).
Adding a `type` key to the logging context overwrites the default value
of 'mediawiki'. Rename the key to `throttle` in the context and the
message template.

Change-Id: Ic274159774e43a8749f83c850fff7897956cf377