lhc/web/wiklou.git
7 years agoSECURITY: Add data attribute to patrol links so it can't be spoofed by user
Brian Wolff [Tue, 27 Oct 2015 08:31:00 +0000 (02:31 -0600)]
SECURITY: Add data attribute to patrol links so it can't be spoofed by user

Javascript used to look just for the patrollinks class, which
could be set by the user in order to patrol an arbitrary page.

Bug: T103239
Change-Id: I13fcc3ce479c0a4a90a6217c2e5244f051eaf862

Signed-off-by: Chad Horohoe <chadh@wikimedia.org>
7 years agoAPI: Add "standard" header and hook for lacksSameOriginSecurity()
Brad Jorsch [Fri, 8 May 2015 14:20:30 +0000 (10:20 -0400)]
API: Add "standard" header and hook for lacksSameOriginSecurity()

The header is intended for use with XMLHttpRequest when the request
might be part of an XSS. The hook is for extensions that might need to
add additional checks of some sort.

Bug: T98313
Change-Id: I0e5f2d3b29a79a12461dc33c90c812a56810f536

Signed-off-by: Chad Horohoe <chadh@wikimedia.org>
7 years agoImprove unstyled updatedmarker
Volker E [Wed, 18 May 2016 20:35:34 +0000 (13:35 -0700)]
Improve unstyled updatedmarker

This is the "changed since your last visit" marker that you'll
see on ?action=history for a page on your watchlist, marking
edits that were made since you last viewed the page.
updatedmarker is styled by some skins, but not all of them.
Updating CSS selector and involved colors to address some of the concerns
and improving consistency.

Bug: T134515
Change-Id: Ib21ee453f0fa71fc8f516db1fec71096d962d194

7 years agoMerge "Enable AuthManager by default"
jenkins-bot [Fri, 20 May 2016 15:47:50 +0000 (15:47 +0000)]
Merge "Enable AuthManager by default"

7 years agoMerge "build: Bump grunt-stylelint to v0.3.0"
jenkins-bot [Fri, 20 May 2016 12:22:15 +0000 (12:22 +0000)]
Merge "build: Bump grunt-stylelint to v0.3.0"

7 years agoMerge "jsduck: Sort list of globals in jsduck.json"
jenkins-bot [Fri, 20 May 2016 03:45:45 +0000 (03:45 +0000)]
Merge "jsduck: Sort list of globals in jsduck.json"

7 years agoMerge "mw.loader: Optimise hot code paths in addEmbeddedCSS()"
jenkins-bot [Fri, 20 May 2016 03:44:16 +0000 (03:44 +0000)]
Merge "mw.loader: Optimise hot code paths in addEmbeddedCSS()"

7 years agojsduck: Sort list of globals in jsduck.json
Timo Tijhof [Wed, 18 May 2016 20:01:29 +0000 (21:01 +0100)]
jsduck: Sort list of globals in jsduck.json

Change-Id: Ifb920c055740575edcda0b4f460cc8c5b377ba87

7 years agoMerge "Limit DELETE in purgeExpiredRestrictions() and use primary key"
jenkins-bot [Fri, 20 May 2016 02:48:00 +0000 (02:48 +0000)]
Merge "Limit DELETE in purgeExpiredRestrictions() and use primary key"

7 years agoUndo translations of message changes from 6ffabb26
Bartosz Dziewoński [Fri, 20 May 2016 01:12:15 +0000 (03:12 +0200)]
Undo translations of message changes from 6ffabb26

I reverted them all on translatewiki.net by hand, then imported here with
a quick script: https://phabricator.wikimedia.org/F4032850.
(Changes were then reviewed and some weird ones undone by hand.)

All the important work was on translatewiki.net, this commit could as well
be done by the localisation bot, but we want it now to deploy it.

Bug: T135773
Change-Id: Iaa6797939fa52619d1bbd8d7e0dad8409687d3cd

7 years agoMerge "Revert "Convert Special:WhatLinksHere from XML form to OOUI form""
jenkins-bot [Thu, 19 May 2016 21:38:11 +0000 (21:38 +0000)]
Merge "Revert "Convert Special:WhatLinksHere from XML form to OOUI form""

7 years agoRevert "Convert Special:WhatLinksHere from XML form to OOUI form"
TheDJ [Thu, 19 May 2016 21:24:28 +0000 (21:24 +0000)]
Revert "Convert Special:WhatLinksHere from XML form to OOUI form"

This cannot be the design that was intended here...

This reverts commit 6ffabb260b60497a732b9b46610ec9fd0f9f71f9.

