lhc/web/wiklou.git
8 years agoAdded testStaleSet() WAN cache test
Aaron Schulz [Wed, 30 Sep 2015 01:14:48 +0000 (18:14 -0700)]
Added testStaleSet() WAN cache test

Change-Id: Ib8565c48af09af0df1809e877fde9d4d6c7e7038

8 years agoMerge "resourceloader: Vary module_deps on language (in addition to skin)"
jenkins-bot [Wed, 30 Sep 2015 00:51:11 +0000 (00:51 +0000)]
Merge "resourceloader: Vary module_deps on language (in addition to skin)"

8 years agoMerge "Fix Memcached key decode"
jenkins-bot [Wed, 30 Sep 2015 00:43:19 +0000 (00:43 +0000)]
Merge "Fix Memcached key decode"

8 years agoMerge "resourceloader: Store relative instead of absolute paths in module_deps"
jenkins-bot [Wed, 30 Sep 2015 00:42:38 +0000 (00:42 +0000)]
Merge "resourceloader: Store relative instead of absolute paths in module_deps"

8 years agoresourceloader: Vary module_deps on language (in addition to skin)
Timo Tijhof [Wed, 30 Sep 2015 00:15:57 +0000 (17:15 -0700)]
resourceloader: Vary module_deps on language (in addition to skin)

Re-use the md_skin database field for now as to not need a
schema change, beause this table is going away soon (T113916).

Bug: T113868
Change-Id: I7c7546ec58fd9be0447604989b908dd2084b0fe3

8 years agoresourceloader: Store relative instead of absolute paths in module_deps
Timo Tijhof [Wed, 23 Sep 2015 01:35:38 +0000 (02:35 +0100)]
resourceloader: Store relative instead of absolute paths in module_deps

Make paths stored in the module_deps table relative to $IP. This ensures that when
the MediaWiki install path changes and/or if the location of the extension or skins
directory changes, that ResourceLoader's internal model is still accurate.

Previously when these paths change, ResourceLoader would exhibit various bugs.

1. Unable to detect changes in the module (if the directory no longer exists).
2. Point #1 is usually preceeded by one last cache invalidation as the content hash
   of the file path changes (from a valid hash to an empty string).
3. Unnecessary cache invalidation (if both old and new directories exist). This
   happens when a file is both an entry point (in the 'scripts' or 'styles' array)
   and also a file dependency. At first they are de-duplicated by array_unique.
   But after the disk path changes, the next check will result in the old path
   being fetched from module_deps, and the new path from the live configuration.
   This causes two changes that result in needless cache invalidation:
   - The hash list contains one more item (T111481).
   - The hash list contains both the old and new version of a file.
     (or even alternate versions, e.g. when a change is backported to the old
     wmf branch; it also affects wikis on the new branch due to the stale
     file path still in the database).

It seems unusual to move a MediaWiki install, and usually we recommend third
parties to run update.php if site administrators do move their wiki. However
Wikimedia's deployment system implicitly moves the MediaWiki install continously
from e.g. "/srv/mediawiki/php-1.26wmf5" to "/srv/mediawiki/php-1.26wmf6".

This caused virtually all ResourceLoader caching layers to get invalidated every
week when another wmf-branch is deployed, thus breaking these file paths, which
changes the version hash, which then invalidates the cache.

Bug: T111481
Change-Id: I173a9820b3067c4a6598a4c8d77e239797d2659c

8 years agoRemove b/c dependency of mediawiki.widgets upon the DateInputWidget
Kunal Mehta [Tue, 29 Sep 2015 22:54:30 +0000 (15:54 -0700)]
Remove b/c dependency of mediawiki.widgets upon the DateInputWidget

The only uses in gerrit were MediaWiki's ForeignStructuredUpload,
updated in 6318b4af, and the UploadWizard extension, updated in
f4632c01.

Change-Id: Ic404d9fb07008cdc2393e20cf92e7ec173e06473

8 years agoMerge "ForeignStructuredUpload: Depend on mediawiki.widgets.DateInputWidget"
jenkins-bot [Wed, 30 Sep 2015 00:16:20 +0000 (00:16 +0000)]
Merge "ForeignStructuredUpload: Depend on mediawiki.widgets.DateInputWidget"

8 years agoMerge "mediawiki.api.upload: Fix jsduck indentation error"
jenkins-bot [Wed, 30 Sep 2015 00:14:23 +0000 (00:14 +0000)]
Merge "mediawiki.api.upload: Fix jsduck indentation error"

8 years agoForeignStructuredUpload: Depend on mediawiki.widgets.DateInputWidget
James D. Forrester [Tue, 29 Sep 2015 23:35:44 +0000 (16:35 -0700)]
ForeignStructuredUpload: Depend on mediawiki.widgets.DateInputWidget

Change-Id: I1ba1b5eb415edb7de8d41429199658e9df21cb5c