Bug: T135773
Change-Id: Id6ab2ba04c443981cc406c4372c9a809c937c566

7 years agoMerge "PHPUnit: turn off verbose option"
jenkins-bot [Thu, 19 May 2016 20:45:25 +0000 (20:45 +0000)]
Merge "PHPUnit: turn off verbose option"

7 years agoLimit DELETE in purgeExpiredRestrictions() and use primary key
Aaron Schulz [Tue, 17 May 2016 11:19:29 +0000 (04:19 -0700)]
Limit DELETE in purgeExpiredRestrictions() and use primary key

This should help reduce contention in some cases.
If too many rows are expired, subsequent updates will
clear them out.

Bug: T135470
Change-Id: Iada496d0db9b00e77037320d7c65124a8c8f68c0

7 years agoMerge "Localisation updates from https://translatewiki.net."
Translation updater bot [Thu, 19 May 2016 20:03:02 +0000 (20:03 +0000)]
Merge "Localisation updates from https://translatewiki.net."

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 19 May 2016 19:57:18 +0000 (21:57 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I23caefae3374028db6475f66244c1ec3627f49ec

7 years agoUse inNamespace in CategoryPage
Niklas Laxström [Thu, 19 May 2016 12:48:26 +0000 (14:48 +0200)]
Use inNamespace in CategoryPage

Change-Id: I55dae5163d62c25536fb040764cab99cd4deb9b7

7 years agoMerge "exception: Create generic BadRequestError based on ErrorPageError"
jenkins-bot [Thu, 19 May 2016 19:12:48 +0000 (19:12 +0000)]
Merge "exception: Create generic BadRequestError based on ErrorPageError"

7 years agoexception: Create generic BadRequestError based on ErrorPageError
Timo Tijhof [Tue, 17 May 2016 21:22:05 +0000 (22:22 +0100)]
exception: Create generic BadRequestError based on ErrorPageError

Ideally this would be an option in ErrorPageError (perhaps even the default),
but its constructor isn't very suitable for that.

After this lands, uses of ErrorPageError should be audited to see if it makes
sense to emit a 400 status code.

Change-Id: I4beb6a4f256446b98b66d5e4bcdbab8f247441a8

7 years agoAPI: Handle shorthand "all groups" configuration in ApiQuerySiteInfo
Brad Jorsch [Tue, 17 May 2016 13:35:10 +0000 (09:35 -0400)]
API: Handle shorthand "all groups" configuration in ApiQuerySiteInfo

In $wgAddGroups, $wgRemoveGroups, $wgGroupsAddToSelf, and
$wgGroupsRemoveFromSelf, boolean true in place of an array of groups to
allow adding/removing is shorthand for "all groups". Handle this
appropriately in action=query&meta=siteinfo&siprop=usergroups.

Bug: T135467
Change-Id: I6ae61ef14ac7932e3369155c56bad60a9d72060d

7 years agoMerge "Highlight new requirement"
jenkins-bot [Thu, 19 May 2016 18:51:26 +0000 (18:51 +0000)]
Merge "Highlight new requirement"

7 years agobuild: Bump grunt-stylelint to v0.3.0
James D. Forrester [Thu, 19 May 2016 18:05:36 +0000 (19:05 +0100)]
build: Bump grunt-stylelint to v0.3.0

Change-Id: I012d8b8cb2851270180f1a981c49a8a5043ae218

7 years agomw.loader: Optimise hot code paths in addEmbeddedCSS()
Timo Tijhof [Wed, 18 May 2016 18:25:14 +0000 (19:25 +0100)]
mw.loader: Optimise hot code paths in addEmbeddedCSS()

addEmbeddedCSS() is a big part of the hot code path that moves a module from
state "loaded" to "ready". Especially on repeat views (where most loads
are cache hits from local storage), this is the main thing that JS spends time
on before running scripts (which must wait for the styles to apply first).

* newStyleTag: Avoid use of jQuery.
  Before
  - jQuery()
    - jQuery#init
  - jQuery#before
    - jQuery#domManip, jQuery#buildFragment, jQuery#inArray
    - Node#insertBefore
  - Node#appendChild
  After
  - Node#insertBefore
  - Node#appendChild

* getMarker: Store raw Node instead of jQuery object. Makes it easy for other
  code to avoid jQuery. And for those that don't, creating a jQuery object is cheap.
  Also use querySelector directly since it's ensured by our feature test.
  The only cases jQuery/Sizzle accounts with querySelector is IE8 (already excluded
  by our feature test), and Opera 12 (in an edge case that doesn't apply to this
  selector).

  Before
  - jQuery
    - jQuery#init
  - jQuery#find
    - Sizzle
    - querySelectorAll
  - jQuery#pushStack
  After
  - querySelector

* addEmbeddedCSS: This was needlessly calling the fairly slow .data() method for
  all style tags in all browsers. It should've been guarded by IE<=9 if-statement.
  The consumer of this data property already had that check. The setter did not.

  Before:
  - getMarker
    - ..
  - newStyleTag
    - ..
  - jQuery#data
    - jQuery#each, jQuery#data, internalData, ..
  - fireCallbacks
    - ..
  After
  - getMarker
  - newStyleTag
  - fireCallbacks
    - ..

Change-Id: Ie5b5195d337b5d88f0c2ca69d15b13a4fb9d87e2

7 years agoMerge "API: Avoid duplicate IDs in API documentation"
jenkins-bot [Thu, 19 May 2016 17:57:26 +0000 (17:57 +0000)]
Merge "API: Avoid duplicate IDs in API documentation"

7 years agoMerge "ResourcesOOUI: Remove deprecated oojs-ui.styles module"
jenkins-bot [Thu, 19 May 2016 17:46:18 +0000 (17:46 +0000)]
Merge "ResourcesOOUI: Remove deprecated oojs-ui.styles module"

7 years agoMerge "mediawiki.page.patrol: Use this.href instead of $(this).attr('href')"
jenkins-bot [Thu, 19 May 2016 17:45:24 +0000 (17:45 +0000)]
Merge "mediawiki.page.patrol: Use this.href instead of $(this).attr('href')"

7 years agoMerge "build: Enforce stylelints on fonts"
jenkins-bot [Thu, 19 May 2016 17:45:20 +0000 (17:45 +0000)]
Merge "build: Enforce stylelints on fonts"

7 years agoResourcesOOUI: Remove deprecated oojs-ui.styles module
James D. Forrester [Thu, 11 Feb 2016 22:35:18 +0000 (14:35 -0800)]
ResourcesOOUI: Remove deprecated oojs-ui.styles module

Change-Id: I4e6b8897d9a443a11d20fd5d870b6e38e21afd1d

7 years agoMerge "build: Enforce stylelints on spacing around declarations"
jenkins-bot [Thu, 19 May 2016 17:32:34 +0000 (17:32 +0000)]
Merge "build: Enforce stylelints on spacing around declarations"

7 years agoMerge "build: Enforce the rest of the colour-related stylelints"
jenkins-bot [Thu, 19 May 2016 17:31:12 +0000 (17:31 +0000)]
Merge "build: Enforce the rest of the colour-related stylelints"

7 years agobuild: Enforce stylelints on fonts
James D. Forrester [Thu, 19 May 2016 15:06:59 +0000 (16:06 +0100)]
build: Enforce stylelints on fonts

* Font families should be quoted unless keywords (''Times'' not 'Times')
* Font weights should be named where possible ('bold' not '700')

Change-Id: I20194c2998efb71db4da5ea79234a81dc90b55ea

7 years agobuild: Enforce stylelints on spacing around declarations
James D. Forrester [Thu, 19 May 2016 15:05:31 +0000 (16:05 +0100)]
build: Enforce stylelints on spacing around declarations

* A space before but not after a 'bang' (' !important' not '! important')
* A space after but not before a colon ('display: block' not 'display :block')

Change-Id: Ice36c2034e94e62377bac8a110ff4b16b7187e85

7 years agobuild: Enforce the rest of the colour-related stylelints
James D. Forrester [Thu, 19 May 2016 14:58:34 +0000 (15:58 +0100)]
build: Enforce the rest of the colour-related stylelints

* Hex colours must be in short form where possible ('fff' not 'ffffff')
* Hex colours must be used over named colours ('fff' not 'white')
* Hex colours must be valid ('fff' not 'ffq')

Change-Id: I2ba04cc3ad9898c17fee3c65bb3bead834c3a1fd

7 years agoMerge "Fix alias capitalization warning"
jenkins-bot [Thu, 19 May 2016 16:18:20 +0000 (16:18 +0000)]
Merge "Fix alias capitalization warning"

7 years agoMerge "build: Bump grunt-karma and related tools to 1.0.x"
jenkins-bot [Thu, 19 May 2016 15:58:05 +0000 (15:58 +0000)]
Merge "build: Bump grunt-karma and related tools to 1.0.x"

7 years agoMerge "mediawiki.special.search.css: Fix chmod"
jenkins-bot [Thu, 19 May 2016 15:57:06 +0000 (15:57 +0000)]
Merge "mediawiki.special.search.css: Fix chmod"

7 years agoMerge "build: Introduce stylelint"
jenkins-bot [Thu, 19 May 2016 15:56:05 +0000 (15:56 +0000)]
Merge "build: Introduce stylelint"

7 years agoMerge "Log logouts"
jenkins-bot [Thu, 19 May 2016 15:38:30 +0000 (15:38 +0000)]
Merge "Log logouts"

7 years agoLog logouts
Gergő Tisza [Fri, 12 Feb 2016 21:47:31 +0000 (13:47 -0800)]
Log logouts

Not terribly useful but we log all other auth events so why not.

Bug: T125184
Change-Id: I636f0eb5e1e9ffc49023941801c7c286410514d8

7 years agobuild: Bump grunt-karma and related tools to 1.0.x
James D. Forrester [Thu, 19 May 2016 14:43:37 +0000 (15:43 +0100)]
build: Bump grunt-karma and related tools to 1.0.x

Change-Id: I3d8ad9fbd3b6950c13bf400790eb97fe4e94f849

7 years agomediawiki.special.search.css: Fix chmod
James D. Forrester [Thu, 19 May 2016 14:43:19 +0000 (15:43 +0100)]
mediawiki.special.search.css: Fix chmod

Change-Id: Ib26b4e882ef33fb291df656214ef0fa244603557

7 years agobuild: Introduce stylelint
James D. Forrester [Thu, 19 May 2016 14:41:15 +0000 (15:41 +0100)]
build: Introduce stylelint

Initially, with just a single rule to make this a smaller change that we can
incrementally extend up to the full Wikimedia coding conventions preset; namely,
forcing hex references to colours to be in lower-case.

Note the odd src definition to avoid referring to mediawiki.less the directory in
the glob.

Change-Id: I34f0c8e3c8280e3fce0aa22d7537100b850cbb8d

7 years agoMerge "Allow resources to be salvaged across service resets."
jenkins-bot [Thu, 19 May 2016 12:45:16 +0000 (12:45 +0000)]
Merge "Allow resources to be salvaged across service resets."

7 years agoPHPUnit: turn off verbose option
Ori Livneh [Thu, 19 May 2016 10:48:22 +0000 (03:48 -0700)]
PHPUnit: turn off verbose option

It's very common these days for test runs on ordinary rigs to skip hundreds of
tests, which makes getting the part of the results you care about (the test
failures) an arduous trip up hundreds of lines in your terminal buffer.

Change-Id: Iaf714b86473379e1ad32e4d2d93e83018a757782

7 years agoAllow resources to be salvaged across service resets.
daniel [Thu, 14 Apr 2016 19:02:31 +0000 (21:02 +0200)]
Allow resources to be salvaged across service resets.

NOTE: This also changes the semantics of MediaWikiServices::resetGlobalInstance
to only reset services instances, not service wiring. The wiring will be copied
from the old global MediaWikiServices instance to the new one.

Bug: T132707
Change-Id: Ie2ca3ff99aa74fffa9eb6c8faccab857dc0874f7

7 years agoMerge "Fix resetServiceForTesting() param type in comment"
jenkins-bot [Thu, 19 May 2016 10:24:59 +0000 (10:24 +0000)]
Merge "Fix resetServiceForTesting() param type in comment"

7 years agoMerge "Disable Cucumber scenarios that are broken in daily Jenkins jobs"
jenkins-bot [Thu, 19 May 2016 09:17:51 +0000 (09:17 +0000)]
Merge "Disable Cucumber scenarios that are broken in daily Jenkins jobs"

7 years agoMerge "tests: Remove duplicate unit tests in HtmlTest.php"
jenkins-bot [Thu, 19 May 2016 04:44:45 +0000 (04:44 +0000)]
Merge "tests: Remove duplicate unit tests in HtmlTest.php"

7 years agoFix alias capitalization warning
Matthew Flaschen [Thu, 19 May 2016 02:45:39 +0000 (22:45 -0400)]
Fix alias capitalization warning

This avoids:

"Found alias defined for Revisiondelete when searching for special page
aliases for RevisionDelete. Case mismatch?"

Change-Id: I35ba1d3d4afbf3e3aca093e17c2de459413d05d3

7 years agoMerge "Make LinksUpdate only wait on the DB with the link tables"
jenkins-bot [Wed, 18 May 2016 22:35:47 +0000 (22:35 +0000)]
Merge "Make LinksUpdate only wait on the DB with the link tables"

7 years agoMake LinksUpdate only wait on the DB with the link tables
Aaron Schulz [Wed, 18 May 2016 22:05:11 +0000 (15:05 -0700)]
Make LinksUpdate only wait on the DB with the link tables

Bug: T135690

Change-Id: If79ca385884f422e5ed11e77b29033c8cabf494c

7 years agoRecompressTracked: Remove useless member variable
Chad Horohoe [Wed, 18 May 2016 17:38:08 +0000 (10:38 -0700)]
RecompressTracked: Remove useless member variable

It's only checked once and has no external users

Change-Id: I6951b799759f1d8b0063a3059bec5c1c64a35815

7 years agoEnable AuthManager by default
Gergő Tisza [Wed, 18 May 2016 18:53:47 +0000 (20:53 +0200)]
Enable AuthManager by default

Bug: T135498
Change-Id: I6695aa3da42fb2b088eaa8d1883ccbb67f2c0c38

7 years agoMerge "Don't use deprecated User::checkPassword() in TestUser"
jenkins-bot [Wed, 18 May 2016 20:33:54 +0000 (20:33 +0000)]
Merge "Don't use deprecated User::checkPassword() in TestUser"

7 years agoMerge "Allow to chaining calls in setSubmitDestructive and setSubmitProgressive."
jenkins-bot [Wed, 18 May 2016 20:16:09 +0000 (20:16 +0000)]
Merge "Allow to chaining calls in setSubmitDestructive and setSubmitProgressive."

7 years agotests: Remove duplicate unit tests in HtmlTest.php
Timo Tijhof [Wed, 18 May 2016 19:54:49 +0000 (20:54 +0100)]
tests: Remove duplicate unit tests in HtmlTest.php

Follows-up ee4d5c6ee ("Remove support for $wgWellFormedXml = false")

Remove now-redundant duplicate tests that were previously there
to test the same thing again with $wgWellFormedXml set to false.

Change-Id: I91623a8c10e5108ffae13f67328aece2cf33c719

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 18 May 2016 19:53:47 +0000 (21:53 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I8f24e94f2d29d5befd905c8e4cb5fa89002ecd38

7 years agoFix resetServiceForTesting() param type in comment
Aaron Schulz [Wed, 18 May 2016 19:36:05 +0000 (12:36 -0700)]
Fix resetServiceForTesting() param type in comment

Change-Id: I05ba45a812a6d6aa7e9c90ea17b5a24b606e815c

7 years agoFix-up for I52c511be04: call parent setup / teardown methods
Ori Livneh [Wed, 18 May 2016 19:17:34 +0000 (12:17 -0700)]
Fix-up for I52c511be04: call parent setup / teardown methods

Change-Id: Ic66fa5ae61f1d1822d7cc20eafa6c01a2bdb6e37

7 years agoMerge "Revert "Make an empty "?action=" parameter default to "view"""
jenkins-bot [Wed, 18 May 2016 19:06:24 +0000 (19:06 +0000)]
Merge "Revert "Make an empty "?action=" parameter default to "view"""

7 years agoMerge "In MediaWikiTestCase::stashMwGlobals(), prefer shallow copies"
jenkins-bot [Wed, 18 May 2016 19:03:40 +0000 (19:03 +0000)]
Merge "In MediaWikiTestCase::stashMwGlobals(), prefer shallow copies"

7 years agoRevert "Make an empty "?action=" parameter default to "view""
Krinkle [Wed, 18 May 2016 18:54:50 +0000 (18:54 +0000)]
Revert "Make an empty "?action=" parameter default to "view""

This reverts commit b287ec2cc649a96bb19c893c46f88734c6392204.

Change-Id: I59e996dfe627e8a978ed849a8e82ad4e0b165d7f

7 years agoMerge "Use WIS::getNotificationTimestampsBatch in ApiSetNotifTimestamp"
jenkins-bot [Wed, 18 May 2016 18:40:17 +0000 (18:40 +0000)]
Merge "Use WIS::getNotificationTimestampsBatch in ApiSetNotifTimestamp"

7 years agoMerge "Add ApiSetNotificationTimestampIntegrationTest"
jenkins-bot [Wed, 18 May 2016 18:40:13 +0000 (18:40 +0000)]
Merge "Add ApiSetNotificationTimestampIntegrationTest"

7 years agomediawiki.page.patrol: Use this.href instead of $(this).attr('href')
Timo Tijhof [Wed, 18 May 2016 18:25:35 +0000 (19:25 +0100)]
mediawiki.page.patrol: Use this.href instead of $(this).attr('href')

This is the difference between prop('href') and attr('href'). The attribute
returns the (usually relative) url authored in the HTML, whereas the property
returns the effective url, which is what mw.util.getParamValue expects.

Also remove the single-use variable and needless use of jQuery
(property access is more idiomatic through, well, properties).

Change-Id: Id8589dbb24869d5a88351daa65d51ab8602f5c77

7 years agoMerge "Increase BotPasswordSessionProvider's default priority"
jenkins-bot [Wed, 18 May 2016 18:15:12 +0000 (18:15 +0000)]
Merge "Increase BotPasswordSessionProvider's default priority"

7 years agoMerge "Fix unstyled updatedmarker"
jenkins-bot [Wed, 18 May 2016 17:59:02 +0000 (17:59 +0000)]
Merge "Fix unstyled updatedmarker"

7 years agoMerge "Add actual documentation for ContentHandler::getActionOverrides"
jenkins-bot [Wed, 18 May 2016 17:41:05 +0000 (17:41 +0000)]
Merge "Add actual documentation for ContentHandler::getActionOverrides"

7 years agoIn MediaWikiTestCase::stashMwGlobals(), prefer shallow copies
Ori Livneh [Wed, 11 May 2016 11:12:46 +0000 (04:12 -0700)]
In MediaWikiTestCase::stashMwGlobals(), prefer shallow copies

MediaWikiTestCase::stashMwGlobals() performs a deep copy of globals by
serializing and then unserializing them. This is actually unwarranted in the
common case of simple scalar values and flat arrays -- and it's expensive, too.
So before attempting a deep copy, first check if a shallow copy will do.

Change-Id: Iaba1c8e1f6bae9de0a7a1fb411cac94f7e4dfb23

7 years agoDon't use deprecated User::checkPassword() in TestUser
Brad Jorsch [Wed, 18 May 2016 16:54:18 +0000 (12:54 -0400)]
Don't use deprecated User::checkPassword() in TestUser

I423f09f added this call in an attempt to speed things up. However,
User::checkPassword() was deprecated in I2c736ad7, and the call causes
some tests to fail when $wgDisableAuthManager is false.

Since this is trying to determine whether the user_password column in
the user table needs updating for the unit test, let's test that
directly instead of the much-more-complicated User::checkPassword().

Change-Id: I410de706f9074edea3f3988769a3e99231d8dca3

7 years agoAllow to chaining calls in setSubmitDestructive
Sethakill [Wed, 18 May 2016 16:38:16 +0000 (18:38 +0200)]
Allow to chaining calls in setSubmitDestructive
and setSubmitProgressive.

Change-Id: I926fa717edf146c64bb7e5287f9dc051e30f6566

7 years agoIncrease BotPasswordSessionProvider's default priority
Brad Jorsch [Wed, 18 May 2016 15:48:50 +0000 (11:48 -0400)]
Increase BotPasswordSessionProvider's default priority

CentralAuthSessionProvider is using 50, BotPasswordSessionProvider needs
to be higher than that. Since the current 40 is a bit close to
CookieSessionProvider's 30, let's go higer here instead of lowering
CentralAuth.

Change-Id: I1230d23c53dacc8e01db955507aacba0e98e62d3

7 years agoFix unstyled updatedmarker
Roan Kattouw [Thu, 5 May 2016 03:54:49 +0000 (20:54 -0700)]
Fix unstyled updatedmarker

This is the "changed since your last visit" marker that you'll
see on ?action=history for a page on your watchlist, marking
edits that were made since you last viewed the page.

updatedmarker is styled by some skins, but not all of them.
I figured it's probably better to style it from history-specific
CSS in core than to fix Vector to style it.

Bug: T134515
Change-Id: I123f0b19e3869d3885bb38b7a5609941fcee600b

7 years agoMerge "Title->getContentModel: Get new content model with GAID_FOR_UPDATE"
jenkins-bot [Wed, 18 May 2016 14:14:42 +0000 (14:14 +0000)]
Merge "Title->getContentModel: Get new content model with GAID_FOR_UPDATE"

7 years agoAdd actual documentation for ContentHandler::getActionOverrides
Thiemo Mättig [Wed, 18 May 2016 13:49:26 +0000 (15:49 +0200)]
Add actual documentation for ContentHandler::getActionOverrides

Change-Id: I7fd803204ad137dd3510ea321ff7e6fa11d910c0

7 years agoTitle->getContentModel: Get new content model with GAID_FOR_UPDATE
Matthew Flaschen [Tue, 17 May 2016 14:18:58 +0000 (10:18 -0400)]
Title->getContentModel: Get new content model with GAID_FOR_UPDATE

If a new revision has been inserted (e.g. with updateRevisionOn),
the content model may have changed.  This happens with e.g. undeletion.

Bug: T122262
Change-Id: Ia0ed86a9c24809256215418673e9ee8e263d1349

7 years agoMerge "MWDebugTest: disable MWDebug on test teardown"
jenkins-bot [Wed, 18 May 2016 12:52:05 +0000 (12:52 +0000)]
Merge "MWDebugTest: disable MWDebug on test teardown"

7 years agoMerge "Speed up password-handling in the unit tests"
jenkins-bot [Wed, 18 May 2016 12:46:28 +0000 (12:46 +0000)]
Merge "Speed up password-handling in the unit tests"

7 years agoUse WIS::getNotificationTimestampsBatch in ApiSetNotifTimestamp
addshore [Fri, 6 May 2016 09:25:37 +0000 (10:25 +0100)]
Use WIS::getNotificationTimestampsBatch in ApiSetNotifTimestamp

Bug: T134387
Change-Id: I560ae6a29fa27c1e4f1f62aa647e14542b0cc8a9

7 years agoAdd ApiSetNotificationTimestampIntegrationTest
addshore [Wed, 18 May 2016 11:08:47 +0000 (12:08 +0100)]
Add ApiSetNotificationTimestampIntegrationTest

Change-Id: If0bc1f56533102f54c0031eea548c20d8abe1818

7 years agoMerge "add setNotificationTimestampsForUser to WatchedItemStore"
jenkins-bot [Wed, 18 May 2016 10:44:15 +0000 (10:44 +0000)]
Merge "add setNotificationTimestampsForUser to WatchedItemStore"

7 years agoMerge "Factor InterwikiLookup out of Interwiki class."
jenkins-bot [Wed, 18 May 2016 10:14:30 +0000 (10:14 +0000)]
Merge "Factor InterwikiLookup out of Interwiki class."

7 years agoMerge "Make an empty "?action=" parameter default to "view""
jenkins-bot [Wed, 18 May 2016 10:08:23 +0000 (10:08 +0000)]
Merge "Make an empty "?action=" parameter default to "view""

7 years agoFactor InterwikiLookup out of Interwiki class.
daniel [Fri, 30 Oct 2015 22:04:52 +0000 (23:04 +0100)]
Factor InterwikiLookup out of Interwiki class.

This keeps the existing app logic for looking up interwiki information
intact in ClassicInterwikiLookup. The idea is to seamlessly switch to a new
implementation when it becomes available, while also allowing us to
switch back in case of problems.

Change-Id: I7d7424345d0ce3ce90ba284006ee9615e3d99baa

7 years agoMWDebugTest: disable MWDebug on test teardown
Ori Livneh [Sun, 15 May 2016 05:09:13 +0000 (22:09 -0700)]
MWDebugTest: disable MWDebug on test teardown

MWDebug::init() is currently irreversible -- once MWDebug is enabled, it cannot
be disabled in that execution context. This means that the MWDebug test suite
(which enables MWDebug) has a nasty side-effect -- all the tests that run after
it run with MWDebug enabled. So add an MWDebug::deinit(), and call it on test
teardown.

Ostensibly this is a great use-case for services and dependency injection. The
reason I am not going that route is that it's not entirely clear to me what the
MWDebug class is supposed to represent. If I were going to spend any
substantial amount of time on this, I would be trying to move it out of core
and into an extension, not converting it into a service.

Change-Id: I52c511be049bc276d203d07283e3aa0944f22d34

7 years agoadd setNotificationTimestampsForUser to WatchedItemStore
addshore [Wed, 4 May 2016 15:49:27 +0000 (16:49 +0100)]
add setNotificationTimestampsForUser to WatchedItemStore

Bug: T134387
Change-Id: Ia6abe7687b51aabe67e8461375075692db28c9a2

7 years agoImprove diff docs
Max Semenik [Tue, 26 Apr 2016 23:41:47 +0000 (16:41 -0700)]
Improve diff docs

Change-Id: I42332051f6f1b94f459b06d6c69625bc2a1fa9cf

7 years agoMerge Wikidiff3 into DiffEngine
Max Semenik [Tue, 26 Apr 2016 22:59:21 +0000 (15:59 -0700)]
Merge Wikidiff3 into DiffEngine

Change-Id: Ib4d083a5200824e4d032de6921c375e455e77fb2

7 years agoRemove unused stuff from diffs
Max Semenik [Tue, 26 Apr 2016 20:57:52 +0000 (13:57 -0700)]
Remove unused stuff from diffs

Change-Id: Ie7d46b9ed290912039c88bbf4548d4c3d97153c9

7 years agoRefactor diffs
Max Semenik [Tue, 26 Apr 2016 18:57:44 +0000 (11:57 -0700)]
Refactor diffs

* Merge MappedDiff into WordLevelDiff
* Rename <something insane>WordAccumulator into WordAccumulator and namespace
* Better variable names

Change-Id: I5847f2bb89402d0537b9e99cccd24c547ce4e4e2

7 years agoLinkerTest: Fix passing test description to $this->assertEquals()
Kunal Mehta [Tue, 17 May 2016 20:19:37 +0000 (13:19 -0700)]
LinkerTest: Fix passing test description to $this->assertEquals()

It was being passed to Linker::userLink() by accident.

Change-Id: I13ba5014193e91a467511259a0c7c1659d8bc0e6

7 years agoRemove "Not logged in" from the personal URLs array
Stephan Gambke [Wed, 24 Feb 2016 21:21:07 +0000 (22:21 +0100)]
Remove "Not logged in" from the personal URLs array

The array of personal URLs should only contain links to the personal tools of the
user. "Not logged in" is a status message, not a personal URL, so it should not
appear in that array. The status should instead be indicated to the user by the
skin itself in whatever way seems best for the skin in question.

The following patches depend on this one to reintroduce the message:
* Vector skin: Ic560d3fd
* Monobook skin: I7001e311

Bug: T121793
Bug: T127758
Change-Id: I5cfa9b4e2f4eb420d5fda6b1c6ce28926cb8e738

7 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 17 May 2016 19:55:54 +0000 (21:55 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I170960df4963c50ee00e0f9d3d876061a7f93378

7 years agoImprove edit stash hit rate for logged-out users
Aaron Schulz [Sat, 14 May 2016 10:54:05 +0000 (03:54 -0700)]
Improve edit stash hit rate for logged-out users

Check whether they made intervening edits just like logged-in users.

Bug: T134620
Change-Id: Id1e0808caee0e474570c4f2e4b1cf845572e17e0

7 years agoMake an empty "?action=" parameter default to "view"
Thiemo Mättig [Tue, 14 Oct 2014 14:31:43 +0000 (16:31 +0200)]
Make an empty "?action=" parameter default to "view"

When no action is given, e.g. in
https://en.wikipedia.org/wiki/URL
the action defaults to "view". Just like you called
https://en.wikipedia.org/wiki/URL?action=view

But when the action is empty, e.g.
https://en.wikipedia.org/wiki/URL?action=
you get an error message telling you that "the action specified"
can not be "recognized". Wait, I did not "specified" an action.
That's why I left the parameter empty. From the users point of
view I expect the empty string to behave like null/undefined.

This is a resubmit of I331924d without the problematic bits.

Change-Id: I07847600bb24ae078276acf98e6eb244039414d7

7 years agoFix installer issues introduces by MediaWikiServices
daniel [Fri, 13 May 2016 19:27:06 +0000 (21:27 +0200)]
Fix installer issues introduces by MediaWikiServices

This fixes three issues with the installer:

1) Make sure LocalizationCache can find the installer's i18n files.
2) Make sure we don't try to use an SqlBagOStuff for caching before we have
   a functioning database.
3) Don't try to output HTML when redirecting (this is unrelated to
   MediaWikiServices, but came up during testing)

Bug: T135169
Change-Id: I7caa932024cd771d6fa226a3ac6001c3148ecc9c

7 years agoMerge "Let BagOStuff::merge() callbacks override the TTL"
jenkins-bot [Tue, 17 May 2016 09:33:16 +0000 (09:33 +0000)]
Merge "Let BagOStuff::merge() callbacks override the TTL"

7 years agoMerge "Increase LocalFile lock() timeout and improve error message"
jenkins-bot [Tue, 17 May 2016 09:24:15 +0000 (09:24 +0000)]
Merge "Increase LocalFile lock() timeout and improve error message"

7 years agoMerge "mediawiki.util: Use RegExp.test() instead of String.search()"
jenkins-bot [Tue, 17 May 2016 08:59:17 +0000 (08:59 +0000)]
Merge "mediawiki.util: Use RegExp.test() instead of String.search()"

7 years agoDon't override all Moment locales to English
Bartosz Dziewoński [Tue, 17 May 2016 02:51:25 +0000 (04:51 +0200)]
Don't override all Moment locales to English

Calling moment.locale() not only defines a locale, it also sets the
current one. The call at the top of moment-locale-overrides.js would
always set it to English.

Follow-up to c81ab8ae5f89056d23a4b0d36066120b9701d07e.

Bug: T135462
Change-Id: Ie1b70bc410ff0c436bed5bcbfffb8d4433a1923f