8 years agoMerge "FauxResponse: Honor cookie options, and other cleanup"
jenkins-bot [Tue, 29 Sep 2015 23:09:50 +0000 (23:09 +0000)]
Merge "FauxResponse: Honor cookie options, and other cleanup"

8 years agoMerge "Bump oyejorge/less.php to 1.7.0.9"
jenkins-bot [Tue, 29 Sep 2015 23:00:16 +0000 (23:00 +0000)]
Merge "Bump oyejorge/less.php to 1.7.0.9"

8 years agomediawiki.api.upload: Fix jsduck indentation error
Timo Tijhof [Tue, 29 Sep 2015 22:49:50 +0000 (15:49 -0700)]
mediawiki.api.upload: Fix jsduck indentation error

Follows-up 4738b66e754.

The incorrect indentation caused the second line of this description
to be rendered as a <pre> block.

Change-Id: I99b9718234073ed4e7ae02396ff8eb54f87fe1aa

8 years agoFauxResponse: Honor cookie options, and other cleanup
Brad Jorsch [Tue, 29 Sep 2015 02:09:07 +0000 (22:09 -0400)]
FauxResponse: Honor cookie options, and other cleanup

We have this nice class for unit testing cookie-setting, but the
cookie-setting method ignores all the parameters! Fix that. Also provide
accessors to check the entire set of cookie data, and the set cookies as
a whole.

While this does change the semantics of FauxRequest::getcookie() in that
the name now needs to be prefixed, no extension in Gerrit uses this
method so we should be fine.

Also clean up the case of the setCookie and getCookie methods while
we're at it. Since PHP method names are case-insensitive, this doesn't
even break compatibility with extensions.

Change-Id: Ib44a074bf9796bc0b470d557e39465792f399d30

8 years agoMerge "Split DateInputWidget & CalendarWidget into a separate ResourceLoader module"
jenkins-bot [Tue, 29 Sep 2015 22:40:05 +0000 (22:40 +0000)]
Merge "Split DateInputWidget & CalendarWidget into a separate ResourceLoader module"

8 years agoBump oyejorge/less.php to 1.7.0.9
Bryan Davis [Tue, 29 Sep 2015 22:39:41 +0000 (16:39 -0600)]
Bump oyejorge/less.php to 1.7.0.9

Fixes leading whitespace in oyejorge/less.php/lib/Less/Version.php

Change-Id: Ifbc353b583fc182c0dc297ccacc8102ed9279c59

8 years agoSplit DateInputWidget & CalendarWidget into a separate ResourceLoader module
Kunal Mehta [Mon, 28 Sep 2015 22:56:26 +0000 (15:56 -0700)]
Split DateInputWidget & CalendarWidget into a separate ResourceLoader module

...as the first step to splitting up the 'mediawiki.widgets' module.

For backwards-compatibility, it is a dependency of 'mediawiki.widgets'
until extensions that use the widget can be updated.

Also create the `mediaWiki.widgets` object in mediawiki.js instead of
having an entire file just for that one line.

Bug: T108733
Change-Id: Ife4cfba278dad063a3609929ff87eda7c877d589

8 years agoMerge "Refactored global state out of EnqueueableDataUpdate"
jenkins-bot [Tue, 29 Sep 2015 22:08:05 +0000 (22:08 +0000)]
Merge "Refactored global state out of EnqueueableDataUpdate"

8 years agoMerge "Removed old fake slave hacks used for debug log testing"
jenkins-bot [Tue, 29 Sep 2015 22:05:35 +0000 (22:05 +0000)]
Merge "Removed old fake slave hacks used for debug log testing"

8 years agoRefactored global state out of EnqueueableDataUpdate
Aaron Schulz [Thu, 24 Sep 2015 22:45:09 +0000 (15:45 -0700)]
Refactored global state out of EnqueueableDataUpdate

* Follow-up 25a44aa3e4fa
* The static DataUpdate::enqueueUpdates() method will
  deal with JobQueueGroup construction instead

Change-Id: Id7741a770cee81fdc3f61804b7574ccf737bc338

8 years agoUpdate OOjs UI to v0.12.10
James D. Forrester [Tue, 29 Sep 2015 21:23:51 +0000 (14:23 -0700)]
Update OOjs UI to v0.12.10

Release notes:
 https://git.wikimedia.org/blob/oojs%2Fui.git/v0.12.10/History.md

Change-Id: I048794c2c3e66e11762598ed97db31afc00cba0c

8 years agoMerge "More namespace translations for Extremeñu (ext)"
jenkins-bot [Tue, 29 Sep 2015 21:06:29 +0000 (21:06 +0000)]
Merge "More namespace translations for Extremeñu (ext)"

8 years agoMerge "Actually declare the base LoadMonior::clearCaches"
jenkins-bot [Tue, 29 Sep 2015 20:49:18 +0000 (20:49 +0000)]
Merge "Actually declare the base LoadMonior::clearCaches"

8 years agoMerge "Removed $options from RecentChange::newFromConds"
jenkins-bot [Tue, 29 Sep 2015 20:33:18 +0000 (20:33 +0000)]
Merge "Removed $options from RecentChange::newFromConds"

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Tue, 29 Sep 2015 19:45:20 +0000 (21:45 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I91a42f708cd83f7dd52a91641088148add7f9a83

8 years agoAvoid paranoid IDEA error on $conn->getSlavePos() call
Aaron Schulz [Tue, 29 Sep 2015 08:32:34 +0000 (01:32 -0700)]
Avoid paranoid IDEA error on $conn->getSlavePos() call

Change-Id: I07ca17ad3a434496a3cc14112ad361457c096b4b

8 years agoMerge "Work around IE9's broken handling of .styleSheet.cssText"
jenkins-bot [Tue, 29 Sep 2015 19:16:53 +0000 (19:16 +0000)]
Merge "Work around IE9's broken handling of .styleSheet.cssText"

8 years agoWork around IE9's broken handling of .styleSheet.cssText
Bartosz Dziewoński [Mon, 28 Sep 2015 17:12:06 +0000 (19:12 +0200)]
Work around IE9's broken handling of .styleSheet.cssText

IE9 drops @media queries from .styleSheet.cssText when that property
is read. Therefore we can't trust it to contain what we put there
previously.

Bug: T108727
Change-Id: Ic4f553966e48e3fc608a47ef193df923227ceb96

8 years agoUser::incEditCountImmediate(): Add explicit IS NOT NULL check
Kevin Israel [Fri, 25 Sep 2015 04:15:14 +0000 (00:15 -0400)]
User::incEditCountImmediate(): Add explicit IS NOT NULL check

Within the UPDATE query, if user_editcount IS NULL, user_editcount+1 will
also be NULL, and the change becomes a no-op. So in MySQL, the number of
affected rows would be zero, which is the number of rows that actually
changed.

However, other DBMSs (e.g. PostgreSQL, SQLite) do count no-op changes,
meaning the code would not initialize user_editcount if it were NULL.
Explicitly checking for NULL should ensure consistent behavior across
database types.

Also, if the CLIENT_FOUND_ROWS flag is set when connecting to MySQL, the
server returns "Rows matched:" instead of "Changed:" as the affected row
count. This change would be necessary if MediaWiki, like Drupal, is
changed to use that flag <https://www.drupal.org/node/805858>.

Change-Id: Idac160bae56adc5c5d17f8558c55d87000019741

8 years agoMerge "Remove $wgUseLinkNamespaceDBFields"
jenkins-bot [Tue, 29 Sep 2015 18:24:56 +0000 (18:24 +0000)]
Merge "Remove $wgUseLinkNamespaceDBFields"

8 years agoMore namespace translations for Extremeñu (ext)
maurelio [Tue, 29 Sep 2015 18:00:02 +0000 (20:00 +0200)]
More namespace translations for Extremeñu (ext)

Change-Id: I1bdadbbeb7a416e1047d5961a3579a367aae1be8

8 years agoRemove $wgUseLinkNamespaceDBFields
umherirrender [Tue, 29 Sep 2015 18:00:33 +0000 (20:00 +0200)]
Remove $wgUseLinkNamespaceDBFields

Marked as may removed with 1.25, 1.27 should be okay than.

Change-Id: I4ccd7dfe79fa555946cab64dd1eb179a3fc8291d

8 years agoRemoved $options from RecentChange::newFromConds
Aaron Schulz [Tue, 29 Sep 2015 17:31:55 +0000 (10:31 -0700)]
Removed $options from RecentChange::newFromConds

* The FORCE INDEX statements are not needed

Change-Id: Ia6f386140e88ad01fc35a10b00dbcb0d1eb934ea

8 years agoMake it more obvious that users can remove their email address
Glaisher [Mon, 28 Sep 2015 16:42:52 +0000 (21:42 +0500)]
Make it more obvious that users can remove their email address

* Add help message to new email address field indicating that the field
  should be left blank if the user want to remove their email address.
  and the consequences of no email address it.
* Update changeemail related messages.

Bug: T98799
Change-Id: Ie92e393207ee30811fd30e25e72b9e523d95fd62

8 years agoMerge "Add mw.ForeignStructuredUpload.BookletLayout"
jenkins-bot [Tue, 29 Sep 2015 16:09:37 +0000 (16:09 +0000)]
Merge "Add mw.ForeignStructuredUpload.BookletLayout"

8 years agoMerge "mediawiki.jqueryMsg: Allow more than one thing inside a wikilink"
jenkins-bot [Tue, 29 Sep 2015 16:07:11 +0000 (16:07 +0000)]
Merge "mediawiki.jqueryMsg: Allow more than one thing inside a wikilink"

8 years agoMerge "Fix plural in mergehistory-done message"
jenkins-bot [Tue, 29 Sep 2015 15:42:53 +0000 (15:42 +0000)]
Merge "Fix plural in mergehistory-done message"

8 years agoMerge "Fix incomplete PHPDoc tags in ApiBase"
jenkins-bot [Tue, 29 Sep 2015 15:32:52 +0000 (15:32 +0000)]
Merge "Fix incomplete PHPDoc tags in ApiBase"

8 years agoFix plural in mergehistory-done message
Glaisher [Tue, 29 Sep 2015 15:20:09 +0000 (20:20 +0500)]
Fix plural in mergehistory-done message

Follow up to I9931bf48182bd41ff32bdac1798336319f233341

Change-Id: Ia4eb3bef3a11faef654922fe05c0d9ef98dc9b90

8 years agomw.widgets.TitleOptionWidget: Prevent page navigation by clicking labels
Bartosz Dziewoński [Tue, 29 Sep 2015 15:09:04 +0000 (17:09 +0200)]
mw.widgets.TitleOptionWidget: Prevent page navigation by clicking labels

However, allow opening the link in a new tab.

The same code is used in other components, e.g. jquery.suggestions.

Follow-up to ba358947bfb81b58d64489063bd4be816d1a46da.

Change-Id: Ie6840a20c1cc1a10fb1fb74717982dbe7e331d36

8 years agoFix incomplete PHPDoc tags in ApiBase
Thiemo Mättig [Wed, 2 Sep 2015 12:13:45 +0000 (14:13 +0200)]
Fix incomplete PHPDoc tags in ApiBase

Change-Id: Icb388723e51c8b07fee3900b98795cfe623942ac

8 years agoAdd mw.ForeignStructuredUpload.BookletLayout
Prateek Saxena [Wed, 2 Sep 2015 10:48:37 +0000 (16:18 +0530)]
Add mw.ForeignStructuredUpload.BookletLayout

Bug: T91717
Change-Id: Ibf283fd185e191ed6ac8668efe6409f11e73f439

8 years agomediawiki.jqueryMsg: Allow more than one thing inside a wikilink
Bartosz Dziewoński [Mon, 28 Sep 2015 21:13:54 +0000 (23:13 +0200)]
mediawiki.jqueryMsg: Allow more than one thing inside a wikilink

So that [[foo|bar {{SITENAME}}]] becomes parseable.

Change-Id: Idf825e4df24cb9a10cac136811936e54e8fce7b6

8 years agoMerge "mw.widgets.DateInputWidget: Actually display the indicator"
jenkins-bot [Tue, 29 Sep 2015 14:24:32 +0000 (14:24 +0000)]
Merge "mw.widgets.DateInputWidget: Actually display the indicator"

8 years agoMerge "SpecialMergeHistory: add redirect=no on target parameter on success message"
jenkins-bot [Tue, 29 Sep 2015 14:15:18 +0000 (14:15 +0000)]
Merge "SpecialMergeHistory: add redirect=no on target parameter on success message"

8 years agomw.widgets.DateInputWidget: Actually display the indicator
Bartosz Dziewoński [Mon, 28 Sep 2015 23:32:37 +0000 (01:32 +0200)]
mw.widgets.DateInputWidget: Actually display the indicator

We were only passing stuff around...

Change-Id: I0d494cffae0c26a6b04ffe102e9e9d6f3c5f5c81

8 years agomw.widgets.DateInputWidget: Actually enforce date requiredness
Bartosz Dziewoński [Mon, 28 Sep 2015 22:22:03 +0000 (00:22 +0200)]
mw.widgets.DateInputWidget: Actually enforce date requiredness

Also, never set 'invalid' flag before the user interacts
with the widget.

Change-Id: I1a00fcbd9d2f675487e821316a3b5ece6845e343

8 years agoSpecialMergeHistory: add redirect=no on target parameter on success message
Glaisher [Mon, 28 Sep 2015 17:40:40 +0000 (22:40 +0500)]
SpecialMergeHistory: add redirect=no on target parameter on success message

Removes mergehistory-success message and introduce mergehistory-done
so that fullurl doesn't have to be added to each translation message.

Bug: T85650
Change-Id: I9931bf48182bd41ff32bdac1798336319f233341

8 years agoMerge "mw.widgets.DateInputWidget: Implement $overlay config option"
jenkins-bot [Tue, 29 Sep 2015 12:33:18 +0000 (12:33 +0000)]
Merge "mw.widgets.DateInputWidget: Implement $overlay config option"

8 years agoMerge "OOjs UI: Backport d190bc51e60195eed81f147e9324c9ec21c9e68c"
jenkins-bot [Tue, 29 Sep 2015 12:33:15 +0000 (12:33 +0000)]
Merge "OOjs UI: Backport d190bc51e60195eed81f147e9324c9ec21c9e68c"

8 years agoMerge "Remove blue border from DateInputWidget calendar"
jenkins-bot [Tue, 29 Sep 2015 12:24:00 +0000 (12:24 +0000)]
Merge "Remove blue border from DateInputWidget calendar"

8 years agoMerge "Fallback and namespace names changes for Asturianu (ast)"
jenkins-bot [Tue, 29 Sep 2015 10:28:30 +0000 (10:28 +0000)]
Merge "Fallback and namespace names changes for Asturianu (ast)"

8 years agoMerge "Use variable documentation in Preprocessor_DOM.php"
jenkins-bot [Tue, 29 Sep 2015 10:11:46 +0000 (10:11 +0000)]
Merge "Use variable documentation in Preprocessor_DOM.php"

8 years agoMerge "Give instructions on removing email address from account"
jenkins-bot [Tue, 29 Sep 2015 10:11:42 +0000 (10:11 +0000)]
Merge "Give instructions on removing email address from account"

8 years agoActually declare the base LoadMonior::clearCaches
Aaron Schulz [Tue, 29 Sep 2015 08:22:02 +0000 (01:22 -0700)]
Actually declare the base LoadMonior::clearCaches

This fixes IDEA errors in LoadBalancer::clearLagTimeCache

Change-Id: Ibd863ef6bc670a29f65821e3f3cd9d721a652b9a

8 years agoRemoved old fake slave hacks used for debug log testing
Aaron Schulz [Tue, 29 Sep 2015 07:44:48 +0000 (00:44 -0700)]
Removed old fake slave hacks used for debug log testing

* Any modern automatic tests would use mocking methods

Change-Id: I5fbd8ebe7090f75bdcccc7a2848ae88f34a64512

8 years agoFallback and namespace names changes for Asturianu (ast)
maurelio [Tue, 29 Sep 2015 07:02:37 +0000 (09:02 +0200)]
Fallback and namespace names changes for Asturianu (ast)

* Set $fallback to Spanish (es), as Asturianu (ast) is a language spoken
solely in Spain. If a message is missing it'd be far more easier for local
users to understand Spanish rather than English.

* Added namespace gender aliases for asturianu.

Change-Id: Iafad07bae88bff5e6c39e5759f2ef4e5efcade1e

8 years agoMerge "Clarified WAN cache docs by using "datacenter" consistently"
jenkins-bot [Tue, 29 Sep 2015 05:46:30 +0000 (05:46 +0000)]
Merge "Clarified WAN cache docs by using "datacenter" consistently"

8 years agoMerge "Restructure /resources/src/mediawiki.page/"
jenkins-bot [Tue, 29 Sep 2015 04:12:03 +0000 (04:12 +0000)]
Merge "Restructure /resources/src/mediawiki.page/"

8 years agoMerge "WatchAction: Clean up redundant getFormFields() and show()"
jenkins-bot [Tue, 29 Sep 2015 03:50:47 +0000 (03:50 +0000)]
Merge "WatchAction: Clean up redundant getFormFields() and show()"

8 years agoRestructure /resources/src/mediawiki.page/
Timo Tijhof [Tue, 29 Sep 2015 03:15:48 +0000 (20:15 -0700)]
Restructure /resources/src/mediawiki.page/

Follows-up 0bfdd927.

Change-Id: I65b9343ea002c332323ededf4e328e4463faf698

8 years agoRestructure /resources/src/mediawiki.api/
Timo Tijhof [Tue, 29 Sep 2015 03:05:09 +0000 (20:05 -0700)]
Restructure /resources/src/mediawiki.api/

Re-do Ifbb0f6751 in a smaller scope as a first step.

Change-Id: I346f3587d3bfeaf0fe3467cd1f4dcf2d134ecc08

8 years agomw.widgets.DateInputWidget: Implement $overlay config option
Bartosz Dziewoński [Wed, 16 Sep 2015 15:22:35 +0000 (17:22 +0200)]
mw.widgets.DateInputWidget: Implement $overlay config option

Unlike in other widgets with popups, the one here (CalendarWidget) is
focusable. As the text input and calendar are not in DOM order when
using $overlay, we fix up focus transitions between them manually.

Bug: T112676
Change-Id: I504f81f843e8328f609824d44f276296645d5dd1

8 years agoWatchAction: Clean up redundant getFormFields() and show()
Timo Tijhof [Tue, 29 Sep 2015 01:45:34 +0000 (18:45 -0700)]
WatchAction: Clean up redundant getFormFields() and show()

* Make FormAction::getFormFields not abstract. In most cases this will just
  be an empty array. This is in prep for RollbackAction as well.

* Remove redundant show() in WatchAction. This used to do custom stuff,
  but after 77cdf1919 it does exactly the same as the parent FormAction::show.

* Don't add 'redirectparams' hidden field if there were no custom query parameters
  (e.g. plain index.php?title=..&action=..)

Change-Id: Ia7f9bb0367c49a23179e9fefa9f529fa8aef8f52

8 years agoClarified WAN cache docs by using "datacenter" consistently
Aaron Schulz [Tue, 29 Sep 2015 01:22:52 +0000 (18:22 -0700)]
Clarified WAN cache docs by using "datacenter" consistently

Change-Id: I448c57cebd0481809fc17a7c2ac698c73b17dcba

8 years agoMerge "mediawiki.widgets: Cleanup TitleWidget styles and improve API"
jenkins-bot [Tue, 29 Sep 2015 01:22:33 +0000 (01:22 +0000)]
Merge "mediawiki.widgets: Cleanup TitleWidget styles and improve API"

8 years agoOOjs UI: Backport d190bc51e60195eed81f147e9324c9ec21c9e68c
Bartosz Dziewoński [Tue, 29 Sep 2015 00:35:06 +0000 (02:35 +0200)]
OOjs UI: Backport d190bc51e60195eed81f147e9324c9ec21c9e68c

Required for mw.widgets.DateInputWidget when used with '$overlay'
config option, new in I504f81f843e8328f609824d44f276296645d5dd1.

Change-Id: Ib494c58b9dcaecba62e1aaf501880b85452b7826

8 years agoMerge "WatchAction: Require POST for index.php action=watch"
jenkins-bot [Mon, 28 Sep 2015 23:46:56 +0000 (23:46 +0000)]
Merge "WatchAction: Require POST for index.php action=watch"

8 years agoMerge "build: Bump various devDependencies to latest"
jenkins-bot [Mon, 28 Sep 2015 23:38:36 +0000 (23:38 +0000)]
Merge "build: Bump various devDependencies to latest"

8 years agoAdded $opts to WANObjectCache::set() to detect snapshot lag
Aaron Schulz [Thu, 24 Sep 2015 21:47:30 +0000 (14:47 -0700)]
Added $opts to WANObjectCache::set() to detect snapshot lag

* This can avoid some stale write race conditions
* Made use of this option in a few key places
* HOLDOFF_TTL was also bumped

Change-Id: I83505a59cce0119e456191c3100f7d97bc86bdbf

8 years agoMerge "Include additional analytics in Special:Search"
jenkins-bot [Mon, 28 Sep 2015 22:31:01 +0000 (22:31 +0000)]
Merge "Include additional analytics in Special:Search"

8 years agoMerge "Fixed sanity cache clear in User::saveSettings()"
jenkins-bot [Mon, 28 Sep 2015 22:21:16 +0000 (22:21 +0000)]
Merge "Fixed sanity cache clear in User::saveSettings()"

8 years agoWatchAction: Require POST for index.php action=watch
Timo Tijhof [Mon, 28 Sep 2015 21:32:45 +0000 (14:32 -0700)]
WatchAction: Require POST for index.php action=watch

The GET variant was already rarely used because our frontend enchances these links
with a click handler that uses AJAX to make a POST request to the API.
The index.php url, nor its token, were used for the majority of users.

Simplify this by stripping the 'token' query from these urls and requiring a POST
request for index.php?action=watch and unwatch.

* FormAction: Actually set a proper '<form action>' instead of letting HTMLForm
  default to a confusing title path (e.g. /wiki/Pagename). Article path should
  not be used for POST requests.

* WatchAction: Group all FormAction-related methods together.

* WatchAction: Make token consistent with other actions now that it is POST-only
  (no "stronger" salt containing the page title).

* Remove ununsed mediawiki.page.startup dependency from mediawiki.page.watch.ajax.

* WatchAction: If accessed over GET directly (e.g. for users without javascript)
  display a confirmation form that submits the token. Similar to PurgeAction.

Change-Id: I504f457e68a133bcfc418cff13b838080fec1008

8 years agoInclude additional analytics in Special:Search
Erik Bernhardson [Thu, 24 Sep 2015 20:35:25 +0000 (13:35 -0700)]
Include additional analytics in Special:Search

* Adds query performed to javascript config, to be picked up by
  the TestSearchSatisfaction schema.

* Adds data-serp-pos attribute to serach result anchors.
  This is picked up by the TestSearchSatisfaction schema
  and appended to urls (when participating in the test)
  as the `wprov` query parameter.

Bug: T113291
Change-Id: Ia0e8a955806e225e2f5a500e9290145895737274

8 years agoFixed sanity cache clear in User::saveSettings()
Aaron Schulz [Mon, 28 Sep 2015 21:07:01 +0000 (14:07 -0700)]
Fixed sanity cache clear in User::saveSettings()

* This works by adding a refresh mode to clearSharedCache()
  when we want to purge the cache in case it might stale to
  avoid further CAS errors. Because an exception will be
  thrown, the usual DB callback will not get fired, so avoid
  using commit hooks when doing these cache purges.
* Also lowered the tombstone TTL for such purges, since no
  data actually changed.

Bug: T114023
Change-Id: Iaad87b4ed24733dac40bc9607d3c97c940710087

8 years agoMerge "Made HTMLCacheUpdateJob flush the trx between jobs"
jenkins-bot [Mon, 28 Sep 2015 21:00:54 +0000 (21:00 +0000)]
Merge "Made HTMLCacheUpdateJob flush the trx between jobs"

8 years agoMerge "Made convertNamespace() use APC"
jenkins-bot [Mon, 28 Sep 2015 20:44:38 +0000 (20:44 +0000)]
Merge "Made convertNamespace() use APC"

8 years agoMerge "Fixed IDE errors due to SquidUpdate::newFromTitles"
jenkins-bot [Mon, 28 Sep 2015 20:30:17 +0000 (20:30 +0000)]
Merge "Fixed IDE errors due to SquidUpdate::newFromTitles"

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Mon, 28 Sep 2015 20:22:33 +0000 (22:22 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ibae1e9fa24a63f2465f17ca0e253957f084ddc5f

8 years agoMerge "Avoid CAS errors on double post to ApiOptions"
jenkins-bot [Mon, 28 Sep 2015 20:17:22 +0000 (20:17 +0000)]
Merge "Avoid CAS errors on double post to ApiOptions"

8 years agoMerge "Begin 1.27 development cycle"
jenkins-bot [Mon, 28 Sep 2015 20:17:05 +0000 (20:17 +0000)]
Merge "Begin 1.27 development cycle"

8 years agoMerge "Add release notes for protect log changes"
jenkins-bot [Mon, 28 Sep 2015 19:52:28 +0000 (19:52 +0000)]
Merge "Add release notes for protect log changes"

8 years agoAdd release notes for protect log changes
umherirrender [Mon, 28 Sep 2015 19:36:48 +0000 (21:36 +0200)]
Add release notes for protect log changes

Follows I57b3bd8a7dc823acdbb56520d2364f5542283373 and
I3bb85c61b857972e66c99c499d7d785c88cafb25

Change-Id: If6fe021ad73b8ab74848feb6eeb3c1d21b4187c7

8 years agoMerge "resourceloader: Cleaned up makeModuleResponse() param docs"
jenkins-bot [Mon, 28 Sep 2015 19:32:26 +0000 (19:32 +0000)]
Merge "resourceloader: Cleaned up makeModuleResponse() param docs"

8 years agoMerge "resourceloader: Tidy up RL to simplify ResourceLoaderEditToolbarModule"
jenkins-bot [Mon, 28 Sep 2015 19:29:01 +0000 (19:29 +0000)]
Merge "resourceloader: Tidy up RL to simplify ResourceLoaderEditToolbarModule"

8 years agoresourceloader: Cleaned up makeModuleResponse() param docs
Aaron Schulz [Mon, 28 Sep 2015 19:18:46 +0000 (12:18 -0700)]
resourceloader: Cleaned up makeModuleResponse() param docs

Change-Id: Iabf53452598e13a98241793c317ceffb746aa46e

8 years agoresourceloader: Tidy up RL to simplify ResourceLoaderEditToolbarModule
Ori Livneh [Fri, 25 Sep 2015 17:57:35 +0000 (10:57 -0700)]
resourceloader: Tidy up RL to simplify ResourceLoaderEditToolbarModule

* Remove ResourceLoaderFileModule::getLessCompiler(). There is no reason for a
  module to need to get a compiler in a different manner than
  ResourceLoader::getLessCompiler().
* Add ResourceLoaderModule::getLessVars(). This method provides a means for
  subclasses to easily inject custom LESS variables. The default implementation
  simply returns an empty array.
* Make the $context parameter for ResourceLoaderFileModule::readStyleFiles()
  non-optional (via graceful deprecation). The only callers I found were either
  already calling it with a ResourceLoader context, or had a perfectly usable
  ResourceLoaderContext in local scope.
* Make ResourceLoaderFileModule::{readStyleFile,getLessCompiler} require a
  context. These methods are protected, so I didn't bother with a deprecation.
* Call ksort() on the LESS variables array in the only place it matters -- when
  hashing its serialized representation to construct a cache lookup key. This
  relieves getLessVars() subclasses from having to remember to re-sort the
  variables array if they modify it.
* These changes make it possible to substantially simplify
  ResourceLoaderEditToolbarModule, because the only thing it needs to do now is
  implement its own getLessVars() method.
* This also allows it to be versioned like any other ResourceLoaderFileModule,
  rather than having to use enableModuleContentVersion().

Change-Id: Ic3eab71691e502bfe19bdf4eb6f82cc679a7782f

8 years agoMerge "Code cleanups and simplifications to SpecialMergeHistory"
jenkins-bot [Mon, 28 Sep 2015 19:12:42 +0000 (19:12 +0000)]
Merge "Code cleanups and simplifications to SpecialMergeHistory"

8 years agoMerge "build: Set private flag in package.json (for now)"
jenkins-bot [Mon, 28 Sep 2015 19:02:53 +0000 (19:02 +0000)]
Merge "build: Set private flag in package.json (for now)"

8 years agobuild: Set private flag in package.json (for now)
James D. Forrester [Sat, 26 Sep 2015 13:32:06 +0000 (14:32 +0100)]
build: Set private flag in package.json (for now)

This fixes the warning about missing package description and license.
This matches what we do elsewhere for dev-only npm pipelines.

Change-Id: I29ee43482b90ea8875a5376409d656648e3c4b27

8 years agoRemove blue border from DateInputWidget calendar
Ed Sanders [Fri, 25 Sep 2015 16:59:52 +0000 (17:59 +0100)]
Remove blue border from DateInputWidget calendar

CalendarWidget will now only get the blue focus border when it is
focussed itself, not always inside a focussed DateInputWidget.

Bug: T113741
Change-Id: I0332a9bac4c5ec6abb5a836125718e6b779bf496

8 years agoGive instructions on removing email address from account
Bryan Davis [Mon, 28 Sep 2015 17:56:09 +0000 (11:56 -0600)]
Give instructions on removing email address from account

Update the description for the Special:ChangeEmail form to include
instructions on how to remove email address association from the user's
account.

Bug: T98799
Change-Id: I10dca0c24faf24b117ef7d1e3c20319575805aff

8 years agoUse variable documentation in Preprocessor_DOM.php
umherirrender [Mon, 28 Sep 2015 17:48:33 +0000 (19:48 +0200)]
Use variable documentation in Preprocessor_DOM.php

Instead of having comments behind variable declaration.

This also avoids mixed tabs and spaces at begin of line

Change-Id: Iba62430f4413fd52bac1d51f5c5df4cb6479284d

8 years agoRemove border radii from CalendarWidget
Ed Sanders [Fri, 25 Sep 2015 17:22:11 +0000 (18:22 +0100)]
Remove border radii from CalendarWidget

Also remove rule removing border from 'today' on hover.

Bug: T113740
Change-Id: I9d71064b847433ed98ebaa8a1dce36af2cca7d27

8 years agoFix Memcached key decode
Matthias Mullie [Mon, 28 Sep 2015 07:55:28 +0000 (09:55 +0200)]
Fix Memcached key decode

Flow had a key: flowdb:flow_ref:wiki:by-source:v3:Parser\'s_"broken"_+_(page)_&_grill:testwiki:1:4.7
the '+' in there was not being encoded (it only does /[\x00-\x20\x25\x7f]+/)
but coming back, it was decoded into ' '.
getMulti() shows a key=>value array or results. Since key was different,
we couldn't find what we had requested.

Bug: T110326
Change-Id: Ia92edd73d0eb7fe0d35e38e7e7af8174fb85cbcc

8 years agomediawiki.widgets: Cleanup TitleWidget styles and improve API
Ed Sanders [Sun, 27 Sep 2015 12:44:20 +0000 (13:44 +0100)]
mediawiki.widgets: Cleanup TitleWidget styles and improve API

* Cleanup LESS
* Make label an <a> instead of appending $link
* Make real thumbnails get darker during over using opacity
* Increase gap between results to 2px
* Make config and config.data required
* Replace config.title with config.url
* Remove link 'click' event killer, may be reapplied in later,
  more complete, commit
* Fix documentation

Change-Id: I3cca0c2c546e1c9f840c33b7cb8281aeb75a81f1

8 years agoPut InfoAction distinct user counts behind miser mode
Aaron Schulz [Fri, 25 Sep 2015 06:55:16 +0000 (23:55 -0700)]
Put InfoAction distinct user counts behind miser mode

* The random I/O due to secondary lookups causes timeouts on
  larges pages that keep showing up in the logs.

Change-Id: I9bddcd3ba9ad5ff2f26ccec4553906ecc4a8129b

8 years agoMerge "In parserTests.php, fix upload directory handling"
jenkins-bot [Mon, 28 Sep 2015 17:23:56 +0000 (17:23 +0000)]
Merge "In parserTests.php, fix upload directory handling"

8 years agoCode cleanups and simplifications to SpecialMergeHistory
Aaron Schulz [Mon, 28 Sep 2015 17:13:31 +0000 (10:13 -0700)]
Code cleanups and simplifications to SpecialMergeHistory

* Fixed all IDEA errors for this file

Change-Id: I5cbb660c1a138ce7a8bf023929d97f1c75f0a80a

8 years agoDon't overwrite all available object caches
Florian [Sat, 26 Sep 2015 23:41:24 +0000 (01:41 +0200)]
Don't overwrite all available object caches

Just because some defined object caches are problematic in the installer, it
doesn't mean, that all others are problematic, too. Disable only the object
caches, which are known problematic ones by preserving the others.

Follow up: I1c1938b3fac395d

Bug: T113843
Change-Id: I951ef22d97b4c66d3b781a9bc4a30e7e2fca1395